Promote dev → main - #16
Merged
Merged
Conversation
Add a new "03 — See it run" section directly under the architecture diagram: a tabbed (Benchmarks / Simulation / Deployment) autoscroll of square, rounded clips. Each clip autoplays muted on loop; hovering any clip pauses the row and reveals a fullscreen affordance; clicking opens a full-resolution modal (Escape / backdrop / close button dismiss it, restoring autoscroll). Clips are auto-discovered at build time via import.meta.glob from src/videos/<category>/ — drop a file named <benchmark>_<rskill>_<success|fail>.mp4 and it appears, with the benchmark/rskill chips and the SUCCESS/FAIL status pill parsed from the filename. Status dots use the existing --live / --red tokens; modal is portaled to body so it layers above the nav. Respects prefers-reduced-motion (static, scrollable; no autoplay). Remove the now-deprecated "Run it three ways" block from the architecture section (its Benchmark/Simulate/Deploy tabs are superseded by the showcase) and its orphaned CSS. Renumber section eyebrows to stay sequential and reorder the nav link to match scroll order. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PxVX8QDC2gmULaJxXN3tXu
…order - Move the SUCCESS/FAIL pill into a top bar laid out as a 3-column grid (benchmark · status · rskill), so the status sits inline, centered between the two name chips instead of floating over the video center. - Only duplicate the strip when it actually overflows its container: the seamless-loop copy is then always off-screen, so a clip is never visible twice at once. When the clips fit, each is shown once, centered, with no scroll. Overflow is tracked with a ResizeObserver. - Randomize clip order once per page load (Fisher–Yates). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PxVX8QDC2gmULaJxXN3tXu
Each clip now defers its src until the card first scrolls into view, then plays while on-screen and pauses when it leaves (IntersectionObserver, 120px pre-roll margin). Only the handful of visible clips ever fetch or play, so the strip scales to many/large videos without buffering them all at once. Adds preload="none" and a poster slot (used once a CDN/manifest provides poster frames). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PxVX8QDC2gmULaJxXN3tXu
Move showcase videos off the repo onto the public OpenRAL/website-media HF dataset (CDN-backed). The gallery now reads src/videos/manifest.json — the only tracked artifact — instead of globbing local files, so no video bytes enter git or the JS bundle. Each clip is encoded into three web assets: a poster, a square 640px muted `preview` for the autoscroll strip, and a ≤1080p `full` clip (with audio) for the modal. The strip lazy-loads previews; the heavy full file is fetched only when a clip is expanded. An 8 MB source becomes a ~480 KB strip preview. Adds scripts/build-media.mjs + `npm run media`: drop a raw clip into media/<category>/, run it, and it's encoded, uploaded, and added to the manifest. media/ and media-dist/ are gitignored. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PxVX8QDC2gmULaJxXN3tXu
Add a 'Showcase videos' section explaining how to publish a clip (drop into media/, run npm run media, commit the manifest) and correct the sections list to include the showcase and match the real page order. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PxVX8QDC2gmULaJxXN3tXu
The center-top status pill collided with long benchmark/rskill chips. The top bar now holds just benchmark (left) and rskill (right); the SUCCESS/FAIL pill moves to the bottom-right corner, and the hover expand icon moves to center so the two never overlap. Adds a bottom legibility wash. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PxVX8QDC2gmULaJxXN3tXu
…fore contact New order: Install → The problem & our answer → Architecture → What's inside → rSkills → See it run → Get in touch. Resequences eyebrows (01–07), reorders the nav to match scroll order, and updates the README sections list. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PxVX8QDC2gmULaJxXN3tXu
The diff console was centered (max-width 860, margin auto) while the install terminal is left-aligned (max-width 900). Match its width and left-align it so both consoles share the same left/right edges. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PxVX8QDC2gmULaJxXN3tXu
feat: autoscroll video showcase ("See it run"); remove "Run it three ways"
Replaces the simple mug pick-and-place demo with a complete 50-step robot task: audio prompt → S2 plan with 7 subtasks → navigate kitchen → LocateAnything + object detector for bottle and glass → grasp failure + replan + retry → pour → place glass → return bottle to fridge → recall glass → navigate back → handover. Dataset append fires only at the end of the episode. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VrG8X6a67Ef4ZPGzPq19jR
… labels - detect.stream entries interleaved at each navigation phase to show continuous background scene monitoring - recall token renamed to spatial_mem.recall to be explicit about the spatial memory subsystem being queried - subtask plan lines now reference ExecuteRSkill(grasp/pour/handover) to make clear these are RSkill invocations from the first planning step Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VrG8X6a67Ef4ZPGzPq19jR
…subtask plan - open_door and close_door now map to skill: "open_door" chip instead of borrowing "grasp" - s2.subtask[5] explicitly lists ExecuteRSkill(open_door, place, close_door) so the plan phase reflects all three RSkills used in the fridge sequence - add "open_door" to CHIPS array Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VrG8X6a67Ef4ZPGzPq19jR
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VrG8X6a67Ef4ZPGzPq19jR
feat: extend hero terminal to full Coca-Cola fetch scenario
Add a new "07 — Mission control" section showing the OpenRAL deployment dashboard inside the signature console window, between the video showcase and contact (Contact renumbered 07→08, nav link + scroll-spy added). The dashboard is shown fully expanded; scroll-revealed callout bubbles flank it in the gutters on alternating sides, each tied to a window-edge dot by a connector line. The eight callouts (deployment identity, command center, sensor feeds, spatial perception, reasoner decision, embodiment & safety, telemetry metrics, activity log) name real regions of the observability dashboard in OpenRAL vocabulary. Callouts anchor to the measured image top/height (ResizeObserver) so they stay aligned at any width, fade in edge-inwards, collapse to a stacked list below 860px, and respect prefers-reduced-motion. An expand button opens a focus-trapped, full-res lightbox. Asset: dashboard-view.webp (134 KB, full 1280×3564) with width/height set for zero layout shift and lazy loading. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013zGLveMxztXG214MFaEvuX
Replace the static screenshot with the recorded dashboard walkthrough (dashboard-navigation.webm, same 1280×3564 frame, 30s loop). The still WebP becomes the video poster (instant paint, zero CLS) and the reduced-motion fallback. The clip uses preload="none" and only plays while on screen via an IntersectionObserver, pausing when it scrolls away — so the ~4 MB file isn't fetched until needed. Callout positions are unchanged: they anchor to the measured media element, which is now the video. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013zGLveMxztXG214MFaEvuX
- Use the walkthrough trimmed of its first 6s (24.5s loop, re-encoded VP9, 3.0 MB). - LIVE indicator dot is now the green --live token with a soft green glow, blinking (note: intentional deviation from DESIGN.md's white-only LIVE, per request). - Remove the expand button and the full-res lightbox (component, modal, portal and related styles). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013zGLveMxztXG214MFaEvuX
The hero agent console rendered the whole LIVE indicator (label included) in green. Make the "LIVE" word white in both the hero console and the dashboard, keeping the green blinking status dot. Update DESIGN.md to codify the convention: the green blinking live-dot and the muted-red form-error rose are the two sanctioned chromas; the "LIVE" label and all success ticks stay white. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013zGLveMxztXG214MFaEvuX
Add three topic options to the contact form's first select — a new rSkill, a real deployment, and an evaluation on sim and real environments — alongside the existing general question and partnership. Theme the native dropdown to OpenRAL's dark aesthetic: color-scheme: dark so the popup renders dark, styled <option> background/checked states, and extra right padding so the longest label clears the custom arrow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013zGLveMxztXG214MFaEvuX
Swap the native <select> for a fully themeable select-only listbox (ARIA APG combobox + listbox): combobox button, listbox popup, focus moves to the list with aria-activedescendant, and full keyboard support (Up/Down, Home/End, Enter/Space, Escape, Tab). Click-outside closes; a hidden input mirrors the value so the existing form submit (form.audience.value) is unchanged. The popup now uses OpenRAL's Surface fill, hairline border, deep shadow and white check/active states — consistent across all browsers (the native popup couldn't be themed). Remove the now-dead native-select styles from Contact.css. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013zGLveMxztXG214MFaEvuX
Keep the Resources entry as "License" and the copyright as "© 2026 OpenRAL". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013zGLveMxztXG214MFaEvuX
feat(dashboard): annotated "Mission control" section
Implemented Vercel Speed Insights for the OpenRAL website ## Changes Made ### 1. Fetched Latest Documentation - Retrieved the official Vercel Speed Insights quickstart documentation from https://vercel.com/docs/speed-insights/quickstart - Confirmed the correct installation steps for React/Vite projects ### 2. Installed Package - Added `@vercel/speed-insights` version ^2.0.0 to dependencies - Used npm (the project's package manager) to install the package - Updated package-lock.json to reflect the new dependency ### 3. Integrated SpeedInsights Component - Modified `src/App.jsx` to import the SpeedInsights component from `@vercel/speed-insights/react` - Added the `<SpeedInsights />` component to both render paths in the App component: - Privacy page route - Main application route - Placed the component alongside the existing `<Analytics />` component for consistency ### 4. Verified Implementation - Successfully built the project using `npm run build` - Build completed without errors in 1.51s - Generated optimized production assets in the `dist/` directory - No linter configured in the project (no lint script available) - No tests configured in the project (no test script available) ## Files Modified - **src/App.jsx** - Added SpeedInsights import and component instances - **package.json** - Added @vercel/speed-insights dependency - **package-lock.json** - Updated with new dependency resolution ## Implementation Details The SpeedInsights component was added following the official Vercel documentation for React projects. It works similarly to the existing Analytics component and will: - Track Core Web Vitals metrics (LCP, FID, CLS, etc.) - Report performance data to Vercel's Speed Insights dashboard - Work automatically once deployed to Vercel The component is lightweight and only loads when needed, ensuring minimal impact on page performance. ## Next Steps To enable Speed Insights in production: 1. Deploy the changes to Vercel 2. Navigate to the Speed Insights section in the Vercel project dashboard 3. Click "Enable" if prompted 4. Wait for deployment to complete and data to start collecting The Speed Insights data will begin appearing in the Vercel dashboard after the first page views in production. Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
…hts-dskzdt Install Vercel Speed Insights
Regenerated by build-media.mjs after replacing the 2 placeholder benchmark clips with the real benchmark + simulation showcase set on the OpenRAL/website-media HF dataset. Without this commit Vercel builds the stale 2-clip manifest, whose assets were deleted from the dataset. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CE73PjmTtLLdSfEk19nzGC
Compose each deploy run's sim view and dashboard view into one equal-height side-by-side clip, encoded into the deployment category. build-media.mjs now letterboxes deployment previews into the 640px square (the wide composite would otherwise be center-cropped to the seam). Manifest grows to 25 clips (19 benchmark + 4 sim + 2 deploy). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CE73PjmTtLLdSfEk19nzGC
navigatekitchen_nav2_success -> robocasa-navigation_ros2-nav_success openarm_charger_fail -> tabletop-charger_openarm_fail Old-named dataset dirs deleted on HF; manifest regenerated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CE73PjmTtLLdSfEk19nzGC
See it run: - Every tab's marquee now scrolls right-to-left. Previously alternate tabs (e.g. Simulation) reversed direction via data-reverse; that alternation is removed so all clips move the same way. - The click-to-expand modal now sizes the dialog to each clip's real aspect ratio (read from loadedmetadata). Wide deployment composites (sim + dashboard side-by-side) open at full width instead of being squeezed into a square-ish box, so they play at genuine high res. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HMtLer5QRMnAYX9DYYW6Y1
…-jmf3fn fix(showcase): uniform right-to-left scroll + hi-res deployment modal
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated promotion of
dev→main, dispatched by @AdrianLlopart.