# 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.