Answered questions. Each finding is one experiment the lab ran end-to-end: a question, the method (which substrate + observables + sweep), the data it produced, a conclusion, and a confidence. The first findings are validations — questions with known answers, run to calibrate trust in the machinery before pointing it at open ones (docs/ROADMAP.md #8). Newest first.
Reproduce any of these from the URL in its method; the numbers below were measured in-app.
2026-06-28 — What bends Mercury's orbit the way Newton can't? (general relativity · Schwarzschild)
Method:?world=schwarzschild. The lab's first general-relativity world, and the GR thread the precession
sweep (?world=precession) flagged. Newton's inverse-square law makes every bound orbit a *closed* ellipse; GR does not. The Schwarzschild metric reduces, in the orbital plane, to Newton's orbit equation plus a single relativistic term — u″+u = GM/h² + (3GM/c²)u² with u=1/r — equivalently a central force a = −[GM/r² + 3GM·h²/(c²r⁴)] (h = specific angular momentum, conserved). The lab integrates it with a symplectic leapfrog and measures the per-orbit perihelion advance Δϖ (tracking apsides via radial-velocity sign flips), validating three ways: (1) a relativistic-strength sweep against the weak-field law Δϖ=6πGM/(c²a(1−e²)); (2) a Newtonian null control (drop the relativistic term → the ellipse should close); (3) the real-units Mercury extrapolation. Live, c is exaggerated so the rosette is visible; a faint static ellipse shows the Newtonian orbit the planet would otherwise have followed.
Data: the Newtonian null closes — Δϖ≈1×10⁻⁵ rad per orbit (the leapfrog's residual, not precession). Turn
the term on and the perihelion advances: across the strength sweep the measured Δϖ tracks the weak-field law with ratio measured/theory = 1.02 at the weakest field, climbing to 1.17 as the field strengthens (5.1°→8.4°→ 14.0°→23.2°→40.4° per orbit vs theory 5.0°→8.1°→13.2°→21.1°→34.5°) — the excess is the genuine higher-order term, not integrator error (energy drift ~1×10⁻¹³). Fed Mercury's real numbers (a=5.79×10¹⁰ m, e=0.2056, T=0.2408 yr, G, M☉, c) the same formula gives 42.99″/century against the observed ~43″.
Conclusion:The orbit precesses, exactly as Einstein predicted — and Newton cannot. One term from the
Schwarzschild metric turns the closed Kepler ellipse into an advancing rosette; remove it and the ellipse closes again (the null control). The weak-field law 6πGM/(c²a(1−e²)) is recovered to a few percent where it should hold, with the residual growing in the right direction as the field strengthens, and the real-units extrapolation lands on the 43″/century anomaly that confirmed General Relativity in 1915.
Confidence: High for the physics, calibrated about scope. The three checks (Newtonian null, weak-field-law
sweep, real-units Mercury) were reproduced headlessly before building. Honest caveats: this is the orbit equation *derived from* the Schwarzschild metric, not a full numerical-relativity metric solve; the live demo exaggerates the relativistic strength so the rosette is visible to the eye (real Mercury advances ~0.1″ per orbit) — the Mercury number comes from the real-units weak-field formula, not the toy orbit. Open: light bending / Shapiro delay (the metric's null geodesics), and the ISCO at r=6GM/c² where stable circular orbits end.
2026-06-28 — Store memories in a neural network's weights — how many can it hold before it remembers nothing? (Hopfield)
Method:?world=hopfield. A Hopfield network (Hopfield 1982) — a new domain for the lab, attractor neural
networks / associative memory. N=400 neurons take states s=±1; P patterns ξ^μ are stored in symmetric Hebbian weights W_ij=(1/N)Σ_μ ξ_i^μ ξ_j^μ (W_ii=0). The asynchronous update s_i=sign(Σ_j W_ij s_j) can only LOWER the energy E=-½Σ_ij W_ij s_i s_j, so the dynamics flow downhill to a fixed point — and the stored patterns are engineered to BE those minima. The lab sweeps the load α=P/N with random patterns, presents each stored pattern, settles asynchronously, and reads the recall overlap m(α). Live, it stores five near-orthogonal glyphs and continually recalls one from a 30%-corrupted cue (pattern completion).
Data: the measured recall sits at a flat plateau m≈0.99 for α≲0.13 (m=1.00 at α=0.04, 0.997 at 0.10, 0.99 at
0.13) then falls off a cliff right at the critical load — 0.94 at α=0.15, 0.60 at 0.20, 0.39 at 0.25 — the curve dropping through the marked theory line α_c≈0.138 (Amit–Gutfreund–Sompolinsky 1985). The transition sharpens with N (a cleaner cliff at N=900 than N=400), as a finite-size phase transition should. Live, a heavily corrupted cue (overlap m≈0.41) flows downhill — neurons flipping to lower the energy — and snaps onto the clean stored memory (m=1.000) while E/N falls (≈-0.08 → -0.51); the five curated glyphs recall perfectly.
Conclusion:There is a hard ceiling, and it's a sharp phase transition. Below α_c the network is a
near-perfect *content-addressable* memory — a partial or noisy cue flows back to the complete stored pattern with no address and no search, the memory IS the dynamics. But cross α_c≈0.138 and the stored memories interfere catastrophically: the network shatters into useless spin-glass states and recall collapses. So a 400-neuron net holds ~55 memories — pack in one too many and it forgets them all. The capacity is set by the chemistry of the interference (∝N), not by the particular patterns. A foundational result of attractor neural networks and statistical-mechanics-of-learning.
Confidence: High — two independent Node de-risks reproduced the result before building: the m(α) plateau-then-
cliff at α_c≈0.138 (sharpening from N=400 to N=900), and perfect recall (m=1.000) of the five curated glyphs from 35%-corrupted cues. The live recall (m: 0.41→1.000 with energy falling) and the capacity cliff were both verified in-app. Honest caveats: (1) α_c≈0.138 is precisely where *retrieval states vanish* into spin glass; our "present the exact stored pattern, settle, measure overlap" probe is a static-stability test whose finite-N knee sits a touch ABOVE 0.138 and sharpens toward it as N grows — so the chart marks the theory value, not a fitted one. (2) The live glyphs had to be chosen for low cross-correlation (naive iconic shapes like a disk vs a frame are ≈−0.80 anti-correlated and recall to mixtures); balanced near-orthogonal patterns recall cleanly. Open: the spurious mixture states, dilution/asymmetric weights, and a finite-temperature update to draw the full m–α–T retrieval phase diagram.
2026-06-28 — Among purely selfish agents, can cooperation survive? (the spatial prisoner's dilemma)
Method:?world=cooperation. The spatial prisoner's dilemma (Nowak & May, 1992) — a new domain for the lab,
the evolution of cooperation. The prisoner's dilemma is the canonical social trap: each agent does better by DEFECTING whatever the other does, yet mutual cooperation beats mutual defection. On an L×L toroidal grid, each cell is a Cooperator or Defector that plays the dilemma with its 8 Moore neighbours and itself (payoffs C–C=1, C–D=0, D–C=b, D–D=0, with the temptation 1<b<2), sums the payoff, then copies the strategy of the highest-scoring cell in its neighbourhood (synchronous, deterministic). The lab sweeps the temptation b and measures the equilibrium cooperator fraction f_C, and runs the chaotic regime live, coloured by the four strategy transitions.
Data: the measured f_C(b) starts near 1 and stays high through b≈1.7 (0.99, 0.90, 0.87, 0.90), drops at
b=1.8 (≈0.41), then plateaus at f_C ≈ 0.31 across the chaotic window b≈1.85–1.95, and finally collapses to 0 at b=2. The chaotic-regime plateau is robust across seeds on a large lattice (L≥100) and matches the famous Nowak–May value ≈0.318. Live, ~25% of the grid is actively flipping strategy each generation — the churning frontier of the "evolutionary kaleidoscope" — while stable cooperator and defector clusters persist.
Conclusion:Cooperation survives — rescued by spatial structure. In a well-mixed population the dilemma's
logic is fatal: a defector always out-earns the cooperators it exploits, so cooperation goes extinct (f_C→0). But on a lattice, cooperators huddle into clusters whose interiors play mostly against fellow cooperators and so prosper and resist invasion, keeping f_C well above zero for the whole 1<b<2 range. No memory, kinship, repeated -game reputation, or foresight is required — *space alone* lets cooperation persist where rational selfishness says it must die. This is one of the foundational results of evolutionary game theory.
Confidence: High — an adversarial review independently reimplemented the rule and reproduced every value
(the f_C(b) curve, the ≈0.31 plateau, the exact b=2 collapse), confirming it's the genuine Nowak–May setup. Honest caveats, surfaced on-screen: (1) the survival is itself a finite-size effect — robust at L≥100 (the live grid), but on smaller lattices cooperation can stochastically collapse to zero in the chaotic window (caught during validation when L=64 gave a spurious f_C≈0). (2) The measured 0.31 converges to the literature 0.318 at larger lattice / longer averaging. (3) The deterministic synchronous rule is known to be sensitive to its exact details — the self-game is load-bearing (removing it kills cooperation for b≥1.7), and the plateau is constant within the payoff-ordering regime rather than smoothly b-dependent. Open: the single-defector symmetric start (the Persian-carpet kaleidoscope), asynchronous updating with a P>0 payoff, and pair-approximation theory.
2026-06-28 — What does an arbitrary pulse become under KdV — is its fate written at t=0? (soliton trains)
Method:?world=kdvtrain. The open thread the KdV finding left: a single soliton keeps its shape, but what
happens to a *generic* pulse? Inverse scattering (Gardner–Greene–Kruskal–Miura, 1967) says a localized pulse does not disperse into noise — it sorts itself into a rank-ordered train of solitons whose number and heights are fixed at t=0, exactly as the bound-state spectrum of the Schrödinger operator −ψ_xx + u·ψ with the pulse as its potential. The lab uses the cleanest case, a reflectionless pulse u(x,0)=N(N+1)λ²·sech²(λx) (which produces exactly N solitons and zero dispersive tail), with N=3, λ=0.4. Same Zabusky–Kruskal leapfrog as the parent world, on a finer grid (N_grid=1024, dt=2e-5, because the tallest soliton is narrow). At init it integrates to t=4.5 — the humps separate, before any laps the periodic box — then finds the peaks and compares heights to the inverse-scattering prediction a_n=2(nλ)² and their spatial order.
Data: the single bump of height 1.92 splits into **exactly three solitons of measured heights 2.88 / 1.28 /
0.32, versus the predicted 2.88 / 1.28 / 0.32 — a clean 9 : 4 : 1 (the squares 3² : 2² : 1²), every height within 0.3%. Rank order confirmed: the tallest leads** (x=64.0 > 49.9 > 40.3, all measured from the centre at x=40), since taller = faster (c=2a, the speed law from the previous finding). ∫u conserved to ~1e-14, ∫u² to ~1e-9; the in-app live readout and init measurement agree.
Conclusion: An arbitrary pulse already "contains" its solitons. The number and heights are determined the
instant the pulse is set down — the nonlinear evolution merely unpacks the spectrum — which is the deepest consequence of KdV's integrability and the same structure that lets two solitons pass through each other intact (previous finding). It is also the direct mechanism behind the FPUT recurrence that opened this whole thread.
Confidence: High. De-risked in Node before building across N=2,3 and λ=0.4,0.5 (amplitudes matched 2(nλ)² to
<0.3% for the well-resolved cases; conservation at machine precision), then verified in-browser at ?world=kdvtrain (no console errors, panel + chart render, 1024-bar wave + ghost strips present, measured spectrum 2.88/1.28/0.32 with "tallest leads"). Honest scope: as in the parent world, conservation of ∫u/∫u² is by construction and only licenses "the integrator is faithful" — the soliton-content claim rests on the measured height spectrum matching 2(nλ)². Resolution is the binding constraint: the tallest soliton has width 1/(Nλ), so larger N or λ under-resolves it (N=3,λ=0.5 gave 4.46 vs 4.50 for the tallest, ~1%); λ=0.4 keeps every height inside 0.3%. Open: a non-reflectionless pulse (detect the leftover dispersive ripple), and growing the pulse area to watch solitons appear one at a time as new bound states cross threshold.
2026-06-28 — Can a wave keep its shape forever and pass through another wave unchanged? (KdV solitons)
Method:?world=kdv. The continuum sequel to the FPUT recurrence. The Korteweg–de Vries equation
u_t + 6u·u_x + u_xxx = 0 pulls a wave two ways: the nonlinear term 6u·u_x steepens it (tall parts outrun short parts, trying to break it), while the dispersive term u_xxx spreads it out. The lab integrates KdV with the original Zabusky–Kruskal conservative leapfrog (periodic box, N=512) and measures two things. First the speed law: launch single solitons u=(c/2)sech²[(√c/2)(x−ct)] of several amplitudes a and track each peak to recover c(a). Second, a collision: send a tall soliton into a short one and see what survives. The KdV invariants ∫u and ∫u² are monitored throughout.
Data: the measured speed is c = 2a to three digits — a=0.5→c=1.00, 1.0→2.00, 1.5→3.00, 2.0→4.00,
2.5→4.99 — so a taller soliton runs faster. In the collision, the tall (a=2.0) soliton catches the short (a=0.9) one, they merge into a single lump and then re-emerge with amplitudes 2.00 and 0.90 restored (displaced only by a phase shift). ∫u and ∫u² are conserved to ~1e-15 and ~1e-8 over many laps.
Conclusion: When nonlinear steepening exactly balances dispersion you get a soliton — a localized wave
that travels forever without spreading. Its two defining properties both appear: speed proportional to amplitude (c=2a), and pass-through — two solitons collide in a fully nonlinear interaction yet emerge with their exact original shapes and speeds, the only trace a phase shift. That shape-restoring collision is the hallmark of an integrable system. This is precisely what Zabusky & Kruskal found in 1965 explaining the FPUT recurrence (and coined the word "soliton"): the near-integrability that stops FPUT from thermalising is the same structure that lets these waves survive collisions intact.
Confidence: High. An adversarial review independently verified the discretization (both stencils 2nd-order;
the exact 1-soliton substituted into KdV gives a ~1e-15 residual), the speed law c=2a, the collision restoration (2.000/0.900) with a real measured +1.6 phase shift, the stability margin (CFL ~0.22, well inside the leapfrog bound), and a 20-lap run with no instability. Honest scope: the conservation of ∫u/∫u² is conserved by construction by the ZK scheme — it confirms the *integrator* is faithful (not leaking), not that the field is a soliton; the soliton conclusion rests on the measured speed law and the intact pass-through. The c=2a values sit a hair below theory (O(Δx²) truncation), and the simulation starts from a sum of two solitons (not the exact two-soliton solution), which only injects a tiny radiation transient. Open: measure the collision phase shift explicitly, and watch a single tall pulse decompose into a rank-ordered train of solitons (inverse scattering).
2026-06-28 — Make a chain of springs slightly nonlinear, put all the energy in one mode — does it thermalise? (the FPUT recurrence)
Method:?world=fput. The nonlinear sequel to the phonons linear chain. The **Fermi–Pasta–Ulam–Tsingou
α-model: N=32 masses with fixed ends, ẍ_j = (x_{j+1}+x_{j−1}−2x_j) + α[(x_{j+1}−x_j)²−(x_j−x_{j−1})²], α=0.25. Integrated with energy-conserving velocity Verlet (dt=0.05), starting all the energy in mode 1. Each step the configuration is projected onto the normal modes Q_k = √(2/N)·Σ x_j sin(jkπ/N), ω_k = 2 sin(kπ/2N), and the per-mode energy fractions E_k(t)/E_tot tracked over ~two recurrence periods. The naive expectation (and the reason FPUT ran it) is equipartition** — energy spreading equally over all N−1 modes, the thermal-equilibrium assumption of statistical mechanics.
Data: No equipartition. Mode 1 drains into a handful of low modes — down to ~6% of the total by t≈4000,
looking bound for thermal death — and then reverses, with ~98% of the energy returning to mode 1 at t≈9400 (≈146–147 fundamental periods, T₁=64.0); the chain very nearly retraces its initial state, and the cycle repeats (a slightly weaker super-recurrence near t≈18800). The energy never reaches the equipartition line E_tot/(N−1). Energy is conserved to 3.6×10⁻⁵ (relative) over the whole run — so the recurrence is real physics, not integrator drift. The in-app init-time measurement reproduces the independent Node de-risk exactly.
Conclusion: A nonlinear system that refuses to thermalise — the 1955 FPUT surprise. Adding weak
nonlinearity to a linear chain was expected to couple the modes and drive equipartition; instead the energy sloshes reversibly among a few low modes and recurs. This launched modern nonlinear dynamics: it was explained by Zabusky & Kruskal (1965) via the KdV solitons the low-mode initial condition excites (solitons pass through one another and re-cohere), and it sits inside the KAM picture of near-integrable systems resisting ergodicity. The bedrock assumption of statistical mechanics — that interactions thermalise an isolated system — simply failed for this chain at this energy.
Confidence: High for the qualitative result (non-thermalisation + recurrence), which is robust and textbook.
The energy-drift check (3.6e-5) is what licenses the claim, since a slow numerical leak could be mistaken for a recurrence. The recurrence period (~146 T₁) and return fraction (~98%) are amplitude- and α-dependent, so they are measured off the run rather than asserted against a single textbook number. Honest limits: this is one energy/α; crank either past the stochasticity threshold and the recurrence breaks down and equipartition finally sets in (the chaos/KAM boundary) — an open follow-up, along with the β-model and the explicit soliton picture.
2026-06-28 — Can a 2-D system have a phase transition with no order parameter to switch on? (the XY model / Kosterlitz–Thouless)
Method:?world=xy. The continuous-spin companion to the Ising magnet: each lattice site holds a planar
spin — an angle θ — and neighbours align, E = −J Σ cos(θ_i−θ_j). Evolved by Metropolis Monte-Carlo. Across a temperature sweep (L=24, aligned start, anneal up) the lab measures two textbook signatures: the helicity modulus ϒ(T) (the spin stiffness / superfluid density), ϒ = (1/N)⟨Σcos Δ⟩ − (1/NT)⟨(Σsin Δ)²⟩ over x-bonds; and the vortex density ρ_v(T) (fraction of plaquettes where the angle winds by ±2π). The Nelson–Kosterlitz criterion says ϒ jumps to zero across the universal line ϒ = (2/π)T — the crossing locates T_KT.
Data (seed 7): ϒ(T) falls from 0.887 at T=0.4 (matching the spin-wave prediction 1−T/4 = 0.90) and
crosses 2T/π at T_KT ≈ 0.95, then collapses to noise (negative — no stiffness) above it. The vortex density is ≈0 below T≈0.7 (vortices bound in tight ± pairs), then rises sharply through the transition (0.003 → 0.08). Live, a lattice heated to T=1.09 carries 34 free vortices, exactly balanced (17 +, 17 −) — net winding zero, as periodic boundaries require.
Conclusion: A topological phase transition — driven by vortex unbinding, not symmetry breaking. Unlike
the Ising magnet (which sharply switches on a magnetisation at Tc), the 2-D XY model has no true long-range order at any T>0 (Mermin–Wagner: the continuous symmetry can't be spontaneously broken in 2-D). The order is instead quasi-long-range (correlations decay as a power law) below T_KT, and it is destroyed not by thermal disordering of a magnetisation but by vortices unbinding from bound pairs into a free plasma. There is no local order parameter — the transition is visible only in the stiffness (ϒ) and the topological defects. This is the mechanism behind superfluid-film and thin-superconductor transitions, where the universal ϒ-jump was measured.
Confidence: High for the mechanism, with the finite-size caveat stated plainly. An adversarial review
independently reproduced every number and verified the Monte-Carlo (acceptance 43–72%), the helicity estimator (ϒ→1 as T→0 with the correct spin-wave slope), the plaquette vortex counting (± always balanced), and the Mermin–Wagner/topological framing. The measured T_KT ≈ 0.95 sits above the ∞-limit 0.893: the bare ϒ=2T/π crossing is biased high, and — as the review's own size-sweep confirmed — it stays ≈0.92–0.95 as L grows; the gap closes only under finite-size scaling with the Weber–Minnhagen logarithmic corrections, not by a bigger lattice. ϒ goes negative above T_KT (the fluctuation term overwhelming the stiffness — genuine "no stiffness" noise; the chart clamps it to ≥0). Open: the log-corrected finite-size scaling to pin T_KT → 0.893, and the temperature-dependent correlation exponent η(T) = T/2π below the transition.
2026-06-28 — Can a two-line rule produce order out of chaos, and prove it? (Langton's ant)
Method:?world=ant. Langton's ant is a 2-state, 2-symbol Turing machine on a square grid: on a white
cell turn right 90°, flip the cell black, step forward; on a black cell turn left 90°, flip it white, step. That is the whole program (Chris Langton, 1986). Run on a blank grid, the lab measures off a deterministic 12,000-step, boundary-free run (a sparse map, so no wall can taint the result): it discovers the period of the eventual cycle (scanning P=2…200 for a constant per-cycle displacement that holds unbroken to the end, rather than asserting the known 104), the drift vector, and the onset step where that constant-drift recurrence first locks in. A displacement-from-origin vs step chart shows the transition.
Data: The one rule runs through three regimes: SIMPLE (~first 500 steps, small symmetric doodles) →
CHAOS (~500–10,000 steps, an apparently random black blob hugging the origin) → an emergent HIGHWAY. The measured cycle is period 104, drift (−2,−2) cells per cycle, so the ant escapes to infinity at constant speed √8 / 104 ≈ 0.0272 cell·step⁻¹. The onset locks in at step 9,976 (defined as one past the last 104-window that breaks the constant drift — matching the canonical ~9,977). The |pos|-vs-step curve is bounded wandering, then a straight-line escape — a clear elbow at the onset.
Conclusion:Order emerges, unforced, out of pseudo-randomness — the deterministic core of the
computation/complexity story alongside Conway's Life and the Wolfram CAs. Two hard results frame it: Cohen–Kong (1988) proved the ant's trajectory is always unbounded for any finite starting pattern (so the highway, or some escape, is inevitable — not luck), and with richer initial tapes the ant is Turing-complete (Gajardo–Moreira–Goles 2002): universal computation in two lines.
Confidence: High, with honest caveats. The period (104) and drift ((−2,−2)) are exact integers read
directly off the trajectory, cross-checked against an independent Node run; the onset step is criterion- dependent (defined as one past the last window that breaks the constant drift, = 9,976, ≈ the canonical 9,977). Unboundedness is cited as a theorem — no finite run could establish it — and Turing-completeness is cited, not demonstrated here. The live view loops once the highway carries the ant clear of the frame.
2026-06-28 — How complex can the simplest possible computation get? (elementary cellular automata)
Method:?world=eca. An elementary cellular automaton is a 1-D row of black/white cells updated in
lockstep by a rule that reads only each cell and its two neighbours: 2³=8 possible neighbourhoods, so the rule is 8 bits — one of just 256 (Wolfram). Stack the successive rows into a 2-D spacetime picture. Three rules are run from a single centred seed and measured on wide, boundary-free grids: rule 90's fractal dimension by mass-scaling (cumulative live cells M(L) in the first L rows, with D the log-log slope of M vs L); rule 30's centre-column density and length-8 per-bit block-entropy; rule 110 is shown (not measured).
Data:Rule 90 paints the Sierpiński triangle: the live-cell count in the first 2^k rows is exactly
3^k (each new bit of the row index multiplies it by 3), so M ∝ L^D with D = log₂3 ≈ 1.585 — recovered to the digit (it is an exact identity, not a noisy fit; box-counting on the same finite triangle is biased to ~1.44). Rule 30's centre column: density 0.479 (coin → ½) and per-bit block-entropy 0.975 (coin → 1.0; a true fair coin gives 0.976 at the same sample size, so this is statistically indistinguishable from random). Rule 110 shows gliders drifting on a textured background.
Conclusion: The whole Wolfram zoo emerges from 8 bits and a single seed — no randomness, no design.
Rule 90 is nested/fractal (class 2), rule 30 is chaotic (class 3, manufacturing apparent randomness from pure determinism — Wolfram used its centre column as a random-number generator), rule 110 is complex (class 4) and provably Turing-complete (Cook 2004): a universal computer hiding in one byte. Determinism alone yields order, fractals, chaos, and computation — the deep lesson that simplicity of rule says nothing about simplicity of behaviour (Wolfram's computational irreducibility).
Confidence: High, with honest caveats. The rule update and the rule-90 mass identity were verified by an
adversarial review (M(2^k)=3^k exactly; bit-ordering correct), and the rule-30 grid is provably boundary-free (the wall cannot influence the centre column before t=2·half-width ≫ the sampled rows). Two honesty points, both disclosed on-screen: rule 90's D is an exact identity for this rule, not an empirical recovery (the chart says "M(2^k)=3^k exact"); and rule 30's randomness is empirical/conjectural (no proof exists), the 0.975 entropy reflecting finite-sample undercounting, not a real deficit. Rule 110's universality is cited (Cook), not re-proven here. Open: classify all 256 rules by an order parameter (asymptotic density / Langton's λ) to draw the four-class spectrum; stage a rule-110 glider collision to glimpse the computation directly.
2026-06-28 — Can three simple deterministic equations be unpredictable? (the Lorenz butterfly)
Method:?world=lorenz. Integrate the Lorenz 1963 system — ẋ=σ(y−x), ẏ=x(ρ−z)−y, ż=xy−βz with the
classic σ=10, ρ=28, β=8/3 — using classical RK4 at dt=0.01, the canonical strange attractor and the lab's first genuinely 3-D chaotic flow (the double pendulum, three-body, and Hénon–Heiles worlds are all planar). The largest Lyapunov exponent λ is measured with the same Benettin instrument as the three-body world: a near-identical twin started δ₀=1e-9 away, its 3-D phase-space separation renormalised every 0.5 s, with λ=⟨ln(d/δ₀)⟩/T. λ>0 is the quantitative signature of deterministic chaos. Live, a long thin-instanced trail paints the butterfly, split by lobe (sign of x) into two colours so the chaotic lobe-switching is visible.
Data: λ → 0.89–0.91 (textbook 0.9056), converging from below as the average lengthens (T≈1200 sim-s
→ λ=0.89). A standalone RK4 derisk (200k steps, 2000 sim-s) recovered λ=0.9059, matching theory to <0.05%. The trajectory hops between the two lobes hundreds of times in an unpredictable order. The flow is dissipative: its divergence ∇·f = −(σ+1+β) = −13.667 exactly and constant, so phase volume contracts uniformly.
Conclusion: Yes — this is chaos. Three smooth, deterministic equations with no noise produce a trajectory
that never repeats and is exponentially sensitive to its initial state (λ≈0.91 > 0): a 1e-9 difference grows e-fold every ~1.1 s, so any finite-precision prediction of which lobe comes next eventually fails — Lorenz's "butterfly effect." The constant negative divergence is why a strange attractor exists at all: the flow squeezes all of phase space onto a set of zero volume (a fractal of dimension ≈2.06) while stretching within it, the stretch-and-fold that both makes the butterfly and drives the exponential divergence.
Confidence: High. The largest Lyapunov exponent is one of the most-quoted numbers in nonlinear dynamics
(λ≈0.9056) and both the standalone derisk (0.9059) and the in-app Benettin estimate (→0.89–0.91) recover it; the in-app value sits ~1–2% low purely because the live average is still lengthening (Benettin converges slowly, as the running λ visibly climbs). The divergence −13.667 is exact by inspection. Open: make ρ a knob to trace λ(ρ) across the subcritical Hopf bifurcation where the attractor is born (ρ≈24.74), and measure the fractal dimension.
2026-06-28 — If a walk can't cross itself, how much does a polymer swell? (the Flory exponent ν)
Method:?world=saw. The sibling of Pólya recurrence: forbid a random walk from ever revisiting a site —
the simplest model of a polymer chain that cannot pass through itself — and measure how its end-to-end size scales, ⟨R²⟩ ∝ N^(2ν). Done for the self-avoiding walk (SAW) on Z² (theory ν=¾, *exact*), SAW on Z³ (ν≈0.588), and the ordinary random walk on Z² as a control (ν=½). The subtlety is the sampling: growing a walk step-by-step and killing it when it traps ("kinetic growth") does *not* sample SAWs uniformly and biases ν low, so each walk is weighted by its Rosenbluth factor W=∏(m_k/z) (m_k = free neighbours at step k); the weighted ⟨R²⟩=ΣW·R²/ΣW recovers the true equilibrium ensemble. ν is the log-log slope of ⟨R²⟩ vs N over N∈[10,60] (~13k walks per series, at init). Three live walkers also paint self-avoiding paths until they trap themselves.
Data (seed 7): the three series separate cleanly by slope. SAW 2-D ν=0.731 (theory 0.750), **SAW 3-D
ν=0.599 (theory 0.588), RW 2-D ν=0.506 (theory 0.500) — and the control's ⟨R²⟩(60)=60.4 ≈ N exactly, an internal check on the whole pipeline. The unweighted (kinetic) 2-D walk gives ν=0.642** — visibly biased low, the contrast that motivates the Rosenbluth correction.
Conclusion: Self-avoidance swells the coil by a universal exponent — from ν=½ (ordinary walk) to ν=¾ in
two dimensions — even though the rule that causes it ("never step where you've already been") is purely *local*. The swelling is a genuine long-range geometric effect of a short-range constraint, and ¾ is exact in 2-D (Flory's mean-field ν=3/(d+2) happens to be exact there; in 3-D it gives ⅗=0.6 vs the true 0.588). The Rosenbluth weight — the 1955 trick at the root of all polymer Monte-Carlo — is what makes the measurement honest: without it the exponent comes out wrong.
Confidence: High for the method, with disclosed finite-size bias. The Rosenbluth estimator was verified by an
adversarial review against exact small-N SAW enumeration (matches ⟨R²⟩ to 3–4 significant figures), and the RW control nails ν=½ and ⟨R²⟩=N. The 2-D ν=0.731 undershoots the exact ¾ by ~3%: a real finite-length + weight-degeneracy artifact (the Rosenbluth weights become dominated by a few walks as N grows — the effective sample size collapses), not a bug — extending to N=100 lifts the fit to 0.747 before degeneracy takes over. The exact ¾ is an N→∞ limit. 3-D ν=0.599 sits ~2% above the precise 0.588 (near Flory's 0.6) for the same reason. Open: PERM (pruned-enriched Rosenbluth) to reach longer chains and pin ν to <1%, and the 4-D SAW where ν→½ (the upper critical dimension, above which self-avoidance stops changing the exponent).
2026-06-28 — Does a random walk always come home, and does dimension decide? (Pólya's recurrence theorem)
Method:?world=polya (&seed=<n> reproduces the walks). A simple symmetric random walk on the integer
lattice Zᵈ (each step ±1 along one uniformly-chosen axis) is run for d = 1, 2, 3. At init the module simulates M = 6000 independent walks per dimension to a step horizon N = 8192, records each walk's first-return time, and builds the return probability R_d(N) = P(returned by step N) at checkpoints N = 2…8192. The chart plots R_d(N) semilog against the recurrent limit (R = 1) and the Pólya constant p₃ = 0.340537 guides; because the finite horizon truncates the 3-D return tail (which decays ∝ N^(−1/2)), the upper d = 3 curve is extrapolated in x = N^(−1/2) to x = 0 to recover the asymptote. Three live walkers (a line, a plane, a 3-D cloud) also race a marked origin, scoring a RETURN on hitting it and an ESCAPE after NLIVE = 600 steps without returning.
Data (seed 7): R_d(8192) = 0.992 (d=1), 0.733 (d=2), 0.340 (d=3). The d = 3 N^(−1/2) extrapolation gives
0.343, matching the Pólya constant 0.3405 (≈0.7 % above). Live, the recurrence/transience split is stark: over ~8000 walk-steps the d = 1 walker scored 180 returns / 8 escapes, d = 2 16 / 12, and d = 3 only 5 returns / 13 escapes — the 3-D walker mostly wanders off.
Conclusion: Yes for d = 1, 2 — recurrent: the return probability climbs toward 1 (the drunkard always finds
his way home; d = 2 only logarithmically slowly, so at N = 8192 it has reached just 0.73 — recurrence there is marginal). No for d = 3 — transient: the walk returns with only the Pólya probability ≈ 0.3405 and escapes to infinity the rest of the time (the drunken bird may never come back). One extra spatial dimension turns certain return into probable escape: there is simply too much room to get lost in.
Confidence: High (a validation). The d = 3 extrapolated asymptote (0.343) matches the textbook Watson-integral
value 0.340537 to <1 %, and the d = 1/d = 2/d = 3 ordering and shapes are exactly Pólya's theorem; the live return/escape tallies independently reproduce the split. Live-verified in a headless browser (no runtime errors; three trailed walkers, the R_d(N) curves with d = 3 flat on the 0.3405 line). Caveats: the raw R_3(8192) = 0.340 sits essentially on the constant only by luck of the horizon — honestly it approaches 0.3405 from below as N → ∞, and the extrapolation is what does the validating; d = 2's slow log-approach means its raw R(N) is far from 1 at any finite N (recurrence is asymptotic). Open threads: push to d = 4, 5 (return probability keeps falling, p_d ~ 1/(2d) for large d), measure the escape-distance growth, and contrast with a self-avoiding walk (where the upper critical dimension shifts to 4).
2026-06-28 — Can an emergent world be mapped into phases like a real substance? (the Particle-Life 2-D phase diagram)
Method:?world=phasemap. The lab's #1 frontier — CROSS the two axes it had measured one at a time
(condensation along the mean μ; static→active along the asymmetry α) into one map. At each cell of a μ × α grid (6 × 5 = 30 cells) it sets the live 1200-particle matrix to S + α·Q + μ: S = (A+Aᵀ)/2 (the seed's reciprocal part), Q = (A−Aᵀ)/2 (its non-reciprocal part), and μ a uniform shift added to every entry (the condensation knob). It settles the field (snake traversal, carry-over) and reads two observables per cell — the bound fraction (condensation order parameter, from the cluster observable) and the activity ⟨|v|⟩ (mean speed) — plus the net drift |v_cm|. It paints a heat-grid: green = bound (condensed), red = active.
Data (seed 7): the two axes are roughly independent — μ moves the bound fraction (0.28 → 0.92 across
the grid), α moves the activity (≈0.06 → ~2–3.5), with little cross-talk. This carves four regimes: gas (low μ, low α — dispersed, still), static condensate (high μ, low α — clumped, still), active gas (low μ, high α — dispersed, chasing) and active condensate (high μ, high α — clumped, churning). The entire α=0 edge has net drift = 0.000 EXACTLY at every μ — however condensed, a reciprocal world cannot self-propel.
Conclusion: An emergent world maps onto a 2-D control diagram much like a real substance — two knobs, four
regimes — and the two knobs act almost orthogonally: μ decides whether structure FORMS, α decides whether it MOVES. The cleanest, rigorous feature is the static edge: reciprocal forces (α=0) obey Newton's third law, so the centre of mass can't accelerate (drift ≡ 0) no matter how dense — the active region is reached only by breaking the symmetry. This is the discovery loop's purpose realised: not "is this world pretty?" but "here is its phase diagram."
Confidence: Medium — exploratory, single seed, single pass. Honest caveats, several caught by an adversarial
review: (1) the α=0 edge runs on the symmetrised matrix S, not the raw asymmetric A the 1-D condensation sweep used — same mean but a different per-entry matrix — so its bound-½ crossing μ_c ≈ −0.25 need not equal that sweep's −0.18 (not a contradiction, a different system). (2) The map is coloured by activity ⟨|v|⟩, which is indicative, not rigorous: in dense cells some of ⟨|v|⟩ is close-range jiggle, not coherent motion — the rigorous active witness is the drift (≡0 reciprocal, >0 active), which the module logs and anchors on the α=0 edge. (3) μ is capped at +0.2 because past it the dense condensate jiggles so hard that ⟨|v|⟩ stops meaning "active" even at α=0 (this is a *physics* limit; the matrix itself stays only lightly clamped, ≤2 of 25 entries — an earlier "all entries saturate" claim was a float32 de-risk-script bug, corrected). (4) Single pass with carry-over and μ swept monotonically, so the condensation boundary carries the known Δμ≈0.04 hysteresis and is settle-smeared, not a sharp line. Open: average over seeds, refine the grid near the boundaries, and add a descending-μ pass to bound the 2-D hysteresis — turning this first sketch into a calibrated map.
2026-06-28 — What does breaking Newton's third law do to an emergent world? (non-reciprocity → active matter)
Method:?world=active. The asymmetry axis of the Particle-Life phase diagram (the condensation sweeps
probed the MEAN axis; this is the second axis). A Particle-Life interaction matrix A need not be symmetric — species i can chase j while j flees i, breaking Newton's third law. The lab splits A into its reciprocal part S = (A+Aᵀ)/2 and non-reciprocal part Q = (A−Aᵀ)/2, then sweeps a knob α from 0 (forces made fully reciprocal, A = S) to 1 (the genome's own asymmetry, A = S+Q). At each α it settles the live 1200-particle field and averages two observables over a 3.5 s window: the activity ⟨|v|⟩ (mean particle speed) and the net drift |v_cm| = |Σv|/N (centre-of-mass speed).
Data: seed 7, 9 points across α∈[0,1]. At α=0 (reciprocal) the clusters relax to a still equilibrium:
⟨|v|⟩ ≈ 0.03, drift = 0.000 exactly. As α rises the activity climbs monotonically; at α=1 (the genome's full asymmetry) ⟨|v|⟩ ≈ 2.93 — a ~100× rise — and the drift grows to ≈ 1.14.
Conclusion: A static→active transition driven by symmetry-breaking. Reciprocal forces obey Newton's
third law — the pairwise forces are equal-and-opposite, the total internal force is zero, so the centre of mass cannot accelerate and (with friction) the system relaxes to a STILL equilibrium with net drift exactly zero: momentum is conserved. Non-reciprocity breaks that — f(i←j) ≠ −f(j←i), the internal forces no longer cancel, and the equilibrium dissolves into perpetual chasing/fleeing motion: "active matter" born from a broken symmetry (the non-reciprocal phase transition, Fruchart–Scheibner–Vitelli 2021). The drift is the rigorous order parameter — provably 0 in the reciprocal limit by momentum conservation, independent of the matrix; the ~100× activity rise is the dramatic one.
Confidence: Medium — this is an OPEN, exploratory question on the emergent substrate, single seed. The α=0
zero-drift is provable (not seed-dependent): for a symmetric matrix the pairwise forces cancel exactly, so v_cm stays 0 forever. The decomposition S+αQ is a convex blend of a_ij and a_ji for α∈[0,1], so it never leaves [−1,1] and the setAttract clamp never distorts the sweep (algebra + a 5M-sample Monte-Carlo confirm). Honestly: the sweep is ascending with carry-over between α steps (the field isn't re-randomised), so the activity(α) curve could be mildly path-dependent; and the drift is a time-averaged magnitude, so it carries a small positive fluctuation bias for α>0 (but is exactly 0 at α=0, where the headline rides). An adversarial review caught a stale "~25×" figure — the true activity rise is ~110×, now corrected. Open: average over seeds, a descending control, and cross this asymmetry axis with the condensation μ axis into the first 2-D phase map of an emergent world.
2026-06-28 — What happens to the waves from a moving source — and what is a sonic boom? (Doppler & Mach)
Method:?world=doppler. A point source emits circular wavefronts at a fixed rate while moving at speed
v = M·c (M = Mach number). Shown in the source's own frame (a wavefront of age τ is a circle centred at x_e − x_s, radius c·τ — exact even as M changes), the lab reads the wavelength ahead of and behind the source straight off the wavefront pattern, and (above M=1) the Mach-cone half-angle, sweeping M from subsonic through the sound barrier to supersonic.
Data: wavefronts bunch ahead (blueshift) and stretch behind (redshift); at steady speed the measured
ratios are exact — M=0.3 → ahead 1.43× / behind 0.77×, M=0.5 → 2.0 / 0.67, M=0.7 → 3.33 / 0.59. As M → 1 the ahead wavefronts pile onto one front (the sound barrier, where 1/(1−M) → ∞). Past it, the source outruns its waves into a trailing Mach cone of half-angle μ = arcsin(1/M) — measured exactly: M=2 → 30°, M=1.5 → 41.8°.
Conclusion: The Doppler effect — f′ = f·c/(c ∓ v) = f/(1 ∓ M) — is why a passing siren drops in pitch,
and (relativistically) how a galaxy's recession is read from its redshift. Above the wave speed it becomes the sonic boom: the shock cone you hear when a supersonic jet passes. This is the classical, *medium-frame* Doppler, whose tell-tale asymmetry (ahead ≠ behind) is the sound-not-light signature.
Confidence: High — the geometry is exact and an adversarial review verified the Doppler ratios, the
wavelength spacings (c∓v)·T, and the Mach-cone tangency (sin μ = 1/M) independently. Honesty: the read-off is exact at *steady* speed, but during the continuous Mach sweep the ahead-ratio lags (the two newest wavefronts were emitted a moment earlier at a slightly lower M, and 1/(1−M) is steep near the barrier) — so the precise measured-vs-theory comparison is shown only in the well-conditioned band (M < 0.7, lag ≤ 3%); above it the HUD states the divergence qualitatively. Open: a moving *observer* (same shift, different mechanism), the relativistic optical Doppler, and the water-wave Kelvin wake angle (a fixed 19.5°).
2026-06-28 — Why does the rainbow always sit at ~42° from the sun, and why is it banded by colour? (Descartes' rainbow)
Method:?world=rainbow. A parallel beam of sunlight enters a spherical water drop; the lab **vector-traces
the genuine ray — refract in (Snell, sin i = n sin r) · reflect once off the back wall · refract out — for a fan of impact parameters b = R·sin i, and records the total deviation D(i) = π + 2i − 4r (the angle the ray has turned from its original heading). The rainbow is the minimum** of D(i), located two independent ways: a fine numeric scan of D(i) and the closed form cos i = √((n²−1)/3) (Descartes, 1637). Colour: the minimum-deviation ray is traced for seven wavelengths with Cauchy n(λ) = 1.3252 + 0.00285/λ²(µm). A Node cross-check confirmed the drawn vector trace equals the analytic D(i) to machine precision.
Data: D(i) bottoms out at i_min = 59.32° (numeric) = 59.32° (closed form), D_min = 138.16°, so the
rainbow sits at φ = 180 − D_min = 41.84° (the textbook ~42°), independent of drop size. Rays from a wide range of b emerge near this smallest deviation and pile up — the caustic that makes the arc bright. Dispersion splits it: red (700 nm, n=1.331) at 42.37° (outer rim), violet (~410 nm, n=1.342) at 40.77° (inner), Δ ≈ 1.6°. A second internal reflection gives the secondary bow at 51.3° (colours reversed); the gap 42–51° is Alexander's dark band (no primary or secondary ray can deviate into it).
Conclusion: The rainbow is not one special ray but a stationary point: near i_min the exit angle barely
changes with impact parameter (dD/di ≈ 0), so a band of rays leaves at almost the same angle and their light concentrates there. Drop *size* never enters D(i) (only the ratio b/R = sin i does), which is why the angle is universal. Colour is simply dispersion — each wavelength has its own caustic. The swept probe makes the stationarity visible: its exit ray races across the sky everywhere except near 42°, where it crawls.
Confidence: High for the geometric-optics result — the numeric and closed-form minima agree, and the traced
ray matches the analytic deviation to machine precision. Stated honestly: this is the ray-optics caustic (a ray pile-up), not the wave-optics intensity — the supernumerary arcs just inside the primary bow are an Airy-function interference effect a ray trace cannot show. Open: the supernumeraries (wave optics), the tertiary/quaternary bows (k=3,4, which point back toward the sun), and the polarisation of rainbow light.
2026-06-28 — Does a wave on a chain of atoms behave like a wave on a string? (phonon dispersion)
Method:?world=phonons. A periodic ring of N = 40 equal masses (m=1) joined by identical springs (K=1)
is set vibrating in one normal mode at a time — u_j = A·cos(2πn·j/N), at rest — and the dynamics ü_j = (K/m)(u_{j+1} − 2u_j + u_{j−1}) are integrated with velocity-Verlet. The lab measures each mode's frequency ω from the oscillation period of a single mass (an independent measurement — it times the simulated motion, not the formula), sweeping the wavenumber k = 2πn/N across the first Brillouin zone (n = 1…N/2) and overlaying the measured ω(k) on the theory curve.
Data: the measured points land on the dispersion relation ω(k) = 2√(K/m)·|sin(ka/2)| to 3–4 digits.
Long-wavelength: ω/k → √(K/m)·a = 1 (the sound speed). Zone boundary (k = π, adjacent masses antiphase): ω → ω_max = 2√(K/m) = 2, and the curve flattens.
Conclusion: A wave on a lattice is like a wave on a string only at long wavelength — there ω = c·k,
sound, one fixed speed, non-dispersive. But the discreteness bites at short wavelength: ω bends over and saturates at a maximum frequency ω_max at the Brillouin-zone edge — the lattice cannot vibrate faster than this, and short waves are dispersive (their speed depends on wavelength; the group velocity dω/dk → 0 at the edge). A continuum string has no such ceiling; the atoms do. This is the acoustic phonon branch — the foundation of sound, heat capacity, and the Debye model in solids.
Confidence: High — an adversarial review independently verified the dispersion (circulant force-matrix
eigenvalues match 2|sin(k/2)| to machine precision), that u_j = cos(2πn·j/N) is a genuine single-frequency normal mode, the velocity-Verlet integration, and energy conservation. The measurement is honestly independent of the theory it's checked against. Stated honestly: the faint zone-edge residual (ω ≈ 2.001 vs 2.000, ~0.05%) is the velocity-Verlet discrete-time frequency shift (cos(ω_num·dt) ≈ 1 − ½ω²dt²), not a model error — so the claim is "to ~3–4 digits," not "machine precision." Open: the diatomic chain (an acoustic AND an optical branch, with a frequency gap), and a wave packet visibly dispersing as it travels.
2026-06-28 — What shape does a hanging chain take — the parabola Galileo guessed? (the catenary)
Method:?world=catenary. A flexible chain — a Verlet rope of 48 equal links pinned at both ends,
settled each step with 40 position-based distance-constraint iterations under gravity — hangs and the lab measures its shape. As the span slowly breathes, it fits the chain to the analytic catenary y = a·cosh(x/a) (with a solved from L = 2a·sinh(d/a)) and to the least-squares best-fit parabola, comparing the RMS residual of each.
Data: the rope's links stay at the rest length exactly, and the chain matches the **catenary to RMS ≈
0.005** (sag 6.4 at span 8.5). Even the *best* parabola loses badly where the chain is deep: ~39× worse at span 8, 21× at span 10, 8.5× at span 12 — converging to ~2× only at span 14, where the chain is nearly flat (a shallow cosh ≈ 1 + x²/2 *is* a parabola).
Conclusion: The hanging chain is a catenary (cosh), not a parabola — the result Bernoulli, Huygens,
and Leibniz found in 1691, correcting Galileo's 1638 guess. The cosh wins because the chain carries uniform mass per unit LENGTH; a parabola is the shape of a suspension-bridge cable, which carries uniform mass per unit HORIZONTAL span (the roadway). And the catenary is the curve of least potential energy — so the rope settles onto it on its own, no fitting required.
Confidence: High — an adversarial review confirmed the catenary formula and the rope correspondence
(equal masses + rigid links ⇒ uniform mass per length ⇒ cosh), and the measured residuals are honest. It caught one framing slip, fixed: the comparison parabola was first only endpoint+sag-matched (handicapped ~2×); it's now the genuine least-squares parabola, so the cosh beats the *best a parabola can do*. The dramatic ratio is honestly sag-dependent — tens of × at deep sag, ≈1 when nearly flat. Open: a point load that kinks the chain, and the suspension-bridge cable (a true parabola under deck loading).
2026-06-28 — Going from glass into air, can light always escape? (Total internal reflection)
Method:?world=tir. The optics follow-up the Snell note flagged. Refraction sent light from the FAST
medium into the SLOW one (air → glass), where it always crosses. Reverse it: light goes from dense glass (n₁=1.5) UP into air (n₂=1.0). The lab sweeps the incidence angle θ₁ and, at each instant, draws the incident, reflected and refracted rays, dimming each by its Fresnel share of the energy; the critical angle is measured by bisection — the θ₁ at which the transmitted ray first reaches grazing (sinθ₂ = 1) — and checked against the exact asin(n₂/n₁).
Data: Snell's refracted angle θ₂ = asin((n₁/n₂)·sinθ₁) is LARGER than the incidence and climbs fast:
15.1° at θ₁=10°, 48.6° at θ₁=30°, 88.9° at θ₁=41.8°. It reaches exactly 90° at θ_c = 41.81°; past θ_c the Snell bracket exceeds 1, so no transmitted ray exists and 100% of the light is reflected. The Fresnel reflectance climbs smoothly to that wall (R ≈ 4% at θ₁=10°, 5.5% at 30°, 89% at 41.8°, →1 at θ_c), so the onset of total reflection is continuous, not a jump. The bisection-measured θ_c matches the closed-form asin(1/1.5) to ~1e-11.
Conclusion:No — there is a hard cutoff. Above the critical angle θ_c = asin(n₂/n₁) light going
from a denser to a rarer medium cannot refract out at all; it is totally internally reflected. This is the effect that traps light inside an optical fibre and makes the underside of a calm water surface a perfect mirror.
Confidence: High — a textbook validation. Snell + the Fresnel split were Node-checked before wiring;
the measured critical angle equals asin(n₂/n₁) to machine precision, and the chart's sampled θ₂(θ₁) points sit on the analytic curve that terminates at 90° on the θ_c line. Open: a graded-index medium where n varies continuously and the ray curves (mirage / fibre optics), and dispersion n(λ) (a prism splitting white light because θ_c depends on colour).
2026-06-28 — If everyone is mostly tolerant, does a mixed society stay mixed? (Schelling segregation)
Method:?world=schelling. The lab's first sociophysics world. Two kinds of agent share an 80×80
grid with ~10% empty cells. An agent is unhappy only if FEWER than a tolerance fraction T of its occupied 8-neighbours are its own kind (the standard Schelling–Sakoda rule — empty neighbours don't count); an unhappy agent hops to a random empty cell. The lab sweeps T and measures the segregation index S = the mean same-kind fraction over all neighbourhoods (random ≈ 0.50), running each tolerance to equilibrium.
Data: S leaps from 0.50 (T=0, stays mixed) to 0.76 at T≈0.31 — and keeps rising: 0.88 at T=0.44,
0.98 at T=0.63. At T≈0.31 every agent is content with just ⅓ like-kind, yet nobody is unhappy and three-quarters of every neighbourhood matches. Push the demand higher and it backfires: from T≈0.69 the board stops settling, and by T≈0.875 no arrangement satisfies anyone (96% perpetually unhappy) so segregation collapses back to ≈0.52 — perpetual churn.
Conclusion:Tolerant individuals still produce a starkly segregated society. A mild preference (wanting
merely ⅓ of your neighbours to match) drives the whole grid to ~¾ segregation — a collective outcome far beyond anyone's intent, and the classic lesson that aggregate patterns need not reflect individual wishes. The extreme tail adds a second lesson: demanding *too* much is self-defeating — it gridlocks into churn rather than ever segregating.
Confidence: High — an adversarial review independently reproduced the S(T) curve (mulberry32 port, 12
seeds), confirmed the model is a faithful Schelling–Sakoda variant (random-relocation, the standard ABM version), and verified the grid/empties bookkeeping is leak-free with agent counts conserved. The headline (T≈0.31 → S≈0.76, nobody unhappy) and the high-T gridlock are both demonstrated by the module's own sweep; the non-equilibrium (capped) points are flagged with * in the live curve so a churning run is never shown as a settled result. Open: sharpening the onset, unequal group sizes, and the "move only if it improves" variant.
2026-06-28 — Light goes from air into glass — does it take the straight path? (Fermat's principle → Snell's law)
Method:?world=snell. Light travels from a point A in a fast medium (air, index n₁=1.0) to a point B in
a slow one (glass, n₂=1.5), crossing a flat interface at y=0. Fermat's principle says it takes the path of LEAST time; the lab races photon pulses down several broken paths A→(x,0)→B, each travelling at c/n₁ above the interface and the slower c/n₂ below, and times the arrivals. The exact least-time crossing comes from a golden-section minimiser of T(x)=L₁/v₁+L₂/v₂; the straight geometric crossing races as a baseline. A chart then sweeps the incidence angle, finds each least-time path numerically, and plots the measured (sinθ₁,sinθ₂).
Data: the least-time ray bends toward the normal in the slow medium and reaches B in 21.16 (model
time units), beating the straight geometric line (21.94, +3.6%) even though the straight path is shorter. Reading the winning ray's geometry: θ₁=65.4°, θ₂=37.3°, n₁sinθ₁ = n₂sinθ₂ = 0.909, sinθ₁/sinθ₂ = n₂/n₁ = v₁/v₂ = 1.500. The dT/dx=0 condition (sinθ₁/v₁ = sinθ₂/v₂) holds to ~1e-8. Across the 11-angle sweep the measured (sinθ₁,sinθ₂) fall on a straight line of slope n₁/n₂ = 0.667 (measured mean slope 0.667).
Conclusion: Light does not take the straight path — it takes the least-time path, which bends at
the interface (Fermat's principle, 1662). The bend obeys Snell's law n₁ sinθ₁ = n₂ sinθ₂, recovered here from a pure timing race plus geometry, exact to machine precision. This is the optics twin of the brachistochrone: both are least-time variational optima, but Snell is the rare case solvable in closed form, so the numeric minimiser and the analytic law cross-check to ~1e-8.
Confidence: High — the measured Snell ratio and the n₁sinθ₁=n₂sinθ₂ equality match to the displayed
precision, and the analytic dT/dx=0 root agrees with the golden-section minimum to ~1e-8 (an honest check that the search isn't fooling itself). The on-screen "race" uses a single A→B pair and a fixed n₁,n₂; the across-angle generality is carried by the sweep chart, not the race. Open: total internal reflection above the critical angle (slow→fast), a graded-index ray that curves continuously (mirage / fibre optics), and dispersion n(λ) in a prism.
2026-06-28 — What's the fastest ramp to slide down — the straight line? (brachistochrone & tautochrone)
Method:?world=brachistochrone. Frictionless beads slide under gravity from the same A=(0,0) to the
same B=(Rπ,−2R), R=4, down three curves: a straight line, a shallow circular arc, and a cycloid x=R(θ−sinθ), y=−R(1−cosθ). Each bead is stepped by the exact tangential gravity a=−g·(dy/ds) (the conserved ½v²+gy is the correctness check); the lab times the arrivals. Then 5 beads are released from different heights on that same cycloid (the tautochrone test).
Data: the cycloid reaches B in 2.007 s, beating the circular arc (2.157 s) and the straight line
(2.379 s) — even though the cycloid is the LONGEST path. It hits the exact theoretical minimum π√(R/g) = 2.007 s. Tautochrone: the 5 beads from different heights all arrive within ~1 ms of each other (all 2.007 s). Energy is conserved to 0.04%.
Conclusion: The fastest descent is not the straight line (the shortest path) — it is the cycloid,
the *brachistochrone*. This is the problem that launched the calculus of variations (Johann Bernoulli, 1696); the cycloid is the proven optimum over ALL curves, not just these three. And the same cycloid is the tautochrone: a bead released from anywhere on it reaches the bottom in the same time (Huygens, 1659 — the basis of the isochronous pendulum clock).
Confidence: High — the race cycloid hits π√(R/g) to the displayed precision and the tautochrone spread is
~1 ms. An adversarial review verified the cycloid is the true brachistochrone to this B (B is the cusp-bottom) and the isochronism is genuine, and caught a subtle bug: a fixed-window finite difference for dy/ds was over-smoothing the cycloid's near-vertical start and slowing the race bead ~1% (2.027 vs 2.007) — a bias the *energy check could not detect* (it conserves ½v²+gy while shifting where the force acts). Fixed by taking dy/ds from the local polyline segment, after which the race bead lands on 2.007 exactly. "Proven optimum" is honestly a cited result (Bernoulli), not something the 3-curve race proves on its own. Open: the cycloidal (isochronous) pendulum, and the optics analogue (Fermat / Snell's law).
2026-06-28 — Why do sunflowers put their seeds at the golden angle? (phyllotaxis)
Method:?world=phyllotaxis. Seeds are placed by Vogel's model — seed n at angle n·α and radius √n,
giving uniform areal density for any divergence angle α. The lab slowly sweeps α over a window around the golden angle and at each angle measures the packing uniformity = the minimum nearest-neighbour gap among N = 1200 seeds (a bucket-grid O(N) computation), tracking the running argmax.
Data: the uniformity is sharply maximised at α = 137.50° (gap 1.546 in √n units, N-independent),
matching the golden angle **α* = 360°/φ² ≈ 137.508° to within the sweep step. A degree away it collapses — 137° → 1.05, 138° → 0.88, and 135° (= 360·3/8) → 0.12, which is eight bald radial spokes**.
Conclusion: Nature chooses the golden angle because it packs the seeds most uniformly — the largest
possible smallest-gap, no wasted wedges. The reason is number-theoretic: φ = (1+√5)/2 is the "most irrational" number (continued fraction [1;1,1,…]), the hardest to approximate by any rational p/q — and a rational divergence p/q would line every q-th seed up into a spoke. So efficient packing *selects the most irrational angle*: number theory showing up in a flower, the same Fibonacci spirals you can count on a pinecone.
Confidence: High — an adversarial review reproduced the result with a brute-force O(N²) check (the
bucket grid matches exactly), confirmed N-independence, and verified the golden-angle constant. Stated honestly: the golden angle is the global optimum (verified over the full 0–180° range), but other "noble" angles are weaker local optima (the landscape is fractal); and "exactly 137.508°" is the *theory* value — the discrete sweep only localises the measured argmax to ≈137.5° (within the step). Open: counting the parastichies (consecutive Fibonacci numbers) and a dynamic meristem that selects the angle on its own.
2026-06-28 — Cross an E and a B field — does the sideways drift depend on charge or mass? (E×B drift)
Method:?world=exb. The lab's third electromagnetism world (after Gauss's law and the cyclotron, the
follow-up that note pointed at). A uniform electric field E = 1.6 ŷ (up) is crossed with the magnetic field B = 1.6 ẑ (out of the plane). Four charges are launched from rest in separate horizontal lanes: three of the same +q with masses m = 1, 2, 3, plus one with q = −1. Each is pushed by the full Boris algorithm (half electric kick · exact magnetic rotation · half kick — the correct integrator for crossed fields), tracing a cycloid; the lab time-averages each particle's drift velocity ⟨v⟩ straight from its trajectory.
Data: every charge drifts at ⟨v⟩ = 1.00 ± 0.001 along +x = the theory drift v_d = E/B = 1.000 — a
flat line over q and m (Node-checked across q = +1 m=1/2/3, q = −1 m=1, even q = 2). Meanwhile the cycloid radius spans 5× (r = mE/qB² = 0.625 / 1.25 / 1.875 for the +q trio), and the q = −1 charge loops the opposite way — yet drifts in the *same* direction at the *same* rate. The transverse average ⟨v_y⟩ ≈ 0.
Conclusion:The E×B drift velocity contains neither charge nor mass. v_d = (E×B)/B² has speed E/B,
perpendicular to *both* fields, and is independent of q (including its sign) and m: heavy charges trace fat slow loops, light ones tiny fast loops, negatives loop backwards, but every guiding centre marches together. This is why E×B drift moves a whole plasma — all species, both signs — *en masse* (it carries no current), and it underlies crossed-field velocity selectors and magnetron/Hall devices.
Confidence: High — the drift law is reproduced to ~0.1% (a finite-window time-average that shrinks with run
length), verified in a standalone Node check and live in the browser. Honesty notes: with E ≠ 0 the Boris *electric* half-kicks no longer vanish — they are the drift (in the pure-cyclotron world they cancelled); the sign-independence is structural (flip q and you flip both the kick and the rotation sense, leaving the guiding-centre velocity fixed). Contrast a gravitational/force drift F×B/qB², which *does* depend on q and m and so separates species — a natural next experiment, alongside a tuned velocity selector (qE = qvB at v = E/B).
2026-06-28 — Does a faster charge take longer to circle in a magnetic field? (cyclotron motion)
Method:?world=magnetism. The lab's first magnetic world (after electrostatics). A uniform magnetic
field B = 1.6 points out of the plane; five particles of the same charge q=1 and mass m=1 but different speeds (v = 2.4 → 12, radii 1.5 → 7.5) are launched about one shared guiding centre, each feeling only the Lorentz force F = qv×B. The velocity is pushed with the Boris algorithm — a pure rotation when E=0, so it conserves |v| (and the radius) to machine precision. The lab measures each particle's period from its swept velocity angle (the velocity turns at ω_c for every particle) and plots T against speed.
Data: every particle measures T = 3.9278 s regardless of speed — across a 5× speed range the spread is
max |ΔT| ≈ 0.0008, i.e. one flat line at the theory value T = 2πm/(qB) = 3.9270 s. The speed |v| is conserved exactly (Boris), and the five particles stay rigidly collinear on a single spoke (the inner and outer particle share the same direction from the centre to 4 decimals) sweeping at ω_c = qB/m = 1.600.
Conclusion:The cyclotron period is independent of speed. A magnetic force does no work — it only bends
the path into a circle — and a faster charge simply traces a proportionally bigger circle (radius r = mv/(qB) ∝ v) and covers it in the same time T = 2πm/(qB). This speed-independence is exactly what makes the cyclotron work (the accelerating gap stays in phase as the particle speeds up) and what sets the gyro-frequency of charges in the Earth's field, plasmas, and MRI.
Confidence: High — the result is exact (every period equals 2πm/(qB) to <0.03%, the residual being the
swept-angle discretisation, not a speed dependence), verified both in a standalone Node check and live in the browser. Honesty notes: the Boris push is the right integrator *because* the force is perpendicular — a naive Euler step would inject energy each turn and spiral the circles outward (a radius drift that would be a silent EOM bug); the rotation form keeps |v| fixed so the period test is clean. This is the non-relativistic cyclotron (constant m); at relativistic speeds m→γm and the period would grow with energy (the synchrotron correction), which this world does not model. Open: add a crossed E field for the E×B drift (drift speed E/B, independent of q and m — different masses drift together), and a velocity-selector / mass-spectrometer geometry.
2026-06-28 — Does the electric flux through a closed loop count the charge inside it? (Gauss's law)
Method:?world=field. The lab's first electromagnetism world. A fixed set of charges sits in the
plane — a +2 in the centre flanked by a −1 on each side (2-D electrostatics: each is a line charge with field E = q·r̂/r, magnitude q/r, the inverse-distance law). Field lines are traced from the + charge and curve into the − charges. A measuring loop then tours the scene, and the lab numerically integrates the flux Φ = ∮ E·n̂ dl around it (720 samples), comparing Φ/2π to the charge the loop encloses.
Data: at the four tour stations the loop encloses {+2}, {+2 and one −1}, {everything}, {one −1}, and the
measured Φ/2π reads +2, +1, 0, −1 — exactly the enclosed charge each time. A Node check confirms this is independent of the loop's radius (0.5 → 5 all give the same integer) and of its shape (a rectangle reads the same as a circle).
Conclusion:Gauss's law. The flux through a closed loop counts the charge inside it and nothing else —
shrink, grow, or move the loop and Φ/2π still equals the enclosed charge, jumping in integer steps as the loop swallows charges and reading 0 around the neutral whole. It is the integral form of the inverse-distance field (∇·E = 2π·Σqᵢδ²(r−rᵢ)) — the 2-D cousin of Coulomb's inverse-square law and Gauss's law in 3-D.
Confidence: High — the result is exact (machine precision at the holds) and an adversarial review
independently re-derived the 2π factor, the field as −∇(−q ln r), and the shape/radius independence. Honesty notes, both addressed: the flux integral is singular when the loop boundary grazes a charge, so the law is asserted only at the holds (the readout shows "measuring…" while the loop glides); and the charge configuration was chosen so every field line stays bounded and terminates on a − charge (a net-neutral system must have no escaping lines, so a truncated one would have undercut the very point). This is 2-D electrostatics (field ∝ 1/r), explicitly the planar cousin of the 3-D inverse-square law — not conflated with it. Open: a draggable test charge, equipotential contours, and the genuine 3-D field with Gauss's law as a surface integral.
2026-06-28 — Can a system tune ITSELF to criticality with no knob? (Bak–Sneppen evolution, the 2nd SOC world)
Method:?world=evolution (&seed=<n> reproduces a run). A second self-organized-criticality world,
framed as biology. A ring of N=256 "species" each carry a fitness f∈[0,1]. Each step the single least-fit species — and its two ring neighbours — goes extinct and is replaced by a fresh random fitness. There is no tuned parameter. After a 50N-step warm-up the lab accumulates the whole-ring fitness histogram and measures the self-organized threshold f_c two independent ways: the half-height edge of the histogram's rising step, and 2⟨f⟩−1 (in the stationary state the fitnesses are ≈uniform on [f_c, 1], so ⟨f⟩ ≈ (1+f_c)/2). Avalanches are tracked at a sub-critical f₀=0.60.
Data (live, seed 7, 282k extinctions; reproduced in Node to N=512): the ecosystem self-organizes —
only 13/256 species sit below f_c at any instant (vs ~169 for a random uniform ring). Mean fitness ⟨f⟩ = 0.817. Threshold estimators: edge f_c ≈ 0.662 (Node: 0.6625 stable across N=128/256/512) and 2⟨f⟩−1 = 0.634 (Node: 0.607 → 0.634 → 0.644 for N=128 → 256 → 512, climbing toward 0.667 as N grows). Avalanche sizes are heavy-tailed: at f₀=0.60 the mean burst ≈ 198 but the max reached 5671 (a power-law tail), and as f₀ → f_c the bursts diverge (never terminating at f₀=f_c — the critical signature).
Conclusion:Yes — criticality with no fine-tuning, the SOC hallmark, now in an evolutionary model.
The fitnesses pile up above a sharp self-organized edge at f_c ≈ 0.667 (the known 1-D nearest-neighbour Bak–Sneppen value), recovered cleanly by the histogram-edge estimator. Evolution runs in punctuated equilibrium (Gould–Eldredge): long calm spells with every species above f_c, broken by sudden scale-free avalanches of extinctions — the same SOC fingerprint the sandpile shows, here as coevolutionary mass-extinction bursts rather than sand cascades.
Confidence: High on the qualitative result (self-organization to a sharp edge + scale-free avalanches,
no knob) and on the edge estimate (≈0.662, matching 0.667). Honest caveat: f_c is a precise numerical value, not a closed form (unlike the sandpile's exact 17/8), and the 2⟨f⟩−1 estimator carries a real finite-N undershoot (0.634 at N=256) because the active sites below f_c pull ⟨f⟩ down — it converges to 0.667 from below as N grows, stated rather than hidden.
2026-06-28 — Is there a sharp threshold above which an outbreak becomes an epidemic? (spatial SIR ↔ percolation)
Method:?world=epidemic (&seed=<n> reproduces a sweep). A new epidemiology world. On a 151×151
square lattice, the simplest spatial SIR: each Infected cell infects every Susceptible 4-neighbour with probability T (transmissibility), then Recovers (immune) the next step. From a single central seed the infection spreads as a red wavefront leaving immune cells behind. The lab sweeps T and, per T, records the final immune fraction R∞ and the spanning probability Π (does the outbreak reach the boundary?), then locates the epidemic threshold T_c at the Π = ½ crossing.
Data (live + reproduced in Node): a sharp transition — Π jumps 0 (T ≤ 0.45) → 0.22 (0.48) → 0.78 (0.51)
→ 1 (≥ 0.60); ⟨R∞⟩ rises from ~0.001 to 0.94. The Π = ½ crossing lands at T_c ≈ 0.49.
Conclusion: Yes — and it is *exactly* a percolation transition. This one-step-infectious SIR rule maps
onto bond percolation (Grassberger): the final immune set is the bond-percolation cluster of the seed with bond probability T, so the epidemic threshold is the square-lattice bond-percolation threshold T_c = ½ (exact, by duality). Below ½ outbreaks die in a small patch; above ½ a finite fraction of the whole population is infected.
Confidence: High. An independent Node reimplementation matches a static bond-percolation reference
curve, and finite-size scaling shows the single-seed Π = ½ crossing converging to ½ from below (0.484 → 0.491 → 0.495 → 0.497 for L = 51 → 251); the live 151² reading ≈ 0.49 is the expected finite-size undershoot, not a discrepancy. The honest twist: T_c ≈ ½ sits well *above* the well-mixed mean-field prediction (R₀ = 1 at T ≈ ⅓ for a 4-contact graph). Spatial clustering means infected cells waste infections on already-hit neighbours, so loops raise the threshold from the Bethe-lattice ⅓ to the 2-D ½ — a real spatial epidemic is *harder* to sustain than the well-mixed model says. Open: a finite infectious period (I(t) curve, peak vs T, herd immunity 1−1/R₀) and a small-world contact graph that collapses T_c back toward mean-field.
2026-06-28 — Why does a road jam, and is there a density that carries the most cars? (TASEP fundamental diagram)
Method:?world=traffic (&seed=<n> reproduces a run). A new driven-lattice-gas world: the TASEP
(totally asymmetric simple exclusion process), the canonical model of single-lane traffic. On each of nine rings of L = 200 sites at densities ρ = 0.1 … 0.9, a "car" hops one step forward only if the site ahead is empty (hard-core exclusion). Random-sequential updates (pick a random site, attempt its forward hop); the steady current J = hops/attempts is accumulated after a 40-sweep warmup, and the nine measured points are overlaid on the exact fundamental diagram in the bottom chart.
Data (≈275 sweeps in-app, reproduced over 20k sweeps in Node): the nine currents land on the parabola
J(ρ) = ρ(1−ρ) to mean error ~1.4% — ρ=0.5 → J=0.252 (peak ¼), and the symmetric pairs measure equal currents (ρ=0.2 and 0.8 → J≈0.16, ρ=0.1 and 0.9 → J≈0.09). Node (seed 7) reproduced every point to <1%, in fact tracking the exact finite-ring value N(L−N)/(L(L−1)) (which sits ~0.5% above the bare parabola at ρ=½) even more tightly than ρ(1−ρ) itself.
Conclusion: **A road carries the most cars at half-full, and a 90%-jammed road flows like a 10%-empty
one.** TASEP on a ring is one of the rare interacting nonequilibrium systems with an *exact* steady state — the stationary measure is uniform over all N-car configs — so J(ρ) = ρ(1−ρ) is a genuine answer key, not a fit. Two facts the lab confirmed by measurement: (1) maximal flow at ρ=½, J=¼ — packing in more cars past the half-full point *lowers* throughput (the origin of jamming); (2) particle–hole symmetry J(ρ)=J(1−ρ) — the holes stream backward exactly as the cars stream forward.
Confidence: High. The agreement is exact-by-theory (uniform ring measure) and the nine measured points sit
on it to ~1%; the peak and the symmetry both fall out with no tuning. Honest scope: this is the homogeneous ring, whose stationary state is a product measure — so the visible drifting gaps are *transient* fluctuations (the holes' backward flow), not persistent phantom jams (those need a slow-to-start rule like Nagel–Schreckenberg, or open boundaries). Open: open-boundary TASEP (inject at α, extract at β) and its three-phase diagram (low-density / high-density / maximal-current) with boundary-induced transitions; and that TASEP's *current fluctuations* are themselves KPZ-class — the same ⅓ measured in ?world=kpz.
2026-06-28 — Why does a growing surface get rough, and does the local rule change how rough? (KPZ universality)
Method:?world=kpz (&seed=<n> reproduces a run). A new kinetic-roughening world. On a 1-D line of
L = 384 columns, particles rain down under three deposition rules at once, driven by the same noise (so only the rule differs): random deposition (land on top), RSOS / Kim–Kosterlitz (deposit only if neighbour height steps stay ≤ 1 — the KPZ class), and relax-to-lowest-neighbour (Edwards–Wilkinson). It measures each interface's width W(t) = √(⟨h²⟩ − ⟨h⟩²) at log-spaced times and fits the roughening exponent β from the log-log slope of W(t) ∝ t^β over the growth window t ∈ [8, 110], averaged over many regrown cycles into ⟨β⟩ ± spread.
Data (⟨β⟩ over ~120 cycles, reproduced in Node): three distinct exponents — random deposition
β = 0.50 ± 0.02, KPZ/RSOS β = 0.30 ± 0.06, Edwards–Wilkinson β = 0.24 ± 0.06 (textbook ½, ⅓, ¼). Visually the three interfaces roughen at visibly different rates: RD a white-noise scatter (no lateral correlation), KPZ a self-affine wiggle, EW the smoothest.
Conclusion:The local rule, not the material, picks the roughness. β is a universal fingerprint that
sorts microscopically-different growth into a handful of universality classes; a one-line change in the sticking rule moves the interface between them. Random deposition gives the trivial uncorrelated β = ½; add lateral correlations (RSOS) or diffusive smoothing (EW) and the exponent drops to the KPZ ⅓ or the EW ¼.
Confidence: High on the headline (three clearly-separated exponents; the rule selecting the class).
RD = 0.50 is exact by construction (independent Poisson columns ⇒ W = √t). EW is consistent with ¼ at this size (it carries log corrections in 1+1 D — the same estimator drifts to ~0.22 at L = 1024). KPZ lands at ≈ 0.30, a few % below its asymptotic ⅓; an adversarial review checked L = 384 → 4096 and found β flat at ~0.31, so this is a *stable corrections-to-scaling bias* of the RSOS + log-fit estimator, not a finite-size transient that more lattice would cure — stated, not hidden. Open: the roughness exponent α and dynamic z from finite-size saturation W_sat ∝ L^α, and the KPZ height distribution (Tracy–Widom).
2026-06-28 — Can a system reach a critical point with no knob tuned to a magic value? (self-organized criticality)
Method:?world=sandpile (&L=<side> sets the grid, &seed=<n> reproduces). The lab's first
self-organized-criticality world. Every critical point so far (the Ising Curie temperature, the percolation threshold p_c) had to be *found* by tuning a parameter to one special value. The Bak–Tang–Wiesenfeld sandpile (1987) asks whether a system can sit at criticality *without* tuning: on an L×L grid (default 96²) drop a grain on a random cell; any cell that reaches 4 topples, shedding one grain to each of its 4 neighbours, which can cascade into an avalanche; grains that topple off the open boundary are lost. Driving grain by grain from empty, the lab tracks the stationary mean density ⟨ρ⟩ and histograms avalanche sizes s (total topplings) in log-bins, fitting τ over the scaling window (s ∈ [4, 0.3·L²], below the finite-size cutoff). Verified live in headless Chrome on the built app.
Data (96² grid, seed 7, ~180k recorded avalanches after warm-up): the pile self-organizes to a
stationary density ⟨ρ⟩ ≈ 2.11 and climbing toward 17/8 = 2.125 (the exact Priezzhev 1994 value) with no parameter set by hand. Avalanche sizes are scale-free: P(s) ∝ s^(−τ) straight on a log-log plot across ~4 decades (s from a few to ~10⁴), cut off only by the finite grid, with a fitted τ ≈ 1.08. Grains are conserved exactly — the on-grid count always equals (added − lost), integer residual 0 (the correctness gate, analogous to energy drift in the dynamical worlds).
Conclusion: Criticality does not require fine-tuning. The boundary loss balances the bulk driving at
exactly one density, and the system relaxes to it on its own — sitting permanently at a critical point whose signature is power-law avalanches with no characteristic scale. This is the BTW mechanism behind the idea (Bak's "How Nature Works") that scale-free behaviour — in earthquakes, neuronal avalanches, forest fires — can arise generically, not by coincidental tuning.
Confidence: High on the headline (self-organization to a scale-free state with no tuned knob — the
power law and the exact-density convergence are both unambiguous). Reported honestly: the fitted τ ≈ 1.08 is an effective slope over the scaling window, *not* a sharp universal exponent — the 2-D BTW avalanche-size distribution is famously multifractal (no single clean τ; the value depends on grid size and fit range, and a naïve fit that swallows the finite-size cutoff bump reads as high as ~1.4). ⟨ρ⟩ approaches 17/8 slowly from below at finite L. Open: a finite-size-scaling collapse P(s,L)=s^(−τ)G(s/L^D) to extract the cutoff exponent D, the area/duration exponents and their scaling relations, and the Manna stochastic sandpile for a clean single τ to contrast with BTW's multiscaling.
2026-06-28 — What gives frost, lightning, and dendrites their branching shape — and how fractal is it? (diffusion-limited aggregation)
Method:?world=dla (&seed=<n> reproduces a cluster). The lab's first stochastic growth world.
On a 320×320 square lattice, a cluster grows from a single seed by diffusion-limited aggregation: release a random walker just outside the cluster, let it random-walk inward (taking big isotropic jumps across empty space — a harmonic-measure shortcut — so it doesn't crawl forever), and stick it on first 8-neighbour contact. It measures the fractal dimension D from the mass–radius scaling N(r) ∝ rᴰ (particles within radius r of the seed), least-squares-fit over the scaling region only (0.12–0.65·rMax — skipping the lattice-compact core, slope→2, and the saturating outer front, slope→0). Because a single small cluster is a noisy sample, D is averaged over many regrown clusters into ⟨D⟩.
Data (ensemble of clusters grown to radius 150): a branching, screened dendrite that never fills
in. ⟨D⟩ ≈ 1.65 with a cluster-to-cluster spread of ±0.06 (single clusters scatter D ≈ 1.5–1.8). A finite-size check measured D vs cluster size and found it stable — flat at ~1.64–1.65 from radius 40 to 150 (the spread narrows from ±0.12 to ±0.06, but the mean does not drift toward 1.71).
Conclusion: The branching comes from screening — a wandering particle almost always touches an
outer tip long before it can diffuse into a sheltered fjord, so tips grow and the interior is shadowed; the cluster becomes a self-similar fractal with 1 < D < 2, strictly between a 1-D arm and a 2-D filled disk. This is the geometry of frost on a window, mineral dendrites, electrodeposits, and (with a breakdown rule) lightning.
Confidence: High on the headline (a screened branching fractal, 1 < D < 2 — visually and numerically
unambiguous). The precise value is reported honestly: ⟨D⟩ ≈ 1.65 sits below the famous off-lattice canonical 1.71, and that is *expected, not error* — on a square lattice with a cumulative-N(r) estimator, ~1.6–1.7 is the honest read (lattice anisotropy plus the estimator's fit-window sensitivity, which I verified spans ≈1.52–1.66 across reasonable windows). I do not claim a finite-size drift toward 1.71: I measured D vs size and it is flat. Open: an off-lattice (continuum) version to recover 1.71, the multifractal harmonic measure (where on the boundary walkers actually land), and a dielectric-breakdown exponent η to morph DLA → lightning.
2026-06-28 — Why does a gas always reach the same distribution of speeds — and never un-mix? (the 2nd law)
Method:?world=maxwell (&n=<N>, &v0=<speed>, &seed=<n>). N = 320 equal-mass hard disks (radius
0.18, ≈13% packing → dilute) collide elastically in a square box with perfectly reflecting walls. Equal-mass collisions exchange only the velocity component along the line of centres, so total kinetic energy is conserved exactly — the experiment's built-in correctness gate. The disks start in the most un-thermal state at this energy: every disk at the SAME speed v₀ = 3, only the direction random (a delta spike in speed). The live speed histogram is compared to the parameter-free 2-D Maxwell–Boltzmann curve f(v) = (v/s²)·exp(−v²/2s²), with s² = kT/m = ½⟨v²⟩ fixed entirely by the conserved energy (no fit), and Boltzmann's H H(t) = ∫ f(v) ln f(v) d²v is tracked from a time-windowed velocity histogram.
Data (seed 7, Node replica of the exact stepping; energy drift = 0.000 ppm throughout): the
total-variation distance of the speed histogram to MB falls from 94.3 % (the delta spike) to ≈10 % within ~500 steps and then only fluctuates (finite-N noise); ⟨v⟩ moves from 3.000 toward the MB value s√(π/2) = 2.659 (measured ≈2.57–2.72); H falls monotonically from −2.16 to a floor ≈ −3.70 and thereafter fluctuates in a narrow band.
Conclusion: A gas of structureless colliding balls organises its own speeds into the universal
Maxwell–Boltzmann shape — and Boltzmann's H decreases to a minimum and stays there: the microscopic arrow of time, the 2nd law emerging from time-symmetric collisions. The target curve has no fitted parameter (energy alone sets s), and energy is conserved to ~0 ppm, so the relaxation is a real reshaping of the distribution at fixed energy, not numerical leakage.
Confidence: High on the headline (delta → MB; H falls to a floor; energy conserved). Stated honestly,
not hidden: this is a finite, deterministic, time-reversible system, so H *fluctuates* around its floor and would in principle recur (Poincaré) or run backwards under exact velocity reversal (Loschmidt) — the monotone decrease is overwhelmingly probable on relaxation timescales, not a theorem about every microstate. And the single-particle speed law is the microcanonical marginal: exactly Maxwell–Boltzmann only as N → ∞, with an O(1/N) correction at finite N. Open: the relaxation time τ vs collision rate (the approach is exponential), and measuring that O(1/N) departure from the exact Gaussian.
2026-06-27 — Can a particle pass through a wall it can't climb? (quantum tunnelling)
Method:?world=tunnel (&V=<barrier>, &k=<momentum>). The lab's first quantum world. A Gaussian
wavepacket (units ℏ=m=1), energy E = k₀²/2, is launched at a rectangular potential barrier of height V₀ > E — classically a wall the particle can never cross. The time-dependent Schrödinger equation i∂ψ/∂t = (−½∂²/∂x² + V)ψ is evolved with Visscher's norm-conserving explicit scheme (real and imaginary parts leap-frogged a half-step apart). It measures the transmission T (the probability that ends up beyond the barrier), the reflection, and the total probability ∫|ψ|², comparing T to the rectangular-barrier formula T = 1 / (1 + V₀²·sinh²(κa)/(4E(V₀−E))), κ = √(2(V₀−E)).
Data (E = 2.88, V₀ = 3.2 ⇒ E < V₀; norm ∫|ψ|² = 1.000 throughout — unitary, zero NaN): the packet
splits at the barrier — a large reflected packet (~91%) and a small one that tunnels through (T ≈ 9%, where classically T = 0). The single-energy formula gives T ≈ 11.6%.
Conclusion: A quantum particle can pass through a barrier taller than its own energy — quantum
tunnelling. With E = 2.88 < V₀ = 3.2 the particle is classically trapped (it must always bounce), yet ~9% of the probability leaks through to the far side. The total probability stays exactly 1, because the evolution is unitary (the Visscher scheme conserves the norm), so transmitted + reflected = 100%. This is the wave world's quantum cousin — a wavefunction, not a classical field — and the mechanism behind radioactive decay, the scanning tunnelling microscope, and the Sun's fusion.
Confidence: High on the headline (tunnelling, T > 0 for E < V₀; norm conserved to ~0.1% — both
robust). The measured T (~9%) is the same order as the single-energy formula (11.6%) but not identical, *by design*: the Gaussian wavepacket carries a spread of energies (set by its width), and transmission rises steeply with E near the barrier top, so the packet-averaged T differs from T(E₀) — stated, not hidden. Open: the T(E) curve (transmission vs energy, incl. the resonances above the barrier), and resonant tunnelling through a double barrier.
2026-06-27 — Can pure randomness measure π? (Buffon's needle & the Monte-Carlo rate)
Method:?world=buffon (&seed=<n> reproduces the needle stream). Needles of length L are dropped on a floor
ruled with parallel lines spaced d apart, in the short-needle case L/d = 0.7 (≤ 1). A drop's centre-to-nearest- line distance is uniform on [0, d/2] and its angle is uniform, so the crossing condition integrates to the crossing probability P = 2L/(πd) — invertible to π̂ = 2L/(d · P̂) with P̂ = crossings/N. The live floor draws each needle amber (crosses a line) or slate (misses) and the read-out tracks P̂ against 2L/(πd) and π̂ against π. Separately, a CONVERGENCE experiment runs 200 independent estimates at each N = 32…8192 and plots the RMS error E(N) = √⟨(π̂−π)²⟩ log-log, against the N^(−1/2) guide slope.
Data: 500,000 drops (seed 12345) give P̂ = 0.4457 (exact 2L/πd = 0.4456) and π̂ = 3.1408 vs π = 3.14159
— a 0.025 % error. The RMS error falls 0.705 → 0.516 → 0.305 → 0.237 → 0.160 → 0.114 → 0.084 → 0.056 → 0.0399 across N = 32…8192, i.e. roughly halving each time N quadruples: the product N^{1/2}·E ≈ 3.6–4.0 is flat, so E ∝ N^(−1/2). Extrapolating, ~10⁵ needles are needed for an absolute error of 0.01 in π.
Conclusion: Yes — π falls out of nothing but a tally of line-crossings; geometric probability turns a constant
of pure geometry into something a coin-flipping experiment can measure (Buffon, 1733). The substantive result is the cost: this is a Monte-Carlo estimator, and its error obeys the universal N^(−1/2) law — independent of the problem's dimension, which is exactly why Monte-Carlo integration is the method of choice in high dimensions yet a terrible way to actually compute π (halving the error costs 4× the samples).
Confidence: High (a validation). π̂ matches π to 0.025 % at 5×10⁵ drops, P̂ matches 2L/(πd) to <0.03 %, and the
measured convergence curve E(N) was reproduced bit-for-bit by a standalone Node replica of the module's estimator (identical RMS values 0.705…0.0399), confirming the in-browser code path. Live-verified in a headless browser (no runtime errors; amber/slate needles on the ruled floor, the E(N) curve sitting on the −1/2 guide). Caveat: π̂ = 2L/(d·P̂) is a ratio estimator carrying a small O(1/N) finite-N bias (upward in π̂), swamped by the O(N^(−1/2)) statistical scatter at every N sampled. Open threads: the long-needle case L > d (the formula gains an arccos term, needles can cross twice), and variance reduction (the Buffon–Laplace grid, antithetic angles) to beat the bare √N constant.
2026-06-27 — Why is the bell curve everywhere? (the Central Limit Theorem on a Galton board)
Method:?world=galton (&rows=<n> sets the peg rows, default 16; &p=<0..1> biases the board, default ½;
&seed=<n> reproduces the ball stream). A ball falling through n rows of pegs takes n independent ±1 Bernoulli steps (right with probability p); its count of rights is its final bin — so each ball is a sum of n i.i.d. steps, and the histogram of 40,000 balls is a sampled Binomial(n, p), drawn live with the exact Gaussian N(np, np(1−p)) overlaid as an envelope. The live read-out tracks the running mean and standard deviation against the textbook moments np and √(np(1−p)). Separately, a deterministic CONVERGENCE experiment (computed exactly from the PMFs, no sampling) plots the maximum pointwise gap Δ(n) = maxₖ |binomial(k) − Gaussian(k)| on a log-log axis across n = 4…256, with 1/n and n^(−3/2) guide slopes.
Data: With n=16, p=½ (seed 7), 40,000 balls give mean = 7.998 (np = 8.00) and std = 2.015
(√(np(1−p)) = 2.000) — both to <1% — and a live max gap to the Gaussian of ~0.006. The exact Δ(n) falls 2.39×10⁻² → 8.66×10⁻³ → 3.09×10⁻³ → 1.10×10⁻³ → 3.89×10⁻⁴ → 1.38×10⁻⁴ → 4.87×10⁻⁵ across n = 4…256. The product n^{3/2}·Δ → 0.199 (a constant), i.e. Δ ∝ n^(−3/2) — *faster* than the textbook 1/√n. Bias the board to p = 0.3 and the scaling slows to n·Δ → 0.18, i.e. Δ ∝ 1/n.
Conclusion: Yes — summing many independent random steps always lands on a Gaussian (the CLT), and the board
makes it mechanical: thousands of independent walks self-organise into the bell, with mean and variance pinned to np and np(1−p). The non-obvious result is the rate. The naive 1/√n is the *worst case* (Berry–Esseen, set by the skewness): for a symmetric board the skewness vanishes, killing the leading O(n^(−1/2)) Edgeworth term and leaving the O(1/n)-*relative* kurtosis term; multiplied by the bell's O(n^(−1/2)) peak height this makes the *absolute* gap O(n^(−3/2)). Biasing the board restores the skewness, so the gap reverts to the generic O(1/n). The convergence rate of the CLT is set by which moments survive the symmetry.
Confidence: High (a validation). The moments match np / √(np(1−p)) to <1% at 40k balls, and the convergence
exponents (n^{3/2}·Δ → 0.199 at p=½; n·Δ → 0.18 at p=0.3) are exact PMF computations, reproduced by a standalone Node replica of the module's binomial/Gaussian code path (PMF normalises to 1.000). Live-verified in a headless browser (no runtime errors; histogram fills the overlaid bell). Caveat: Δ(n) is the pointwise (local-CLT) gap in the PMF, not a distributional distance — open thread: measure the convergence in total-variation / Kolmogorov distance (what Berry–Esseen actually bounds), and sum a non-Bernoulli step (uniform, heavy-tailed) to probe the CLT's universality and its failure for infinite-variance steps.
2026-06-27 — Is there a sharp threshold where random sites suddenly connect? (2-D site percolation)
Method:?world=percolation (&p=<0..1> pins the live probability, &seed=<n> reproduces). Each site
of a square lattice is occupied independently with probability p; occupied 4-neighbours are joined into clusters with a weighted union-find (path-halving) — the natural primitive for connectivity, and a new one for the lab. The live lattice gives every site one *fixed* random threshold, so as p ramps up sites switch on monotonically (a smooth fill) and the spanning cluster snaps into existence at threshold. A background probability SWEEP runs progressively (a few Monte-Carlo trials per frame): at each of 28 p-values it runs 80 independent random L=72 lattices, measures the spanning probability Π(p) (fraction with a cluster reaching top↔bottom) and the largest-cluster fraction (the order parameter), and locates p_c at the Π = ½ crossing (linear interpolation). Checked against the known site threshold p_c ≈ 0.59274 (square lattice).
Data: Π(p) is a clean S-curve — 0 below p ≈ 0.54, climbing through ½ near 0.59, and 1 by p ≈ 0.63 —
steepening as the lattice grows. The largest-cluster fraction is ~0 (a few %) in the sub-critical regime and rises smoothly above p_c (≈ 0.30 at p = 0.60, ≈ 0.63 at p = 0.67): the order parameter switching on. The measured crossing is p_c ≈ 0.59 for a single run (default seed), and 0.5929 ± 0.0033 averaged over 5 seeds — matching the textbook 0.59274 to within the finite-size scatter. (Replica across sizes: the Π = ½ crossing is 0.596 at L=48, 0.591 at L=72, 0.594 at L=128 — converging on p_c as L grows.)
Conclusion: Yes — random occupation has a sharp connectivity threshold. Below p_c the lattice is only
finite islands; at p_c an "infinite" (lattice-spanning) cluster appears, and the spanning probability jumps from 0 to 1 over a window that narrows with system size (a true critical point). It is the cleanest phase transition the lab holds — no dynamics, no energy, no temperature, just geometry and chance — yet it has the same critical-phenomena anatomy as the Ising magnet: an order parameter that switches on at the threshold and a diverging cluster. A geometric-transition validation, and the lab's first use of union-find.
Confidence: High (a validation). The seed-averaged p_c (0.5929) matches the accepted 0.59274 to ~0.1%, and
a standalone union-find replica reproduces both the S-curve and the L-dependence of the crossing. The single-run caveat is finite-size: the Π = ½ crossing carries an O(1/L^{1/ν}) shift, so one L=72 run lands within ±0.004 of the limit. Open: finite-size scaling across several L to extrapolate p_c(∞) and extract the correlation-length exponent ν = 4/3 from how the crossing width shrinks.
2026-06-27 — Do two coherent sources interfere, and obey the wave equation? (ripple-tank interference)
Method:?world=waves. Two in-phase point sources driven on a 2-D membrane that obeys the wave
equation ∂²u/∂t² = c²∇²u, integrated with the explicit second-order leapfrog uⁿ⁺¹ = 2uⁿ − uⁿ⁻¹ + C²∇²uⁿ at Courant number C = 0.5 (< 1/√2, so stable), with an absorbing sponge border so outgoing waves don't reflect and clutter the pattern. The two sources share a wavelength of 13 cells (frequency f = c/λ). The lab measures the emergent wavelength λ from the field itself — the crest-to-crest spacing along a ray on each source's *outer* side (away from the partner, where that source's wave dominates and the interference modulation is weakest) — and checks the dispersion relation: the phase speed c = λ·f must equal the model's wave speed.
Data: The expanding circular waves overlap into the classic ripple-tank pattern — bright bands where the
two path lengths differ by a whole wavelength, dark nodal lines where they differ by a half. The measured λ = 13 cells, recovering the source wavelength exactly (0% error); the phase speed c = λf = 0.500, matching the model wave speed 0.50. The field stays bounded (max |u| ≈ 0.34) — the integrator is stable.
Conclusion: Two coherent sources interfere (the same physics behind the double-slit experiment), and
the membrane is a non-dispersive medium: the wavelength read off the field, multiplied by the source frequency, reproduces the model's wave speed to three figures — every wavelength travels at the same c, as the wave equation demands. The lab's first WAVE world, and a calibration of the wave-field machinery.
Confidence: High (a validation). The wavelength recovery is exact and the dispersion relation closes to
three figures; both are reproduced by a standalone numerical replica of the integrator. Open: the two-source fringe spacing vs source separation (the double-slit relation), and a *dispersive* medium (c varying with λ) to contrast with this non-dispersive membrane.
2026-06-27 — How does a smooth system slide into chaos? (the Hénon–Heiles Poincaré section)
Method:?world=henonheiles (&E=<energy>). The Hénon–Heiles Hamiltonian (a 1964 model of a star
orbiting in a galaxy), V = ½(x²+y²) + x²y − y³/3, integrated with a symplectic leapfrog. The 4-D motion is viewed through a Poincaré section: each orbit's crossings of the plane x = 0 (with pₓ > 0) are plotted in (y, pᵧ). A *regular* orbit (on an invariant KAM torus) pierces the plane on a smooth closed curve; a *chaotic* orbit scatters its piercings over a 2-D sea. Every orbit's largest Lyapunov exponent is measured with a Benettin twin to colour it blue (regular, λ ≈ 0) or warm (chaotic, λ > 0), and the chaotic-area fraction is reported. The energy E is the control knob.
Data (energy drift < 0.02% across all orbits — symplectic):
- E = 0.083 (= 1/12):100% regular — the section is entirely nested closed curves (KAM tori). - E = 0.125 (= 1/8):42% regular / 58% chaotic — the classic *mixed* section: a central tori island and a period-3 island chain embedded in a chaotic sea. - E = 0.16 (near the escape energy 1/6):12% regular / 88% chaotic — the sea has all but taken over.
Conclusion: A smooth Hamiltonian system slides from order into chaos gradually and structurally as
its energy rises — the KAM scenario. At low energy almost every orbit lies on an invariant torus; as the energy climbs the tori progressively break and a chaotic sea spreads, until near the escape energy 1/6 chaos dominates. This is the *geometric*, phase-space-structure view of chaos — the complement to the lab's Lyapunov-exponent (sensitivity) instruments, and the continuous-flow cousin of the standard map's discrete section. A new measurement *type* for the lab: the Poincaré section.
Confidence: High. The three energies reproduce the textbook Hénon–Heiles sections (all-tori → mixed →
mostly-chaotic), energy is conserved to < 0.02% by the symplectic integrator, and the regular/chaotic split is a Benettin-Lyapunov classification (λ ≈ 0 on tori vs λ > 0 in the sea). The exact percentages are grid/finite-crossing estimates carrying a few-% uncertainty near the λ threshold, but the KAM transition and its energy scale (order below ~1/10, mixed at 1/8, chaos near 1/6) are firm. Open: the chaotic-fraction-vs-energy curve, and driven / dissipative variants.
Method:?world=precession (&p=<exponent>). A "possible-world" experiment — the lab makes the force
*exponent* a knob, F = −μ/rᵖ (p = 2 is real gravity), and orbits one planet about a fixed star with a symplectic leapfrog integrator. It measures the apsidal angle Φ (the angle the planet sweeps between successive closest/farthest points) by tracking the cumulative swept angle and detecting radial-velocity sign changes, and compares Φ to the near-circular law Φ = π/√(3−p). An orbit *closes* (retraces itself) iff Φ is a rational multiple of π.
Data (energy drift < 0.01% throughout — leapfrog conserves energy):
- p = 2 (Kepler): Φ = 180.00° (= π), precession ≈ 0°/orbit → the orbit closes (a fixed ellipse). - p = −1 (Hooke / harmonic): Φ = 89.9° (= π/2) → closes (an ellipse centred on the star). - p = 2.3: Φ = 216.9° (near-circular theory 215.1°), precession ≈ +74°/orbit → a precessing rosette that never repeats.
Conclusion: Gravity's inverse-square law is *special*: under it, every bound orbit closes. Change
the exponent at all and the orbit precesses into a never-repeating rosette — *except* for the one other closing case, the harmonic force p = −1. This is Bertrand's theorem: only p = 2 (Kepler) and p = −1 (Hooke) give closed orbits for *all* bound initial conditions. It is the lab's first true counterfactual / possible-world experiment — the physical law itself as a sweepable knob (docs/ROADMAP.md "Soon" #5) — extending the Kepler-orbits validation into "what if the law were different?".
Confidence: High. The two closing cases are recovered exactly (Φ = 180.0°, 89.9°) and energy is
conserved to < 0.01%. Honest caveats: Φ = π/√(3−p) is the *near-circular* apsidal angle — exact only in the circular limit, *except* at p = 2 and p = −1 where it holds at any eccentricity; the ~0.8% gap at p = 2.3 (216.9° measured vs 215.1°) is the genuine finite-eccentricity correction (e ≈ 0.4), not error. Circular orbits are unstable for p ≥ 3 (√(3−p) turns imaginary), so the knob is bounded below 3. Open: the precession's eccentricity dependence, and the relativistic 1/r³ correction (Mercury's perihelion advance).
2026-06-27 — Is the double pendulum chaotic? (continuous-flow chaos)
masses and lengths, g = 9.81) integrated with RK4 at dt = 1/2000 — the chaos follow-up the single-pendulum world flagged. A bright pendulum is swung next to a faint ghost released δ = 0.004 rad away (so you *watch* them split), and the chaos is quantified with a Benettin twin (an invisible third copy started δ₀ = 1e-8 away; the 4-D phase-space separation is renormalised every 0.2 s and its average log-growth is the largest Lyapunov exponent λ). Default release is large-amplitude (θ = 2.4 rad); preset=regular is a gentle release (θ = 0.4 rad).
Data (energy drift = 0.000% in both — RK4 conserves energy across the window):
- large amplitude: λ converges to ≈ 1.2 (1.1–1.9); the twin separation grows exponentially (the log-divergence curve is a rising line of slope λ), and the ghost — 0.004 rad away — splits into a totally different motion within ~4 s. - gentle release: λ ≈ 0.00 (±0.01); the twin separation stays bounded (flat curve) — two coupled near-linear normal modes.
Conclusion: The double pendulum is chaotic at large amplitude — λ > 0, nearby trajectories diverge
exponentially, the defining sensitive dependence on initial conditions (a 0.004 rad difference in where you let go becomes total disagreement in seconds). Released gently it is near-regular (λ ≈ 0, quasi-periodic normal modes). This is the textbook example of chaos in a *continuous Hamiltonian flow*, and the third home for the lab's Lyapunov instrument — after the 1-D logistic map and the 2-D standard map — now a continuous flow; it is the single-pendulum world's chaos follow-up.
Confidence: High on the contrast (chaos λ ≈ 1.2 vs regular λ ≈ 0), reproduced with 0% energy drift.
Honest caveats: RK4 is *not* symplectic (energy is not conserved by construction), but at dt = 1/2000 the drift is below display precision over the window — earlier, a wrong-sign equation of motion gave 15–90% drift, the bug that 0% drift now rules out; the chaotic λ ≈ 1.2 is the largest Lyapunov exponent of this specific energy/release and varies with amplitude. Open: λ as a function of release amplitude (the regular→chaotic crossover), and the Poincaré section of the flow.
2026-06-27 — Is the three-body problem chaotic? (and the figure-8 exception)
their mutual Newtonian gravity (softened by ε = 0.04 to regularise close encounters), integrated with a symplectic velocity-Verlet (kick–drift–kick) at dt = 1/2000 — the open question Kepler orbits flagged (physics.orbits is the clean test-particle regime; here all three bodies pull each other). Chaos is measured with a Benettin twin: a second, near-identical system started a hair away (δ₀ = 1e-8) is evolved alongside; every 0.2 s the phase-space separation d (positions + velocities) is read, ln(d/δ₀) accumulated, and the twin renormalised back to δ₀ — the average log-growth rate is the largest Lyapunov exponent λ. The default is the figure-8 choreography (Chenciner–Montgomery ICs); preset=chaos releases the three masses from rest at a scalene triangle (a generic chaotic triple).
**Data (energy drift ≈ 0.000% in both — the symplectic integrator conserves energy through close
encounters): - figure-8:** λ converges 0.097 → 0.056 → 0.040 → 0.033 → 0.029 → 0.025 (t = 40 → 240) *toward 0*; the twin separation stays bounded (the divergence curve is flat); the bodies trace the figure-8 forever, no ejection. - chaos: λ converges to ≈ 1.0 (the twin separation grows exponentially — the divergence curve is a rising line of slope λ); the bodies scatter through close encounters and generically eject one body (ionisation), at which point the lab restarts a fresh episode so the dance continues.
Conclusion: The three-body problem is generically chaotic — nearby trajectories diverge
exponentially (λ ≈ 1 > 0), the hallmark of deterministic chaos (sensitive dependence on initial conditions, and the reason the problem has no general closed-form solution). But the figure-8 choreography is a stable exception (λ ≈ 0): a rare island of order — linearly stable — in which the three bodies chase each other around a single figure-8 *forever*. This extends the lab's Lyapunov instrument from 1-D dissipative maps (logistic) and 2-D symplectic maps (standard map) to a continuous *Hamiltonian flow*, and answers the mutual-gravity instability question Kepler orbits left open.
Confidence: High on the qualitative contrast (chaos λ > 0 vs figure-8 λ ≈ 0), reproduced with 0%
energy drift. Honestly qualified: gravity is *softened* (ε = 0.04, not exact Newtonian — but ε is far below the figure-8's ~0.2 minimum separation, so the choreography is essentially unperturbed and still stable); the figure-8's finite-time λ only converges toward 0 as ~ln T / T (it reads ~0.02–0.1 in the measurement window, not exactly 0 — the signature is that it *keeps falling*, while the chaotic λ holds near 1); and the chaotic λ ≈ 1 is the largest Lyapunov exponent of the softened free-fall ensemble and varies with the initial triangle. Open: the stability boundary of the figure-8, and the statistics of the ionisation (escape) times.
2026-06-27 — What phase of matter does Particle Life make? (the pair-correlation g(r))
Method:?world=paircorr (&seed=). The pair-correlation function g(r) — the radial distribution
function from statistical mechanics — measured on the live 1200-particle Particle Life field. g(r) is the density of neighbours at separation r divided by the ideal-gas expectation, so g = 1 means "as likely as random": a structureless gas has g(r) ≈ 1 everywhere, a liquid shows a tall first peak (the bond length) with damped oscillations (short-range order), a crystal shows many sharp peaks (long-range order). It is computed as a time-averaged toroidal histogram of every pairwise separation, normalised by the 3-D shell N·ρ·(4/3)π(r³ shell), out to half the smallest box dimension (L.y/2 = 9 m) where the shells still fit.
Data: A uniform-random control gives g(r) = 1.0 ± noise at every bin (mean 1.011) — the
normalisation is exact. For the default world (seed 7) g(r) converges to a tall first peak g ≈ 28 at r ≈ 0.64 m — essentially the particle contact distance (the spheres are 0.7 m) — followed by a first minimum below 1 and a decay back to g = 1 within ~3 bond lengths (2 resolved coordination shells).
Conclusion: The emergent matter is a phase-separated, dense-droplet state with liquid-like
internal order — not a homogeneous gas, not a crystal. The tall first peak at contact plus the first minimum are strong *short-range* order (particles have a definite preferred neighbour distance), but g(r) decays to 1 within a few shells with no sharp long-range (crystalline) peaks — there is no lattice. And the peak's extreme height (≫ 3) is itself the two-phase signature: under global-density normalisation it reflects the droplet/gas density contrast. This is the structural fingerprint of the *condensate* the condensation finding measures: dense, amorphous, liquid droplets coexisting with a dilute gas. The pair-correlation is the lab's structural instrument — it reads the *phase* of an emergent world, where the cluster count reads *how many* structures and the spacing reads one mean distance.
Confidence: High on the instrument (the ideal-gas control pins g = 1 exactly; the tail returns to 1 as
it must). Medium and honestly qualified on the interpretation: the *phase label* is a heuristic from the g(r) shape, and the first-peak height (≈ 28) is inflated by phase separation — g(r) normalises by the *global* density, so in a droplets-in-dilute-gas system the dense-droplet peak reflects the droplet/gas density contrast as much as the packing, not a pure liquid-structure-factor amplitude. The qualitative reading (short-range order, no long-range order ⇒ liquid/amorphous) is robust; the exact peak height is seed- and density-dependent. Open: per-species partial g(r), and tracking g(r) across the condensation μ sweep to watch the gas→liquid structural transition.
2026-06-27 — Does a chemical soup spontaneously pick a length scale? (reaction–diffusion)
Method:?world=reactdiff (&seed=, &F=, &k=). The lab's first pattern-formation / morphogenesis
world. Two chemicals U, V diffuse and react on a 200×130 toroidal grid by the Gray–Scott rule (U fed in, the autocatalytic reaction U + 2V → 3V, V removed; Du = 0.16, Dv = 0.08 so V diffuses at half U's rate, F = 0.0545, k = 0.062 — the coral/worm regime). It starts from a *structureless* soup (U = 1, V = 0 plus a few random nucleation blobs and ±1% noise) and evolves the PDE live (12 explicit-Euler sub-steps per 1/30 s tick, fields clamped to [0,1]). Once it settles, it measures the characteristic wavelength λ of the activator field V FFT-free: λ is the first off-zero peak of the *connected* spatial autocorrelation C(r) = ⟨V(x)·V(x+r)⟩ − ⟨V⟩² (averaged over both axes, toroidal; subtracting ⟨V⟩² is essential or the DC offset swamps the peak), parabola-interpolated for sub-cell precision. Pressing r re-seeds, so you can watch a brand-new pattern settle to the same scale.
Data (λ across 6 seeds, after ~700 ticks): 12.75, 13.16, 12.36, 12.83, 12.58, 12.97 cells — **mean
λ ≈ 12.8 ± 0.3 cells (2.55 world units), a ~2% spread**, while the actual worm arrangement is completely different every seed. The field stays bounded (V ∈ [0, 0.42], no blow-up). At F = 0.0545, k = 0.062 the pattern is a space-filling labyrinth of glowing worms (≈ 60% of the grid above the draw threshold).
Conclusion: A featureless reacting–diffusing medium **spontaneously selects a characteristic length
scale**: from a soup with no template, it organises into coral-like worms whose spacing λ ≈ 12.8 cells is *set by the chemistry* (the diffusion-length ratio + the feed/kill rates) and is seed-independent — the same physics gives the same scale to ~2% while the pattern itself never repeats. This is the morphogenesis intuition (an embryo's uniform field breaking into a regularly-spaced pattern) made measurable, and a genuinely new domain for the lab (pattern formation), distinct from its chaos / collective / equilibrium worlds.
Confidence: Medium-high on the existence of a reproducible, seed-independent scale (the ~2% spread
across 6 seeds *is* the error bar; the pattern's non-repetition is visually obvious on re-seed). Honestly qualified on the rest: Gray–Scott in this regime is the *self-replicating-pulse / far-from-equilibrium* system, not a clean linear Turing bifurcation, so there is *no* closed-form λ to validate against — this measures an emergent length, it does not "confirm Turing's theory." λ is also only *quasi-stationary* (Gray–Scott keeps slowly coarsening — spots split and merge), so it is reported to 2 significant figures in a settle window, not as a fixed constant. Open follow-ups: λ vs the diffusion length (expect λ ~ √D, though only approximately — the exact √D law needs a true Turing bifurcation), and the full Pearson (F, k) regime map (spots ↔ worms ↔ mitosis).
2026-06-27 — Where does chaotic transport break the quasilinear law? (the full D(K) curve)
Method:?world=transport (&seed=<n>). The open follow-up the chaotic-diffusion finding left: it
measured the momentum-diffusion coefficient at one clean kick (D ≈ K²/4 at K=5); this maps the WHOLE curve D(K) across the Chirikov standard map and exposes where it departs from the quasilinear estimate K²/4. For each K ∈ [0.5, 8.0] (step 0.25) it runs 600 orbits from random torus ICs for 420 steps, collects the per-orbit Δp², and estimates D two ways: the mean ⟨Δp²⟩/(2n) — the true transport, but dominated by rare ballistic orbits — and a robust de-biased median, median(Δp²) / (0.4549 · 2n), where 0.4549 is the median of χ²₁ that un-biases the median of a Gaussian sea back to its variance. Both are plotted as ratios to K²/4 (so the quasilinear reference is the flat line 1). A static phase portrait at K = 2π (the first accelerator mode) shows the chaotic sea with its KAM islands and the ballistic orbits that live near them.
Data (ratio D / [K²/4], reproduced across seeds 1, 7, 99):
- K = 2: mean ≈ 0.11–0.15, robust ≈ 0.05–0.07 — both ≪ 1 (strong suppression); - K = 5: mean ≈ 0.88–1.07, robust ≈ 0.83–0.98 — both ≈ 1 (and D_mean ≈ 6.08 cross-validates the separate chaosdiff world's D = 6.09 at the same seed); - K = 6.5 ≈ 2π: mean spikes to ≈ ×12, while the robust median holds ≈ ×1.8 — a ~6× split. About 3% of portrait orbits run ballistic.
Conclusion: Chaotic transport has three regimes the bare K²/4 hides. (1) At small kick (K ≲ 1–2)
surviving KAM tori block transport, so D collapses far below the quasilinear estimate (sub-diffusion). (2) In the connected chaotic sea (K ~ 4–6) D ≈ K²/4 and the two estimators broadly agree. (3) At the sharp accelerator mode K = 2π (≈ 6.5) a few orbits get trapped in resonant islands and stream ballistically (Δp ∝ n, so Δp² ∝ n²); these rare outliers hijack the mean (it spikes ~×12) while the robust median is immune (~×1.8). That split is the signature of anomalous (super-diffusive) transport, and the robust estimator — useless to read off the bare average — is the instrument that isolates it. The lab built a more careful tool (a robust scale estimator) to answer the open question its own previous finding raised. (Honest nuance: the robust median's immunity is specific to the *sharp* mode where ballistic orbits are *rare* outliers; across the broader high-K band, by K ≈ 7 those orbits become a *bulk* fraction and the robust ratio rises to ~×3 as well — it is a robust filter for rare anomalies, not a flat K²/4 baseline.)
Confidence: High on the qualitative three-regime structure and the mean-vs-robust split at K = 2π
(reproduced across three seeds). Deliberately qualitative on the numbers: the accelerator-mode spike height is dominated by a handful of ballistic orbits, so it is sensitive to the orbit count / step count / seed (×12 is "order ten," not a precise value) — that *outlier-sensitivity is the very point*, which is why the robust median is reported alongside. The de-biased median assumes a Gaussian sea, so it slightly under-reads the true transport where short-time correlations matter (e.g. ≈0.83 vs the mean's ≈0.97 at K = 5; the mean is the quantity that cross-validates chaosdiff). And it is a filter for *rare* anomalies, not a flat baseline — by K ≈ 7 the ballistic orbits become typical and the robust ratio rises to ~×3 with the mean. The open follow-ups: pin the anomalous exponent μ in ⟨Δp²⟩ ∝ n^μ at the accelerator mode (μ > 1), and resolve the Rechester–White correlation corrections that wiggle D around K²/4 in the sea.
2026-06-27 — Does deterministic chaos produce diffusion? (the kicked rotor's momentum walk)
Method:?world=chaosdiff (&seed=<n>). Pulled off the lab's own open-questions launchpad (the
"measure how fast chaos diffuses" frontier card). In the Chirikov standard map p ← p + K·sin θ, θ ← θ + p (mod 2π), the chaotic sea decorrelates θ so fast that the momentum kicks K·sin θ act like independent random pushes — so momentum should random-walk even though every step is exactly determined. The lab fixes K = 5 (deep in the connected chaotic sea), runs an ensemble of 2400 orbits from random points on the torus, and measures the mean-square momentum displacement ⟨Δp²⟩(n) at nine step-counts n ∈ [30, 600]. A diffusion requires ⟨Δp²⟩ = 2Dn (linear in n); the least-squares slope gives D, compared to the quasilinear estimate D = K²/4 (perfectly independent kicks: ⟨(K sin θ)²⟩ = K²/2 per step ⇒ D = K²/4).
Data (seed 7): ⟨Δp²⟩(n) is dead straight — the per-step increment ⟨Δp²⟩/n holds at ≈ 12.2 across all
nine checkpoints (no drift ⇒ genuinely diffusive, not ballistic or trapped). The fitted slope is 12.18, giving D = 6.09, against the quasilinear K²/4 = 6.25 — agreement to ~2.5%. (Independently reproduced: ⟨Δp²⟩/n ≈ 11.8–12.6, D ≈ 6.06.)
Conclusion: Deterministic chaos produces bona-fide diffusion: in the kicked rotor's connected
chaotic sea the momentum mean-square displacement grows linearly with step number, and the measured diffusion coefficient matches the quasilinear prediction K²/4 to a few percent — a *transport number* put on Hamiltonian chaos, with no randomness anywhere in the map. This is the dynamical-systems sibling of the random-walk diffusion finding: there the steps are drawn from a Gaussian; here they are produced by pure deterministic chaos, yet the same ⟨Δp²⟩ = 2Dn law emerges.
Confidence: High *at K = 5*. The linearity is clean and the K²/4 match is reproduced by an
independent reimplementation. The scope is deliberately one kick strength: the quasilinear estimate is best in this connected-sea window and is known to break down elsewhere — surviving KAM tori suppress D below K²/4 at small K (K ≲ 1), and the accelerator modes at K = 2πm (≈ 6.28, 12.57, …) trap ballistic orbits that make transport *anomalous* (super-diffusive), so the mean D(K) is an unstable estimator near resonances (an early D(K) sweep swung run-to-run for exactly this reason — the pivot to a single clean K is what makes the measurement crisp). Mapping the full D(K) curve with a robust estimator — the low-K tori tail and the accelerator-mode spikes — is the open follow-up.
2026-06-27 — Is the Particle Life condensation transition first-order? (the next OPEN question)
Method:?world=hysteresis. The follow-up to the condensation finding (which measured *where* the
gas condenses, μ_c ≈ −0.18; this asks *what kind* of transition it is). It sweeps the mean-interaction shift μ UP from repulsive to attractive (the gas condenses), then back DOWN (the condensate dissolves), reading the bound fraction on both branches. A hysteresis loop — the condensed state surviving below the μ where it first formed — marks a first-order (discontinuous, metastable) transition; overlapping branches mark a continuous one. The loop width is Δμ = μ_c(↑) − μ_c(↓).
Data (seed 7): The ascending (condensing) branch crosses bound = ½ at μ_c(↑) = −0.18 (matching the
condensation finding); the descending (evaporating) branch crosses at μ_c(↓) = −0.22. Through the lower transition window (μ from −0.6 to −0.2) the evaporating branch sits above the condensing one at all five points (e.g. at μ = −0.2: 0.53 down vs 0.46 up; at −0.28: 0.40 vs 0.31); the crossings differ by Δμ ≈ +0.04. (Near saturation the two branches coincide within the ~0.03 measurement noise.)
Conclusion: The lab finds a real but narrow hysteresis loop — the evaporating branch crosses ½
at a lower μ than the condensing branch and lies above it through the transition window, so the condensate is metastable, persisting as the mean interaction is lowered ~0.04 below where it nucleated (the Particle Life analogue of supercooling). The METASTABILITY is the firm result; its WIDTH (Δμ ≈ 0.04) sits at the μ-grid resolution, so this points to a *weakly* first-order / near-continuous transition without pinning the order. Deepens the open condensation finding from *where* to *what kind*.
Confidence: Medium on the loop's existence (the sign is consistent across all five lower-window
points), low on its magnitude/category. Δμ ≈ 0.04 is below the μ-grid spacing (~0.08) and the finite settle time, and it is a single seed / single up-down pass — so the order of the transition is not yet resolved. The honest next steps: a finer μ-grid + longer settle to pin Δμ, repeated passes for an error bar, and averaging over seeds.
2026-06-27 — When does a Particle Life "gas" condense into structure? (an OPEN question)
Method:?world=condense. The lab's first experiment on the EMERGENT substrate with no textbook
answer to look up. It captures the seed's random 5×5 interaction matrix as a base, then sweeps a uniform shift μ added to every entry (μ ≪ 0 ⇒ all species repel ⇒ a dispersed gas; μ ≫ 0 ⇒ all attract). At each μ it lets the live 1200-particle field re-settle and reads the cluster observable, recording the bound fraction (particles in any cluster ≥4, the condensation order parameter) and the largest-cluster fraction. The condensation point μ_c is where the bound fraction crosses ½.
Data (bound fraction vs μ): 0.02 (μ=−0.6), 0.18 (−0.4), 0.35 (−0.25), 0.65 (−0.1), 0.82 (0),
0.91 (0.15), → 0.95 by μ=1. A sharp S-curve; crossing ½ gives μ_c ≈ −0.18. The largest-cluster fraction, by contrast, only rises to ≈0.29 and then *falls* — at μ=1 the field is 95% bound but split into ~22 droplets (largest ≈258/1200).
Conclusion: A Particle Life system has a genuine condensation transition: below a critical mean
interaction μ_c ≈ −0.18 the particles stay a dispersed gas; above it they collapse into bound structure, the bound fraction jumping from ~2% to ~95% over a narrow μ window. Strikingly, the condensate is multi-droplet, not a single clump (the largest cluster never exceeds ~¼ of the population) — a discovered, non-obvious feature. This is the lab's first MEASURED (not validated) answer: the machinery, calibrated against a dozen textbook results, applied to a question with no closed-form solution.
Confidence: Medium. The transition is unmistakable and reproducible, but μ_c is specific to this
seed's matrix pattern and box density, and the sweep is a single upward pass with finite settle time (so μ_c may carry mild hysteresis). The honest next steps: average μ_c over many seeds, sweep μ both up and down to bound the hysteresis, and map a 2-D slice (mean × asymmetry) toward a real phase diagram.
2026-06-27 — How much of the plane does a fractal fill? (the Sierpiński dimension)
Method:?world=fractal. The chaos game — start anywhere, then repeatedly jump halfway toward a
randomly chosen corner of a triangle — generates 80,000 points, which converge on the Sierpiński gasket. The lab measures its fractal dimension by BOX-COUNTING: cover the plane with boxes of side ε (a 2ᵏ×2ᵏ grid, k=1…8) and count how many contain a point, N(ε); a smooth line gives N∝ε⁻¹, a filled area N∝ε⁻², a fractal a non-integer power N∝ε⁻ᴰ. It fits D as the slope of log₂N vs log₂(1/ε) — the scaling-law fitter (ROADMAP #7). Validated against the exact Hausdorff dimension D = log 3 / log 2.
Data (box counts vs refinement k): N = 4, 12, 36, 108, 324, 972, 2916 — each refinement multiplies
the occupied-box count by exactly 3, so log₂N gains log₂3 = 1.585 per step. The least-squares slope over k ∈ [2,6] gives D = 1.585, matching log 3 / log 2 = 1.585 to the displayed precision (0% error).
Conclusion: The Sierpiński gasket is a genuine fractal — self-similar (three half-scale copies of
itself) and of non-integer dimension D ≈ 1.585, strictly between a 1-D line and a 2-D area. The box-counting scaling law recovers that dimension exactly. This is the third and last of the lab's automated analysis instruments (after the Lyapunov exponent and the susceptibility phase-transition detector), and the first foray into fractal geometry.
Confidence: High. The exact 3× box-count ratio per refinement is a clean, parameter-free signature
(the fit is essentially noise-free because the chaos game lands precisely on the deterministic attractor); the only error sources — finite point count at the finest grid and the coarsest-box edge effect — are excluded from the [2,6] fit window. The measured D equals the exact value to 3 decimals.
2026-06-27 — Do predator and prey populations settle, or oscillate forever? (Lotka–Volterra)
(predators) are integrated with RK4 (α=1, β=δ=0.5, γ=1 → coexistence point (x*,y*)=(2,2)). The lab watches the phase-space orbit, tracks the conserved quantity V = δx − γ·ln x + βy − α·ln y (the ecological analogue of energy), and measures the cycle's period from successive prey peaks. It checks two textbook facts: V should be constant (the orbit is a closed level curve), and small oscillations should have period T₀ = 2π/√(αγ).
Data: Started off-equilibrium at (1,1), the populations cycle indefinitely — neither settling nor
dying out — with a stable period 6.69 over 12 measured cycles, and V conserved to 0% relative drift across those cycles. Predators peak roughly a quarter-cycle after prey (the classic lag, visible in the time series). The small-amplitude prediction is T₀ = 2π ≈ 6.283.
Conclusion: A predator–prey system does not reach a steady balance — it oscillates forever on a
closed orbit, pinned there by the conserved quantity V (the integrator holds V to ~machine precision, confirming both the conservation law and the numerics). The measured period 6.69 sits just above the small-amplitude value 2π, the expected growth of the period with amplitude (the same nonlinear effect the pendulum shows). Adds population dynamics / ecology to the validated domains.
Confidence: High. V conservation is exact to displayed precision and the period is stable to ~0.1%
across cycles; the +6.5% offset from 2π is the genuine finite-amplitude correction (the closed-form 2π/√(αγ) is the linearised limit), not error. A full amplitude sweep would trace period vs amplitude (as the pendulum finding does).
2026-06-27 — Does a 2-D magnet have a sharp critical temperature? (the Ising / Curie transition)
Method:?world=ising. A toroidal lattice of ±1 spins favours aligning with its four neighbours
(ferromagnetic J=1) and is shaken by thermal noise at temperature T via the Metropolis algorithm. The lab runs an equilibrated sweep (on a 48×48 lattice): at each T it relaxes the spins (300 sweeps) then averages the magnetisation ⟨|M|⟩ and the susceptibility χ = N·Var(M)/T (600 sweeps), and locates the critical temperature at the χ PEAK — the phase-transition detector. Validated against Onsager's exact 2-D result Tc = 2/ln(1+√2) ≈ 2.2692.
Data: ⟨|M|⟩ falls from ≈0.92 (low T, magnetised) through ≈0.5 to ≈0.05 (high T, disordered); χ
rises to a sharp peak at the transition. The measured χ-peak Tc lands at ≈ 2.3 (2.27–2.36 across random seeds; ?seed=7 → 2.314), i.e. within ~2–4% of the exact value.
Conclusion: A 2-D magnet has a genuine, sharp phase transition: below a critical temperature the
spins lock into a magnetised majority (ferromagnetic order); above it thermal noise wins and the magnetisation vanishes (paramagnet). The lab *locates* that critical temperature from the susceptibility peak and recovers Onsager's exact Tc to within finite-size error — a new domain (equilibrium critical phenomena) and the first use of the variance/peak phase-transition detector (ROADMAP #7) on a textbook transition (#8).
Confidence: Medium-high. The transition is unmistakable and the χ peak brackets Onsager's Tc; the
residual ~2–4% overshoot and the ±0.04 seed-to-seed scatter are the expected finite-size (L=48) shift plus single-spin-Metropolis critical-slowing noise (the peak sits on a ΔT≈0.04 temperature grid). A larger lattice with cluster updates (Wolff) would sharpen it toward 2.2692.
2026-06-27 — How does order dissolve into chaos in a conservative system? (the KAM transition)
Method:?world=stdmap (&K=<n> sets the kick). The Chirikov standard map p ← p + K·sin θ,
θ ← θ + p (mod 2π) — the stroboscopic kicked rotor, an *area-preserving* (Hamiltonian) map, unlike the dissipative logistic map. For a grid of 99 initial conditions the lab iterates each orbit, computes its Lyapunov exponent λ from the tangent map (Benettin renormalisation), and classifies it regular (λ≈0, on an invariant torus) or chaotic (λ>0, in the stochastic sea). It plots the θ–p phase portrait coloured by λ (blue tori / red sea) and measures the chaotic-area fraction as the kick K is raised.
Data (chaotic fraction vs K): K = 0.4 → 0%, 0.8 → 9–12%, 1.0 → 28–32%, 2.0 → 77%, 4.0 → 93%. The
fraction is ~0 below K ≈ 1 and rises steeply just above it; the known critical kick (last spanning KAM torus, Greene/Chirikov) is K_c ≈ 0.9716.
Conclusion: A conservative system loses its order *gradually and structurally*: at small K every
trajectory rides an invariant torus (regular, quasiperiodic); as K passes ≈1 the tori break in the KAM scenario and a connected chaotic sea spreads, growing to fill phase space — order dissolving into chaos with no dissipation and no attractor, a fundamentally different route than the logistic map's period-doubling. The measured onset of widespread chaos (fraction climbing through K ≈ 1) matches the KAM threshold K_c ≈ 0.97. Extends the Lyapunov instrument from a 1-D dissipative map to a 2-D symplectic one, and pairs Hamiltonian chaos with the dissipative chaos already on file.
Confidence: Medium-high. The transition and its location (K ≈ 1, bracketing K_c) are robust and
reproduced by an independent reimplementation. The exact fraction at a given K is a grid/finite-iteration estimate (orbits near the separatrix are borderline at ITERS = 600), so the percentages carry a few-% uncertainty — but the qualitative KAM picture and the K_c-scale onset are firm.
2026-06-27 — Can we put a *number* on the logistic map's chaos? (the Lyapunov exponent)
Method:?world=logistic (Lyapunov instrument under the bifurcation diagram). For each growth
rate r ∈ [2.5, 4] the lab measures the Lyapunov exponent λ(r) = ⟨ln|f′(x)|⟩ over the attractor (f′ = r(1−2x)), averaging 2000 iterations after a 1000-step transient, seeded off the critical point. λ is the mean exponential rate at which nearby trajectories separate: λ < 0 ⇒ order (perturbations decay onto a stable cycle); λ > 0 ⇒ deterministic chaos (sensitive dependence). Two textbook anchors validate it: the chaos onset (λ first turns positive) should sit at the Feigenbaum accumulation point r∞ ≈ 3.5699, and λ(4) should equal ln 2 ≈ 0.6931 exactly (the fully-chaotic map is analytically known).
Data (measured λ vs regime): λ(2.8) = −0.22 (stable point), λ(3.4) = −0.14 (period-2), λ(3.6) =
+0.18 and λ(3.7) = +0.35 (chaos), λ(3.83) = −0.37 (the period-3 window — chaos interrupted), λ(4.0) = 0.693 = ln 2. Measured chaos onset r∞ ≈ 3.571 (theory 3.5699). λ dives toward −∞ at every period-doubling/superstable point and is positive across the chaotic bands.
Conclusion: Chaos in the logistic map is now *quantified*, not just shown: λ is negative
throughout the ordered regime, crosses zero at the period-doubling accumulation point, and is positive in the chaotic bands — dipping back negative inside every periodic window (the period-3 window at r ≈ 3.83 reads λ < 0). The measured onset matches r∞ to 3 figures and λ(4) matches ln 2 to 3 decimals. This is the first *quantitative instrument* (ROADMAP #7) — a measured exponent, not an eyeballed diagram — and it lines up, band-for-band, with the bifurcation diagram above it.
Confidence: High on the anchors (λ(4) = ln 2 to ±0.001; onset within ~0.001 of r∞). The exact
depth of the negative dips is finite-N/finite-resolution limited (deep superstable spikes are floored and clamped for display), and the onset is detected on a discrete r-grid (dr ≈ 0.0038), but the sign structure — the actual physics — is robust.
2026-06-27 — Does a planet's year really go as the 3/2 power of its orbit? (Kepler's third law)
Method:?world=orbits. A fixed central star (gravitational parameter μ = GM = 400) pulls 6
planets by Newton's inverse-square law; each starts on a circular orbit of radius a ∈ {4,6,9,12,15,18} at the analytic speed v = √(μ/a). Symplectic leapfrog integration (kick–drift–kick, Δt = 1/240). The lab measures each planet's period T by timing a full revolution (a +X-axis crossing), then plots measured T² against a³ and compares the slope to Kepler's constant 4π²/μ = 0.0987 s²·unit⁻³.
Data (measured T vs analytic 2π√(a³/μ), and the ratio T²/a³):
Conclusion: The square of the period is proportional to the cube of the orbital radius — the
ratio T²/a³ is the *same constant* (0.0987 = 4π²/μ) across all six orbits, which span a 91× range in a³. Kepler's third law holds, and the measured constant matches the Newtonian prediction exactly. The six points fall on the theory line on screen. Adds orbital mechanics to the validated domains (mechanical, statistical, collective, chaotic).
Confidence: High. Agreement with the closed-form period to ≤0.02%, and the orbit radius is
conserved to ≤1e-4 over 10 revolutions (the symplectic integrator does not drift). Residual error is the discrete crossing detection (≤ one Δt), reducible by the running average over more orbits. Note this is the *clean* central-force (test-particle) regime — planets don't perturb each other; mutual n-body gravity (and its instabilities/chaos) is a separate, open question.
2026-06-27 — At what noise does a flock stop flocking?
Method:?world=flock (auto-sweep). N=600 Vicsek agents align with neighbours within a radius
under heading noise η. Starting from a settled flock, the in-app experiment raises η step by step (without re-randomising, so the flock tracks the ordered branch), averages the polar order parameter φ = |⟨e^{iθ}⟩| at each, plots measured φ(η), and marks the apparent critical noise η_c where φ falls through ½. Unlike the Kuramoto/pendulum findings this is a discovered answer — finite-N Vicsek has no closed-form transition to look up.
Data (measured φ vs η): φ ≈ 0.97 at η = 0.1, 0.89 (0.2), 0.73 (0.3), 0.59 (0.4), 0.48 (0.45),
0.33 (0.5), 0.12 (0.55), → 0.04 by η = 0.85. Crossing φ = ½ gives η_c ≈ 0.44. (A mild dip at η = 0 below the η = 0.1 peak is real: a little noise helps separate domains merge into one flock.)
Conclusion: The flock undergoes an order–disorder transition — coherent collective motion below a
critical noise, random milling above it — and the lab *measures* that critical noise at η_c ≈ 0.44 for this density/speed. Demonstrates the experiment harness answering a question with no looked-up answer.
Confidence: Medium. The transition is unmistakable and η_c is robust, but the exact value shifts
with density/speed and the finite settle time (the slow Vicsek coarsening limits how fully each point equilibrates); a longer sweep would sharpen η_c.
2026-06-26 — How does the logistic map's long-term behaviour depend on its growth rate, and is the period-doubling universal?
Method:?world=logistic. Iterate xₙ₊₁ = r·xₙ·(1−xₙ) across 640 values of r ∈ [2.5, 4],
discard the transient, and plot the attractor → the bifurcation diagram. Measure the first period-doubling onsets (period 1→2, 2→4, 4→8) by counting distinct settled values, and the Feigenbaum ratio δ = (r₂−r₁)/(r₃−r₂).
Data (measured onset vs theory): r₁ = 2.999 (3.000), r₂ = 3.450 (3.449), r₃ = 3.544 (3.544);
δ = 4.751 vs the Feigenbaum constant 4.669. The diagram shows the cascade 1→2→4→8→… accelerating into chaos (onset ≈ 3.57) with periodic windows beyond.
Conclusion: The map's long-term behaviour is a single stable point that period-doubles as r
grows, cascading into deterministic chaos; the measured doubling onsets match theory to 3 decimals, and the ratio of successive intervals approaches the universal Feigenbaum constant. PHS reproduces the period-doubling route to chaos and its universality.
Confidence: High on the onsets (3-decimal agreement). δ = 4.751 is the expected *pre-asymptotic*
value from only the first three bifurcations — the ratio converges to 4.669 as n→∞; resolving deeper bifurcations (r₄, r₅, …) would tighten it but needs finer r-resolution.
2026-06-26 — Does a cloud of random walkers spread according to the diffusion law?
Method:?world=diffusion. N=1500 particles start at a point and each takes an independent
Gaussian step (σ=0.25 per axis) every Δt=1/60 s — a 2-D random walk. The lab measures the mean-square displacement ⟨r²⟩(t) and fits its slope through the origin, comparing the recovered diffusion coefficient to the analytic D = σ²/(2Δt) = 1.875 and the law ⟨r²⟩ = 4·D·t. Repeated over several recollapse cycles.
Data (recovered D across 3 cycles vs analytic 1.875): 1.862, 1.939, 1.864 — mean ≈ 1.89,
within ~1% of prediction; ⟨r²⟩ reaches ~71 at t≈9.4 s, matching the predicted slope 4D = 7.5. The measured ⟨r²⟩(t) tracks the straight theory line.
Conclusion: The mean-square displacement grows linearly in time and the recovered diffusion
coefficient matches σ²/(2Δt). The simulator reproduces the diffusion law / Einstein relation — validating the lab's statistical-measurement machinery, a different physics domain from the mechanical pendulum and the collective Kuramoto oscillators.
Confidence: High. Per-cycle scatter (±~3%) is the expected finite-N (N=1500) statistical noise,
centred on the analytic value; the linear law holds across every cycle.
2026-06-26 — Does a pendulum's period follow the small-angle law, and how does it depend on amplitude?
Method:?world=pendulum (&amp=<deg>). A simple gravity pendulum (L=4 m, g=9.81 m/s²),
energy-conserving velocity-Verlet integration, releases from rest at amplitude θ₀ and measures its own period from successive turning points. Compared to the naive small-angle law T₀ = 2π√(L/g) and the exact T = T₀ / AGM(1, cos(θ₀/2)) (complete elliptic integral). Swept θ₀.
Data (measured vs exact, with deviation from the naive T₀ = 4.012 s):
Conclusion: The small-angle law is accurate only for small swings (<1% error below ~20°); the
true period grows with amplitude and the measured period tracks the exact elliptic-integral formula to <0.01% over the whole range (up to +144% above the naive value at 170°). The simulator reproduces the textbook period law, including its nonlinear large-amplitude correction.
Confidence: High. Agreement with a closed-form result to <0.01%; the symplectic integrator keeps
the period stable. Residual error is the discrete turning-point detection (≤ one SIM_DT), reduced by averaging.
2026-06-26 — Do coupled oscillators synchronise, and at what coupling?
Method:?world=kuramoto (auto-sweep, or &K=<n>). N=800 mean-field Kuramoto oscillators with
Lorentzian natural frequencies (γ=1). The in-app sweep holds each coupling K, lets the order parameter r settle, and plots measured r(K) against the exact Strogatz prediction r = √(1−Kc/K), Kc = 2γ = 2.
Data (measured r vs prediction): r ≈ 0.04 (finite-N floor) for K < 2; K=3 → 0.567 (pred 0.577);
K=4 → 0.715 (0.707); K=6 → 0.831 (0.816). Sharp onset at K ≈ 2.
Conclusion: The system reproduces the Kuramoto synchronisation transition — incoherent below the
critical coupling Kc=2, spontaneously synchronised above it — and the order-parameter curve matches the exact mean-field result. Calibrates trust in the order-parameter measurement used elsewhere.
Confidence: High away from the transition (err <0.015 for K ≥ 3); the larger deviation at/just
above Kc is the expected finite-N (N=800) rounding of the sharp transition, not a model error.