Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Interactive visualization: requirements

Status: requirements draft. No frontend code before a design is approved (global ui-design rule); M10a produces that design from this document, in parallel with M1 and M2; views then ship with their milestones.

1. Purpose

A browser tool in which every layer of the model can be inspected, every component toggled, and every integrator and estimator compared side by side. Two uses: (1) our own research instrument while developing M2 to M9; (2) a demonstration for Dullemond and the group, and possibly figures for talks. It is public at https://coag.mader.xyz from the first view on, so it can be checked live and shared early.

2. Views

ViewShowsControlsLive in wasm?
DiskΣ_g, T, c_s, H_p, ρ_g(r, z), λ_mfp, ν_mol vs ν_t, Re, u_g, u_n over r; marker at r₀star, disk mass, profile exponent, flaring angle, α, viscosity choice, r₀yes
Particlesa(m), St(m), regime boundaries (Epstein/Stokes), for p = 2 a(m, φ)ρ_s, grid range, resolutionyes
Relative velocitiesΔv_ij heat maps per component and total; slices; dominant-component mapeach component on/off, turbulence model, combination ruleyes
Collisionsσ_ij, C_ij, P^coag, P^bounce, P^frag maps; outcome regime mapoutcome model, v_frag, v_bounceyes
KernelK_kij slices by k (gain, loss, total, per outcome), recipe inspector for a clicked pair (i, j), ΔX^rel map, sparsityfragment model, slope, cratering, boundary policy, cancellation handlingyes (N_m ≤ 100)
Integrationm²f(m) or ρ_k vs time (animated and as a heat map), δ_M(t), RMS dN/dt, step sizes, rejected stepsintegrator, tolerances, Jacobian strategy, time rangeyes for small runs; loaded results otherwise
Samplingp_ij maps, drawn pairs per step, estimator bias/variance on a snapshot, noise floorestimator, proposal, S, hold policy, seed, replicassnapshot yes; full runs loaded
CompareTwo or more runs overlaid; difference maps; e_acc(t); work-precision diagramsselect runs from manifest listloaded results
Run browserAll experiment outputs with manifests, configs, figuresfilter by experiment, date, configloaded

3. Interaction principles

  • Every toggle maps 1:1 to a config key; the current UI state can be exported as a config.toml and imported again, so anything seen in the browser can be rerun with coag-cli.
  • Linked views: clicking a pair (i, j) in any matrix highlights the same pair in Δv, C_ij, P, kernel, and sampling views.
  • Long computations run in a Web Worker; the UI never blocks.
  • Every plot can be exported as SVG/PNG plus the data array.

4. Technical constraints

  • Stack: Leptos SPA, core crates compiled to wasm (ADR 0012); plotting library chosen per the data-visualization skill in M10a (heat maps and animated lines with 10⁴ points must stay smooth).
  • Deterministic results identical to the CLI for the same config and seed (same RNG, ADR 0009).
  • Hosting: static files on mk11 behind the shared Caddy (site file in vps-infra/mk11/caddy/sites/), deployed by GitHub Actions (hetzner-deploy); no backend. DNS for coag.mader.xyz is set up.
  • Public and English only (documented exception to the German/English default: the audience is physicists). No analytics, no cookies, all assets bundled, so the privacy policy stays minimal; shared Impressum and privacy pages for the mader.xyz family are linked from the app.

5. Acceptance

  • All toggles from M2 to M8 reachable.
  • Kernel recomputation at N_m = 100 below 1 s in the browser on the M1 Pro.
  • Screenshot review per ui-design passed (symmetric spacing, consistent typography, readable color scales in light and dark mode).