Rotation¶
Purpose¶
Owns preview rotation state and preview-facing rotation coordination.
This territory is responsible for managing rotation settings, pivot/orbit behaviour, and rotation interaction state used by the live preview environment.
Owns¶
- Preview rotation state
- Rotation speed settings
- Rotation mode coordination
- Pivot/orbit behaviour
- Rotation activity state
- Rotation-facing facades
Does NOT Own¶
- Camera rendering
- Input event handling
- Scene lifecycle management
- Export workflows
- Rendering implementation
- Panel UI
Allowed Dependencies¶
Rotation may depend on:
- Rotation abstractions/contracts
- Lightweight preview-facing systems
Rotation should avoid: - rendering implementation dependencies - export workflow dependencies - panel/UI orchestration logic
Notes¶
This folder exists to isolate rotation state and rotation behaviour from preview input handling and rendering systems.
Input systems decide: - when interaction occurs
Rotation systems decide: - how rotation state behaves - what rotation settings are active - how pivot/orbit behaviour is interpreted
The goal is predictable and reusable preview rotation behaviour without coupling rotation logic directly to UI or rendering systems.
Facade classes are acceptable here when they simplify access to rotation-facing behaviour without leaking controller implementation details.
Future Candidates¶
- Continue keeping rotation state isolated from input event processing.
- Avoid allowing rendering concerns to drift into rotation systems.
- Maintain lightweight and predictable rotation ownership boundaries.