Chart decimation refinements: optional --width budget flag + true intra-bucket ordering for continuous x-mode #110
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two deferred refinements to the serve-time chart decimation that landed in cut 2
(#108, commit
476342d). Both are debt, not bugs — the shipped decimation is correctand bounded; these sharpen it.
1. The decimation budget is a fixed const
CHART_DECIMATE_BUCKETS = 2000incrates/aura-cli/src/main.rsis hard-coded; thereis no
--width/--max-pointsflag onaura chart. A viewport-scale default isthe right first cut (the issue #108 asked for decimation, not a knob), but a flag
would let a user trade page size for fidelity (e.g. a wide monitor, or a deliberately
coarse overview). Cheap to add: thread an
Option<usize>fromparse_chart_argsinto
emit_chart'sdecimate(data, …)calls.2. Intra-bucket min/max ordering in continuous x-mode
decimateplaces each bucket's min atxs[lo]and max atxs[hi-1](the bucket's boundary timestamps), irrespective of where the true min/max occurred
inside the bucket. This is sub-pixel and visually harmless in the ordinal
(gap-collapsed) x-mode, which is the default. In the continuous (real-time)
x-mode (
chart-viewer.jsxModetoggle), it is a real — though still ≤1-bucket-wide— timestamp displacement of the extremes. A faithful version would order the two
emitted points by the actual index at which the min/max occurred. No test pins the
continuous-mode case today (the
decimate_*unit tests assert value preservation,not x-placement).
context: surfaced by the cycle-0062 architect drift review (visual-world-cut-2).
depends on: nothing — both are local refinements to
decimate/parse_chart_argsin
aura-cli.Closed as ratified drop (owner decision, 2026-07-21, idea-cull round): proposes new CLI flags — the direction #300 retired (flags converge into document vocabulary). A width/point budget, if ever needed, would enter as document/projection vocabulary, not argv.