docs: a zero-width trigger band is refused, not degraded to an edge
The spec claimed a window condition with equal levels degrades to an edge trigger on that level. It does not: the band test is a change of side, so equal levels make the signal "inside" only on exact float equality and the condition silently never fires. Special-casing the detector into an edge trigger would conflate two state machines that answer different questions -- the divergence the shared evaluator exists to prevent. The panel refuses the degenerate band instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
98be03e00d
commit
6770c6a648
1 file changed
+8
-2
@@ -165,8 +165,14 @@ for the same reason every readout in this app quotes a stored sample: t0 has to
|
|||||||
buffer holds, because the cut is a binary search over the time ring and the axis is pinned to
|
buffer holds, because the cut is a binary search over the time ring and the axis is pinned to
|
||||||
what the cut got.
|
what the cut got.
|
||||||
|
|
||||||
A `Window` condition with `level == level2` degrades to an edge on that level, and must — a
|
**A zero-width band is refused by the panel, not special-cased in the detector.** The band test
|
||||||
band of zero width is not a special mode.
|
is `v >= lo && v <= hi` and the event is a change of side, so with `level == level2` the signal
|
||||||
|
is "inside" only on exact float equality — which a crossing essentially never lands on, making
|
||||||
|
the condition one that silently never fires. That is a worse failure than a refusal, and it
|
||||||
|
cannot be fixed by special-casing the detector into an edge trigger: the two state machines
|
||||||
|
answer different questions and conflating them is the divergence this design exists to prevent.
|
||||||
|
So the second level spin is clamped to differ from the first by at least its own increment, the
|
||||||
|
panel says why, and `EventDetector` keeps one unconditional band test.
|
||||||
|
|
||||||
### Panel and session
|
### Panel and session
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user