Ingot molds empty themselves (no F); removing a mold returns its set metal

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 22:53:38 -04:00
co-authored by Claude Opus 5.5
parent 9bbddc1e20
commit a15af6ef9f
13 changed files with 146 additions and 43 deletions
+7 -4
View File
@@ -78,9 +78,10 @@ Details and numbers live in the code and in `docs/systems/`.
pipes, pumps, outlets.
- Machines: fan, Refiner, Stone cutter, Silo.
- Molds: ingot, bit, tank. Ingot bars drop out of the bottom onto whatever is under the mold;
leave one open block below and a belt under that carries them off. F is optional upkeep: it
cleans the trough, chips off slag and rakes the furnace grate. Short stubs stay for the next
firing.
leave one open block below and a belt under that carries them off. Ingot molds empty themselves:
junk and mixed scrap drop below, slag is thrown away and the grate above is raked. Short stubs
stay for the next firing. Removing any mold returns its set metal to the bag: whole bars as
bars, the rest as scrap.
- Build actions: drag for lines, Shift-drag for rectangles, hold G to replace, hold C / X and
drag to copy / cut, V to paste, Ctrl+Z to undo, middle mouse to pick,
Shift+Q/E to switch build tabs.
@@ -137,7 +138,7 @@ above, including:
**2026-10-23:**
- **Ingot molds drop bars below automatically.** The owner reported bars being thrown into the
furnace above and wants belts underneath to carry them off. Blocked bars wait in the trough;
short stubs stay for the next firing. F stays available for cleaning and raking.
short stubs stay for the next firing. The mold cleans itself and rakes the grate after dropping bars or clearing junk.
- **Screw tubes carry no more than belts:** they move every other tick. For more throughput,
build more lines.
- **A heap on a belt moves as one**, up to 96 grains deep, not just its bottom layer. If a grain is blocked,
@@ -172,6 +173,8 @@ above, including:
- **The build tool has a compact top-left card** like the other tools. The owner asked for it
back after it was hidden; the long description stays in the hover popup.
- **Ingot molds need no F.** They push junk and mixed metal out of the bottom as loose grains with the bars, throw slag away and rake the grate. Removing any mold returns its set metal: whole bars as bars, the rest as scrap. The owner asked what F was for once bars dropped on their own, and chose this over keeping F for cleaning.
## Ideas not built yet
- **Concrete**, as a stronger wall material from rubble.
+2 -2
View File
@@ -257,8 +257,8 @@ How belts, filters and screw tubes move what is on or in them. What rests on a b
Building blocks: placing, integrity, removing, lines and rectangles of blocks.
- functions: blockOf, blockCellList, pieceCost, canPlaceBlock, placeBlock, blockIntegrity, removeBlock, blockLine, blockRect, blockInReach, blockIs, placeBlocks
### src/sim/molds.js (298 lines)
Molds: cavities for castings; ingot troughs drop bars out of the bottom.
### src/sim/molds.js (328 lines)
Molds: cavities for castings; ingot troughs empty themselves below. Removal returns set metal.
- functions: moldCellsAt, canPlaceMold, newMoldRecord, addMold, castMix, cavityState, troughState, clearCavity, moldPlugCells, rakeAbove, furnaceJunkHint, unplugMold, ejectIngot, checkMolds, moldAt, knockNote, tally, collectMold, removeMold
- variables: DROSS, grains, barWord
+20
View File
@@ -4,6 +4,26 @@ 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-23: ingot molds need no F; removing a mold returns its metal (Claude Code, with Codex)
Note: "now that the ingot molds drop the ingots, what is the purpose of F…". The owner chose no F
on ingot molds.
- `src/sim/molds.js` `ejectIngot`: when nothing over or in the mold is molten, junk and mixed
metal (as scrap) and plugs over the trough or frozen in the grate are written as loose grains
into the 4 rows under the mold; what doesn't fit waits. Slag and ash are thrown away. After a
drop or a clean-out the grate above is raked. Bars and the short stub work as before.
- `collectMold` on an ingot mold only says "Ingot molds empty themselves." Bit and tank molds
keep F. `removeMold` (every kind) gives the set metal to the bag: whole bars as bars, the rest
as scrap; molten metal is left alone.
- Text: `troughState` flaws, `info.js`, `overlays.js` (no "· F" on ingots), `pieces.js`,
`progress.js`, `notebook.js`, `docs/systems/stone-and-liquids.md`, `docs/DESIGN.md`.
- Tests: `t_molds` 60 checks (F does nothing on ingots; plate, slag and rake cases now
automatic; junk out, mixed metal out as scrap, junk waits when blocked and while molten;
removal returns bars and scrap, leaves molten metal). `furnace_play.js` adapted. All 11
headless suites and `play.py` (122) pass.
- Open: undoing a mold removal brings the mold back empty (its metal stays in the bag).
## 2026-10-23: compact build card top-left (Claude Code, with Codex)
Note: "build tool has no info box like the other tools." The owner chose a compact card.
+3
View File
@@ -71,6 +71,9 @@ through another refiner.
- **Glass bricks.**
- Sand melts to molten glass in a fan furnace (peak about 2000°C measured).
- Cast in an Ingot mold, it drops out of the bottom as glass bricks, worth $14 each.
- Ingot molds empty themselves: bars, junk and mixed scrap drop below; slag is thrown away
and the grate above is raked. Removing any mold returns its set metal to the bag: whole
bars as bars, the rest as scrap.
- Glass bricks build glass wall blocks. Glass is too brittle for a bit mold.
- **Stone cutter** (machine, 2×2, $90).
- A saw under a hopper. Every 8 grains of stone rubble become one stone brick, which drops out