An instrument · a beam in disorder · caustics

Branch

Aim a beam of anything that travels in rays — electrons in a clean semiconductor, sound in the ocean, starlight through the interstellar plasma — at a landscape of very weak, very smooth bumps, so gentle that no ray is ever turned by more than about a thousandth of a radian (the interactive ε below is deliberately dialed up to a few percent, so the branching fits in a screen-sized box — the same trade-off already made for the cusp-density curve further down). It should spread into a smooth fog. It does not: it collects into branches — bright filaments that split and carry many times the average intensity. Branching is focusing, not scattering, and the focusing points are caustics. The first branch forms at a distance that scales as the −2/3 power of the bump strength — the same law across all of these systems. The same focusing shows up in atmospheric scintillation and in the wave-current caustics behind ocean rogue waves.

I · Look

One beam, one landscape

Below, 20,000 rays stream left→right through a seeded, smooth Gaussian random potential (drawn faintly underneath, in dim indigo — deliberately dim, because it really is that weak). Their accumulated intensity is drawn as a golden field on near-black: watch it collect into filaments that split. Beside it, the control: the exact same rays, given the same total deflection variance, but delivered as uncorrelated kicks instead of a smooth field — a featureless diffusive fan. Same amount of randomness. Completely different picture.

Ray trace, chassis Blob-worker livetracing…
0.050
the beam — accumulated ray intensity, log-compressed; the faint underlay is the potential itself.
control — same seed, same Lc, same total ⟨θ²⟩, no correlation. No branches.

In light mode the two canvases keep a fixed near-black / pale-ground "instrument display" look of their own, independent of the page card — the ramp itself inverts (dark umber → magenta on white here, rather than gold → magenta on black) so the beam stays legible on either background; see the caption under Provenance.

II · The statistic

Focusing, then speckle

Scintillation index σI² = (⟨I²⟩−⟨I⟩²)/⟨I⟩² in binned columns, computed from the SAME running trace above: it rises from 0, peaks well above 1 in the branch regime, and relaxes back down far downstream. The diffusive control's index stays near the shot-noise floor throughout — it never has anything to peak at.

σ_I² vs propagation distance livepeak at x/Lc = · control peak
branch tracediffusive controlσ_I²=1 (far-field speckle)

The exact peak magnitude is bin-resolution dependent (finer bins near a caustic read higher — see Provenance); "peak > 1, control ≈ shot floor" is the robust, resolution-free claim.

The −2/3 law

First-caustic distance d₁ vs disorder strength ε, log–log, fitted live in a background worker (median statistic, box grown until the capture fraction converges — see report). The fit below is a fresh, smaller in-browser sample; it is not the full recorded run, and it will land somewhere in the same honest band each time you resample.

measured d₁(ε), this browserlive fit−2/3 reference
fitted exponent± live, this browser prefactor C (measured, not derived) R², box capture fraction

Honest reading: the exponent is measured, not exact — it brackets −2/3 within about one standard error but is not pinned tighter than that. The kernel's full recorded run (many more seeds, wider range) gives −0.7101 ± 0.0531 stored, i.e. the robust band is roughly −0.63 … −0.74, centred near −2/3. An earlier, naive fixed-box mean estimator gave a deceptively tight −0.679 ± 0.034 that was a box-truncation artifact (small-ε rays censored before they caustic'd) — this page's fit uses the corrected median + adaptively-grown box, exactly like the kernel test suite, so it does not repeat that mistake. Never read a sub-0.04 error bar on this exponent.

III · The deeper theory

Counting caustics

A caustic is detected exactly, as a sign change of the ray Jacobian q = ∂y/∂y₀ — never by thresholding brightness. In a generic two-dimensional flow, Thom's theorem says only two kinds of singularity are stable: folds (where q=0) and cusps (where q=0 and the second variation q₂=0 as well). Cusps are far rarer. Both densities rise from the onset of branching; their ratio settles to a roughly constant value — that settling, not the picture, is the measurement.

Fold & cusp density vs distance, one traced bundle livetracing…
fold densitycusp density (×10, for visibility)
cusp/fold ratiosettled mean
cusp/fold ratio, pooled per tracelive, mean over a few seeds seed-to-seed spread folds / cusps counted (all seeds)

Individual caustic counts in the deeply-folded regime are resolution-limited — the Lagrangian manifold genuinely folds at ever finer scales downstream, so a finer y₀ grid always finds more. The ratio is the resolution-independent invariant this page reports; see Provenance for the full caveat.

IV · The dial

Turn up the disorder

A fixed viewing box, L = 30 Lc. Sweep ε across about two decades and the box's own content tells you where you are: no structure yet (ballistic), the first caustic reaching the far edge (first caustic), several branch generations inside the box (branch regime), and finally so many overlapping generations that ray-density statistics stop being usefully sparse (deep / speckle-like — a wave solver would show true Rayleigh speckle here; this ray kernel does not compute that panel, see Provenance).

preview at the current ε, same fixed box live
diffusive control, same ε
scintillation peak / positionlive median first-caustic distance d₁/Lc herelive, single fixed-box pass (not adaptively grown, for speed — see Provenance) regime

Only the ratio matters

Fixed ε, same seed. Move the correlation length ℓc and the box grows with it (L = 20 ℓc) — the picture, plotted in units of ℓc, reappears rescaled but otherwise unchanged. That is what "only ε matters, not ℓc on its own" means.

1.0
x, y axes in units of ℓc — compare to the ε preview above at ℓc=1
V · The game

Aim

You place a small detector somewhere downstream; the machine fires the beam; your score is the intensity caught. Round 1 — aim for position: you choose y blind, before the field is revealed. The branches sit off-axis and jump to a new place every time the seed changes by one — aiming down the middle earns you roughly the average intensity, not the peak. Round 2 — bet on the maximum instead: guess how bright the brightest point in a downstream column will be, not where it is. That number is far more predictable than its location. Losing the first and winning the second is the lesson.

Round 1 — Aim for position

ε=0.06, new seed each round livePress Start, then use ←/→ to aim and Space to fire.
Round 0 / 5
your detectorrevealed profiletrue peak
Press Start to begin round 1.

Round 2 — Bet on the maximum

Same ε, new seed each round liveFinish round 1 first, or press Start to calibrate now.
Round 0 / 4
Not started.
Round 1 mean catch (× the average intensity) Round 1 mean peak you missed Round 2 correct0 / 0
Provenance

What is exact, what is measured

Re-verify, right now, in this browser: the diffusive control has no scintillation peak worth the name, and caustics really are sign changes of the Jacobian (checked against a central-difference estimate).
Not run yet.

Live, exact, stored

The field's value and every derivative used by the ray equations come from the same closed-form Fourier coefficients (never finite-differenced), and a caustic is a literal sign change of the ray Jacobian — both exact, checked here against a central-difference cross-check on request. The −2/3 exponent's derivation is exact but its prefactor and its practical value from any finite run are measured — reported with an honest error bar and a documented box-truncation caveat, never a deceptively tight number. Scintillation, the fold/cusp ratio, and the first-caustic distances shown are all computed live in your browser; a few numbers that need far more seeds than a single browser session should spend are quoted from the kernel's recorded test run and tagged stored.

The colour ramp on the ray canvases is a fixed "instrument ground" that inverts across themes on purpose (like Flash's ember/flash pair): dark theme glows from near-black through dim amber to bright gold to a magenta peak; light theme runs from a pale warm ground through a faint tint to a dark saturated ochre to the same magenta peak, so the beam stays legible against either background. The magenta reserved for the very top of the intensity range is the same hue used for caustic markers elsewhere on the page — both mean "a rare, bright event."

QuantityStatusValue / evidence
ε non-dimensionalisationexactε ≡ rms(u), where u = V/(2E) is the dimensionless reduced potential in the paraxial ray equation y″(x) = −∂u/∂y (from px ≈ √(2mE), V ≪ E, py ≪ px). This is the only strength definition the −2/3 law is measured against — report §1.
Field value and all derivatives, same Fourier coefficientsexactclosed form; matches central differences to ≤1.4e−11 (grad), ≤2.2e−6 (Hessian) — kernel report §2
A caustic is a sign change of the ray Jacobian qexactnot a brightness threshold; detected caustic has |q| ≈ 5e−7 in the kernel's own check
Fold/cusp classification (Thom, A2/A3)exactgeneric 2-D singularity theory; only these two are structurally stable
Far-field speckle σ_I² → 1 (Rayleigh)exactexact for a Gaussian field, but a wave result — not computed by this ray-only kernel (no split-step Fresnel panel here); ray-density σ_I² does not itself converge to 1
First-branch exponent −2/3exact / measured−2/3 is the derived exponent (Kulkarny–White; Metzger–Fleischmann–Geisel 2010); the prefactor C and any finite-run fitted value are measured
Kernel's recorded exponent fit (JS, full run)stored−0.7101 ± 0.0531, C=1.446, R²=0.978, median statistic, box-converged (minFrac=0.967) — report §3
Independent Python reference fitstored−0.7446 ± 0.0709, C=1.161 (report §3); both agree with each other and with −2/3 within ~1 SE
d1/Lc invariant under Lc (scale covariance)storedmax relative spread 0.079 across Lc=0.5,1,2.5 at fixed ε — report §4
Branch scintillation peak > 1, control ≈ shot floorstoredbranch 1.52–1.58 vs control 0.058 at ε=0.02/0.08 — report §5 (this page's own live numbers differ — different box/seed — but show the same qualitative gap)
Cusp/fold ratio settles, sampling-independentstored≈0.079–0.089 across ray counts 1800/3000 and nCols 240/360 — report §6
Section IV regime label (ballistic/first caustic/branch/deep)liveNOT read off the scintillation peak (too noisy near the transition — an early fold from one mode can spike it even where behaviour is typically ballistic) and NOT the target-fraction-adaptive box used for the exponent fit (that can chase a box hundreds of Lc long at very small ε and cost seconds). Instead: of a batch of rays launched into the CURRENT fixed box, the live fraction that already show a caustic by the far edge — bounded cost regardless of ε. A single field realization of that fraction is itself as noisy as the scintillation peak it replaces, so as of this build the field behind the picture no longer reseeds per slider tick (one fixed field realization is swept continuously in ε instead) — measured to keep the fraction close to monotonic in ε, not claimed to be exactly so. The displayed d₁ is a separate, single fixed-box pass, shown for its own sake, not used for the label.
Determinismexactidentical seed ⇒ bit-identical field and ray results

References

M. C. Topinka, B. J. LeRoy, R. M. Westervelt et al., Coherent branched flow in a two-dimensional electron gas, Nature 410, 183 (2001). L. Kaplan, Statistics of Branched Flow in a Weak Correlated Random Potential, Phys. Rev. Lett. 89, 184103 (2002). J. J. Metzger, R. Fleischmann & T. Geisel, Universal Statistics of Branched Flow, Phys. Rev. Lett. 105, 020601 (2010). M. V. Berry & C. Upstill, Catastrophe Optics, Prog. Optics 18, 257 (1980). R. Thom, Structural Stability and Morphogenesis (1972). V. I. Kulkarny & B. S. White, Focusing of waves in turbulent inhomogeneous media, Phys. Fluids 25, 1770 (1982). Cited from knowledge: this build had no network, so exact page/volume numbers for Metzger 2010 and Kulkarny–White are unverified offline; the physics they state is checked numerically here and independently in the kernel's Python cross-check.

Rogue-wave framing is meant modestly: the ocean carries extra physics (nonlinearity, dispersion) this linear-ray model omits. The mechanism it demonstrates — smooth disorder focuses rather than blurs — is the shared piece.

Contact the author: np56123@icloud.com