Presets¶
Purpose¶
Owns reusable preset models and preset persistence helpers used throughout Snap Studio Pro.
This territory provides lightweight serialization, save/load/delete workflows, and reusable preset data containers for editor-facing configuration systems such as animation export, camera styles, lighting, backgrounds, and future configurable workflows.
Owns¶
- Preset data models
- Preset serialization helpers
- Save/load preset workflows
- Preset file discovery helpers
- Soft-delete preset workflows
- Preset restore workflows
- Shared preset persistence utilities
Does NOT Own¶
- Feature workflow orchestration
- Rendering implementation
- Preview scene lifecycle ownership
- Panel UI layout ownership
- Export execution
- Preset application orchestration
Allowed Dependencies¶
Presets may depend on:
- Unity serialization APIs
- Lightweight models/enums
- Infrastructure file helpers
- Diagnostics/logging where appropriate
- Unity AssetDatabase APIs
Presets should avoid depending on:
- rendering systems
- preview systems
- export execution systems
- panel orchestration systems
- workflow-heavy feature systems
Notes¶
Presets owns: - preset data containers - preset persistence mechanics - save/load/delete/restore workflows
Feature systems own: - what the preset means - how the preset is applied - when the preset is used
Panels own: - preset UI workflows
This separation keeps preset persistence reusable across multiple editor territories without coupling persistence directly into workflow systems.
Preset workflows are intentionally standardized across Snap Studio Pro: - JSON serialization - save/load behaviour - soft-delete to .Trash - restore-last-deleted support - predictable folder structure - inline UX instead of modal-heavy flows
Some presets intentionally store workflow-facing configuration bundles rather than minimal data-only snapshots. That is acceptable because presets are editor production tools, not runtime gameplay systems.
Future Candidates¶
- Continue standardizing preset persistence workflows across editor systems.
- Keep preset persistence separate from workflow orchestration.
- Avoid embedding rendering or export execution behaviour into preset utilities.
- Maintain lightweight and explicit preset data models.