1
0
Fork 0
forked from hanez/xtc
xtc/docs/ROADMAP.md
2026-10-26 22:51:25 +01:00

1.6 KiB

Roadmap

Phase 0 — Baseline

Inspect repository/toolchain, verify Makefile and minimal executable, document dependencies. No system changes without permission.

Phase 1 — C core and offline processing

Graph data structures, validation, cycle detection, topological ordering, preallocated buffers, test oscillator, gain and offline render tests.

Phase 2 — Real-time backend

Choose and implement a Linux backend. Document callback semantics, start/stop, device errors, shutdown, and safe graph publication.

Phase 3 — FLTK shell

Main window, transport controls, view switching, backend status, clean startup and shutdown through the C API.

Phase 4 — Modular editor

Draw nodes/ports/edges; create, move and connect nodes; reject invalid edges; safely submit edits to the C core.

Phase 5 — Project and sequencer

Versioned persistence, stable IDs, tracks, clips, timeline, selection, zoom, scrolling, and transport synchronization.

Phase 6 — Audio clips and recording

Audio import/playback, recording through bounded buffers, missing-asset handling, no file I/O in callbacks.

Phase 7 — MIDI and instrument

MIDI input/events/clips, simple internal instrument, note-off/panic handling, then a basic piano roll.

Phase 8 — Mixer and editing

Gain/pan, meters, mute/solo, automation, undo/redo, keyboard workflow.

Phase 9 — Extensibility and release

Native node API, evaluate plugin hosting, licensing review, packaging, installation tests, performance and recovery tests.

Do not skip phases without documenting why and preserving acceptance criteria.