Build range follows the screen; out-of-range replace ghosts replace (t64)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-27 16:41:32 -04:00
co-authored by Claude Opus 5.5
parent 6bc4fd5928
commit ef4ba6d24a
11 changed files with 77 additions and 16 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: t64 build range about the screen; out-of-range replace ghosts (Claude Code)
- `setBuildRange`/`inBuildRange` in `src/sim/tools.js`: the UI sets the view box each frame
(`src/ui/loop.js`); half-sizes clamped to REACH..BUILD_MAX (64..200 grains); with no view (tests)
a REACH box around the bot. Used by `blockInReach`, machine/mold placement and previews,
right-click take-back, hover reach, and ghost building for blocks, machines and molds.
- A replace (G) placed beyond range stores a replace flag on the ghost (`[code, v, extra, 1]`);
`ghostTick0` removes the old piece (refunded) and places the new one (charged), or re-sets a
filter's settings, when the bot comes in range.
- Files: `src/sim/tools.js`, `src/sim/blocks.js`, `src/sim/undo.js`, `src/ui/actions.js`,
`src/ui/previews.js`, `src/ui/info.js`, `src/ui/loop.js`, `test/t_build.js`, `docs/DESIGN.md`,
`docs/PROJECT_MAP.md`. Tests: `python3 test/run_all.py --browser` all passed. Not played by hand.
## 2026-10-27: t49 throughput overlay (Claude Code)
- The I overlay also shows grains per second at each line's open outlet, an orange glow on