Belts: a backed-up heap stands still instead of the top sliding over the bottom
carryColumn stops at the first blocked grain on a belt, so a heap whose front is backed up (a screw tube taking less than the belt brings, or a wall) no longer shears. New t_conveyors checks and a belt-heap screenshot scene. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,26 @@ 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-23: a backed-up heap on a belt no longer shears (Claude Code, with Codex)
|
||||
|
||||
Note: "belts with a big pile on top only move the grains on the top of the stack…". The owner's
|
||||
setup: a belt ending in a screw tube going up; material mixed into the bottom layers never moved.
|
||||
|
||||
- Cause: `carryColumn` (`src/sim/conveyors.js`) skipped a blocked grain and carried on up the
|
||||
column, so with the front backed up the top slid over a stuck bottom. Reproduced headlessly
|
||||
first: over 4,000 ticks, 8,815 shear steps at the tube (1,415 against a wall) and only 57 of
|
||||
192 bottom sand grains left the belt.
|
||||
- Fix: on a belt, the walk stops at the first blocked powder grain, so the load above stands
|
||||
still. On a filter the walk goes on only so chosen materials can still drop through; nothing
|
||||
above a blocked grain is carried. After: no shear, 119 of 192 sand grains out through the tube.
|
||||
- `test/t_conveyors.js`: 3 new checks (no shear into an up tube, none against a wall, bottom
|
||||
layer leaves through the tube). `tools/scenes/belt-heap.js` sets up the owner's case for
|
||||
`tools/shot.py`; shots at 30 and 900 ticks look right. `docs/DESIGN.md`, `docs/PROJECT_MAP.md`.
|
||||
- Tests: all 11 headless suites and `play.py` (109) pass. `t_smooth.py` failed its
|
||||
half-resolution check once at load 6.5 and passed on the rerun.
|
||||
- Open: `t_smooth.py`'s half-resolution check is flaky on a busy machine (the game drops to
|
||||
pixel when frames are slow). It is worth making that test immune to the slow fallback.
|
||||
|
||||
## 2026-10-23: ingots drop out of the bottom of the mold (Claude Code, with Codex)
|
||||
|
||||
Note: "copper bars go into the furnace. also they shouldnt require the player to press F…".
|
||||
|
||||
Reference in New Issue
Block a user