Skip to content

Layout

Purpose

Owns panel layout orchestration and editor UI composition helpers for Snap Studio Pro.

This territory contains layout-facing adapters, right-side panel composition, tab routing, and panel registration support.

Owns

  • Panel layout coordination
  • Right panel composition
  • Tab routing support
  • Panel adapter helpers
  • Panel registration entry points
  • Layout-specific UI orchestration

Does NOT Own

  • Feature workflow implementation
  • Capture execution
  • Rendering implementation
  • Preview scene lifecycle
  • Pipeline implementation
  • Low-level UI styling primitives

Allowed Dependencies

Layout may depend on:

  • Panel sections
  • Panel abstractions
  • Preview facades
  • Feature controllers/services where required for construction
  • Rendering abstractions
  • Unity Editor layout APIs

Layout should avoid depending on:

  • low-level rendering implementation
  • pipeline internals
  • unrelated infrastructure internals

Notes

Layout is composition territory.

It is allowed to wire together panels and route drawing, but should not absorb feature behaviour.

If a class decides which panels appear where, it belongs here. If a class performs export/capture/rendering work, it belongs elsewhere.

Future Candidates

  • Keep layout orchestration explicit and readable.
  • Avoid reflection-based panel discovery unless there is a strong reason.
  • Keep panel registration order aligned with the visible UI.