From bd60f338e902aa1c11b5320f7cebde2b1f7d1d25 Mon Sep 17 00:00:00 2001 From: Adrian Llopart Date: Sat, 11 Jul 2026 12:42:56 +0200 Subject: [PATCH 1/3] media: add robotwin_lingbotv1_success showcase clip --- src/videos/manifest.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/videos/manifest.json b/src/videos/manifest.json index 1244e5c..fa89232 100644 --- a/src/videos/manifest.json +++ b/src/videos/manifest.json @@ -161,6 +161,16 @@ "preview": "benchmarks/robocasa-pick_rldx1-rc365-nf4_success/preview.mp4", "full": "benchmarks/robocasa-pick_rldx1-rc365-nf4_success/full.mp4" }, + { + "id": "benchmarks/robotwin_lingbotv1_success", + "category": "benchmarks", + "benchmark": "robotwin", + "rskill": "lingbotv1", + "status": "success", + "poster": "benchmarks/robotwin_lingbotv1_success/poster.jpg", + "preview": "benchmarks/robotwin_lingbotv1_success/preview.mp4", + "full": "benchmarks/robotwin_lingbotv1_success/full.mp4" + }, { "id": "benchmarks/robotwin_smolvla_fail", "category": "benchmarks", From e34cea2480fe024b84676599eb3afd6b73336806 Mon Sep 17 00:00:00 2001 From: Adrian Llopart Date: Wed, 22 Jul 2026 13:55:54 +0200 Subject: [PATCH 2/3] feat(install): make curl the sole install path with REPL banner + doctor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit curl Tier-0 install now works, so drop the CLI tab entirely and show a single curl pane: real install.sh `==> …` output → `openral` REPL banner → `doctor` host table. Reword band copy for the sudo-free Tier-0 flow and prune the now-dead tab CSS. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01GA8WHGzyc82bgWW7K9b5tR --- src/components/Terminal.css | 16 -------- src/components/Terminal.jsx | 79 ++++++++++--------------------------- 2 files changed, 20 insertions(+), 75 deletions(-) diff --git a/src/components/Terminal.css b/src/components/Terminal.css index d5df426..cd9f58b 100644 --- a/src/components/Terminal.css +++ b/src/components/Terminal.css @@ -50,28 +50,12 @@ border: 1px solid var(--hair-2); border-radius: 8px; padding: 9px 20px; - cursor: pointer; - transition: color 0.2s, border-color 0.2s, background 0.2s; -} -.term-tab:hover { - color: var(--text-2); } .term-tab.active { color: var(--text); border-color: var(--accent-line); background: rgba(255, 255, 255, 0.05); } -.term-tab-curl { - min-width: 144px; - text-align: left; -} -.term-tab .soon { - position: absolute; - top: 4px; - right: 8px; - font-size: 7px; - padding: 1px 5px; -} .term-copy { font-family: var(--mono); font-size: 12px; diff --git a/src/components/Terminal.jsx b/src/components/Terminal.jsx index 936432f..af0b72f 100644 --- a/src/components/Terminal.jsx +++ b/src/components/Terminal.jsx @@ -32,48 +32,26 @@ const DOCTOR_TEXT = ` openral doctor │ USB devices │ ok │ so101, realsense │ └──────────────┴────────┴─────────────────────────────┘`; -// Real openral ROS 2 package names (~/openral), one per product pillar — observability, -// safety, perception, reasoning, skill execution — interleaved like colcon's parallel build. -const CLI_CLONE_CMD = "git clone git@github.com:OpenRAL/openral.git"; -const CLI_SCRIPT = [ - { cmd: CLI_CLONE_CMD }, - { cmd: "just quickstart" }, - { - out: [ - { t: "Starting >>> opentelemetry_cpp_vendor" }, - { t: "Starting >>> openral_safety_kernel" }, - { t: "Finished <<< opentelemetry_cpp_vendor [17.9s]", k: "ok" }, - { t: "Starting >>> openral_perception_ros" }, - { t: "Finished <<< openral_safety_kernel [9.2s]", k: "ok" }, - { t: "Starting >>> openral_reasoner_ros" }, - { t: "Finished <<< openral_perception_ros [14.1s]", k: "ok" }, - { t: "Starting >>> openral_rskill_ros" }, - { t: "Finished <<< openral_reasoner_ros [11.6s]", k: "ok" }, - { t: "Finished <<< openral_rskill_ros [20.9s]", k: "ok" }, - ], - }, - { banner: true }, - { cmd: "doctor" }, - { table: true }, -]; -const CLI_COPY = `${CLI_CLONE_CMD} && cd openral && just quickstart`; - -// Tier-0 (ADR-0021): installs uv + CPython 3.12 + openral-cli only — no ROS 2, -// no colcon build, no REPL launch — so no Starting/Finished lines here, and the -// ending below is the real "next steps" text from scripts/install.sh, condensed. +// Tier-0 (ADR-0021): `curl … | bash` installs uv + CPython 3.12 + openral-cli +// (user-local, no sudo/ROS 2). The `out` lines mirror scripts/install.sh's real +// `==> …` info output, condensed; then `openral` drops into the REPL (banner) and +// `doctor` prints the host table — the same banner + doctor the REPL shows. const CURL_CMD = "curl -fsSL https://raw.githubusercontent.com/OpenRAL/openral/master/scripts/install.sh | bash"; const CURL_SCRIPT = [ { cmd: CURL_CMD }, { out: [ - { t: "▸ installing uv + CPython 3.12…" }, - { t: "▸ installing openral-cli (uv tool install)…" }, - { t: "✓ openral installed: ~/.local/bin/openral", k: "ok" }, + { t: "==> detected platform: linux x86_64" }, + { t: "==> installing uv + CPython 3.12 (uv-managed)…" }, + { t: "==> installing openral-cli (uv tool install)" }, + { t: "==> openral installed: ~/.local/bin/openral", k: "ok" }, { t: "==> Tier-0 install complete.", k: "ok" }, - { t: "openral doctor — diagnose the host (Python, OS, GPU, USB)" }, - { t: "openral install ros — ROS 2 + libusb + udev (sudo, opt-in)" }, ], }, + { cmd: "openral" }, + { banner: true }, + { cmd: "doctor" }, + { table: true }, ]; function flattenReduced(script) { @@ -233,12 +211,11 @@ export default function Terminal() { const reduce = useReducedMotion(); const ref = useRef(null); const inView = useInView(ref, { once: true, amount: 0.4 }); - const [tab, setTab] = useState("cli"); const [copied, setCopied] = useState(false); const copy = async () => { try { - await navigator.clipboard.writeText(tab === "cli" ? CLI_COPY : CURL_CMD); + await navigator.clipboard.writeText(CURL_CMD); setCopied(true); setTimeout(() => setCopied(false), 1800); } catch { @@ -254,8 +231,9 @@ export default function Terminal() { One command. The whole harness.

- OpenRAL installs on top of a ROS 2 + Python environment. The script pulls the typed harness, the - skill loader and the safety forwarders — then openral doctor checks your stack. + One curl command installs uv, CPython 3.12 and the openral CLI — user-local, no sudo. + Then openral doctor checks your stack and openral install ros pulls the + heavier ROS 2 stack when you want it.

@@ -267,34 +245,17 @@ export default function Terminal() {
- - + curl
- {tab === "cli" ? ( - - ) : ( - - )} +

- Prerequisites: ROS 2 Jazzy · Python 3.12+ · a CUDA GPU for VLA inference. Full guide in the{" "} + Tier-0 needs only Linux or macOS · no sudo. ROS 2 Jazzy and a CUDA GPU come with{" "} + openral install ros for VLA inference. Full guide in the{" "} repository From 8d446486b2e0bd48aadd776268e3dd4d77127cdd Mon Sep 17 00:00:00 2001 From: Adrian Llopart Date: Wed, 22 Jul 2026 14:01:39 +0200 Subject: [PATCH 3/3] refactor(install): drop the single curl tab label and its dead CSS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The install pane has only one path now, so the standalone "curl" tab label is noise — remove it (keeping the .term-tabs flex spacer) and delete the now-unused .term-tab rules. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01GA8WHGzyc82bgWW7K9b5tR --- src/components/Terminal.css | 17 ----------------- src/components/Terminal.jsx | 4 +--- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/src/components/Terminal.css b/src/components/Terminal.css index cd9f58b..69a7157 100644 --- a/src/components/Terminal.css +++ b/src/components/Terminal.css @@ -39,23 +39,6 @@ gap: 6px; flex: 1; } -.term-tab { - position: relative; - min-width: 96px; - font-family: var(--mono); - font-size: 13.5px; - letter-spacing: 0.04em; - color: var(--muted); - background: transparent; - border: 1px solid var(--hair-2); - border-radius: 8px; - padding: 9px 20px; -} -.term-tab.active { - color: var(--text); - border-color: var(--accent-line); - background: rgba(255, 255, 255, 0.05); -} .term-copy { font-family: var(--mono); font-size: 12px; diff --git a/src/components/Terminal.jsx b/src/components/Terminal.jsx index af0b72f..1e2e1a6 100644 --- a/src/components/Terminal.jsx +++ b/src/components/Terminal.jsx @@ -244,9 +244,7 @@ export default function Terminal() { -

- curl -
+