Drill: keep pass-through; restore the original loose-grain nudge, drop dust and push (t92)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-28 19:15:41 -04:00
co-authored by Claude Opus 5.5
parent 807217b22c
commit 6ac5f463aa
8 changed files with 88 additions and 148 deletions
+34
View File
@@ -5,6 +5,40 @@ note or request it was for, what changed, the files touched, the tests run, and
open or not verified. Keep each entry short; the git history has the details.
## 2026-10-28: t92 keep pass-through, restore original loose-grain behaviour (Codex)
- Read the 7293787 then dadf62a t92 history and original drill in 90f2d3f. Restored the
original advancing-front nudge and escape order verbatim, except loose damping stays
0.97 per grain and chance is `1 - (1 - 0.3 * e) ** (2 * step)`, preserving the original
30% times energy at the default half-grain sample. Removed travelled-path pushing,
fluidising kicks, dust events and dust-specific event/render plumbing. Normal debris stays.
- Removed dust/channel/fluidising tests. Original ore-draining check was already present
and retained. Added back/down/up/fully-blocked escape checks and a front-only check;
three escape checks failed before restoration, all pass after. Pass-through still opens
78 basalt cells behind 35 rubble grains; 115 blocks breaking and 118 blocks all damage.
- Restoring the nudge initially failed narrow opened-area and follow-face checks. Retuned
narrow/medium damping 0.76/0.69 -> 0.75/0.67; wide stays 0.6084. Unchanged baseline
bore assertions pass: narrow 24/198 versus original 22/181, medium 13/197 versus 13/186,
wide 6/134 versus 6/134 (depth/opened grains; all within 10%). Updated the attenuation
constant expectation for the intentional medium retune; no bore expectations weakened.
- Focused drill suite passes (61 checks). Initial `python3 test/run_all.py --browser`
passed all 33 headless suites, but seven browser suites failed with unavailable WebGPU
in the sandbox (startup timeouts/undefined GPU device). Same full command rerunning
with host GPU access passed all 33 headless and eight browser suites (361 gameplay,
28 smooth, 18 console, 7 caps, 14 GPU, 28 goldens, 71 light, 2 Firefox). Evidence:
`/tmp/t92-restore-browser.log`, `/tmp/t92-restore-browser-host.log`.
- Fixed-powder microbenchmark (median of five after warmup, 20,000 rays): previous
travelled-path code 11.88 ms, restored front-only code 9.82 ms. Fixture stamps powder
to isolate traversal, not moving heaps; not a whole-game profile. Script: `/tmp/t92-restore-bench.js`.
- Captured and inspected `shots/t92-restore-pixel.png` and `shots/t92-restore-smooth.png`:
rubble heap beside a basalt face with a drilled notch, no dust puffs. Scene:
`/tmp/t92-restore-scene.js`, 120 held-medium ticks, zoom 8, lighting off, frozen frame.
- Files: `src/sim/drill.js`, `src/render/overlays.js`, `src/ui/events.js`, `test/t_drill.js`,
`test/t_gpu.py`, generated `docs/PROJECT_MAP.md`, `docs/DESIGN.md`, t92 task and this log.
Recorded the superseding owner decision and final checked feedback subtask; status Review.
No commit. Owner playtesting and whole-game performance remain unverified.
## 2026-10-28: t93 loose faces slump without sticky-step stalls (Codex)
- Inspected the owner's screenshot and traced `powder`, `enterFree`, `move`, `moveChunk`,