Phase 4: Add modular graph editor and transactional graph edits
This commit is contained in:
parent
2ecc03b482
commit
5c41d7f6da
27 changed files with 1023 additions and 64 deletions
|
|
@ -63,3 +63,28 @@ CFLAGS/CXXFLAGS and LDFLAGS, using the baseline warning/include/standard flags
|
|||
from BUILD.md. Keep FLTK's `-I` and `-D` flags from `fltk-config --cxxflags`,
|
||||
but exclude the distribution's GCC-specific LTO/object-code flags for Clang.
|
||||
No suppressions are used for core/backend/realtime sanitizer tests.
|
||||
|
||||
## Phase 4 graph editing coverage
|
||||
|
||||
The same `make test-gui` target now adds nodes through toolbar callbacks,
|
||||
connects the exact rendered graph, validates expected oscillator/gain samples
|
||||
in the submitted backend plan, checks cycle/direction/duplicate rejection,
|
||||
checks backend I/O/pending-capacity rollback, deletes wires and incident edges,
|
||||
and verifies stable IDs, preserved positions, prepared/queued/active feedback
|
||||
and empty-graph silence. The fake backend compiles submitted C snapshots rather
|
||||
than accepting an unrelated GUI model. Move-only actions do not submit plans.
|
||||
|
||||
`make test-gui-jack` exercises the same widget against real JACK: it builds a
|
||||
graph while stopped, starts it, adds/deletes nodes during active processing,
|
||||
waits for revision acknowledgement, and rejects cycles without changing the
|
||||
model. Start/stop/reconnect and callback-safe active close remain covered. No
|
||||
routes are created by this test. Core tests separately check known sample
|
||||
changes after deleting/reconnecting nodes and meter lookup after ID compaction.
|
||||
|
||||
A live xdotool mouse run under a 1280x800 Xvfb display created oscillator → gain
|
||||
→ meter → output by dragging ports, observed a rejected feedback cycle, moved
|
||||
a source with its wire attached, deleted a wire and node, and closed while
|
||||
running. Visual inspection confirmed actual wires and active-state feedback,
|
||||
with zero xruns reported during that smoke run. Zoom, multiselection, editable
|
||||
parameters, project save/load, realtime meter visualization and hardware routing
|
||||
controls are outside this phase. Node layout currently lasts only for a session.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue