Commit Graph
112 Commits
Author SHA1 Message Date
44r0n7andClaude Opus 5.5 569ec6e5b6 Resonance ping: right click with the drill lights up nearby veins through fog (t50)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:47:35 -04:00
44r0n7andClaude Opus 5.5 ef4ba6d24a Build range follows the screen; out-of-range replace ghosts replace (t64)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:41:32 -04:00
44r0n7andClaude Opus 5.5 6bc4fd5928 Decision: resonance pylon built in metal, reach from power; waits for power (t47)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:31:46 -04:00
44r0n7andClaude Opus 5.5 9fc1b92080 Throughput in the info overlay: grains per second and backing-up glow (t49)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 16:21:48 -04:00
44r0n7andClaude Opus 5.5 54e7756ead Cooled magma is ordinary rock: visible in the smooth look and drillable
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 15:43:20 -04:00
44r0n7andClaude Opus 5.5 ccca66c0c1 "Doesn't connect" marks on transport ends that would join one block off (t67 phase 4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 15:23:08 -04:00
44r0n7andClaude Opus 5.5 99d4889f1e Decision: hot loads stay a hazard but read clearly (t69, t70)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 15:17:42 -04:00
44r0n7andClaude Opus 5.5 72efe85a1b Shared drag placement; drags snap one block to join a diagonal (t67 phases 3-4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 15:08:37 -04:00
44r0n7andClaude Opus 5.5 c3f9387b24 Decision: how the player finds the warehouses (t68)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 14:59:40 -04:00
44r0n7andClaude Opus 5.5 a0f254fdeb Log t66
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 14:35:00 -04:00
44r0n7andClaude Opus 5.5 dd8068dfe6 Dev console: money, items, upgrades, free build, speed (t66)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 14:30:37 -04:00
44r0n7andClaude Opus 5.5 02e338a46f Same-row belt feed into an uphill low end draws as two capped ends (t67)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 14:30:02 -04:00
44r0n7andClaude Opus 5.5 45538cc18e Joins follow the travel direction: the next piece goes right after the end (t67 phase 2b)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 14:09:28 -04:00
44r0n7andClaude Opus 5.5 fd35bf334f Screw conveyors join by the shared rule: low ends and verticals join in the corner block (t67 phase 2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 13:30:44 -04:00
44r0n7andClaude Opus 5.5 198bea54da Log t63
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 13:05:06 -04:00
44r0n7andClaude Opus 5.5 65338b2b27 Shared join module for transport pieces; belt drawing uses it (t67 phase 1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 13:00:43 -04:00
44r0n7andClaude Opus 5.5 787721ad35 Corner placements of screw conveyors stay separate ends (t62 follow-up)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 12:32:23 -04:00
44r0n7andClaude Opus 5.5 ff9fd7b1b8 Screw conveyors join across the corner to diagonals (t62)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 12:12:44 -04:00
44r0n7andClaude Opus 5.5 828c71487c Decision: dev console ships in every build, marking the save
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:35:41 -04:00
44r0n7andClaude Opus 5.5 9ff9013c68 Log t66 dev console task
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:32:40 -04:00
44r0n7andClaude Opus 5.5 552b9b6480 Log: old saves don't need to keep loading
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:31:35 -04:00
44r0n7andClaude Opus 5.5 155708b41d Log t65 Rust conversion task
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:29:49 -04:00
44r0n7andClaude Opus 5.5 18528a7f73 Shift-drag draws a line for belts and other transport pieces
Belts, filters, screw conveyors, shafts and pipe pieces never fill a rectangle;
a diagonal belt drag stays sloped with Shift held.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:27:06 -04:00
44r0n7andClaude Opus 5.5 664e086969 Sticky materials slide freely on built surfaces (t61)
Stickiness gated every diagonal step, so clay lumps, snow, wood chunks,
ash and dirt crawled down sloped walls (a clay grain never got down a
20-piece slope). It now applies only grain against grain: a grain
resting on anything built always tries its diagonal step, so chutes
carry every material while heaps keep their shape. The random draw is
unchanged, so generated worlds stay the same.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:11:05 -04:00
44r0n7andClaude Opus 5.5 8ce71f478a Removing slopes no longer leaves unowned seal cells; loading clears them
A slope's seal can sit in a cell its neighbour leaves open (a slope's
open corner, or under a grate, screw or screen), but removal only
cleared it when the neighbour was a sloped wall, so cutting a sloped
belt next to a sloped filter or grate could leave a one-cell belt that
nothing owned and nothing could remove. Removal now asks whether the
neighbour fills that cell itself, and loading a world clears belt and
screen cells that no block or seal owns.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 23:00:15 -04:00
44r0n7andClaude Opus 5.5 3cb0182ac7 Decision: build range about the size of the screen (t64)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 22:50:43 -04:00
44r0n7andClaude Opus 5.5 be93ad1251 Downhill sloped belts draw as plain belts, ghosts and previews too
Downhill runs have no cleats, so they no longer draw the sidewall or
ribs either: placed, as ghosts, or in the drag preview, which now knows
the belt's direction. Uphill runs keep the wall and ribs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 22:46:34 -04:00
44r0n7andClaude Opus 5.5 2e5ad0f1a1 Uphill runs share one cleat phase; no cleats downhill; pick slope bands
A piece added to a running sloped belt kept its own cleat phase, so at
the seam a rib could start just behind another and push its pocket into
it, stalling the whole run with only a few grains. Every block of a run
now takes the phase of the run's lower-left block.

Downhill sloped belts no longer have cleats: they carry like a flat belt
(90 grains/s, was 38) and draw only the sidewall.

Middle click on a sloped belt's band, where it is drawn into the empty
block beside it, now picks the belt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 22:31:01 -04:00
44r0n7andClaude Opus 5.5 8cdc47fd33 Cleats really hold and push their pockets (t42 feedback)
Nothing carries the load on a slope but the ribs: each belt step every
rib moves one face cell and pushes the grains in its way, the layer on
the belt is only dragged by friction that gravity beats on 45 degrees,
and heaped grains roll back. Ribs never pass through grains or into
machines; a run that can't push stalls. The foot of an uphill run
scoops the feed into pockets. Ribs drawn as rubber bars in both looks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:56:51 -04:00
44r0n7andClaude Opus 5.5 3ee85429fd Sidewall belt and screen drawing, cheaper cleat checks (t42, t43)
Far sidewall drawn behind the load with cleat ribs at their physics
positions; sloped screens get a tinted mesh between rails and shake only
when loaded. Powder skips cleat checks outside chunks that have cleats,
and empty slopes let their chunks sleep. Record the screw conveyor and
stall/carry-depth decisions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 20:08:21 -04:00
44r0n7andClaude Opus 5.5 578b55316b Sloped belts hold their load with moving cleats (t42); sloped filters are downhill shaking screens (t43)
The magic grip is gone: cleats every 8 face cells, 6 grains tall, carry
pockets uphill (about 71 grains/s against 90 flat) and overflow rolls
back. Sloped filters always run downhill; grains travel by gravity and
a shake, and sorting stays exact. Drawing needs another pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 19:47:59 -04:00
44r0n7andClaude Opus 5.5 1f8a89db6a Rename screw tubes to screw conveyors (t44)
Player text says Screw conveyor; code uses screw (BP_SCREW, piece id
screw, screwIntake...). No compatibility code for old saves or
blueprints. Suite outputs match before and after apart from names.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:59:13 -04:00
44r0n7andClaude Opus 5.5 5e7069d637 Decisions list: newest at the bottom; no backward compatibility, no uphill filters
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:40:34 -04:00
44r0n7andClaude Opus 5.5 b74a9173eb Silo contents at a glance (t38); drill aimed past its reach stays calm (t41)
Silos show a wide fill window in the material's colour in both looks,
and the cursor label names the contents anywhere over the outline.
Aiming the drill beyond its reach keeps normal colours, marks where the
pulse stops, and drops the red circle and the out-of-reach toast.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:40:05 -04:00
44r0n7andClaude Opus 5.5 9bc5a6c3af Square wall corners hold grains, liquids and gas (t39)
Powder, liquid and gas no longer step diagonally between two solid
cells; flyers and diagonal tube intakes obey the same corner. World
generation settles with the rule off, so seeds make the same worlds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 18:27:10 -04:00
44r0n7andClaude Opus 5.5 0cf615eb3d Sloped belts and filters drawn as one belt turned to 45° (t40)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 23:50:45 -04:00
44r0n7andClaude Opus 5.5 e19cb784d2 Sloped belts and filters, laid by a 45° drag (t40)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 23:17:55 -04:00
44r0n7andClaude Opus 5.5 24eb9559f8 Diagonal tubes as thick as straight ones, with centred elbows where they join (t35)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:40:52 -04:00
44r0n7andClaude Opus 5.5 814b51df46 Wall drags at 45° lay slopes; diagonal tubes drawn as one pipe; no side arrow on drag ghosts (t35, t36)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:20:48 -04:00
44r0n7andClaude Opus 5.5 f19facbe5c Grains resting on anything built cast no shadow (t37)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:21:31 -04:00
44r0n7andClaude Opus 5.5 7d1be16094 Falling grains cast no shadow (t37)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:11:57 -04:00
44r0n7andClaude Opus 5.5 f744d786f1 Grains riding a belt or filter cast no shadow (t37)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 20:04:44 -04:00
44r0n7andClaude Opus 5.5 8087c28cb5 Diagonal screw tubes, laid by a 45° drag (t35)
- Tubes run in eight directions: a drag at about 45° lays a diagonal run, R cycles all eight.
- Diagonal runs carry grains at the straight rate (120 grains/s), join straight tubes and belts,
  keep grains in at the corners, pass water, and carry bars level.
- New part ids 11-14 (saved ids are never renumbered); tube checks use an IS_TUBE table.
- New test/t_diag_tubes.js (85 checks).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:37:30 -04:00
44r0n7andClaude Opus 5.5 381019b7aa Sloped walls with a flat 45° face, and diagonal wall lines (t36)
- New Sloped wall piece: a half-block triangle in any wall material, at half a wall's cost.
  Dragging walls or slopes at about 45° lays a diagonal line; the drag picks the slope's
  orientation and T flips or turns it.
- Each slope fills one cell past its corner, so a diagonal run is sealed against grains and water.
- New test/t_slopes.js: a slope funnel passes 400/400 sand (square steps 379/400).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 17:17:51 -04:00
44r0n7andClaude Opus 5.5 1a300bf744 Loose grains and solid ground look different: a seam on the rock, pebbly lighter grains (t33)
- Smooth look: natural ground gets a soft seam where loose grains meet it; packed grains keep a
  pebble texture and are slightly lighter. Pixel look and thermal lens: the same idea per pixel.
- play.py: the F-on-a-mold toast check records toasts the key press makes instead of counting
  the ones on screen, which failed when an older toast expired at the same moment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:59:54 -04:00
44r0n7andClaude Opus 5.5 20d0627d75 Buildings cast no shadows: daylight passes player-built pieces (t37)
The lighting finds its own roof per column, skipping walls, belts, tubes, machines and molds,
and lets light through them like air, in both looks. Natural rock still shades; the
simulation's roof (steam condensing under a built roof) is unchanged. New test/t_light.js.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:42:07 -04:00
44r0n7andClaude Opus 5.5 5ce44f842e The nozzle blows no further than it sucks (t34)
With the cursor outside the reach circle, blown grains aim at the circle's edge in the cursor's
direction instead of flying all the way to the cursor, and the blow preview stops there too.
New test/t_nozzle.js and a play.py preview check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 16:35:38 -04:00
44r0n7andClaude Opus 5.5 64ff8310f3 Keep the task board, notes and agent instructions out of the repo
They stay on the owner's machine: .kandown/, tasks/, docs/kandown.md, NOTES.md, CLAUDE.md and
AGENTS.md are ignored, and the README and project map say so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 22:59:24 -04:00
44r0n7andClaude Opus 5.5 0a8847594e A loaded world starts around the player first, the rest a few areas a tick (t21)
- Areas within 150 grains of the bot start at once; the others 12 a tick, nearest first, and any
  the bot flies toward start straight away. A Huge world is fully started after 17 s.
- Huge world, first 600 ticks: average 15.2 -> 5.5 ms/tick, worst 79.7 -> 16.2.
- New test/t_load.js.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 22:41:57 -04:00
44r0n7andClaude Opus 5.5 7fa1056e09 Refactor: merge duplicated rules, split the largest files by topic (t21)
- One helper each for wall and mold refunds, tube edges and lanes, pipe text, piece dimensions,
  font lookup, reach circles and surface averaging.
- previews, smooth, notebook, materials, worldgen and selection split into topic files
  (preview-drill, preview-selection, smooth-shaders, notebook-market, notebook-blueprints,
  material-tables, worldgen-helpers, selection-pickers, selection-panels).
- Every suite's output identical apart from timings; seeds make the same worlds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 22:35:12 -04:00