02 · Stat Explorer
Theme 02 · Modern interaction · data: · reimagines METviewer + METcalcpy
A direct-manipulation answer to METviewer’s form-driven workflow: pick a Metric, a Dimension for the x-axis, Filters, and a Facet, and three cross-filtered views (brushable line plot, sortable table, faceted small multiples) respond immediately. Aggregation is done the correct ratio-of-sums way over raw aggregables carried per row.
Structure
Section titled “Structure”apps/stat-interaction/ index.html entry src/store.js dataset + selection state src/model.js metric derivation (CNT via shared lib; CTS local by design) src/controls.js metric/dimension/filter/facet controls src/view_line.js / view_table.js / view_facets.js the three linked views data/stat_inline.mjs synthetic MET-line-type dataset (10,080 rows)Status & notes
Section titled “Status & notes”- Its row schema already carries raw aggregables (
c=[a,b,c,d],s=[fbar,obar,...]+sae) — a 1:1 match to the parser’sctcCell()/sl1l2Line()output, which is why the blueprint sequences it first for real-data wiring (queued: read the real.statParquet from R2). - The categorical path intentionally stays local: its
Math.max(1, denom)guard differs from the lib’s NaN-safety and repointing would change near-empty-cell values. - Single-file build:
dist/stat-interaction.html(~1 MB).
