Removing slopes no longer leaves unowned seal cells; loading clears them
A slope's seal can sit in a cell its neighbour leaves open (a slope's open corner, or under a grate, screw or screen), but removal only cleared it when the neighbour was a sloped wall, so cutting a sloped belt next to a sloped filter or grate could leave a one-cell belt that nothing owned and nothing could remove. Removal now asks whether the neighbour fills that cell itself, and loading a world clears belt and screen cells that no block or seal owns. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,17 @@ 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-27: Unremovable one-cell belt left after cutting slopes (Claude Code)
|
||||
|
||||
- The owner's exported save had a lone belt cell no block owned, so nothing could build there or
|
||||
remove it. It was a sloped belt's seal: a seal may sit in a cell its neighbour leaves open (a
|
||||
slope's open corner, or under a grate, screw or screen), but removal only let it go when the
|
||||
neighbour was a sloped wall. Now `blockOwnsCell` decides (`src/sim/blocks.js`), and loading a
|
||||
world clears belt and screen cells no block or seal owns (`clearStraySeals`, `save.js`).
|
||||
- Found with a fuzz of random slope/belt/filter/wall/grate builds removed in random orders and by
|
||||
cut (0 strays in 4000 runs after the fix). The owner's save loads clean and the spot is
|
||||
buildable. Tests in `t_slope_belts.js` fail on the old code. `run_all --browser`: ALL PASSED.
|
||||
|
||||
## 2026-10-27: t42 feedback: downhill belts drop the sidewall too; new tasks (Claude Code)
|
||||
|
||||
- Downhill sloped belts now draw as plain belts: no far wall and no ribs, placed or as ghosts or
|
||||
|
||||
Reference in New Issue
Block a user