Skip to content

Scene

Purpose

Owns preview scene lifecycle coordination and preview-scene-specific environment management.

This territory is responsible for creating, maintaining, and cleaning up the isolated preview scene used by Snap Studio Pro while coordinating preview cameras, prefab instances, background geometry, shadow helpers, and render capture routing.

Owns

  • Preview scene lifecycle management
  • Preview scene environment installation
  • Preview camera scene integration
  • Preview prefab scene integration
  • Background quad management
  • Shadow catcher preview geometry
  • Preview material instance isolation
  • Preview render capture routing
  • Preview scene cleanup ownership

Does NOT Own

  • Editor panel UI
  • Export workflow orchestration
  • Feature-level business workflows
  • Background texture generation
  • Rendering pipeline implementation
  • Preview interaction/input handling
  • Styling effect ownership

Allowed Dependencies

Scene may depend on:

  • Rendering abstractions
  • Models
  • Diagnostics
  • Preview prefab helpers
  • Rendering systems where scene integration is required
  • Pipeline-level rendering entry points

Scene should avoid: - panel/UI orchestration - export business logic - feature workflow ownership

Notes

This folder is one of the core orchestration territories inside Preview.

Scene systems are responsible for: - managing the isolated preview world - ensuring temporary objects are safe - coordinating cleanup ownership - routing capture requests into rendering systems

This territory intentionally coordinates several lower-level systems because preview scene management is inherently lifecycle-heavy.

Important distinction:

Preview.Scene owns: - scene coordination - preview object lifecycle - temporary preview environment setup

Rendering owns: - actual rendering implementation

Features own: - higher-level editor workflows

Temporary material ownership and cleanup are intentionally centralized here to prevent: - asset mutation - leaked materials - preview-scene contamination - render resource leaks

Future Candidates

  • Continue protecting cleanup ownership boundaries.
  • Avoid allowing export workflow logic to drift into Preview.Scene.
  • Maintain separation between scene coordination and rendering implementation.
  • Keep temporary preview resource ownership explicit and centralized.