Dev console: name suggestions, materials list, history, Tab completion, help, clear (t94)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-28 23:35:42 -04:00
co-authored by Claude Opus 5.5
parent 780216b174
commit 1db265a018
8 changed files with 210 additions and 39 deletions
+5
View File
@@ -482,6 +482,11 @@ above, including:
doesn't need to fill a rectangle for belts, conveyors and the like. Belts, filters, screw
conveyors, shafts, pipes, pumps and outlets (`lineOnly()`) always draw a line, Shift or not, and
a diagonal belt drag stays sloped. Walls, grates and gates still Shift-fill.
- **Dev console name discovery and keys (t94, 2026-10-28).** The owner chose close-name
suggestions and a filtered material list because they had not known material names could
contain spaces. Match names with spaces ignored; keep display and internal names, with no
hover hint. Add Tab completion, persistent 50-command history, command-specific help,
output clearing and red errors for easier use.
- **The dev console ships in every build (t66, 2026-10-27).** The owner is happy for players to
experiment and play their own way, so the console isn't hidden behind a dev build. Turning it
on warns first that the save will be marked, and the mark stays with the world; any future
+5 -4
View File
@@ -387,10 +387,10 @@ World generation helpers: noise and removal of tiny hard rock specks.
World generation: staged terrain, ore, caves and placement, with synchronous and async entry points.
- functions: generateWorld, generateWorldAsync
### src/sim/devconsole.js (114 lines)
### src/sim/devconsole.js (185 lines)
Dev commands are pure simulation operations; the browser owns the panel and confirmation.
- functions: resetDevConsole, enableDevConsole, devMaterial, devCommand
- variables: devWorld, devLog, devFree, devSpeed, devPaused, devSteps, DEV_HELP, DEV_MATERIALS
- functions: resetDevConsole, enableDevConsole, devError, devName, devGiveable, devMaterialList, devDistance, devSuggestions, devHistory, devRemember, devRecall, devComplete, devMaterial, devCommand
- variables: devWorld, devLog, devFree, devSpeed, devPaused, devSteps, DEV_COMMANDS, DEV_MATERIALS
### src/sim/save.js (185 lines)
Saving and loading a world (serializeWorld / deserializeWorld) and old-save migration.
@@ -572,9 +572,10 @@ Hover work is shared by the cursor label and the vein outline.
Discovery cards, hover info (I) and the cursor label.
- functions: showCard, howText, discoveryCard, reactionsOf, hoverInfo, renderInfo, drawCursorLabel, pipeContentsText
### src/ui/devconsole.js (42 lines)
### src/ui/devconsole.js (71 lines)
Bottom panel; command dispatch and state live in sim/devconsole.js.
- functions: closeDevConsole, showDevConsole, toggleDevConsole, devPrint, runDevCommand
- variables: devInputHistory, devCompletion
### src/ui/input.js (92 lines)
Keyboard and mouse listeners.
+20 -1
View File
@@ -6,6 +6,26 @@ open or not verified. Keep each entry short; the git history has the details.
## 2026-10-28: t94 dev console discovery and keyboard ease of use (Codex)
- Added case/space-insensitive material lookup, three close giveable suggestions and
materials filtering with internal names. Command definitions hold help usage/examples
and keyword candidates. Pure helpers handle cycling completion and capped 50-command
history; UI owns storage (all accesses guarded), keys, output clearing and red errors.
Tab, arrows and Ctrl+L stop before game controls. Simulation tick behaviour unchanged.
- Tests added first: name/filter/help checks failed before implementation. Corrected test
assumptions for the separate giveable Copper ore vein and for the latest submitted
history command. Full python3 test/run_all.py --browser: ALL PASSED (34 headless,
9 browser suites); console checks: 77 Node, 27 browser. Log: /tmp/t94-all-browser.log.
Browser checks cycling Tab, Up/Down, Ctrl+L, exact bot/control isolation, colours,
clear and history across page reload. Saved and inspected shots/t94-console.png.
- Files: src/sim/devconsole.js, src/ui/devconsole.js, src/styles/devconsole.css,
test/t_dev_console.js, test/t_dev_console.py, docs/DESIGN.md, docs/PROJECT_MAP.md,
this log and only the t94 task (Review). No commit; wrapper owns committing.
- Environment: docs/kandown.md is absent; read kandown work rules. Sandboxed browser
timed out starting a world; the complete passing run used host GPU access.
Owner playtesting remains open.
## 2026-10-28: t93 round 3 review and tidy (Claude)
@@ -62,7 +82,6 @@ open or not verified. Keep each entry short; the git history has the details.
/tmp/t93c-red.log, /tmp/t93c-browser-red.log, /tmp/t93c-browser-final.log,
/tmp/t93c-final-headless2.log.
## 2026-10-28: t93 reopened, vacuum-cut faces drain in columns (Codex)
- Read AGENTS, the t93 task/log and 807217b; inspected both new owner screenshots.