Skip to content

Background

Purpose

Owns background rendering implementation and generated background texture utilities used by preview and export systems.

This territory is responsible for generating, caching, compositing, and drawing procedural/editor background textures for the various supported Snap Studio Pro background styles.

Owns

  • Background texture generation
  • Procedural background rendering
  • Background GUI drawing
  • Background texture caching
  • Background rendering utilities
  • Generated texture cleanup ownership
  • Background rendering helper systems

Does NOT Own

  • Preview background orchestration
  • Background preset persistence
  • Preview scene placement
  • Export workflow orchestration
  • Panel UI workflows
  • Preview lifecycle management

Allowed Dependencies

Background may depend on:

  • Models
  • Enums
  • Rendering abstractions/utilities
  • Unity rendering/editor APIs

Background should avoid depending on:

  • Panels
  • Window
  • Preview orchestration systems
  • Feature workflow coordinators

Notes

This folder is pure rendering implementation territory.

Background systems here own: - how textures are generated - how backgrounds are drawn - how generated textures are cached - how procedural styles are rendered

Preview owns: - when backgrounds update - where backgrounds appear - preview-scene coordination

Features own: - presets - persistence - editor workflows

Texture cache ownership is intentionally centralized here to reduce: - duplicate texture generation - editor memory leaks - temporary texture buildup - unnecessary allocations during repaint cycles

The rendering systems in this folder are intentionally workflow-agnostic.

Future Candidates

  • Continue centralizing generated texture cleanup ownership.
  • Avoid allowing preview orchestration logic into Rendering.Background.
  • Keep procedural texture generation implementation-focused.
  • Continue protecting cache lifecycle boundaries.