Vacuum: deselect what is blown out, Ctrl + wheel scrolls the bag, Ctrl+click fix (t20)
Blowing out the last of a selected material removes it from the selection, so an emptied selection picks up what you click again. Ctrl + wheel never zooms the page and scrolls the bag list under the mouse. A bag click while Ctrl is held adds to the selection even if the click lacks the Ctrl flag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -250,6 +250,11 @@ above, including:
|
||||
(no menu). Selected materials stay selected when they run out, and picking up never selects
|
||||
anything (both reverse the first t20 version). Clear: a button in the bag, clicking the only
|
||||
selected row, or gamepad B.
|
||||
Then, after playing: blowing out the last of a material deselects it again (an empty selection
|
||||
goes back to picking what you click; a selection kept on an empty material got in the way). A
|
||||
material selected before you have any stays selected. Ctrl + wheel scrolls the bag instead of
|
||||
zooming the page, and a click while Ctrl is held adds to the selection even when the click
|
||||
arrives without the Ctrl flag (seen on the owner's Linux setup).
|
||||
|
||||
- **Fog of war also reveals the ground around the bot (t17, 2026-10-24).** About 20 grains in every
|
||||
direction, through rock, fully clear with a soft edge. Line of sight alone hid everything inside
|
||||
|
||||
+3
-3
@@ -404,7 +404,7 @@ 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 (241 lines)
|
||||
### src/ui/selection.js (242 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, toggleBlow, pickFilterUnderCursor, toggleFilterMat, setBrush, pieceV, pieceExtra, filterChoices, matList, filterParts, filterSentence, applyFilterRun, openFilterPicker, openWallPicker, filterBlockAt, chipCost, pieceCostNow, renderSelCard, renderBag
|
||||
- variables: lastBagKey
|
||||
@@ -413,12 +413,12 @@ The selected tool and piece: R / Q / E, drill width, filter picker, the selectio
|
||||
Discovery cards, hover info (I) and the cursor label.
|
||||
- functions: showCard, howText, discoveryCard, reactionsOf, hoverInfo, renderInfo, drawCursorLabel
|
||||
|
||||
### src/ui/input.js (80 lines)
|
||||
### src/ui/input.js (89 lines)
|
||||
Keyboard and mouse listeners.
|
||||
- functions: isTyping
|
||||
- variables: canvas
|
||||
|
||||
### src/ui/actions.js (237 lines)
|
||||
### src/ui/actions.js (239 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
|
||||
|
||||
@@ -4,6 +4,16 @@ 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: t20 follow-ups: deselect when blown out, Ctrl + wheel, Ctrl+click (Claude Code)
|
||||
|
||||
- Blowing the last of a selected material removes it from the selection (`toolTick`); materials
|
||||
selected before you have any stay. Window `wheel` listener: Ctrl + wheel never zooms the page
|
||||
and scrolls the scrollable panel under the mouse (the Ctrl bag list). Bag clicks add when
|
||||
`GAME.ctrl` is set even if the click has no `ctrlKey` (owner had to hold Ctrl+Shift; not
|
||||
reproduced in headless Chromium, which passes ctrlKey).
|
||||
- Files: `src/ui/{actions,input,selection,notebook}.js`, `test/play.py` (229 checks).
|
||||
- Tests: `run_all.py --browser` all passed.
|
||||
|
||||
## 2026-10-24: t20 follow-up: one selection, full list while Ctrl is held (Claude Code, Codex)
|
||||
|
||||
- `GAME.blow` is now the selection for picking up and blowing out (`vacFilter` -2 = the selection).
|
||||
|
||||
Reference in New Issue
Block a user