SCENEGOD/scenegod/web
type-two 5baebb410a [m11-B] camera moves become keyframes, snapped to the beat
applyDirect handles op:'move': one group() = transform keys at t0 and t0+dur
from the op's from/to, fov param keys at BOTH times (the only thing a zoom
moves, and an unkeyed fov gets dragged by its neighbours), ease on the leading
key of each pair. Repeating a move over the same span REPLACES the window
rather than interleaving, and reports how many keys it displaced. No automatic
cut - a move usually continues a shot - but the toast discloses when no cut
selects the moved camera, and cut:true is honoured if asked.

Snap config moved onto the model so a model-level op lands on the beat exactly
like a mouse drag: with a grid and snap=bar, t0 AND t0+dur land on downbeats.
Double-clicking the Cameras row now cuts to the camera you are looking through.

Verified live on music-video: playhead off-grid at 4.2s -> keys at 3.2907 and
8.9146, both exact bar lines, fov keyed at both, cuts unchanged, mid-move pose
interpolating, one undo deep-equal. 5 suites green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 20:19:55 +10:00
..
dock.js [m11-A] camera moves, + angle, fitAnchor in the inspector 2026-07-26 18:58:10 +10:00
film.js [m8-C] multi-shot sequencing — a film is now a first-class object 2026-07-25 23:21:45 +10:00
grammar.js [m11-A] camera moves, + angle, fitAnchor in the inspector 2026-07-26 18:58:10 +10:00
index.html [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
presets_test.mjs [m11-A] camera moves, + angle, fitAnchor in the inspector 2026-07-26 18:58:10 +10:00
presets.js [m11-A] camera moves, + angle, fitAnchor in the inspector 2026-07-26 18:58:10 +10:00
render.js [m8-C] multi-shot sequencing — a film is now a first-class object 2026-07-25 23:21:45 +10:00
room3d_test.mjs [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
room3d.js [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
stage_test.mjs [m7-A] non-mixamo rig support + world-integrated backdrops (+4 sync7 render fixes) 2026-07-25 22:21:37 +10:00
stage.js [m11-A] camera moves, + angle, fitAnchor in the inspector 2026-07-26 18:58:10 +10:00
stagestub.js [m5+m6] DIRECTOR MODE + FLOW VIDEO PLATES — all lanes + sync6 seam fixes 2026-07-20 17:51:28 +10:00
style.css [m11-A] camera moves, + angle, fitAnchor in the inspector 2026-07-26 18:58:10 +10:00
timeline_test.mjs [m11-B] camera moves become keyframes, snapped to the beat 2026-07-28 20:19:55 +10:00
timeline.js [m11-B] camera moves become keyframes, snapped to the beat 2026-07-28 20:19:55 +10:00
tlui.js [m11-B] camera moves become keyframes, snapped to the beat 2026-07-28 20:19:55 +10:00