Drill: visible dust; pulses push loose material back and open a channel (t92)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,46 @@ What agents have done, newest first. Add an entry for every piece of work: the d
|
||||
note or request it was for, what changed, the files touched, the tests run, and anything left
|
||||
open or not verified. Keep each entry short; the git history has the details.
|
||||
|
||||
|
||||
## 2026-10-28: t92 follow-up, visible dust and a botward channel through rubble (Codex)
|
||||
|
||||
- Traced shake events through `drainEvents` to `spawnDebris` and `drawParticles`. Events were
|
||||
handled above the world, but rendered only two opaque, rubble-coloured 0.7-grain squares.
|
||||
Added a dust flag to the existing debris event/particle pipeline: one pale radial puff,
|
||||
gently rising/expanding and fading over 36 frames. Retained particles setting and particle
|
||||
limit; at most four shake dust events per tick. Normal shatter debris/sparks unchanged.
|
||||
- Kicks previously visited only the advancing 2.2-grain wave front, with random sideways/up
|
||||
directions. Now each in-flight ray keeps shaking its travelled path, with local energy
|
||||
attenuated through powder/liquid; stops at solid. Tries the reverse ray first, then lift and
|
||||
side escapes. Retains seeded rnd(), one-grain move/enter hops, occupied/part/stamp guards,
|
||||
sealed corners and three moves/ray/tick; gravity settles grains normally. No damping retune.
|
||||
- Added steel-medium 35-grain-deep pile/rock regression and gravity-only control. At 480 ticks:
|
||||
33/35 centre-line cells empty versus 9/35; rubble centre x 72 -> 56.168 versus 70.68;
|
||||
all 875 rubble grains retained. The original pulse code gives only 10/35 empty cells and
|
||||
centre x 68.341, failing channel, transport, dust and travelled-path checks. An isolated
|
||||
advanced-front ray checks interior botward movement; existing movement/dust caps and guards,
|
||||
attenuation, repeatability and heap-fluidising tests retained. New browser check exercises
|
||||
event -> visible soft pixels, expiry and particles-off.
|
||||
- Stone depth/opened cells against original t92 baseline: narrow 22/181 -> 24/195,
|
||||
medium 13/186 -> 13/198, wide 6/134 -> 6/133; all within 10%, including depth.
|
||||
Small 480-tick pile benchmark median, five measured samples after warmup: 24.18 -> 33.88 ms
|
||||
(about 0.02 ms/tick extra). This is a small fixture, not a whole-game performance profile.
|
||||
- Full `python3 test/run_all.py --browser` exited 0, ALL PASSED: 32 headless suites and
|
||||
gameplay 361, smooth 28, console 18, caps 7, GPU 15, goldens 28, light 71, Firefox 2.
|
||||
Final pile fixture was moved into the real steel reach and its conservation assertion added
|
||||
after that run; the final `python3 test/run_all.py` passes all 32 suites, drill 66 checks.
|
||||
Inspected final `shots/t92b-channel.png` and `shots/t92b-channel-smooth.png`: lowered
|
||||
channel, basalt notch and soft dust over the streaming rubble. First recapture timed out
|
||||
starting the world; host-GPU recaptures passed. Caps confirmed NVIDIA Blackwell; no claim
|
||||
that the timeout was caused by unavailable hardware. Screenshot setup: `/tmp/t92b-channel.js`,
|
||||
`tools/shot.py --setup /tmp/t92b-channel.js --zoom 8 --no-light --freeze` (add smooth look).
|
||||
Evidence: `/tmp/t92b-red-final.log`, `/tmp/t92b-drill.log`, `/tmp/t92b-all-tests.log`,
|
||||
`/tmp/t92b-headless-final.log`. No page errors on final captures.
|
||||
- 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`, owner decision in `docs/DESIGN.md`,
|
||||
t92 tracking and this log. Both feedback items ticked; t92 moved to Review. No commit.
|
||||
Owner playtesting and performance in a large active world remain unverified.
|
||||
|
||||
## 2026-10-28: t92 drill pulses pass through rubble and fluidise it (Codex)
|
||||
|
||||
- Converted every pulse loss to a per-grain factor, applied with `factor ** step` outside
|
||||
|
||||
Reference in New Issue
Block a user