Skip to content

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.