Drill pulses pass through rubble and fluidise it; per-grain damping (t92)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+3
-3
@@ -327,7 +327,7 @@ Tool helpers: reach, brushes, and plain digging.
|
||||
- functions: setBuildRange, inBuildRange, inReach, forBrush, drillReach, inDrillReach, toolDig
|
||||
- variables: BUILD_MAX, buildBox
|
||||
|
||||
### src/sim/drill.js (177 lines)
|
||||
### src/sim/drill.js (187 lines)
|
||||
The resonance drill: tuned pulses that shatter one material.
|
||||
- functions: drillOrigin, pulseRay, builtCell, toolPulse, crumbleAround, crumbly, shatterCell, pulseTick, pingRadius, resonancePing
|
||||
- variables: PULSE_W, PULSE_EVERY, PULSE_SPEED, PULSE_K, drillPulses, lastPulseTick, drillWidth, THIN_BONUS, CRUMBLE_MAX, THIN_BONUS_OFF, PING_VEINS
|
||||
@@ -443,7 +443,7 @@ GPU sources retain the CPU roof and transmission rules; directional relaxation f
|
||||
Smooth slope geometry and cleats, ported from slope-belt-shader.js.
|
||||
- variables: GPU_SMOOTH_SLOPE_HELPERS, GPU_SMOOTH_SLOPE_DRAW
|
||||
|
||||
### src/render/gpu/smooth-shader.js (368 lines)
|
||||
### src/render/gpu/smooth-shader.js (369 lines)
|
||||
Literal port of the legacy smooth shader; dpdy is reversed for WebGPU's top-left origin.
|
||||
- variables: GPU_SMOOTH
|
||||
|
||||
@@ -648,7 +648,7 @@ The frame loop and boot.
|
||||
- `test/t_fog.js`: Fog: surface, sight, range, saves and simulation independence.
|
||||
- `test/t_furnace_repeat.js`: The starter furnaces keep working when fired again and again without cleaning, however the charge goes in: mixed, ore first with coal on top, or blown in through the vent. Each case plays furnace_play.js, which builds the design and fires it like a player.
|
||||
- `test/t_gpu.py`: Dirty uploads, default limits, warm pipelines, world replacement and device recovery.
|
||||
- `test/t_gpu_golden.py`: Frozen legacy references, captured before retirement; compare the WebGPU world only.
|
||||
- `test/t_gpu_golden.py`: Frozen world references; seven smooth crops corrected for continuous noise in t91.
|
||||
- `test/t_gpu_light.py`: The former CPU light behavioural checks, now read from the actual GPU light grid.
|
||||
- `test/t_joins.js`: The oracle states the geometric rule independently of the precomputed neighbour tables.
|
||||
- `test/t_load.js`: Reload wakes nearby areas first, without losing distant water, fire or saved state.
|
||||
|
||||
@@ -4,6 +4,44 @@ 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 drill pulses pass through rubble and fluidise it (Codex)
|
||||
|
||||
- Converted every pulse loss to a per-grain factor, applied with `factor ** step` outside
|
||||
the ray sampling loop. Powder keeps 0.97 per grain; liquid, built, hard and tuned paths
|
||||
preserve their former squared half-grain factors. Tree damping and shake now scale with
|
||||
distance too. Rock damping retuned to 0.76/0.69/0.6084 per grain for narrow/medium/wide.
|
||||
- Replaced the botward nudge with random sideways/upward one-cell hops through open cells,
|
||||
using `rnd`, `move`, stamps, occupancy, part/cleat rules and sealed corners. At most three
|
||||
moves per ray/tick. Up to four shake debris events/tick reuse the existing particles;
|
||||
no new rendering or UI code, dependencies, save fields or design decisions.
|
||||
- Added drill regressions: 35-grain shield failed before (0 basalt opened), now opens 78
|
||||
basalt cells with the real steel medium reach; 115 grains opens none. Only the latter
|
||||
fixture extends range beyond the bit's reach, isolating attenuation from range.
|
||||
Exact 3% loss crosses the cutoff near 117 grains; an additional 118-grain check
|
||||
confirms extinction before any basalt damage. Fixed
|
||||
powder transmission is 0.4821/1.4 = 34.44%; quarter/half/whole-grain attenuation agrees
|
||||
for rubble, sand, ore, coal, liquids, rock, tuned skips/hits and built material.
|
||||
Seeded heap height drops 25 -> 20 in eight seconds versus control 25 -> 25, conserving
|
||||
625 grains; repeatability, movement protection, three-move/ray and four-event caps pass.
|
||||
- Before/after two-second copper-bit stone-wall fixture, depth/opened cells: narrow
|
||||
22/181 -> 24/195 (+9.1%/+7.7%), medium 13/186 -> 13/197 (0%/+5.9%), wide
|
||||
6/134 -> 6/134. Existing follow-face, width, tuning, shielding and tree checks retained.
|
||||
Fixed powder-ray microbenchmark median: 21.48 -> 21.28 ms per 20,000 calls (five warm
|
||||
samples); this is an isolated pulse cost check, not a whole-game performance measurement.
|
||||
- Files: `src/sim/drill.js`, `test/t_drill.js`, generated `docs/PROJECT_MAP.md`, t92 task
|
||||
tracking and this log. No commit. Verification: focused drill suite passes all 61 checks;
|
||||
initial full run passed all 32 headless suites but seven browser suites failed under the
|
||||
sandbox's unavailable WebGPU adapter. Host-GPU `python3 test/run_all.py --browser` exited
|
||||
0, ALL PASSED (all 32 headless suites; gameplay 361, smooth 28, console 18, caps 7,
|
||||
GPU 14, goldens 28, light 71 and Firefox 2). The additional 118-grain extinction check
|
||||
was then verified in the focused 61-check suite. Logs: `/tmp/t92-drill-before.log`,
|
||||
`/tmp/t92-drill-red.log`, `/tmp/t92-drill-after.log`, `/tmp/t92-all-tests-host.log`.
|
||||
Inspected `shots/t92-pile-before-pixel.png`, `t92-pile-after-pixel.png` and
|
||||
`t92-pile-after-smooth.png`: the drilled side is lower and flatter, with small dust puffs
|
||||
close to the surface. Setup scripts retained in `/tmp/t92-scene-before.js` and
|
||||
`/tmp/t92-scene-after.js`; capture with `tools/shot.py --setup FILE --zoom 10 --no-light
|
||||
--freeze` (add `--look smooth` for smooth). Task moved to Review; owner playtesting remains.
|
||||
|
||||
## 2026-10-28: t91 sky renders as mismatched blocks (Codex)
|
||||
|
||||
- Reproduced the owner's cloud rectangles and stepped distant hills on NVIDIA Blackwell:
|
||||
|
||||
Reference in New Issue
Block a user