README.md
6678477CASMI Explorer
A visual, browser-based field guide to our CASMI 2026 molecule-identification work.
The interactive machine connects fragments, mass-filtered candidate structures, four colored evidence paths, and live spectral rankings. The research atlas maps the official control and experimental branches. Select nodes to inspect them, zoom the diagram, animate the signal paths, or change the live WASM controls. Schematic molecular drawings are illustrative, not chemically valid structures.
Live: https://kcirtapfromspace.github.io/casmi26-explainer/
Run locally
The prebuilt docs/assets/scoring.wasm is included. Serve docs over HTTP:
python3 -m http.server 8080 --directory docsOpen http://localhost:8080. No npm dependencies, account, backend, API keys, competition data, or model downloads are needed. Google Fonts is optional; local fallback fonts work when it is unavailable.
Rebuild and validate
With Rust and Node installed:
rustup target add wasm32-unknown-unknownbash scripts/build.shcargo test --manifest-path engine/Cargo.toml --lockednode scripts/check-wasm.mjsThe Rust engine has no dependencies. It runs mass filtering, proton/adduct arithmetic, square-root-intensity greedy cosine, and reciprocal rank in real WebAssembly. Its continuous-mass teaching scorer follows the research kernel's greedy matching idea, but does not reproduce its binning or full scoring recipe. All interactive spectra and candidate identities are synthetic. The analog slider illustrates a global mass shift; the production analog channel also uses structural fingerprints and a more complete matching procedure.
The full FPNet models, chemical canonicalization, MetFrag-lite, and trained ranker ensemble do not run on this site. Neural and fragmentation channels are explained in prose. No teaching similarity is a calibrated probability.
Update the project story
- Verify a new result against the original research report and official record.
- Update
docs/evidence.jsonwith its date, comparison, uncertainty and verdict. - Update
docs/evidence.html, including source record hashes when available. - Update the research atlas in
docs/visuals.js(positions, summaries, and metrics) when adding experiments. Update dated summary numbers indocs/index.html; the header and narrative are intentionally editorial, not generated from a live leaderboard. - Rebuild WASM if the engine changed, run checks, and commit the changed files.
This is a curated snapshot dated September 21, 2026, not a live monitor. Local cohort scores must not be compared directly to leaderboard scores. Source-report names and SHA-256 hashes document the private research snapshot; the hashes are provenance markers, not independent proof of the reports.
Publish
GitHub Pages serves the /docs folder of main. Pushing that branch updates
the public site. The repository contains only the explainer and a curated
evidence summary. The research repository remains private; datasets, weights,
credentials and raw competition files are not included.
CI rebuilds the kernel and checks Rust behavior plus the actual WASM ABI.
Commit the rebuilt docs/assets/scoring.wasm whenever changing the Rust source,
because Pages serves the checked-in binary.
Interaction design inspired by Transformer Explainer. Original interface and code; no affiliation with or assets copied from its authors.