20 lines
597 B
Markdown
20 lines
597 B
Markdown
# 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.
|