Skip to content

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.