Material menu for walls and molds, opened with F (t5)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-24 01:26:29 -04:00
co-authored by Claude Opus 5.5
parent edd9cdf940
commit da04e4e2a7
10 changed files with 89 additions and 14 deletions
+6
View File
@@ -205,6 +205,12 @@ above, including:
- **The to-do list is a kandown board.** `NOTES.md` became one task file per note in
`tasks/` (Todo for tasks, Backlog for discussions and ideas, Review for "done, please check").
The owner wanted a task tool built for AI agents.
- **Wall and mold materials have a menu (F).** It lists every wall material with what you have,
the cost and the heat it stands; R still cycles. The owner chose F to match the filter menu.
- **The camera's drift toward the pointer is a setting** ("Camera looks toward the pointer", on
by default). The owner doesn't like it.
- **Fog of war reveals by line of sight.** Unexplored ground is black with a soft edge; the sky
and the surface start seen. The owner chose line of sight over a plain circle around the bot.
## Ideas not built yet
+4 -4
View File
@@ -393,14 +393,14 @@ The notebook (N): milestones, market, wallet, blueprints, controls.
The tool hotbar and what is selected.
- functions: renderHotbar, toolId, steering, modShift, grainAt, selectTool, bagMaterials, mixList, ensureDropMat, piece
### src/ui/build-menu.js (101 lines)
### src/ui/build-menu.js (102 lines)
The build menu along the bottom: categories, piece tiles and their icons.
- functions: pieceIcon, catOf, selectBuildCat, cycleBuildCat, buildVariantChips, renderBuildBar, setupBuildBar
- variables: BUILD_CATS, BUILD_ORDER, PIECE_ICONS, lastBuildKey, lastBuildMenu
### src/ui/selection.js (236 lines)
### src/ui/selection.js (252 lines)
The selected tool and piece: R / Q / E, drill width, filter picker, the selection card, the bag panel.
- functions: pieceUsesWall, setDrillWidth, tuneUnderCursor, cycleItem, cycleWall, rotate, toggleCollect, pickFilterUnderCursor, toggleFilterMat, toggleCollectUnderCursor, setBrush, pieceV, pieceExtra, filterChoices, matList, filterParts, filterSentence, applyFilterRun, openFilterPicker, filterBlockAt, chipCost, pieceCostNow, renderSelCard, renderBag
- functions: pieceUsesWall, setDrillWidth, tuneUnderCursor, cycleItem, cycleWall, rotate, toggleCollect, pickFilterUnderCursor, toggleFilterMat, toggleCollectUnderCursor, setBrush, pieceV, pieceExtra, filterChoices, matList, filterParts, filterSentence, applyFilterRun, openFilterPicker, openWallPicker, filterBlockAt, chipCost, pieceCostNow, renderSelCard, renderBag
- variables: lastBagKey
### src/ui/info.js (170 lines)
@@ -412,7 +412,7 @@ Keyboard and mouse listeners.
- functions: isTyping
- variables: canvas
### src/ui/actions.js (242 lines)
### src/ui/actions.js (243 lines)
What input does: overlays, F, pick, copy / cut / paste, undo, building and tool use each frame. Which overlays are on, shown as a coloured frame round the screen and a named badge
- functions: updateOverlayUI, toggleLens, doInteract, pickUnderCursor, aimBlock, stampOrigin, selModeHeld, startPaste, stopSelectAndPaste, plural, piecesIn, doUndo, endRmbRecord, dragDirFor, blockLabel, primaryPress, primaryRelease, secondaryPress, toolTick
- variables: ovShown
+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-24: t5 Material selection menu (Claude Code, Codex)
- Decided with the owner: F opens it for walls and molds, R keeps cycling.
- `src/ui/selection.js`: `openWallPicker` (a dialog of every wall material: what you have, the
cost for this piece, the heat it stands; owned first, unaffordable dimmed; glass says whether
it is from shards or bars); `pieceCostNow(P, m)` takes a material.
- `src/ui/actions.js`: F with a wall or mold piece opens it. `src/ui/build-menu.js`: the material
chip reads "· R · F" and opens it on click; placement help mentions F. `src/ui/notebook.js`:
Controls and Blueprints text. `src/styles/style.css`: `.wpick`.
- `test/play.py`: F and the chip open it, Brick picks RBRICK, R still cycles, molds have their own
menu and cost, it fits at 1280×800 and 900×700 (screenshots checked).
- Tests: `run_all.py --browser` pass, apart from the `t_smooth` half-resolution flake.
## 2026-10-24: t10 World name box for a new world (Claude Code, Codex)
- `src/shell.html`, `src/styles/style.css`: a Name box across the top of the New world panel.