1
0
Fork 0
forked from hanez/xtc
xtc/docs/decisions/0002-c-core-fltk-gui.md
2026-10-26 22:51:25 +01:00

597 B

Decision 0002: C core with FLTK/C++ GUI

Status: Accepted

Context

The project prioritizes a readable, small C implementation while using FLTK for a lightweight desktop GUI.

Decision

Keep the engine, DSP, project model, graph, and public core API in C (C99 baseline). Use C++ only for FLTK windows and widgets. Communicate through documented C headers with extern "C" guards.

Consequences

  • No C++ classes, STL containers, exceptions, or FLTK types cross the C API.
  • GUI code cannot mutate engine internals directly.
  • Keep C++ simple and limited to the presentation layer.