lane C: session start — verified frozen contracts against live synthetic API
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
5fa7301148
commit
4399bc90e2
37
plan/status/lane-C.md
Normal file
37
plan/status/lane-C.md
Normal file
@ -0,0 +1,37 @@
|
||||
# Status — lane-C
|
||||
|
||||
## Round 1 — 2026-07-16 — STATUS: in_progress
|
||||
|
||||
**Directives acknowledged:** round 0 of plan/DIRECTIVES.md (run order C→A→D→B; C starts
|
||||
first as the longest lane + earliest API-contract validation; merge when acceptance passes,
|
||||
don't wait on siblings; maintain this status file; evidence discipline — a checked box names
|
||||
the test/command+output that proves it).
|
||||
|
||||
**Acceptance checklist** (lane brief M4/M5/M6 + timeline markers):
|
||||
- [ ] M4 — synchronized playback: master clock; per-video correction (hard-seek >150ms,
|
||||
nudge playbackRate 20–150ms, lock <20ms); out-of-range videos pause+dim; one audio
|
||||
source; dev overlay per-video sync error stays <50ms during continuous playback.
|
||||
- [ ] M5 — 3D viewer: PLY point cloud; per-video camera-path lines + current-pose frusta
|
||||
(colored); OrbitControls; snap-to-camera (intrinsics→PerspectiveCamera) matches the
|
||||
video; free-roam detaches. All COLMAP→Three via frozen `lib/pose.js`.
|
||||
- [ ] M6 — anchor overlays: per-video transparent canvas, letterbox-correct; project each
|
||||
anchor via pose.js camera; skip if behind (z_cam<0); corners track the stage box in
|
||||
all 3 videos while playing.
|
||||
- [ ] Timeline event markers: `GET /api/events` as colored markers (color by event_type,
|
||||
legend); hover tooltip; click-to-jump.
|
||||
- [ ] App runs against synthetic data with **no console errors**; merged to `main`.
|
||||
|
||||
**Done this round (session start):** verified environment and the frozen contracts against the
|
||||
live server (`python -m festival4d serve`): manifest (3 videos, offsets 0/+1370/−842 ms,
|
||||
t_global_max 21.37), 41 registered poses/video keyed by frame_idx (centered intrinsics
|
||||
fx=fy=554.26, cx=320, cy=180), 4 stage-corner anchors, 7 typed events, Range→206, colored
|
||||
PLY (3106 pts). Independently verified stage-corner projection lands all 4 corners in-frame,
|
||||
in front of the camera, for all 3 videos (cam0 left, cam1 front-center, cam2 right; centers on
|
||||
an arc at radius ~9.5) — so M5/M6 geometry is sound before writing render code.
|
||||
|
||||
**Blockers / questions for coordinator:** none. No change requests — the frozen API/pose/
|
||||
timebase contracts are sufficient for the whole lane as-is.
|
||||
|
||||
**Next:** build in dependency order — state → transport (verify M4 + dev sync overlay first,
|
||||
per brief) → videoGrid → timeline → scene3d → overlays; verify live in-browser; adversarial
|
||||
review pass; merge.
|
||||
Loading…
Reference in New Issue
Block a user