# XYZ

Related utilities share a page, so each demo reads as a complete idea instead of a list of isolated exports.



## `@joycostudio/xyz` [#joycostudioxyz]

Reusable building blocks for application logic, independent of any renderer.

* **class** [Derived](./core/keyed-ownership)

  Combine independent keyed claims through an explicit resolution policy.

* **function** [edge](./core/transitions)

  Respond when a selected piece of state crosses an edge.

* **class** [Disposer](./core/teardown)

  Collect owner-local cleanup work and unwind it safely in reverse order.

* **function** [defineAssetSource](./core/asset-routing)

  Keep authored asset names at call sites while a planner selects the optimized output.

* **class** [Module and ModuleHost](./module/runtime)

  Own children, select state, emit typed events, and coordinate ticking and teardown.

* **function** [Module inspection](./module/inspection)

  Observe ownership and activity, or connect a same-origin development inspector.

## `@joycostudio/xyz/debug` [#joycostudioxyzdebug]

Tools for inspecting and tuning application behavior during development.

* **class** [DebugManager](./debug/debug-manager)

  Create a lazy debug pane and control when it appears.

* **function** [bindDebugSchema](./debug/schemas)

  Describe values, controls, groups, and actions once, then bind them to Tweakpane.

## `@joycostudio/xyz/three` [#joycostudioxyzthree]

Utilities for building and managing Three.js experiences.

* **class** [Warmup](./three/scene-warmup)

  Discover a scene, prepare its GPU resources, and restore every temporary mutation before play.
