yxma's picture
rebuild probes/ from the probe package
13ffdd2 verified
Raw
History Blame Contribute Delete
25.7 kB
<!doctype html><html lang="en"><head><meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>React probe clips</title><style>
:root{--bg:#0b1020;--fg:#e8eefb;--dim:#8ea0c2;--line:#1e2a45;--card:#111a2e;--accent:#ffc46b}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);
font:16px/1.6 'IBM Plex Sans',system-ui,sans-serif}
.wrap{max-width:1500px;margin:0 auto;padding:28px 20px 70px}
h1{font-size:28px;margin:0 0 8px}h2{font-size:16px;color:var(--accent);margin:28px 0 8px}
p{color:var(--dim);max-width:78ch}a{color:var(--accent)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:20px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.card b{display:block;font-size:24px;color:var(--accent);font-weight:650}
.card span{color:var(--dim);font-size:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px}
figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px}
video{width:100%;border-radius:6px;background:#000}
figcaption{color:var(--dim);font-size:12px;margin-top:6px}
figure.real{border-color:var(--accent)}
figure.real figcaption b{color:var(--accent)}
</style></head><body><div class="wrap">
<h1>React probe clips</h1>
<p>Every clip here is an animation <b>of the published test set</b> &mdash; the same
poses, held hand, context frame and calibration you download from
<a href="https://huggingface.co/datasets/yxma/React/tree/main/test_sets/probes_v1">test_sets/probes_v1</a>.
Rendered from that package, not from a second sampling run, so a clip cannot
drift from the data it illustrates. Static overlays and the method are on the
<a href="../testset/index.html">test set page</a>.</p>
<p><small style="color:var(--dim)">Each tile shows the first frame; tap or click
to load and play. 72 videos preloading at once is what a phone chokes on.</small></p>
<p>The background is <b>frozen on purpose</b>. The camera image at step k is
unknown &mdash; that is the whole point of a probe &mdash; so animating anything
but the sensors would be inventing pixels. What moves is the only thing known:
where the sensor would be. The dimmed hand is the one that must stay still; the
circles are the 0.12&nbsp;m exclusion zones.</p>
<p>Start frames come from <b>held-out intervals</b> of <code>splits.json</code>, never training frames. Eligible: 2026-05-10, 2026-05-11, 2026-05-19; this draw selected 2026-05-10, 2026-05-11 (2026-05-19 was not sampled this time &mdash; chance, not a judgement).</p>
<div class="cards"><div class='card'><b>72</b><span>clips &middot; 6 start frames</span></div><div class='card'><b>24L / 48R</b><span>moving hand</span></div><div class='card'><b>0.11&ndash;0.38 m</b><span>translation &middot; 23&ndash;90&deg; rotation</span></div><div class='card'><b>p40&ndash;p79</b><span>speed vs the dataset (median p52)</span></div><div class='card'><b>0.133 m</b><span>closest the hands come (rule 0.12)</span></div></div>
<h2>trans+x</h2><div class='grid'><figure class='real'><video src='real/trans+x.mp4' controls loop muted playsinline preload='none' poster='real/trans+x.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_007<br>89mm &middot; straightness 1.00 &middot; per-step 1.00<br>holds 5.7&deg; &middot; 12f &middot; left</figcaption></figure><figure><video src='clips/run0_trans+x.mp4' controls loop muted playsinline poster='clips/run0_trans+x.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>0.1087m &middot; 1.53s &middot; p46 &middot; right</figcaption></figure><figure><video src='clips/run1_trans+x.mp4' controls loop muted playsinline poster='clips/run1_trans+x.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>0.1916m &middot; 2.60s &middot; p47 &middot; left</figcaption></figure><figure><video src='clips/run2_trans+x.mp4' controls loop muted playsinline poster='clips/run2_trans+x.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>0.1056m &middot; 1.50s &middot; p46 &middot; left</figcaption></figure><figure><video src='clips/run3_trans+x.mp4' controls loop muted playsinline poster='clips/run3_trans+x.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>0.1212m &middot; 1.70s &middot; p46 &middot; right</figcaption></figure><figure><video src='clips/run4_trans+x.mp4' controls loop muted playsinline poster='clips/run4_trans+x.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>0.2533m &middot; 1.87s &middot; p65 &middot; right</figcaption></figure><figure><video src='clips/run5_trans+x.mp4' controls loop muted playsinline poster='clips/run5_trans+x.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>0.1139m &middot; 1.57s &middot; p46 &middot; right</figcaption></figure></div><h2>trans+y</h2><div class='grid'><figure class='real'><video src='real/trans+y.mp4' controls loop muted playsinline preload='none' poster='real/trans+y.jpg'></video><figcaption><b>real</b> &middot; 2026-05-10/episode_002<br>70mm &middot; straightness 1.00 &middot; per-step 1.00<br>holds 5.8&deg; &middot; 12f &middot; right</figcaption></figure><figure><video src='clips/run0_trans+y.mp4' controls loop muted playsinline poster='clips/run0_trans+y.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>0.1908m &middot; 1.67s &middot; p60 &middot; right</figcaption></figure><figure><video src='clips/run1_trans+y.mp4' controls loop muted playsinline poster='clips/run1_trans+y.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>0.1078m &middot; 1.53s &middot; p46 &middot; left</figcaption></figure><figure><video src='clips/run2_trans+y.mp4' controls loop muted playsinline poster='clips/run2_trans+y.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>0.1933m &middot; 1.93s &middot; p55 &middot; left</figcaption></figure><figure><video src='clips/run3_trans+y.mp4' controls loop muted playsinline poster='clips/run3_trans+y.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>0.3207m &middot; 2.50s &middot; p63 &middot; right</figcaption></figure><figure><video src='clips/run4_trans+y.mp4' controls loop muted playsinline poster='clips/run4_trans+y.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>0.2915m &middot; 1.63s &middot; p73 &middot; right</figcaption></figure><figure><video src='clips/run5_trans+y.mp4' controls loop muted playsinline poster='clips/run5_trans+y.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>0.201m &middot; 1.63s &middot; p62 &middot; right</figcaption></figure></div><h2>trans+z</h2><div class='grid'><figure class='real'><video src='real/trans+z.mp4' controls loop muted playsinline preload='none' poster='real/trans+z.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_009<br>148mm &middot; straightness 0.99 &middot; per-step 0.95<br>holds 5.8&deg; &middot; 12f &middot; right</figcaption></figure><figure><video src='clips/run0_trans+z.mp4' controls loop muted playsinline poster='clips/run0_trans+z.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>0.3653m &middot; 1.70s &middot; p79 &middot; right</figcaption></figure><figure><video src='clips/run1_trans+z.mp4' controls loop muted playsinline poster='clips/run1_trans+z.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>0.3773m &middot; 3.37s &middot; p59 &middot; left</figcaption></figure><figure><video src='clips/run2_trans+z.mp4' controls loop muted playsinline poster='clips/run2_trans+z.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>0.1328m &middot; 1.77s &middot; p47 &middot; left</figcaption></figure><figure><video src='clips/run3_trans+z.mp4' controls loop muted playsinline poster='clips/run3_trans+z.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>0.2874m &middot; 4.00s &middot; p46 &middot; right</figcaption></figure><figure><video src='clips/run4_trans+z.mp4' controls loop muted playsinline poster='clips/run4_trans+z.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>0.1941m &middot; 2.77s &middot; p46 &middot; right</figcaption></figure><figure><video src='clips/run5_trans+z.mp4' controls loop muted playsinline poster='clips/run5_trans+z.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>0.2822m &middot; 3.53s &middot; p49 &middot; right</figcaption></figure></div><h2>trans-x</h2><div class='grid'><figure class='real'><video src='real/trans-x.mp4' controls loop muted playsinline preload='none' poster='real/trans-x.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_005<br>60mm &middot; straightness 1.00 &middot; per-step 1.00<br>holds 4.3&deg; &middot; 12f &middot; right</figcaption></figure><figure><video src='clips/run0_trans-x.mp4' controls loop muted playsinline poster='clips/run0_trans-x.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>0.2134m &middot; 2.70s &middot; p48 &middot; right</figcaption></figure><figure><video src='clips/run1_trans-x.mp4' controls loop muted playsinline poster='clips/run1_trans-x.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>0.1404m &middot; 1.57s &middot; p52 &middot; left</figcaption></figure><figure><video src='clips/run2_trans-x.mp4' controls loop muted playsinline poster='clips/run2_trans-x.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>0.3057m &middot; 1.77s &middot; p72 &middot; left</figcaption></figure><figure><video src='clips/run3_trans-x.mp4' controls loop muted playsinline poster='clips/run3_trans-x.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>0.1639m &middot; 1.77s &middot; p53 &middot; right</figcaption></figure><figure><video src='clips/run4_trans-x.mp4' controls loop muted playsinline poster='clips/run4_trans-x.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>0.2352m &middot; 1.97s &middot; p61 &middot; right</figcaption></figure><figure><video src='clips/run5_trans-x.mp4' controls loop muted playsinline poster='clips/run5_trans-x.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>0.2181m &middot; 2.43s &middot; p52 &middot; right</figcaption></figure></div><h2>trans-y</h2><div class='grid'><figure class='real'><video src='real/trans-y.mp4' controls loop muted playsinline preload='none' poster='real/trans-y.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_013<br>82mm &middot; straightness 1.00 &middot; per-step 1.00<br>holds 4.6&deg; &middot; 12f &middot; left</figcaption></figure><figure><video src='clips/run0_trans-y.mp4' controls loop muted playsinline poster='clips/run0_trans-y.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>0.1736m &middot; 1.70s &middot; p56 &middot; right</figcaption></figure><figure><video src='clips/run1_trans-y.mp4' controls loop muted playsinline poster='clips/run1_trans-y.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>0.3249m &middot; 1.70s &middot; p76 &middot; left</figcaption></figure><figure><video src='clips/run2_trans-y.mp4' controls loop muted playsinline poster='clips/run2_trans-y.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>0.1357m &middot; 1.53s &middot; p52 &middot; left</figcaption></figure><figure><video src='clips/run3_trans-y.mp4' controls loop muted playsinline poster='clips/run3_trans-y.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>0.1668m &middot; 1.83s &middot; p52 &middot; right</figcaption></figure><figure><video src='clips/run4_trans-y.mp4' controls loop muted playsinline poster='clips/run4_trans-y.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>0.1628m &middot; 1.67s &middot; p55 &middot; right</figcaption></figure><figure><video src='clips/run5_trans-y.mp4' controls loop muted playsinline poster='clips/run5_trans-y.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>0.1837m &middot; 2.03s &middot; p52 &middot; right</figcaption></figure></div><h2>trans-z</h2><div class='grid'><figure class='real'><video src='real/trans-z.mp4' controls loop muted playsinline preload='none' poster='real/trans-z.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_012<br>67mm &middot; straightness 0.91 &middot; per-step 0.92<br>holds 3.9&deg; &middot; 12f &middot; left</figcaption></figure><figure><video src='clips/run0_trans-z.mp4' controls loop muted playsinline poster='clips/run0_trans-z.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>0.3543m &middot; 2.13s &middot; p71 &middot; right</figcaption></figure><figure><video src='clips/run1_trans-z.mp4' controls loop muted playsinline poster='clips/run1_trans-z.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>0.23m &middot; 3.00s &middot; p48 &middot; left</figcaption></figure><figure><video src='clips/run2_trans-z.mp4' controls loop muted playsinline poster='clips/run2_trans-z.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>0.2835m &middot; 2.93s &middot; p54 &middot; left</figcaption></figure><figure><video src='clips/run3_trans-z.mp4' controls loop muted playsinline poster='clips/run3_trans-z.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>0.1555m &middot; 2.10s &middot; p47 &middot; right</figcaption></figure><figure><video src='clips/run4_trans-z.mp4' controls loop muted playsinline poster='clips/run4_trans-z.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>0.3085m &middot; 2.90s &middot; p57 &middot; right</figcaption></figure><figure><video src='clips/run5_trans-z.mp4' controls loop muted playsinline poster='clips/run5_trans-z.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>0.2499m &middot; 3.40s &middot; p47 &middot; right</figcaption></figure></div><h2>rot+x</h2><div class='grid'><figure class='real'><video src='real/rot+x.mp4' controls loop muted playsinline preload='none' poster='real/rot+x.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_010<br>17&deg; &middot; monotonicity 0.84 &middot; per-step 0.92<br>holds 11.0mm &middot; 12f &middot; left</figcaption></figure><figure><video src='clips/run0_rot+x.mp4' controls loop muted playsinline poster='clips/run0_rot+x.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>63.3655&deg; &middot; 2.60s &middot; p55 &middot; right</figcaption></figure><figure><video src='clips/run1_rot+x.mp4' controls loop muted playsinline poster='clips/run1_rot+x.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>79.3507&deg; &middot; 4.03s &middot; p48 &middot; left</figcaption></figure><figure><video src='clips/run2_rot+x.mp4' controls loop muted playsinline poster='clips/run2_rot+x.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>40.0498&deg; &middot; 1.53s &middot; p57 &middot; left</figcaption></figure><figure><video src='clips/run3_rot+x.mp4' controls loop muted playsinline poster='clips/run3_rot+x.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>55.638&deg; &middot; 1.83s &middot; p62 &middot; right</figcaption></figure><figure><video src='clips/run4_rot+x.mp4' controls loop muted playsinline poster='clips/run4_rot+x.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>25.9953&deg; &middot; 1.50s &middot; p44 &middot; right</figcaption></figure><figure><video src='clips/run5_rot+x.mp4' controls loop muted playsinline poster='clips/run5_rot+x.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>75.7041&deg; &middot; 2.57s &middot; p62 &middot; right</figcaption></figure></div><h2>rot+y</h2><div class='grid'><figure class='real'><video src='real/rot+y.mp4' controls loop muted playsinline preload='none' poster='real/rot+y.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_012<br>30&deg; &middot; monotonicity 0.97 &middot; per-step 0.99<br>holds 8.6mm &middot; 12f &middot; left</figcaption></figure><figure><video src='clips/run0_rot+y.mp4' controls loop muted playsinline poster='clips/run0_rot+y.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>71.2313&deg; &middot; 3.93s &middot; p45 &middot; right</figcaption></figure><figure><video src='clips/run1_rot+y.mp4' controls loop muted playsinline poster='clips/run1_rot+y.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>33.8293&deg; &middot; 1.87s &middot; p45 &middot; left</figcaption></figure><figure><video src='clips/run2_rot+y.mp4' controls loop muted playsinline poster='clips/run2_rot+y.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>71.2197&deg; &middot; 1.57s &middot; p76 &middot; left</figcaption></figure><figure><video src='clips/run3_rot+y.mp4' controls loop muted playsinline poster='clips/run3_rot+y.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>23.4508&deg; &middot; 1.50s &middot; p41 &middot; right</figcaption></figure><figure><video src='clips/run4_rot+y.mp4' controls loop muted playsinline poster='clips/run4_rot+y.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>89.5097&deg; &middot; 1.83s &middot; p78 &middot; right</figcaption></figure><figure><video src='clips/run5_rot+y.mp4' controls loop muted playsinline poster='clips/run5_rot+y.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>70.4553&deg; &middot; 2.47s &middot; p60 &middot; right</figcaption></figure></div><h2>rot+z</h2><div class='grid'><figure class='real'><video src='real/rot+z.mp4' controls loop muted playsinline preload='none' poster='real/rot+z.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_017<br>23&deg; &middot; monotonicity 0.84 &middot; per-step 0.89<br>holds 5.0mm &middot; 30f &middot; left</figcaption></figure><figure><video src='clips/run0_rot+z.mp4' controls loop muted playsinline poster='clips/run0_rot+z.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>31.9447&deg; &middot; 1.50s &middot; p50 &middot; right</figcaption></figure><figure><video src='clips/run1_rot+z.mp4' controls loop muted playsinline poster='clips/run1_rot+z.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>78.7558&deg; &middot; 1.77s &middot; p75 &middot; left</figcaption></figure><figure><video src='clips/run2_rot+z.mp4' controls loop muted playsinline poster='clips/run2_rot+z.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>58.6594&deg; &middot; 2.33s &middot; p56 &middot; left</figcaption></figure><figure><video src='clips/run3_rot+z.mp4' controls loop muted playsinline poster='clips/run3_rot+z.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>34.2098&deg; &middot; 1.50s &middot; p53 &middot; right</figcaption></figure><figure><video src='clips/run4_rot+z.mp4' controls loop muted playsinline poster='clips/run4_rot+z.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>28.5261&deg; &middot; 1.50s &middot; p47 &middot; right</figcaption></figure><figure><video src='clips/run5_rot+z.mp4' controls loop muted playsinline poster='clips/run5_rot+z.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>49.5627&deg; &middot; 2.33s &middot; p50 &middot; right</figcaption></figure></div><h2>rot-x</h2><div class='grid'><figure class='real'><video src='real/rot-x.mp4' controls loop muted playsinline preload='none' poster='real/rot-x.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_012<br>22&deg; &middot; monotonicity 0.97 &middot; per-step 0.98<br>holds 7.2mm &middot; 18f &middot; left</figcaption></figure><figure><video src='clips/run0_rot-x.mp4' controls loop muted playsinline poster='clips/run0_rot-x.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>25.1764&deg; &middot; 1.50s &middot; p43 &middot; right</figcaption></figure><figure><video src='clips/run1_rot-x.mp4' controls loop muted playsinline poster='clips/run1_rot-x.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>60.6016&deg; &middot; 2.80s &middot; p51 &middot; left</figcaption></figure><figure><video src='clips/run2_rot-x.mp4' controls loop muted playsinline poster='clips/run2_rot-x.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>82.3862&deg; &middot; 2.67s &middot; p63 &middot; left</figcaption></figure><figure><video src='clips/run3_rot-x.mp4' controls loop muted playsinline poster='clips/run3_rot-x.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>75.9153&deg; &middot; 3.70s &middot; p49 &middot; right</figcaption></figure><figure><video src='clips/run4_rot-x.mp4' controls loop muted playsinline poster='clips/run4_rot-x.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>47.495&deg; &middot; 2.33s &middot; p49 &middot; right</figcaption></figure><figure><video src='clips/run5_rot-x.mp4' controls loop muted playsinline poster='clips/run5_rot-x.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>32.7892&deg; &middot; 1.70s &middot; p47 &middot; right</figcaption></figure></div><h2>rot-y</h2><div class='grid'><figure class='real'><video src='real/rot-y.mp4' controls loop muted playsinline preload='none' poster='real/rot-y.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_006<br>23&deg; &middot; monotonicity 0.96 &middot; per-step 0.99<br>holds 14.2mm &middot; 12f &middot; right</figcaption></figure><figure><video src='clips/run0_rot-y.mp4' controls loop muted playsinline poster='clips/run0_rot-y.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>33.3475&deg; &middot; 1.73s &middot; p47 &middot; right</figcaption></figure><figure><video src='clips/run1_rot-y.mp4' controls loop muted playsinline poster='clips/run1_rot-y.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>46.4903&deg; &middot; 1.77s &middot; p58 &middot; left</figcaption></figure><figure><video src='clips/run2_rot-y.mp4' controls loop muted playsinline poster='clips/run2_rot-y.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>72.1978&deg; &middot; 2.17s &middot; p66 &middot; left</figcaption></figure><figure><video src='clips/run3_rot-y.mp4' controls loop muted playsinline poster='clips/run3_rot-y.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>25.9304&deg; &middot; 1.50s &middot; p44 &middot; right</figcaption></figure><figure><video src='clips/run4_rot-y.mp4' controls loop muted playsinline poster='clips/run4_rot-y.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>39.8404&deg; &middot; 1.80s &middot; p52 &middot; right</figcaption></figure><figure><video src='clips/run5_rot-y.mp4' controls loop muted playsinline poster='clips/run5_rot-y.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>39.7622&deg; &middot; 1.53s &middot; p57 &middot; right</figcaption></figure></div><h2>rot-z</h2><div class='grid'><figure class='real'><video src='real/rot-z.mp4' controls loop muted playsinline preload='none' poster='real/rot-z.jpg'></video><figcaption><b>real</b> &middot; 2026-05-11/episode_017<br>13&deg; &middot; monotonicity 0.93 &middot; per-step 0.93<br>holds 13.2mm &middot; 24f &middot; left</figcaption></figure><figure><video src='clips/run0_rot-z.mp4' controls loop muted playsinline poster='clips/run0_rot-z.jpg' preload='none'></video><figcaption>run0 &middot; 2026-05-11/episode_007<br>51.4259&deg; &middot; 1.53s &middot; p66 &middot; right</figcaption></figure><figure><video src='clips/run1_rot-z.mp4' controls loop muted playsinline poster='clips/run1_rot-z.jpg' preload='none'></video><figcaption>run1 &middot; 2026-05-10/episode_009<br>52.0133&deg; &middot; 2.10s &middot; p56 &middot; left</figcaption></figure><figure><video src='clips/run2_rot-z.mp4' controls loop muted playsinline poster='clips/run2_rot-z.jpg' preload='none'></video><figcaption>run2 &middot; 2026-05-10/episode_002<br>24.6532&deg; &middot; 1.50s &middot; p42 &middot; left</figcaption></figure><figure><video src='clips/run3_rot-z.mp4' controls loop muted playsinline poster='clips/run3_rot-z.jpg' preload='none'></video><figcaption>run3 &middot; 2026-05-10/episode_005<br>45.5395&deg; &middot; 1.67s &middot; p59 &middot; right</figcaption></figure><figure><video src='clips/run4_rot-z.mp4' controls loop muted playsinline poster='clips/run4_rot-z.jpg' preload='none'></video><figcaption>run4 &middot; 2026-05-11/episode_011<br>83.6116&deg; &middot; 2.67s &middot; p64 &middot; right</figcaption></figure><figure><video src='clips/run5_rot-z.mp4' controls loop muted playsinline poster='clips/run5_rot-z.jpg' preload='none'></video><figcaption>run5 &middot; 2026-05-11/episode_007<br>22.6513&deg; &middot; 1.50s &middot; p40 &middot; right</figcaption></figure></div>
</div></body></html>