The web→MATLAB roundtrip fixtures in maDisplayTools/patterns/web_generated/ (+ web_generated_manifest.json) predate the per-frame CRC-16/CCITT-FALSE trailer added to the encoder (webDisplayTools commit 9eaae5d). On-disk sizes match the 2026-02-18 manifest (e.g. gs16 2x10 = 81298) but are 40 bytes short (20 frames × 2) of what the current encoder emits (81338). So the fixtures don't exercise the current file format.
They're still self-consistent (files match manifest), so validate_web_roundtrip.m passes as-is — this is hygiene, not a live bug.
Task
- Re-run
node tests/generate-roundtrip-patterns.js --outdir ../maDisplayTools/patterns/web_generated
- Update
web_generated_manifest.json (file sizes change)
- Re-run MATLAB
maDisplayTools/tests/validate_web_roundtrip.m to confirm the round-trip still decodes with the CRC trailer present
- Optional: the generator hardcodes
stretchValues: new Array(tp.numFrames).fill(1) (tests/generate-roundtrip-patterns.js:355). Duty is immaterial to a roundtrip check, but could bump to 0x80 for realism.
Note: these are deterministic test vectors, not user-facing examples; the current duty=1 is harmless.
The web→MATLAB roundtrip fixtures in
maDisplayTools/patterns/web_generated/(+web_generated_manifest.json) predate the per-frame CRC-16/CCITT-FALSE trailer added to the encoder (webDisplayToolscommit 9eaae5d). On-disk sizes match the 2026-02-18 manifest (e.g. gs16 2x10 = 81298) but are 40 bytes short (20 frames × 2) of what the current encoder emits (81338). So the fixtures don't exercise the current file format.They're still self-consistent (files match manifest), so
validate_web_roundtrip.mpasses as-is — this is hygiene, not a live bug.Task
node tests/generate-roundtrip-patterns.js --outdir ../maDisplayTools/patterns/web_generatedweb_generated_manifest.json(file sizes change)maDisplayTools/tests/validate_web_roundtrip.mto confirm the round-trip still decodes with the CRC trailer presentstretchValues: new Array(tp.numFrames).fill(1)(tests/generate-roundtrip-patterns.js:355). Duty is immaterial to a roundtrip check, but could bump to0x80for realism.Note: these are deterministic test vectors, not user-facing examples; the current duty=1 is harmless.