feat(rate): persist per-viewport camera preferences - #4349
feat(rate): persist per-viewport camera preferences#4349d-sorgcodexagent[bot] wants to merge 24 commits into
Conversation
# Conflicts: # docs/development/RATE_OF_CLOSURE_CAMPAIGN_HANDOFF.md
# Conflicts: # docs/development/RATE_OF_CLOSURE_CAMPAIGN_HANDOFF.md # src/rate_of_closure/ui/pyqt6/simulation_view.py
# Conflicts: # AGENT_HANDOFF.md # SPEC.md # docs/development/RATE_OF_CLOSURE_CAMPAIGN_HANDOFF.md # src/rate_of_closure/AGENT_HANDOFF.md
# Conflicts: # AGENT_HANDOFF.md # SPEC.md # docs/development/RATE_OF_CLOSURE_CAMPAIGN_HANDOFF.md # docs/release/rate_of_closure_campaign.v1.json # docs/specs/active/CAMERA_VIEWPORT_CONTROLS.md # src/rate_of_closure/AGENT_HANDOFF.md
|
Superseded by #4466, which consolidates all 43 open Stacks were folded top-down (each child into its own parent, then the parent upward), so The consolidation also repairs defects the merge exposed, listed in #4466: two unguarded Reopen this PR if you need its branch; the branch itself is untouched. |
Summary
camera-preferences/v1state keyed by stable Impact, Swing, and Flight viewport IDsExact composition
feat/4144-workspace-variation-study/ feat(rate): persist variation study workspaces #4343 exact4ff103d9a6ef886099c180da560e8458d5e20b49e07e2a66a894c93b50c1ded308fc8902f2ff6c24, then fix(rate-ui): keep moving subjects framed by default #4303 exact98cf35994488dd6f3d66916415bbc9f8e7c8bf3f0d0dd7f1f199a242e0308ff8f8fc0092192e731bf2d3be771a9ba1d17f5e8942484b3fb49c236527No existing PR was retargeted, rebased, force-pushed, or rewritten.
Verification
Scope and release boundary
This slice persists user camera preferences, not animation runtime state. It adds no new visible control or layout. Fresh rendered Playwright/native qualification, protected current-head CI, required review, dependency landing, immutable UpstreamDrift consumer parity, and final #4218/#4284 acceptance remain open. The draft does not close either issue.
Closes no issue.