xtc/docs/decisions/0001-modular-engine-first.md
2026-11-06 15:20:20 +01:00

777 B

Decision 0001: Modular Engine First

Status: Accepted


Context

The project aims to preserve energyXT's combination of a simple workflow and a flexible modular routing model.


Decision

Use one unified processing graph for sources, instruments, effects, mixers, and outputs. The sequencer is a timeline/event source integrated with that graph. The default GUI is simple and sequencer-oriented, while a graph editor exposes routing when needed.


Consequences

  • Graph validation, scheduling, buffer allocation, and safe graph replacement are foundational requirements.
  • Initial audio graph rejects cycles.
  • Graph execution plans are prepared off the audio thread.
  • The UI must not create a separate routing model disconnected from the engine.