Build menu: hover popup with full info, top-left card hidden while building
The short description row became a status row for the selected piece (variant, Replace, ghosts, messages). Gamepad shows the selected tile's popup. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+3
-1
@@ -146,7 +146,9 @@ above, including:
|
||||
- **Pick** (middle mouse) selects the piece under the cursor with its direction,
|
||||
wall material and filter settings. G is unbound, as the owner requested.
|
||||
- **The build menu** is a bar of tabs and icon tiles along the bottom: Structure, Moving,
|
||||
Liquids, Machines, Molds. The owner wants more changes (see NOTES.md).
|
||||
Liquids, Machines, Molds. Hover a tile for its full description, cost and placement help;
|
||||
gamepad players see the selected tile’s popup. The top-left card is hidden while building,
|
||||
with variants, ghosts and status kept in the bar so the world stays clear.
|
||||
- **No length limit when dragging.** Blocks out of the bot's reach become ghosts that it builds
|
||||
when it gets there.
|
||||
- **Pipes are thin:** sand, water and anything else loose passes them. Pumps and outlets are
|
||||
|
||||
+4
-4
@@ -159,7 +159,7 @@ dist/, shots/ build output and screenshots (not committed)
|
||||
| Material properties and descriptions | `src/sim/materials.js` (`def`) |
|
||||
| Prices, orders, the dock | `src/sim/economy.js` |
|
||||
| Piece costs and descriptions | `src/sim/pieces.js` (`PIECES`) |
|
||||
| Build menu tabs, tiles and icons | `src/ui/build-menu.js` |
|
||||
| Build menu tabs, tiles, status and hover popup | `src/ui/build-menu.js` |
|
||||
| Key bindings | `src/ui/input.js` (keydown); what they do: `src/ui/actions.js` |
|
||||
| Mouse building and dragging | `src/ui/actions.js` (`primaryPress`, `primaryRelease`, `secondaryPress`, `toolTick`) |
|
||||
| Cursor previews (ghosts, drill aim, selection box) | `src/ui/previews.js` |
|
||||
@@ -392,12 +392,12 @@ 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 (80 lines)
|
||||
### src/ui/build-menu.js (104 lines)
|
||||
The build menu along the bottom: categories, piece tiles and their icons.
|
||||
- functions: pieceIcon, catOf, selectBuildCat, cycleBuildCat, renderBuildBar, setupBuildBar
|
||||
- variables: BUILD_CATS, BUILD_ORDER, PIECE_ICONS, lastBuildKey
|
||||
- variables: BUILD_CATS, BUILD_ORDER, PIECE_ICONS, lastBuildKey, lastBuildMenu
|
||||
|
||||
### src/ui/selection.js (246 lines)
|
||||
### src/ui/selection.js (228 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
|
||||
- variables: lastBagKey
|
||||
|
||||
@@ -4,6 +4,27 @@ 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-23: build menu hover popup, top-left card hidden while building (Claude Code, with Codex)
|
||||
|
||||
Notes: "mouse hover reviels a new info popup…" and "dont need the short description in the build
|
||||
menu…". The owner chose to hide the top-left card entirely while building.
|
||||
|
||||
- `src/ui/build-menu.js`: `#bb-pop` above the hovered tile (icon, name, cost, size, power, full
|
||||
description, how to place, filter help, build keys), clamped to the window; on a gamepad it
|
||||
shows for the selected tile. The `.bb-tip` row became `.bb-status`: variant (material,
|
||||
direction, filter) chips, Replace · Ctrl, ghosts waiting, and status messages. The bar now
|
||||
updates its parts separately so hovering doesn't rebuild the tiles.
|
||||
- `src/ui/selection.js`: `#selcard` is hidden for the build tool unless copying, cutting or
|
||||
pasting; the build branch moved to the bar. `src/styles/style.css`: popup and status styles;
|
||||
on narrow screens the bottom-right panel moves up while building.
|
||||
- `src/ui/notebook.js`, `docs/DESIGN.md`, `docs/PROJECT_MAP.md`.
|
||||
- Tests: `play.py` 118 checks (popup on hover, switching tiles, hidden on leave, gamepad,
|
||||
no `.bb-tip`, card hidden while building and back for tools 1 and 2, status in the bar; the
|
||||
Ctrl replace check now reads the bar). All 11 headless suites pass. `t_smooth.py`'s
|
||||
half-resolution check is still flaky under load (~4.8): 1 pass in 3 runs, as before.
|
||||
- Screenshots in `shots/` (build-popup-*) at 1280×800 and 900×700 in both looks.
|
||||
- Open: at 900px wide the bottom-left hover-info panel sits partly under the build bar.
|
||||
|
||||
## 2026-10-23: a backed-up heap on a belt no longer shears (Claude Code, with Codex)
|
||||
|
||||
Note: "belts with a big pile on top only move the grains on the top of the stack…". The owner's
|
||||
|
||||
Reference in New Issue
Block a user