# @suaveplan/audio-timeline - Headless DAW timeline engine: multi-track arrangements with clips, playback, loop regions, selection, zoom, and per-track mixer state. Delegates rendering to a pluggable TimelineAdapter. Headless DAW timeline engine with multi-track arrangements, clips, playback, loop regions, selection, zoom, per-track mixer state, undo/redo, and a pluggable `TimelineAdapter`. ## Documentation tree - [adapter](./src/adapter/adapter.md) — `NullTimelineAdapter` is a reference no-op implementation of the `TimelineAdapter` interface. It is useful for unit tes… - [adapter](./src/adapter/adapter.md) — `NullTimelineAdapter` is a reference no-op implementation of the `TimelineAdapter` interface. It is useful for unit tes… - [clip](./src/clip/clip.md) — The `clip.ts` module contains pure geometry helpers for audio clips. A `Clip` is a slice of an `AudioDocument` placed o… - [clip](./src/clip/clip.md) — The `clip.ts` module contains pure geometry helpers for audio clips. A `Clip` is a slice of an `AudioDocument` placed o… - [engine](./src/engine/engine.md) — `TimelineEngine` is the central state container for the `@suaveplan/audio-timeline` package. It owns the multi-track ar… - [clip](./src/engine/clip/clip.md) — The `clip.ts` module contains the internal bridge between `TimelineEngine` public methods and the pure `clip-operations… - [clip](./src/engine/clip/clip.md) — The `clip.ts` module contains the internal bridge between `TimelineEngine` public methods and the pure `clip-operations… - [mixer](./src/engine/mixer/mixer.md) — The `mixer.ts` module bridges `TimelineEngine` mixer public methods to the pure `mixer.ts` helpers. It manages undo pus… - [mixer](./src/engine/mixer/mixer.md) — The `mixer.ts` module bridges `TimelineEngine` mixer public methods to the pure `mixer.ts` helpers. It manages undo pus… - [state](./src/engine/state/state.md) — The `state.ts` module builds the immutable `TimelineState` snapshot returned by `TimelineEngine.getState()`. It derives… - [state](./src/engine/state/state.md) — The `state.ts` module builds the immutable `TimelineState` snapshot returned by `TimelineEngine.getState()`. It derives… - [transport](./src/engine/transport/transport.md) — The `transport.ts` module bridges `TimelineEngine` transport public methods (`play`, `pause`, `stop`, `seek`) to the `T… - [transport](./src/engine/transport/transport.md) — The `transport.ts` module bridges `TimelineEngine` transport public methods (`play`, `pause`, `stop`, `seek`) to the `T… - [transport-fsm](./src/engine/transport-fsm/transport-fsm.md) — The `transport-fsm.ts` module creates the finite state machine that guards timeline transport transitions. It prevents… - [transport-fsm](./src/engine/transport-fsm/transport-fsm.md) — The `transport-fsm.ts` module creates the finite state machine that guards timeline transport transitions. It prevents… - [undo](./src/engine/undo/undo.md) — The `undo.ts` module provides the command builder and incremental adapter diff logic used by `TimelineEngine` for undo/… - [undo](./src/engine/undo/undo.md) — The `undo.ts` module provides the command builder and incremental adapter diff logic used by `TimelineEngine` for undo/… - [zoom](./src/engine/zoom/zoom.md) — The `zoom.ts` module bridges `TimelineEngine` zoom, selection, and loop public methods to the pure `timeline-operations… - [zoom](./src/engine/zoom/zoom.md) — The `zoom.ts` module bridges `TimelineEngine` zoom, selection, and loop public methods to the pure `timeline-operations… - [engine](./src/engine/engine.md) — `TimelineEngine` is the central state container for the `@suaveplan/audio-timeline` package. It owns the multi-track ar… - [error-codes](./src/error-codes/error-codes.md) — The `error-codes.ts` module defines the `AUDIO_TIMELINE` error namespace and the `TimelineError` class used throughout… - [error-codes](./src/error-codes/error-codes.md) — The `error-codes.ts` module defines the `AUDIO_TIMELINE` error namespace and the `TimelineError` class used throughout… - [mixer](./src/mixer/mixer.md) — The `mixer.ts` module provides pure state updates for per-track and master mixer settings. Every function returns a sha… - [mixer](./src/mixer/mixer.md) — The `mixer.ts` module provides pure state updates for per-track and master mixer settings. Every function returns a sha… - [clip-operations](./src/operations/clip-operations/clip-operations.md) — The `clip-operations.ts` module implements the state-changing actions that the timeline engine performs on clips: drag,… - [clip-operations](./src/operations/clip-operations/clip-operations.md) — The `clip-operations.ts` module implements the state-changing actions that the timeline engine performs on clips: drag,… - [timeline-operations](./src/operations/timeline-operations/timeline-operations.md) — The `timeline-operations.ts` module handles view-state mutations that do **not** affect the audio arrangement and there… - [timeline-operations](./src/operations/timeline-operations/timeline-operations.md) — The `timeline-operations.ts` module handles view-state mutations that do **not** affect the audio arrangement and there… - [track](./src/track/track.md) — The `track.ts` module provides pure, immutable CRUD operations for the `Track` model used by the `@suaveplan/audio-time… - [track](./src/track/track.md) — The `track.ts` module provides pure, immutable CRUD operations for the `Track` model used by the `@suaveplan/audio-time… - [zoom](./src/zoom/zoom.md) — The `zoom.ts` module provides a discrete zoom table and navigation helpers for the timeline view. Zoom levels are expre… - [zoom](./src/zoom/zoom.md) — The `zoom.ts` module provides a discrete zoom table and navigation helpers for the timeline view. Zoom levels are expre…