"Doesn't connect" marks on transport ends that would join one block off (t67 phase 4)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-27 15:23:08 -04:00
co-authored by Claude Opus 5.5
parent 99d4889f1e
commit ccca66c0c1
8 changed files with 94 additions and 14 deletions
+13
View File
@@ -4,6 +4,19 @@ 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 4, "doesn't connect" marks (Claude Code)
- `nearMiss(bx, by, end, planned)` in `src/sim/joins.js`: an end with no join that would join
seamlessly, with a diagonal piece involved, one block up or down in empty space. Drop joins
count as connected; straight beside straight is never marked. It checks the moved block
through a small override view of `planned`, so ghost maps are never copied.
- Marks: a red ring with a slash at the end, on built pieces and ghosts (`drawJoinMarks` in
`src/render/overlays.js`, called every frame from `src/ui/loop.js`) and at the ends of a drag
preview (`src/ui/previews.js`). Hover says "doesn't connect: place it one block higher/lower"
(`src/ui/info.js`). This covers t58's mark for belts and the same cases for screws.
- Tests: 7 nearMiss checks in `test/t_joins.js`; `python3 test/run_all.py --browser` all passed.
`docs/PROJECT_MAP.md` regenerated.
## 2026-10-27: t67 phase 3 shared drag placement, and snapping (Claude Code)
- `dragPlan(P, a, b, shift)` in `src/ui/selection.js` gives code, direction, variant, blocks and