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