clem commited on
Commit
4f80aa2
·
1 Parent(s): 4c54b8d

Add 'Try in simulation' section to landing page

Browse files
Files changed (2) hide show
  1. index.html +62 -0
  2. style.css +106 -0
index.html CHANGED
@@ -69,6 +69,68 @@
69
  </ol>
70
  </section>
71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  <section class="how">
73
  <h2>How it works</h2>
74
  <ol>
 
69
  </ol>
70
  </section>
71
 
72
+ <section class="sim">
73
+ <div class="sim-card">
74
+ <div class="sim-headline">
75
+ <span class="sim-pill">No robot? No problem.</span>
76
+ <h2>Try it in simulation</h2>
77
+ </div>
78
+ <p>
79
+ The Reachy Mini SDK ships with a MuJoCo-based simulator. The daemon
80
+ runs locally and behaves exactly like a real Reachy Mini Lite over USB
81
+ — apps, audio, and motion all work the same way. You can install
82
+ <strong>Good Morning</strong> from the dashboard and watch a simulated
83
+ robot wobble and speak.
84
+ </p>
85
+
86
+ <ol class="sim-steps">
87
+ <li>
88
+ <span class="step">1</span>
89
+ <div>
90
+ <h3>Install the SDK with the simulator extra</h3>
91
+ <pre><code>curl -LsSf https://astral.sh/uv/install.sh | sh
92
+ uv venv reachy_mini_env --python 3.12
93
+ source reachy_mini_env/bin/activate
94
+ uv pip install "reachy-mini[mujoco]"</code></pre>
95
+ </div>
96
+ </li>
97
+ <li>
98
+ <span class="step">2</span>
99
+ <div>
100
+ <h3>Start the daemon in simulation mode</h3>
101
+ <pre><code># Linux / Windows
102
+ reachy-mini-daemon --sim
103
+
104
+ # macOS — MuJoCo's GUI needs the mjpython launcher
105
+ mjpython -m reachy_mini.daemon --sim</code></pre>
106
+ <p class="sim-note">A 3D window opens showing the simulated robot. Leave it running.</p>
107
+ </div>
108
+ </li>
109
+ <li>
110
+ <span class="step">3</span>
111
+ <div>
112
+ <h3>Open the Reachy Mini desktop app</h3>
113
+ <p>It auto-detects the running daemon and connects to the simulator instead of a physical robot. The dashboard shows the same simulated 3D view.</p>
114
+ </div>
115
+ </li>
116
+ <li>
117
+ <span class="step">4</span>
118
+ <div>
119
+ <h3>Install &amp; start Good Morning</h3>
120
+ <p>Discover Apps → search <code>good-morning</code> → Install → Start. Your browser opens at <code>localhost:7860</code>; click the button and the simulated robot will speak and move just like the real one.</p>
121
+ </div>
122
+ </li>
123
+ </ol>
124
+
125
+ <p class="sim-foot">
126
+ Full setup details:
127
+ <a href="https://huggingface.co/docs/reachy_mini/platforms/simulation/get_started" target="_blank" rel="noopener">Reachy Mini Simulation guide</a>
128
+ ·
129
+ <a href="https://github.com/pollen-robotics/reachy_mini" target="_blank" rel="noopener">SDK on GitHub</a>
130
+ </p>
131
+ </div>
132
+ </section>
133
+
134
  <section class="how">
135
  <h2>How it works</h2>
136
  <ol>
style.css CHANGED
@@ -289,6 +289,112 @@ section h2 {
289
  line-height: 1.5;
290
  }
291
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
292
  .features ul {
293
  padding: 0;
294
  margin: 0;
 
289
  line-height: 1.5;
290
  }
291
 
292
+ .sim {
293
+ margin-top: 3rem;
294
+ }
295
+
296
+ .sim-card {
297
+ padding: 1.75rem;
298
+ border-radius: var(--radius);
299
+ background: linear-gradient(180deg, #fff 0%, #fff7e6 100%);
300
+ border: 1px solid rgba(255, 153, 0, 0.25);
301
+ box-shadow: 0 12px 36px rgba(255, 153, 0, 0.12);
302
+ }
303
+
304
+ .sim-headline {
305
+ display: flex;
306
+ align-items: center;
307
+ gap: 0.75rem;
308
+ flex-wrap: wrap;
309
+ margin-bottom: 0.5rem;
310
+ }
311
+
312
+ .sim-headline h2 {
313
+ margin: 0;
314
+ }
315
+
316
+ .sim-pill {
317
+ font-size: 0.78rem;
318
+ font-weight: 800;
319
+ letter-spacing: 0.04em;
320
+ text-transform: uppercase;
321
+ padding: 0.25rem 0.65rem;
322
+ border-radius: 999px;
323
+ background: var(--primary);
324
+ color: #fff;
325
+ }
326
+
327
+ .sim ol.sim-steps {
328
+ list-style: none;
329
+ padding: 0;
330
+ margin: 1.25rem 0 0;
331
+ display: grid;
332
+ gap: 1rem;
333
+ }
334
+
335
+ .sim ol.sim-steps li {
336
+ display: flex;
337
+ gap: 1rem;
338
+ padding: 1rem 1.1rem;
339
+ background: var(--card);
340
+ border-radius: 12px;
341
+ box-shadow: 0 2px 10px rgba(43, 23, 0, 0.05);
342
+ }
343
+
344
+ .sim .step {
345
+ flex: 0 0 2.25rem;
346
+ height: 2.25rem;
347
+ border-radius: 50%;
348
+ background: var(--primary);
349
+ color: white;
350
+ display: grid;
351
+ place-items: center;
352
+ font-weight: 700;
353
+ }
354
+
355
+ .sim h3 {
356
+ margin: 0 0 0.4rem;
357
+ font-size: 1.05rem;
358
+ }
359
+
360
+ .sim p {
361
+ margin: 0;
362
+ color: var(--muted);
363
+ font-size: 0.95rem;
364
+ line-height: 1.5;
365
+ }
366
+
367
+ .sim pre {
368
+ margin: 0.4rem 0 0;
369
+ padding: 0.85rem 1rem;
370
+ background: #2b1700;
371
+ color: #ffe9b5;
372
+ border-radius: 10px;
373
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
374
+ font-size: 0.85rem;
375
+ line-height: 1.55;
376
+ overflow-x: auto;
377
+ }
378
+
379
+ .sim pre code {
380
+ background: transparent;
381
+ color: inherit;
382
+ padding: 0;
383
+ font-size: inherit;
384
+ }
385
+
386
+ .sim-note {
387
+ margin-top: 0.5rem !important;
388
+ font-style: italic;
389
+ color: var(--muted);
390
+ }
391
+
392
+ .sim-foot {
393
+ margin-top: 1.25rem !important;
394
+ font-size: 0.9rem;
395
+ text-align: center;
396
+ }
397
+
398
  .features ul {
399
  padding: 0;
400
  margin: 0;