Skip to content

Controls

Purpose

Owns reusable themed IMGUI controls and lightweight editor interaction helpers used throughout Snap Studio Pro.

This territory provides reusable, theme-aware editor widgets that standardize user interaction across panels and workflows.

Owns

  • Themed labels
  • Themed sliders
  • Themed toggles
  • Themed popup helpers
  • Shared editor field helpers
  • Shared progress bar rendering
  • Shared layout convenience helpers
  • Reusable IMGUI interaction widgets

Does NOT Own

  • Workflow orchestration
  • Rendering implementation
  • Preview lifecycle ownership
  • Feature-domain logic
  • Theme persistence ownership

Allowed Dependencies

Controls may depend on:

  • Unity Editor IMGUI APIs
  • Shared theme/style systems
  • Lightweight UI abstractions

Controls should avoid depending on:

  • feature orchestration systems
  • rendering systems
  • export systems
  • preview systems

Notes

Controls are reusable editor interaction primitives.

They exist to: - reduce duplicated IMGUI code - standardize panel behaviour - centralize theme-aware UI rendering

Controls should remain: - lightweight - reusable - presentation-focused

They should not become owners of workflow logic or editor lifecycle behaviour.

Future Candidates

  • Continue centralizing reusable editor widgets.
  • Keep controls presentation-focused and reusable.
  • Avoid embedding workflow behaviour into shared controls.