Loose walls slump to a natural slope instead of eroding layer by layer (t93)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,50 @@ 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: t93 loose faces slump without sticky-step stalls (Codex)
|
||||
|
||||
- Inspected the owner's screenshot and traced `powder`, `enterFree`, `move`, `moveChunk`,
|
||||
waking and checkerboard worker passes. Movement-only 40x20 walls on a flat floor, with
|
||||
normal sleep countdown and the bot far away: sand reaches a <=1-grain surface step in
|
||||
44 ticks; rubble (stone/copper ore/iron ore/dirt) in 89; 20% clay never reaches it through
|
||||
2400 ticks (2-grain ledge). Always-awake control reaches it in 249 ticks, pure clay in 585;
|
||||
STICK=1 takes 44 for every mix. Cause: probabilistic sticky diagonal steps throttle face
|
||||
release, and three-tick chunk sleep can strand a legal step after missed rolls. Bottom-up
|
||||
scan and stamps still allow sand to collapse; empty destinations are accepted before the
|
||||
target-stamp check. No scheduler or stamp changes were needed.
|
||||
- Added a fallback only after a missed sticky roll: an open diagonal with another empty cell
|
||||
below releases immediately; a legal shallow step wakes its chunk to retry. Retained the
|
||||
original fast path, density/displacement rolls, built-surface sliding, sealed corners,
|
||||
occupancy, transport and cleat checks, one-step stamps and per-chunk streams. Burning
|
||||
grains/supports retain their tuned behavior: extending the fallback into burning beds
|
||||
failed vent-fed furnace cleanliness. A shared-loop rewrite was also rejected after profiling.
|
||||
- New `t_pile_collapse` has 17 checks: all 800 grains retained; sand, mixed rubble and
|
||||
20% clay faces <=2-grain surface steps by 180 ticks at offsets 0 and 17; cohesive pure
|
||||
clay <=3. After 1200 forced-awake settling ticks, another 600 leave all heap material bytes
|
||||
unchanged and chunks sleep afterward. Settled clay is 27 high versus sand 23. Exact final
|
||||
test against original cells.js fails three collapse checks; final code passes. Added a
|
||||
clay/rubble face spanning chunk rows to the real 0/1/2/8-worker/reversed-pass hash fixture.
|
||||
- Final `python3 test/run_all.py --browser` exited 0, ALL PASSED: 33 headless suites,
|
||||
including furnace 9, collapse 17 and threads 12; browser gameplay 361, smooth 28,
|
||||
console 18, caps 7, GPU 15, goldens 28, light 71 and Firefox 2. Evidence:
|
||||
`/tmp/t93-final-browser.log`. Earlier full browser run also passed. Diff whitespace check passes.
|
||||
- Final isolated hardware profile, NVIDIA Blackwell, requested command:
|
||||
`python3 tools/perf.py --scenes settled,heat --looks pixel --zooms 6 --compare tools/perf-after-t88.json`.
|
||||
Original-code control -> final total ms/tick: settled 2.0179 -> 1.9790 (-1.9%),
|
||||
heat 2.7255 -> 2.7650 (+1.5%). Against historical t88: 1.8056 -> 1.9790 (+9.6%),
|
||||
2.6231 -> 2.7650 (+5.4%). Final movement costs 0.9715/1.3816 ms/tick versus control
|
||||
0.9951/1.3647. Earlier profiles varied, including unchanged heat work; final run had no
|
||||
concurrent tests. Evidence: `/tmp/t93-perf-fast.json`, `/tmp/t93-idle-control.json`,
|
||||
`/tmp/t93-red-exact.log`, `/tmp/t93-collapse-final.log`.
|
||||
- Captured and inspected pixel `shots/t93-before.png` and final `shots/t93-after.png`:
|
||||
three 40x20 walls become sloped heaps after 180 full simulation ticks. Reproduce with
|
||||
`tools/scenes/t93-pile-collapse.js`, `--ticks 0` / `--ticks 180`, `--zoom 3 --no-light --freeze`.
|
||||
No page errors. Rendering code unchanged; smooth screenshot not taken.
|
||||
- Files: `src/sim/cells.js`, `test/t_pile_collapse.js`, `test/t_threads.js`,
|
||||
`tools/scenes/t93-pile-collapse.js`, `docs/DESIGN.md`, generated `docs/PROJECT_MAP.md`,
|
||||
t93 records and this log. All subtasks ticked; t93 moved to Review with a completion
|
||||
report and game checks. No commit. Owner playtesting remains open.
|
||||
|
||||
## 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
|
||||
|
||||
Reference in New Issue
Block a user