New-world lakes start level; no trees in water (t96)
This commit is contained in:
@@ -590,6 +590,13 @@ above, including:
|
||||
ordinary repose rules take over. Keep stamped moves, barriers, burning-bed protection and
|
||||
worker independence. The existing worldgen POWDER_FAN switch disables new face releases.
|
||||
|
||||
- **New-world lakes wake immediately; keep the seed layout (t96, 2026-10-29).** Keep the
|
||||
recorded worldgen settling speeds and material/temperature output. Wake water after the
|
||||
final startup reset so unfinished lakes level without drilling. Retain tree candidates and
|
||||
their random draws, then omit whole trees whose bases are wet or on an open bank connected
|
||||
to water at base height after settling. This keeps trees out of the lake as it spreads.
|
||||
Existing load wake scheduling and later snowmelt/flooding rules stay as they are.
|
||||
|
||||
## Ideas not built yet
|
||||
|
||||
- **Concrete**, as a stronger wall material from rubble.
|
||||
|
||||
+2
-1
@@ -383,7 +383,7 @@ World generation helpers: noise and removal of tiny hard rock specks.
|
||||
- functions: makeNoise, fbm, clearHardSpecks
|
||||
- variables: SPECK_MIN
|
||||
|
||||
### src/sim/worldgen.js (286 lines)
|
||||
### src/sim/worldgen.js (303 lines)
|
||||
World generation: staged terrain, ore, caves and placement, with synchronous and async entry points.
|
||||
- functions: generateWorld, generateWorldAsync
|
||||
|
||||
@@ -656,6 +656,7 @@ The frame loop and boot.
|
||||
- `test/t_gpu_golden.py`: Frozen world references; seven smooth crops corrected for continuous noise in t91.
|
||||
- `test/t_gpu_light.py`: The former CPU light behavioural checks, now read from the actual GPU light grid.
|
||||
- `test/t_joins.js`: The oracle states the geometric rule independently of the precomputed neighbour tables.
|
||||
- `test/t_lakes.js`: Generated lakes wake without a tool, settle on their own, and have dry tree bases.
|
||||
- `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.
|
||||
|
||||
@@ -69,6 +69,11 @@ seeded sand pile bounds in `t_corner_seal.js`; the heat oracle now supports pass
|
||||
The conveyor fixture uses a wider feed pile, the screen fixture warms longer, and `t_load.js`
|
||||
checks waking within eight ticks separately from the probabilistic consumption of fuel.
|
||||
|
||||
`test/t_lakes.js` pins SHA-256 over raw `mat` followed by Float32 `temp` bytes for seeds
|
||||
7, 42 and 424242 at 2048x1024. These hashes predate t96 and must not be re-baselined for a
|
||||
wake/background-tree change. It also checks generated tree bases, startup wakes, and the
|
||||
seed-7 lake leveling within two grains after 6,000 undisturbed ticks, fresh and reloaded.
|
||||
|
||||
## Browser tests
|
||||
|
||||
- They need the `.venv` from README.md → Develop; plain `python3` switches to it on its own.
|
||||
|
||||
@@ -4,6 +4,18 @@ 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: t96 wake new-world lakes and keep trees off their banks (Codex)
|
||||
|
||||
- Wake water after startup reset; omit whole tree candidates on wet/water-connected low banks.
|
||||
Original mat+temp hashes match for seeds 7/42/424242; pinned settling, physics and save format unchanged.
|
||||
- Files: src/sim/worldgen.js, test/t_lakes.js, docs/{DESIGN,TESTING,PROJECT_MAP}.md, tasks/t96* and this log.
|
||||
- Tests failed first; all 38 headless suites pass (23 lake checks; /tmp/t96-headless.log).
|
||||
Only browser test: /tmp/playwright-test-t96.py (fresh/reloaded seed 7, pixel, two helpers, no page errors;
|
||||
/tmp/t96-browser-final.log). Inspected shots/t96-{fresh,fresh-settled,reloaded-settled}.png.
|
||||
Sandbox graphics startup stalled; outside-sandbox run passed. No full browser suite.
|
||||
- Lake moves on tick 1; levels within two grains by 6,000 ticks (100 seconds). Later snowmelt
|
||||
can flood other trees; that behavior is unchanged. Owner playtest pending. No commit.
|
||||
|
||||
## 2026-10-29: t95 separate nozzle and rain flight allowances (Codex)
|
||||
|
||||
- Nozzle counts bag flyers only, up to 4,000, with “Too much in the air.” feedback;
|
||||
|
||||
Reference in New Issue
Block a user