Fewer, smaller messages: mold percentages, markers for machine heat, short status lines

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-23 23:03:45 -04:00
co-authored by Claude Opus 5.5
parent 43eb4e23fd
commit 4d4d94cbd8
25 changed files with 164 additions and 106 deletions
+16
View File
@@ -0,0 +1,16 @@
// Run after clear-sky.js: filling, blocked, set, and hot machinery in one view.
const my = BY - 4;
const filling = addMold('ingot', BX + 3, my, RSTONE, true);
filling.cavs[0].slice(0, 11).forEach(i => setCell(i, MCU, 1160, 0));
const blocked = addMold('ingot', BX + 12, my, RSTONE, true);
blocked.cavs[0].forEach(i => setCell(i, COPPER, 30, F_CAST));
for (let y = blocked.y + blocked.h; y < blocked.y + blocked.h + 2; y++) for (let x = blocked.x; x < blocked.x + blocked.w; x++) setCell(y * W + x, STONE, 30, 0);
const bit = addMold('bit', BX + 23, my - 1, RSTONE, true);
bit.cavs[0].forEach(i => setCell(i, COPPER, 30, F_CAST));
checkMolds();
const fan = addMachine('fan', BX + 30, my, 0);
for (let y = fan.y; y < fan.y + fan.h; y++) for (let x = fan.x; x < fan.x + fan.w; x++) temp[y * W + x] = 900;
tick = (30 - fan.id % 30) % 30; machinesTick();
if (filling.fill < 0.35 || filling.fill > 0.45 || !blocked.blocked || bit.state !== 'ready' || !(fan.hot > 760)) throw Error('Message scene did not reach its intended states');
if (!hoverInfo(blocked.x + 1, blocked.y + 1).t2.includes('blocked: leave one open block under it') || !hoverInfo(bit.x + 1, bit.y + 1).t2.includes('100% set · press F') || !hoverInfo(fan.x + 1, fan.y + 1).t2.includes('900°C · melts at 1085°C')) throw Error('Missing hover details');
CAM = [filling.x + 60, filling.y + 4];