Themes¶
Purpose¶
Owns editor theme persistence, theme preset workflows, and theme-aware color resolution used throughout Snap Studio Pro.
This territory manages how editor themes are stored, loaded, restored, and resolved across dark/light editor workflows.
Owns¶
- Theme persistence
- Theme preset workflows
- Theme color resolution
- Default theme initialization
- Theme save/load helpers
- Theme preset file handling
- Dark/light theme separation
- Theme restore/reset workflows
Does NOT Own¶
- GUIStyle generation
- Workflow orchestration
- Rendering implementation
- Preview lifecycle ownership
- Feature-domain behaviour
Allowed Dependencies¶
Themes may depend on:
- Unity Editor APIs
- EditorPrefs
- File IO APIs
- Theme models/settings
- Shared style refresh helpers
Themes should avoid depending on:
- feature orchestration systems
- rendering systems
- preview systems
- export systems
Notes¶
Themes owns: - theme state - theme persistence - theme preset handling - theme color lookup
Styling owns: - GUIStyle creation - texture caching - reusable visual rendering
This separation keeps theme persistence isolated from presentation implementation.
ThemePersistenceService intentionally supports: - dark/light editor variants - cached theme state - cooldown-based saves - default-theme fallback initialization
to improve editor stability during long IMGUI sessions.
Future Candidates¶
- Continue separating theme persistence from style generation.
- Maintain safe theme caching behaviour.
- Avoid embedding workflow behaviour into theme systems.
- Keep theme preset handling explicit and predictable.