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:
@@ -561,3 +561,11 @@ above, including:
|
||||
- **Upgrade ideas for the drill**: an amplifier, a tuning fork, harmonics. Also a Grav pick
|
||||
upgrade tool and mining charges. See `docs/systems/dig-tools.md`.
|
||||
- The owner's ideas for later are tasks tagged `idea` in the Backlog of the task board.
|
||||
|
||||
- **Restore the original loose-grain nudge (t92 final owner feedback, 2026-10-28).** After
|
||||
playing, the owner rejected dust (never visible in game), the strong surface-only push
|
||||
toward the bot, and fluidising kicks. These supersede the two t92 decisions above. Keep
|
||||
3% loose-material loss per grain and all damping per distance, with rock bores retuned to
|
||||
the old feel. Restore the original advancing-front nudge: 30% times ray energy per
|
||||
half-grain sample, straight back toward the bot, then down or up if blocked. Scale that
|
||||
chance with sampling distance; do not keep shaking the travelled path.
|
||||
|
||||
+2
-2
@@ -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 (202 lines)
|
||||
### src/sim/drill.js (183 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
|
||||
@@ -482,7 +482,7 @@ Scale colour without changing the smooth-look class.
|
||||
Machine overlays: fans, engines, silo and the rest, drawn on top of the world.
|
||||
- functions: cellRect, drawHazardRims, drawMachines, drawProcBlocks, drawSilo, drawSiloPixel, drawSiloWindow, drawRackBlocks
|
||||
|
||||
### src/render/overlays.js (384 lines)
|
||||
### src/render/overlays.js (370 lines)
|
||||
Other overlays: floating text, rain and snow, flow arrows, filter tags, molds, the bot, particles.
|
||||
- functions: spawnFloater, drawRain, drawFlowArrows, drawJoinMark, drawJoinMarks, flowLoaded, drawFlowRates, pingImage, drawPing, drawHoveredVein, drawPingRecharge, drawRunOutline, drawFilterTags, drawFloaters, moldLabel, drawMolds, drawBot, spawnDebris, spawnSpark, spawnSuck, drawParticles
|
||||
- variables: PING_SPEED, PING_HOLD, PING_FADE, PING_BANDS, PING_GLINTS, GLINT_MS
|
||||
|
||||
@@ -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`,
|
||||
|
||||
Reference in New Issue
Block a user