Square wall corners hold grains, liquids and gas (t39)
Powder, liquid and gas no longer step diagonally between two solid cells; flyers and diagonal tube intakes obey the same corner. World generation settles with the rule off, so seeds make the same worlds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,34 @@ 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-26: t39: seal touching square-block corners (Codex)
|
||||
|
||||
- `cells.js`: six inline checks reject diagonal moves between two PH_SOLID neighbours, with
|
||||
no new random calls. `worldgen.js` saves/disables/restores CORNER_SEAL alongside LSTEP/LFILM
|
||||
while settling. No material ids, save fields or piece geometry changed.
|
||||
- Reproduced two further leaks: free flyers (`vacuum.js`) and diagonal tube mouths pulling sand
|
||||
between external walls (`conveyors.js`); blocked those steps only. Horizontal liquid scans
|
||||
already check each intervening cell; vacuum collection removes grains into the bag. Bars
|
||||
resolve ordinary movement by axis. Screw lane transport remains explicit and unchanged.
|
||||
- `test/t_corner_seal.js`: 23 checks, including both staircase orientations for sand/water/steam,
|
||||
all four diagonal intakes, a flyer, world hashes/flag restoration, and an open pile that remains
|
||||
57x17 with identical material layout and random state when sealing is disabled.
|
||||
- All 25 headless suites pass. Before/after outputs: `t_slopes` square-funnel outflow 379 -> 339
|
||||
(more sand retained on steps); `t_drill` ore outside the wall 56 -> 55 (solid corners hold ore);
|
||||
`t_world` awake chunks after 900 gameplay ticks following reload 148 -> 149 (different settling
|
||||
after corner blocking). Disabling the checks restores drill/world baseline output exactly.
|
||||
Other existing output is identical except timings. Evidence: /tmp/t39-before, /tmp/t39-after.
|
||||
- Full mat/temp/flags hashes match original code for seeds 777/77/4242 at 512x384 and 2048x1024,
|
||||
plus 424242 at 1024x640 (/tmp/t39-world-hashes-{before,after}.txt).
|
||||
- Factory benchmark at 1024x640: idle 0.69 -> 0.68 ms/tick; 1/4/8 modules
|
||||
2.05/2.36/2.65 -> 2.13/2.44/2.70 ms/tick. Timing is indicative: settling changes, and this
|
||||
fixture reported zero machine-moved grains, so it does not prove loaded transport performance.
|
||||
- Rebuilt dist and regenerated PROJECT_MAP. Inspected `shots/t39-corners.png` in pixel look:
|
||||
sand rests along the upper steps and pours through the central outlet.
|
||||
- Final `python3 test/run_all.py --browser`: ALL PASSED (25 headless suites, 323 play checks,
|
||||
15 smooth checks). Updated t39 subtasks/report for Review and recorded the design decision.
|
||||
No commit made; owner playtest remains.
|
||||
|
||||
## 2026-10-25: t40 art pass: sloped belts and filters drawn as one belt (Claude Code, Codex)
|
||||
|
||||
- Sloped runs draw as the flat belt (rollers, studs) or filter (tinted mesh) band turned to 45°,
|
||||
|
||||
Reference in New Issue
Block a user