Skip to content

Styling

Purpose

Owns theme-aware GUIStyle generation, style caching, texture caching, and reusable editor presentation infrastructure used throughout Snap Studio Pro.

This territory centralizes reusable editor styling behaviour and visual consistency systems.

Owns

  • GUIStyle generation
  • GUIStyle caching
  • Theme-aware style creation
  • Shared editor visual styling
  • Cached editor textures
  • Style registry systems
  • Shared separator/header drawing
  • Quantized texture cache keys
  • Repaint-driven style refresh workflows

Does NOT Own

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

Allowed Dependencies

Styling may depend on:

  • Unity Editor GUI APIs
  • Theme systems
  • Shared UI abstractions
  • Lightweight utility systems

Styling should avoid depending on:

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

Notes

Styling owns reusable editor presentation infrastructure only.

This territory intentionally centralizes: - GUIStyle creation - cached textures - theme-aware colors - repaint refresh logic - reusable editor drawing helpers

StyleCache and StyleRegistry intentionally exist as centralized editor presentation systems to avoid excessive per-frame GUIStyle and Texture2D allocation.

The texture/style caching work here is important because Snap Studio Pro is a large IMGUI-heavy editor tool with long-running editor sessions.

Future Candidates

  • Continue protecting against GUIStyle/Texture2D allocation leaks.
  • Maintain explicit cache refresh ownership.
  • Keep styling systems presentation-focused and reusable.
  • Avoid embedding workflow orchestration into styling infrastructure.