Skip to content

Conference demo flow (/?demo) + truthful gate label from run_metrics - #27

Merged
sladojevicm merged 4 commits into
developfrom
feat/demo-flow
Sep 18, 2026
Merged

sladojevicm merged 4 commits into
developfrom
feat/demo-flow

Conversation

@sladojevicm

Copy link
Copy Markdown
Owner

Upload → presenter-paced staged replay of the recorded office_3 run → viewer in presentation mode. Client-side only; nothing is uploaded or computed live, and the screens say so.

  • GET /run_metrics.json (root + job-scoped, OpenAPI documented, tests). The inspector now shows the real gate route (it called every PatchComplete-completed object "keep · fused tsdf"); schema untouched.
  • /?demo: upload screen, staged replay with the run's recorded numbers and a permanent "staged replay" banner, reveal with story card, tour (→/←), colour by material / route (c), orbit (o), reset (r), presentation toggle (p). / is unchanged.
  • Viewer: setAutoOrbit, focusObject, setTints, resetObjects via store actions only. window.__soba, pinned versions and physics semantics unchanged.
  • serve.py errors on a --scene that is not a directory.

Checks: pytest 541 passed / 8 skipped / 1 failed (gpu-marked torch test, expected on the WSL box); npm run build clean with dist/ rebuilt; verify_browser.js passes on out/scene_test and the curated scene; scratch puppeteer walk of /?demo clean (no non-GET requests, reset restores poses). Not tried on a projector. Details and presenter notes: docs/log/2026-09-17-demo-flow.md.

🤖 Generated with Claude Code

https://claude.ai/code/session_01T4fWTqvtzrSuC3ZmHemmA6

sladojevicm and others added 4 commits September 17, 2026 19:12
…-backed inspector

scene.json's frozen geometry_source cannot tell kept from completed, so the
inspector labelled every PatchComplete-completed object "keep · fused tsdf".
The server now serves the scene dir's run_metrics.json (same absent-is-200
contract as eval.json, root and job-scoped, documented in openapi.yaml) and
the inspector reads route, coverage and completeness from it; without
telemetry it falls back to "measured · tsdf".

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T4fWTqvtzrSuC3ZmHemmA6
… then the viewer

Client-side only. The file is described, never uploaded; the staged screens show
the numbers the recorded run wrote to run_metrics.json, advance only when the
presenter does, and carry a permanent "staged replay, nothing is computed live"
banner. The viewer is not mounted before the reveal; "/" stays the plain viewer.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T4fWTqvtzrSuC3ZmHemmA6
…terial/route, reset

Viewer gains setAutoOrbit, focusObject (eased), setTints and resetObjects, all
behind store actions. Presentation mode scales the rem-based tokens from one
root attribute and swaps the panels for a large-type story card that keeps the
"recorded run" label and the "8 of 12 objects" curation on screen. serve.py
rejects a --scene path that is not a directory.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T4fWTqvtzrSuC3ZmHemmA6
…pinned nav, safe centring

A fixed 150% root zoom overflowed a laptop at 150% display scaling (1280x670
viewport): cards covered the banner and the Next button left the screen. The
scale is now clamp(16px, min(1.5vw, 2.67vh), 32px), the staged screens scroll
inside a safely-centred area, and the navigation bar is always visible.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T4fWTqvtzrSuC3ZmHemmA6
@sladojevicm
sladojevicm merged commit 5d2b8f8 into develop Sep 18, 2026
8 checks passed
@sladojevicm
sladojevicm deleted the feat/demo-flow branch September 23, 2026 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant