conrads.website / vibechecks / island forge

Island Forge

A compiler for machines

Island Forge is a vibecheck: a small editor where you wire physical parts together (batteries, motors, tanks, radiators) and a compiler works out how the whole machine will behave over time.

The trick is that it doesn't simulate everything, all the time. It splits the machine into islands of parts that only talk to each other, works out what kind of maths each island is, and only does work when something actually changes. Scroll down and the page on the right will walk through the kinds of island it knows.

This is the finished machine, paused. It comes back at the end.

Nothing to step

A battery and two resistors have no stores anywhere: no capacitor, no spinning mass, nothing that remembers. So the whole island is one linear solve. It computes once, reports the equilibrium, and sleeps.

Electricity here is a constraint, never a tick. Toggle the battery (the dot on its corner) and the solve counter goes up by exactly one.

Closed form

Torque, inertia and drag are linear, so this island gets an exact solution, eᴬᵗ. Nothing is ever integrated. The curve you're watching is evaluated, not stepped.

Because it's a formula, the compiler knows when the flywheel will settle before it starts, and puts that moment on the event queue up front.

Recognizing a shape

A hot mass radiating into deep space is nonlinear (temperature to the fourth power), so the linear trick fails. But the structure matches a known analytic solution, so the compiler uses that instead.

It finds when the temperature crosses the marked line by inverting the formula, not by watching for it.

A tank that knows its future

Water draining through a valve follows Torricelli's law. Same idea: match the template, and "the tank is empty at t=…" is an exact event, committed before a single step is taken.

Switch the valve law to linear and the island reclassifies itself as linear. It can tell.

Everything at once

One power bus feeds a motor and a heater. The motor spins a drum, the heater melts a crucible, and two signal wires carry no energy at all: drum speed drives separation, and the melt temperature is the freeze plug on the tap valve.

Watch the tap island sleep at zero ticks until the plug melts, then wake, drain, and sleep again. Toggling the heater or the battery mid-run slams events into the ledger.

The half that didn't land

The blank bench is the editor half: place parts, bond matching ports, run signal wires, and the compiler re-partitions on every edit. The compiler is the part I'm happy with. The editing is the part that's only semi-working, so treat this as a compiler you can poke at more than a tool you can build with.

Open the full page to try it yourself.

Centrifuge forge Open full page →