xtc/docs/decisions/0002-c-core-fltk-gui.md

26 lines
612 B
Markdown
Raw Normal View History

2026-11-06 15:20:20 +01:00
# Decision 0002: C Core with FLTK/C++ GUI
2026-10-26 22:51:25 +01:00
**Status:** Accepted
2026-11-06 15:20:20 +01:00
---
2026-10-26 22:51:25 +01:00
## Context
2026-11-06 15:20:20 +01:00
The project prioritizes a readable, small C implementation while using FLTK for
a lightweight desktop GUI.
---
2026-10-26 22:51:25 +01:00
## 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.
2026-11-06 15:20:20 +01:00
---
2026-10-26 22:51:25 +01:00
## 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.