Facade¶
Purpose¶
Owns the high-level preview coordination surface for Snap Studio Pro.
This territory exposes the primary application-facing preview workflow entry points while delegating implementation details to focused controllers, coordinators, services, and state systems.
Owns¶
- High-level preview orchestration
- Preview workflow coordination
- Cross-system preview composition
- Preview-facing integration surface
- Delegation routing between preview subsystems
Does NOT Own¶
- Low-level rendering implementation
- Texture generation
- Pipeline-specific rendering behaviour
- Editor UI drawing
- Export orchestration
- Persistence implementation
- Detailed subsystem logic
Allowed Dependencies¶
Facade may depend on:
- Preview subterritories
- Core abstractions
- Models
- Feature-level services where coordination is required
- Rendering abstractions
- Infrastructure utilities where appropriate
Facade is allowed to be coordination-heavy.
Notes¶
This folder intentionally acts as the preview composition layer.
Facade classes are expected to: - coordinate systems - route workflows - expose simplified access surfaces - manage preview-facing interactions
They are NOT expected to: - contain rendering implementation details - become utility dumping grounds - absorb subsystem internals
Large orchestration classes are acceptable here when they reflect real application workflow coordination.
The goal is centralized workflow readability, not artificial class fragmentation.
Future Candidates¶
- Continue pushing implementation detail downward into focused preview systems.
- Keep orchestration readable rather than aggressively abstracted.
- Avoid allowing Facade classes to absorb rendering or export implementation logic.