A fixed-fixture instrument for inspecting one bucket-parallel decimation decision at a time: the raw candidates, previous/next anchors, triangle-area ranking, retained winner, and winner/runner-up margin.
node --test tests/*.test.mjs
python3 -m http.server 4174 --bind 127.0.0.1Open http://127.0.0.1:4174/. There are no runtime dependencies or build step.
The load-bearing mechanism is parallelLttbReference() in src/decimation.mjs. It partitions the fixed 288-point fixture into 12 interior buckets, uses the previous/next bucket averages as anchors, scores every candidate by triangle area, and retains the largest-area candidate. The first and last raw points are fixed endpoints.
The UI exposes that decision rather than hiding it: select a bucket, inspect its ranked candidates, then select any point to see why it won or lost.
This CPU reference is informed by ChartGPU's public parallel-LTTB implementation at pinned commit edc154d0537d6819894c9afc16e94c63329d5a38: https://github.com/ChartGPU/ChartGPU
The claim is deliberately narrow:
- CPU reference only; no WebGPU execution or GPU parity claim.
- No performance benchmark.
- No claim of canonical/sequential LTTB equivalence.
- Only the ordinary full-scan path is modeled; an interior bucket above 512 raw points throws instead of approximating.
- The included fixture is deterministic: 288 raw points → 14 retained survivors.
MIT. See LICENSE. Source attribution and the pinned ChartGPU notice are documented in PROVENANCE.md and THIRD_PARTY_NOTICES.md.