Liquids in the bag can be blown out without the Flask (t103)

This commit is contained in:
2026-10-29 23:33:52 -04:00
parent ac5f5a06d1
commit af411d5b21
9 changed files with 107 additions and 7 deletions
+4
View File
@@ -659,3 +659,7 @@ above, including:
Nozzle, igniter, copy/cut and paste use open crosshairs in their existing colours; the drill
keeps its light cross. Draw pointers in the game in both looks, leaving the aim point open.
Menus keep the system pointer.
- **Carried liquids can always be blown out (t103, 2026-10-29).** The owner chose to require
the Flask only for picking liquids up: normally that is how liquids enter the bag, but water
given through the console must not get stuck. Single, selected-mix and Shift-everything blows
include carried liquids without the Flask. The console's `give` stays unchanged.
+2 -1
View File
@@ -347,7 +347,7 @@ Trees (background layer), acorns, saplings, and waking freezing water.
- functions: cutTree, treeHeld, findTreeBases, treeSupportTick, woodRoom, treeFall, coldTick, plantTick, setTreeCell, saplingTick, igniteTree
- variables: treeBases, saplings, treeDraw
### src/sim/vacuum.js (203 lines)
### src/sim/vacuum.js (202 lines)
The vacuum, blowing grains out, grains in flight (flyers), and the flame tool. Material the vacuum would start on at the cursor: a bar, else the nearest loose grain.
- functions: vacuumTargetAt, toolVacuum, nozzle, toolBlow, flyOpen, depositNear, bagTemp, landFlyer, flyTick, toolIgnite
- variables: blowRR, FLY_G, FLY_Q
@@ -677,6 +677,7 @@ The frame loop and boot.
- `test/t_joins.js`: The oracle states the geometric rule independently of the precomputed neighbour tables.
- `test/t_lakes.js`: Generated lakes sit in a smooth bowl filled to its spill level: flat, contained, clay-bedded, stable, with natural banks, dry tree bases and the dock clear.
- `test/t_lakes.py`: t96: flat generated lakes, fresh and reloaded, in the real pixel frame loop.
- `test/t_liquid_blow.js`: t103: carried liquids can always leave the bag; collecting them still needs the Flask.
- `test/t_load.js`: Reload wakes nearby areas first, without losing distant water, fire or saved state.
- `test/t_molds.js`: Molds and furnaces stay usable: ingots drop below and keep their stubs, plugs over molds are cleared, spoiled castings can be knocked out, grains never drop through a grate by teleporting, and slag lets the fire breathe.
- `test/t_nozzle.js`: Blowing aims within the nozzle's reach, with room for the brush and settling.
+6
View File
@@ -14,6 +14,12 @@ prints the failing checks.
## Headless suites
For t103, `node test/t_liquid_blow.js` checks blowing console-given water and every liquid
without the Flask, water landing, mixed blowing, and the retained liquid pick-up gates.
`python3 test/t_dev_console.py` checks actual bag selection, right-click blowing water into
a pit, and Shift preview/blowing of water with sand without the Flask in the pixel look.
The inspected pit screenshot is `shots/t103-water-pit.png`.
For t45, `node test/t_stalls.js` checks the four-grain bed, sustained local jams,
recovery, bars, cleated runs, slower screens and an overloaded closed loop.
`test/t_threads.js` includes loaded belts and slopes, and hashes stall/animation state
+11
View File
@@ -4,6 +4,17 @@ 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-29: t103 blow carried liquids without the Flask (Codex)
- Removed only blow-side Flask gates, including Shift's HUD list; corrected the Flask hint.
Pick-up checks and console give unchanged. Recorded the owner decision and test recipe.
- Files: sim/{vacuum,progress}, ui/hud, test/{t_liquid_blow.js,t_dev_console.py},
docs/{DESIGN,TESTING,PROJECT_MAP}, t103 and this log. Map regenerated.
- Final regression fails 16 checks against original vacuum.js; all 43 headless suites pass.
Console browser passes 36 checks; inspected shots/t103-water-pit.png. Full browser run:
golden-image mismatch reproduces identically on unmodified HEAD; smooth passes on rerun.
Other 11 browser suites pass; evidence in t103 and /tmp/t103-*.log. No commit; owner playtest remains.
## 2026-10-29: t45 belt depth and visible transport stalls (Codex)
- Four-grain belt bed; local half-second jam warnings, hover advice and frozen/resuming