Fog of war: underground is black until the bot has seen it (t8)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,22 @@ 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: t8 Fog of war for unexplored areas (Claude Code, Codex)
|
||||
|
||||
- Decided with the owner: revealed by line of sight; unseen is black with a soft edge.
|
||||
- New `src/sim/fog.js` (2×2-grain cells, 0-255, only ever rises): `fogInit` (sky and surface
|
||||
seen), `fogLook` (256 rays, 48 grains, through air, gas and liquid, 4 grains into rock), called
|
||||
every 4 ticks from `simTick`. Never read by the simulation.
|
||||
- `src/sim/save.js`: fog saved; saves without it rebuild it (surface, 12 grains around built
|
||||
things, the bot's view). `src/sim/world.js`, `worldgen.js`: allocate and initialize.
|
||||
- `src/render/world.js`: grains scaled by a bilinear fog value; fully unseen grains drawn like
|
||||
out-of-world grains; no glow from fog; thermal lens fogged too. `overlays.js`: rain and
|
||||
particles hidden in fog. `src/ui/info.js`: "Unexplored". Setting `fog` (Game tab).
|
||||
- Browser tests and tools turn fog off (`play.py`, `t_smooth.py`, `shot.py`, `perf.py`,
|
||||
`playthrough.py`) except the fog checks. New `test/t_fog.js`; `docs/systems/fog.md`.
|
||||
- Tests: all 12 headless suites, `play.py` (185 checks), `t_smooth` pass. Screenshots checked in
|
||||
both looks. `tools/perf.py`: drawWorld 0.34 → 0.43 ms with fog on (no change with light off).
|
||||
|
||||
## 2026-10-24: t5 Material selection menu (Claude Code, Codex)
|
||||
|
||||
- Decided with the owner: F opens it for walls and molds, R keeps cycling.
|
||||
|
||||
Reference in New Issue
Block a user