Animation¶
Purpose¶
Owns animation-focused editor workflows for Snap Studio Pro.
This territory coordinates animation playback, clip discovery, animation sampling, frame planning, animation export orchestration, directional animation capture, spritesheet/GIF generation routing, and animation-related editor preferences.
Animation is intentionally workflow-heavy.
Owns¶
- Animation export workflows
- Animation playback coordination
- Animation clip discovery
- Animation sampling workflows
- Animation frame planning
- Animation capture orchestration
- Animation post-processing workflows
- Directional animation export coordination
- Animation export request models
- Animation-related editor preferences
Does NOT Own¶
- Low-level rendering implementation
- Preview scene lifecycle ownership
- Generic capture implementation
- Panel UI layout ownership
- Render pipeline implementation
- File encoding implementation
- Texture compositing implementation
Allowed Dependencies¶
Animation may depend on:
- Preview
- Capture workflows
- Export assembly systems
- Directional capture systems
- Rendering abstractions
- Infrastructure runners/progress systems
- Models and shared abstractions
- Logic (pure calculation kernels)
Animation is allowed to coordinate across multiple feature systems.
Notes¶
Animation is one of the most orchestration-heavy territories in Snap Studio Pro.
This is intentional.
Animation workflows naturally coordinate: - playback - sampling - capture - export - directional workflows - spritesheet assembly - GIF generation - progress reporting
The goal is not minimal class count.
The goal is understandable production workflows.
Animation systems should prioritize: - predictable export behaviour - safe editor execution - cleanup ownership - progress visibility - workflow clarity
Rendering systems own: - pixel generation
Capture systems own: - low-level capture execution
Animation owns: - animation production workflows
This distinction is important.
Pure calculation now lives in Logic: the frame-index planning math (FrameIndexCalculator) and the largest-pose AABB transform (BoundsTransform.TransformAabb) were moved to the RevGaming.SnapStudioPro.Logic assembly so they can be unit-tested. Animation still owns the frame-planning and pose-bounds-scan workflows; it delegates the underlying math.
Future Candidates¶
- Continue protecting workflow orchestration boundaries.
- Avoid pushing rendering implementation into Animation.
- Keep request models lightweight and immutable where practical.
- Continue separating playback, export planning, and capture execution responsibilities where behaviour boundaries are obvious.
- Avoid “abstraction for abstraction’s sake” in export pipelines.