Repository navigation
wall clock
github-actions[bot] edited this page Oct 12, 2026
·
2 revisions
-
Route:
/run/:runtimeId -
Host Component:
apps/playground/app/pages/WallClockPage.tsx -
Domain Models:
Note,Notesource (rawContent + occurrence map; saved states inBlockRevision),Session,EventRecord
-
FullscreenTimer(apps/playground/src/components/organisms/review/FullscreenTimer.tsx). Full-bleed workout timer HUD and interval controller. -
CastButtonRpc(apps/playground/src/components/organisms/cast/CastButtonRpc.tsx). Device picker and Cast streaming interface.
-
pendingRuntimes(apps/playground/app/runtimeStore.ts). In-memory store holding compiledScriptBlockand source note context. -
playgroundRecorder(apps/playground/src/services/resultRecorder.ts). Records completed session metadata and streams events to IndexedDB.
- Fullscreen HUD (Bypasses App Shell): The tracker consumes the entire viewport without sidebars, navbars, or rails.
-
Display Zones:
- Top Bar: Workout title, Cast mirror button, and Close / Abort button.
- Center Stage: Massive high-contrast timer (elapsed or countdown), current exercise name, and target reps / load.
- Upcoming Preview: Next movement banner and remaining rounds indicator.
- Controls Bar: Large primary "Next" / "Advance" button, Pause / Resume toggle, and Reset control.
- Landscape & Portrait Optimization: Automatically reflows based on device orientation.
- Touch Targets: The entire lower half of the screen serves as an oversized tap target to advance rounds without precise aiming.
- Haptic & Audio Feedback: Plays audio cues on interval transitions and round completions.
-
Isolated Execution State:
-
WallClockPageisolates runtime execution from document authoring. - On mount, it consumes the pending runtime from
pendingRuntimesto prevent leaks.
-
-
Direct Completion Navigation:
- Finishing a session triggers
playgroundRecorder.record(), writing aSessionrow andEventRecords. - Redirects immediately to
sessionDetailPath(runtimeId)(/sessions/:sessionId).
- Finishing a session triggers