Setups and Shots (#40) #90
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
needs-info
needs-triage
question
ready-for-agent
ready-for-human
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crowmaki/ai-studio!90
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-40-setups-and-shots"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #40
What
A filmmaker can plan coverage: Setups per Scene, and Shots that cover runs of Lines (User Stories 67–72).
scene.setup_letters_usedcounts the letters a Scene has handed out.setup(scene, letter, setup_order, location_angle_tile_id, framing_note, blocking_plan),setup_subject(setup, character, position)andshot(setup, first_line_id, last_line_id).studio-core/src/setups.rs):reorder_setupschanges the Scene's Setup order and leaves the letters alone.setup_angle_choices(scene)lists those Tiles.fits_scene: false("Not this scene's set").blocking_planis a reserved placeholder that is always empty. The UI shows a "later" slot for it.12Afor a Setup's only Shot, otherwise12B·1,12B·2in script order.SceneDto.setups.Decisions to check
shot(setup, index, next_take_number). With no Takes yet, a stored index would only add renumbering work. Once Takes exist (#41 split, #51 queuing), an earlier Shot added later would renumber12B·1→12B·2. #41/#51 should store or freeze the number at that point, together withnext_take_number.deleted_atonsetupandshotyet. This follows the existingrequire_deletablestub. The soft-delete path belongs with the first Take that consumes them.Testing
crates/studio-core/tests/setups.rs(28 tests) covers:setups_and_shots_go_through_the_adapter. Bun tests forsrc/lib/scenes/setups.ts.svelte-checkpass. Clippy's only warning is the existing one inapi.rs.