diff --git a/HANDOFF.md b/HANDOFF.md
index c4fb54a..775e378 100644
--- a/HANDOFF.md
+++ b/HANDOFF.md
@@ -482,6 +482,24 @@ nothing for it to cut exactly where the crowd stands.
are AIMING rather than only on the shot. Measured on desktop: 0.27 ms/frame with 20 bodies against
a 16.7 ms budget.
+## T.laserScene() — a posed, PAUSED scene for looking at a shot
+
+`T.laserScene()` in the console (or load the page with `#laser`) drops you into splatter with six
+bodies of different types at known depths, the laser armed, a full pull held, and the world PAUSED.
+
+**`T.pause(true)` freezes the world but keeps DRAWING**, which is the point: change `TUNE.beamY` or a
+colour in devtools and the next frame shows it, with the scene standing still. The old test recipe
+halted rAF instead (`requestAnimationFrame = () => 0`), which freezes the picture too and is useless
+for judging how something looks. `T.pause(false)` runs again; `T.render()` redraws by hand.
+
+It sets `TUNE.zMax = 0` so nothing wanders into the shot — that persists after unpausing, so reload
+before playing on.
+
+The knobs worth turning there: `beamY` (the height the plane holds, and the line it cuts bodies at),
+`beamOriginY`, `beamRise`, `beamW0`/`beamW1` (half-width at the racket and at the far end), `beamLen`
+(the KILL range — the drawn length is solved separately against the ad strip), `beamT`, `dmgBeam`.
+The cone's colours are the gradient stops in `drawBeamWedge`; the cut line is `CUT_COL`.
+
## TEST MODE — triple-tap the scoreboard
A sandbox for trying new content without playing twenty games to reach it. Three taps on the
diff --git a/index.html b/index.html
index 8dd8279..167531a 100644
--- a/index.html
+++ b/index.html
@@ -179,6 +179,6 @@
-
+