UI¶
Purpose¶
Owns reusable editor UI systems, theme infrastructure, style generation, and shared IMGUI presentation helpers used throughout Snap Studio Pro.
This territory centralizes theme-aware editor rendering, reusable controls, GUIStyle generation, theme persistence, preset-driven styling workflows, and reusable editor UI utilities.
UI is presentation infrastructure territory.
Owns¶
- Shared IMGUI controls
- GUIStyle generation
- Theme-aware style systems
- Theme persistence workflows
- Theme preset workflows
- Shared UI utility helpers
- Reusable progress bars
- Shared preset UI infrastructure
- Theme texture caching
- Shared editor visual consistency
Does NOT Own¶
- Feature workflow orchestration
- Rendering implementation
- Preview lifecycle ownership
- Export execution
- Feature-domain business logic
- Rendering pipeline ownership
Allowed Dependencies¶
UI may depend on:
- Unity Editor IMGUI APIs
- Theme models/settings
- Shared lightweight abstractions
- Infrastructure preference systems
- File IO where required for theme presets
UI should avoid depending on:
- preview orchestration systems
- rendering systems
- export systems
- feature workflow systems
Notes¶
UI exists to centralize reusable editor presentation behaviour and maintain visual consistency across Snap Studio Pro.
UI owns: - presentation infrastructure - GUIStyle generation - theme persistence - reusable controls - theme-aware drawing helpers
Panels own: - workflow-facing UI composition
Features own: - business/workflow behaviour
This separation keeps reusable editor presentation systems isolated from feature orchestration.
The UI territory intentionally contains: - cached GUIStyles - cached textures - theme persistence - reusable IMGUI abstractions
because these are editor presentation concerns rather than workflow concerns.
Future Candidates¶
- Continue centralizing reusable UI presentation systems.
- Keep theme/state caching explicit and safe.
- Avoid embedding workflow orchestration into UI infrastructure.
- Maintain separation between reusable presentation systems and feature behaviour.