Release · v3.1.2
Round-2 verify fixes for the EDCR explainer
fix(v3): round-2 verify fixes for the EDCR explainer
Details
Fidelity panel voted SHIP; design panel caught one real bug plus nits,
all resolved:
- Card rects are rebuilt every animation frame, but hover was compared
by object identity — so the hover ring/un-dim never rendered and the
touch second-tap flip could never fire. v3exSetCardRects() now re-links
the hover reference to the fresh rect by (sample id, split) on every
layout. Verified end-to-end with a synthetic pointer event: ring,
panel, truth line and firing trace all render.
- Recover caption handles the zero-rules case after heavy corruption
(points at "Reset data") and pluralises the contradiction note.
- Canvas aria-label no longer overclaims ("recovered class hierarchy" →
"recovered hierarchy constraints"), matching the round-1 fallback fix.
- The exclusion dedup key used a raw NUL byte, which made git/grep treat
edcr-core.ts as binary — now a plain pipe.
22/22 core tests pass; hover verified by screenshot.
Files changed (3)
| frontend/client/ts/effects/edcr-core.ts | +1 | −1 |
| frontend/client/ts/effects/neurosymbolic-explainer.ts | +19 | −4 |
| frontend/jekyll/_includes/v3/explainer.html | +1 | −1 |