Skip to content

Layout

Purpose

Owns editor-window panel resizing and layout interaction systems used by Snap Studio Pro.

This territory manages editor panel resize handles, layout interaction behaviour, and live layout adjustment workflows.

Owns

  • Panel resize handles
  • Live layout resizing
  • Resize interaction handling
  • Layout dimension constraints
  • Resize repaint coordination
  • Resize notifications/events

Does NOT Own

  • Panel rendering
  • Workflow orchestration
  • Rendering implementation
  • Preview lifecycle ownership
  • Export execution

Allowed Dependencies

Layout may depend on:

  • Unity Editor window APIs
  • Shared theme/style systems
  • Lightweight window abstractions

Layout should avoid depending on:

  • rendering systems
  • feature systems
  • export systems
  • preview lifecycle systems

Notes

Layout systems own editor interaction behaviour only.

PanelResizer intentionally manages: - resize hit detection - drag handling - panel dimension constraints - repaint triggering

without owning the panels themselves.

Future Candidates

  • Keep layout interaction systems isolated and reusable.
  • Maintain explicit resize ownership.
  • Avoid embedding workflow behaviour into layout systems.