clarifier

Quickstart

Five minutes, ending in a working result on your own data.

1. Open the tool

Go to /. It loads directly into a real sample dataset, already mid-settle — you never start from an empty box. Watch it settle (a few seconds), then read the printed separation-gain line: it states, with two real numbers, whether the physics layout found structure a 2-axis scatter plot would have missed.

2. Paste your own CSV

Click “Paste your own CSV” and paste tabular data with a header row — or try the other two bundled samples first (a synthetic dataset with a known cluster count, and a deliberately uncorrelated one) from the sample-dataset buttons above it. clarifier infers each column's type:

  • numeric — more than 90% of non-null values parse as a float
  • categorical — few distinct values relative to row count (≤12 distinct, and distinct/rows < 0.5)
  • id-like — distinct/rows ≥ 0.9; excluded from every force, offered only as a row label

3. Check the mapping

The mapping panel shows which column drives which force — mass, charge, attraction, viscosity — with an auto-inferred default you can override from a real, labeled dropdown for every column. Nothing is canvas-drawn; every control is keyboard reachable.

4. Read the capability line

A line under the canvas states plainly which rung is running: WebGPU compute, WebGL2 with simplified physics, or the static CPU fallback. If your row count exceeds the resolved budget for that rung, it says exactly how many of how many rows are shown.

5. Read the finding, not just the picture

Below the canvas, a real HTML results panel states the cluster count, the defining columns of the largest clusters, the outlier rows, and the same separation-gain numbers as the headline claim — generated from the same computation the physics view used, readable without the canvas at all.

6. Export

The export button writes a PNG of the current frame. Its filename carries the run's seed, mapping, and step count, so the exact frame is reproducible from the same input.

The exact command to run it locally

git clone https://github.com/jamessuuu/clarifier.git
cd clarifier
pnpm install
pnpm build && node scripts/serve-out.mjs
# open http://localhost:4173