Skip to content

Browser

The web app is laterite's fourth surface: the whole engine compiled to WebAssembly and run client-side. Drag an AGS4 file in and validate, repair, explore, and convert it — with a guarantee no server-side tool can make:

Runs entirely in your browser — your file never leaves your machine. No server, nothing uploaded.

That makes it safe for confidential ground-investigation data: nothing is transmitted, so there's nothing to leak.

It is also a showcase, not a product. Everything below runs on @laterite/ags4-wasm, the same package you can install — so the app doubles as a worked example of integrating it. The practices it uses, and why, are in Browser API (wasm).

The panes

Pane What it does
Validate run the numbered-rules engine; findings grouped by rule, with the edition and severity tiers
Fix apply the automatic repairs and preview the before/after diff
Explore browse groups as typed tables, follow the KEY chain, chart values, run SQL across groups
Tools conversions (AGS4 ↔ Excel), merge, transport, the rule catalogue, the anonymiser
Export produce byte-faithful AGS4 (or Excel) back out

What each pane gives you

Validate — findings arrive grouped by rule, with the resolved dictionary edition and the severity tiers. The same file carries straight into Fix or Explore without reloading. A clean file offers its .ags.idx certificate as a download; because the cert format is shared, a file certified here opens on the fast path in Python, Node or DuckDB.

Fix — computes the available repairs, shows a before/after diff so you can review each one, and hands back the repaired file. The same safe-fix engine every other surface runs.

Explore — every group as the same born-typed table: sortable columns, numeric filters that compare as numbers, and charts over the numeric columns. Follow the KEY chain to parent and child groups, or pick a LOCA and see its samples and tests fan out together — one borehole's record set without writing a query. There is also a SQL box: DuckDB-wasm fed by the wasm reader's Arrow output, so the same SAMP s JOIN LOCA l USING (LOCA_ID) you would write anywhere else runs over the file you dropped in.

Tools — the rule catalogue (all 27 numbered rules with titles, severities and fixable flags; a finding links back to its explainer), Merge (keep the loaded file as the base, drop in the incoming delivery, get the per-row revision audit and choose how to settle a type clash), the transport lock/unlock round-trip (byte-compatible with transport.unlock elsewhere), Excel conversion, and the anonymiser.

Export — assemble or paste per-group data and get a byte-faithful AGS4 file back. Direct wasm callers get synthesise_metadata on build_ags4 / build_ags4_ipc to derive the UNIT/TYPE catalogs, plus the five tran_* arguments to stamp a TRAN — the browser twin of the Python and Node flags.

Same engine, in the browser

The wasm build is the same validator as the Python wheel, the Node addon, and the DuckDB extension — the cross-surface compliance harness asserts the browser's findings are byte-identical to the others. The only difference is where it runs: on your machine, in the tab, with no install.

When to reach for it

Use the browser app for ad-hoc, interactive work — a quick check of a delivery, a repair, a look at what's inside a file. Reach for Python, Node, or DuckDB when you want to automate it in a pipeline, and the wasm package when you want this engine inside your own browser app.