Cooled magma is ordinary rock: visible in the smooth look and drillable

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-27 15:43:20 -04:00
co-authored by Claude Opus 5.5
parent ccca66c0c1
commit 54e7756ead
6 changed files with 56 additions and 5 deletions
+4
View File
@@ -517,6 +517,10 @@ above, including:
and warned about before it happens (a glow near the limit). A heat-resistant screw comes later
as an upgrade. Prompted by a long vertical screw that seemed to leak for no reason while it
carried hot rubble.
- **Melts that cool loose are ordinary rock (2026-10-27).** Magma poured from the bag became an
invisible, undrillable basalt the game treated as built. Now any melt except metal and glass
cools into natural rock wherever it came from, and any solid no block, mold or machine owns can
be drilled, so nothing can get permanently stuck in the world.
## Ideas not built yet
+13
View File
@@ -4,6 +4,19 @@ 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-27: cooled magma visible and drillable (Claude Code)
- Owner report: bag magma in a brick box left invisible basalt that couldn't be picked up,
drilled or built on; melted screws left similar bits. Cause: melts froze into non-natural
rock unless the liquid was natural, the drill only breaks natural rock, and the smooth look's
terrain field skipped non-natural solids.
- `src/sim/heat.js`: non-metal, non-glass melts freeze into natural rock; bag water into natural
ice. `src/sim/drill.js`: `crumbly` no longer needs F_NAT; `builtCell` protects slope corner cells.
`src/render/world.js`: the terrain field covers any terrain-class solid without a block or
machine. Note: the bot still passes through old stuck basalt until it is drilled (it only
collides with natural solids).
- Tests: 7 checks in `test/t_drill.js`; `python3 test/run_all.py --browser` all passed.
## 2026-10-27: t67 phase 4, "doesn't connect" marks (Claude Code)
- `nearMiss(bx, by, end, planned)` in `src/sim/joins.js`: an end with no join that would join