Screw conveyors join by the shared rule: low ends and verticals join in the corner block (t67 phase 2)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-27 13:30:44 -04:00
co-authored by Claude Opus 5.5
parent 198bea54da
commit fd35bf334f
14 changed files with 358 additions and 209 deletions
+19
View File
@@ -4,6 +4,25 @@ 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: t67 phase 2, screw conveyors follow the join rule (Claude Code + Codex)
- Screw drawing, grain flow and bars now all go through `endJoin`. New joins: a horizontal in
E at a diagonal's low end, and a vertical in E at either end; both draw an elbow that bends
inside the straight piece's end block. Same-row high-end elbows are unchanged.
- No longer joined (moves nothing): a same-row horizontal at a low end, a vertical directly
above or below a diagonal's last block, and any other side contact. Joined belts and filters
take discharge on their carrying face at either end. A horizontal screw feeding the side of a
vertical lift still works (`straightScrewNext` keeps straight-to-straight transfers).
- The opposite-direction check is one helper, `screwAccepts`.
- Files: `src/render/diagonal-screws.js`, `src/render/smooth-shaders.js`, `src/render/world.js`,
`src/ui/previews.js`, `src/sim/conveyors.js`, `src/sim/machine-tick.js`, `src/sim/items.js`,
`src/sim/cells.js`, `tools/scenes/joins.js` (replaces `t62-joins.js`), `test/t_diag_screws.js`,
`test/t_smooth.py`, `docs/PROJECT_MAP.md`.
- Tests: `python3 test/run_all.py --browser` all passed; determinism diff changed only screw
checks. Screenshots: `shots/joins-*.png`.
- Open: inside the new elbows the flight stripes of both pieces overlap, which looks a little
busy in the smooth look. Layouts built on the removed joins need moving.
## 2026-10-27: t63 vacuum picks up grains in mid-air (Claude Code + Codex)
- `toolVacuum` now takes flyers (grains a screw launches or that were blown out) inside its