Skip to content

State

Purpose

Owns lightweight preview-facing runtime state used by the live preview workflow.

This territory stores transient preview state required for interaction, animation playback coordination, and preview workflow continuity without owning rendering, scene lifecycle, or feature orchestration behaviour.

Owns

  • Selected preview prefab state
  • Preview interaction state
  • Animation playback references
  • Preview rotation request state
  • Lightweight transient preview workflow state

Does NOT Own

  • Rendering implementation
  • Scene lifecycle management
  • Export workflows
  • Persistent preference storage
  • Input event handling
  • Panel UI
  • Animation system ownership

Allowed Dependencies

State may depend on:

  • Lightweight abstractions/contracts
  • Unity primitives/types

State should avoid: - rendering dependencies - scene orchestration dependencies - feature workflow ownership - panel/UI dependencies

Notes

This folder exists to centralize transient preview workflow state that would otherwise become scattered across orchestration systems.

State systems should remain: - lightweight - predictable - transient - coordination-focused

They should not absorb: - workflow orchestration - rendering behaviour - feature logic - persistence responsibilities

The goal is to provide a stable preview-facing runtime state surface without turning state containers into service layers.

Future Candidates

  • Continue keeping Preview.State lightweight and transient.
  • Avoid allowing business logic or rendering behaviour into state containers.
  • Maintain clear distinction between state ownership and workflow ownership.