Skip to content

Core

Purpose

Owns foundational rendering, lighting, camera, and shared utility primitives used throughout Snap Studio Pro.

This territory contains low-level shared editor-domain building blocks that are reused across preview, rendering, export, thumbnail, and pipeline systems.

Core is intentionally stable and lightweight.

Owns

  • Core rendering contracts
  • Camera management primitives
  • Lighting management primitives
  • Global volume contracts
  • Shared utility helpers
  • Shared foundational settings models
  • Shared transform/bounds helpers

Does NOT Own

  • Workflow orchestration
  • Preview scene lifecycle ownership
  • Export orchestration
  • Panel UI layout ownership
  • Feature-domain workflows
  • Rendering pipeline implementations

Allowed Dependencies

Core should remain lightweight and should depend only on:

  • Unity primitives/APIs
  • Lightweight shared models/types where necessary

Core should avoid depending on:

  • Preview systems
  • Export systems
  • Panel systems
  • Window lifecycle systems
  • Feature orchestration systems

Notes

Core exists to provide stable foundational building blocks shared across the Snap Studio Pro editor architecture.

Core owns: - contracts - primitives - shared utilities - foundational helpers

Features own: - workflows

Preview owns: - live preview coordination

Rendering/Pipelines own: - rendering implementation

This distinction helps prevent foundational systems from becoming workflow-heavy orchestration layers.

Utilities in Core should remain: - reusable - lightweight - predictable

Avoid turning Core into: - a dumping ground - a hidden workflow layer - a second abstraction system

Future Candidates

  • Keep Core stable and foundational.
  • Avoid introducing workflow orchestration into Core.
  • Maintain lightweight utility/helper responsibilities.
  • Continue treating Core as shared infrastructure primitives rather than feature territory.