Skip to content

Backgrounds

Purpose

Owns background-related editor workflows, persistence, settings mapping, and preview background application coordination for Snap Studio Pro.

This territory bridges serialized background configuration, preview-facing background state, and editor persistence workflows without owning low-level rendering implementation.

Owns

  • Background settings workflows
  • Background settings mapping
  • Background persistence workflows
  • Background preset file workflows
  • Preview background application coordination
  • Background-related editor preferences
  • Background serialization/deserialization
  • Background workflow-facing abstractions

Does NOT Own

  • Background texture rendering implementation
  • Procedural texture generation
  • Preview scene lifecycle ownership
  • Rendering orchestration
  • Panel UI layout ownership
  • Export workflow orchestration

Allowed Dependencies

Backgrounds may depend on:

  • Preview systems
  • Models
  • Enums
  • Rendering abstractions
  • Infrastructure preference services
  • Unity serialization/editor APIs

Backgrounds should avoid depending on:

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

Notes

This folder intentionally acts as the workflow and persistence bridge for background systems.

Features.Backgrounds owns: - how background settings are stored - how settings are mapped - how settings are applied to preview-facing systems - how presets and persistence behave

Rendering.Background owns: - how textures are generated - how procedural backgrounds are rendered

Preview.Background owns: - live preview background coordination - preview-scene background placement

This separation is extremely important.

Background workflows naturally touch: - persistence - preview state - rendering-facing configuration

The goal is to coordinate these responsibilities without collapsing rendering implementation and persistence into the same systems.

Future Candidates

  • Continue protecting the separation between rendering implementation and workflow coordination.
  • Avoid allowing rendering logic into Features.Backgrounds.
  • Maintain explicit mapping boundaries between serialized data and live preview state.
  • Continue isolating persistence ownership from preview orchestration.