Close two defeatable ReleaseProof guards and fix the static-lane skip's dead comparison

ReleaseProof{} and copy-reuse both compiled under this project's C++17;
user-provided ctor, deleted copy ctor and friend close them. The skip now
compares stored values, not norms, so it actually fires. Abort downgraded
to a debug assert.
This commit is contained in:
2026-08-02 20:20:48 -04:00
parent 056c60c8e1
commit de34fbafdb
4 changed files with 95 additions and 35 deletions
+1 -1
View File
@@ -132,7 +132,7 @@ the single authority.** Everything else that holds these values is a cache or a
Every writer above except the last two writes the model directly, so for those "authority ends"
is just "the write happened". Reload seed is not itself a model write — `reloadInstrument` never
touches `params_`; the only write in the tree is `setInstrumentParams`'s, `processor_state.cpp:192`
touches `params_`; the only write in the tree is `setInstrumentParams`'s, `processor_state.cpp:193`
— which is why its row states no authority window of its own. The automation lane is the only one
that cannot write directly: the SDK delivers it on the audio thread, where the model path
allocates (`resolvePlay` copies velocity curves and spline contours). So it patches the