Skip to content

Lighting

Purpose

Owns lighting-related editor workflows, lighting configuration state, preset persistence, and reusable lighting utilities used throughout Snap Studio Pro.

This territory coordinates stylized lighting workflows while remaining independent from rendering pipeline implementation details.

Owns

  • Lighting configuration workflows
  • Lighting settings models
  • Lighting preset persistence
  • Lighting editor preferences
  • Lighting state tracking
  • Reusable lighting utilities
  • Light-to-settings mapping workflows
  • Shared lighting behaviour helpers

Does NOT Own

  • Rendering pipeline implementation
  • Preview scene lifecycle ownership
  • Export orchestration
  • Panel UI layout ownership
  • Low-level rendering implementation
  • Shader implementation

Allowed Dependencies

Lighting may depend on:

  • Models
  • Preview systems where required
  • Infrastructure preference services
  • Unity lighting/rendering APIs
  • Rendering abstractions where needed

Lighting should avoid depending on:

  • panel orchestration systems
  • export workflow systems
  • rendering implementation systems

Notes

Lighting is a shared editor-domain territory.

Lighting owns: - reusable lighting configuration - preset persistence - lighting workflow helpers - editor-facing lighting state

Preview owns: - preview scene coordination

Rendering/Pipelines own: - actual rendering behaviour - pipeline-specific implementation

This distinction allows lighting workflows to remain reusable across: - preview systems - thumbnail generation - export workflows - future tooling

The goal is pragmatic lighting workflow coordination rather than rendering ownership.

Future Candidates

  • Continue protecting the separation between lighting workflows and rendering implementation.
  • Avoid allowing export orchestration into Lighting.
  • Maintain reusable and pipeline-safe lighting helpers.
  • Keep preset/persistence ownership isolated from preview orchestration.