workshop private

← all creations

No Torque

mechanics · created 2026-10-05

A spacewalker who has let go has nothing to push against and no angular momentum to spend, and can still turn — but only by drawing a shape that encloses area. Four numbers fall out. Sweeping both arms through their entire 250° of travel and back, elbows locked, returns you to the heading you started on: not nearly, exactly, and for as many strokes as you care to spend. Fold the elbows on one leg of that same stroke and the identical 500° of shoulder travel buys 10.59° of heading — a 2.1% gear ratio, 8.5 cycles and 26 seconds to get 90°. The fold is not a dial: folding halfway gives up 71% of the gain to save 16% of the clock, so the honest options are all the way or not at all. And the one move that is genuinely fast is the one you cannot undo — a 1.2 kg tool thrown at 4 m/s buys 2.98 kg·m²/s and about 14°/s, which you then have forever, at a rate that drifts between 10.4 and 14.1°/s as your own shape changes under it.

physicssimulationcanvasgame-feel

Let go of the handrail and you are a closed system. There is nothing to push against, no reaction wheel in the backpack, and — if you let go cleanly — exactly zero angular momentum. Angular momentum is conserved, so it stays zero no matter what you do with your arms.

The obvious conclusion is that you are stuck facing whichever way you were facing. The obvious conclusion is wrong, and the reason it is wrong is the whole mechanic.

Zero momentum is not zero rotation

Conservation pins a rate, not an angle. Writing the system’s angular momentum about its own centre of mass, in one plane, with the trunk at angle th and the arms at shoulder angle ph and extension r:

L = I(ph, r)·th'  +  Aph(ph, r)·ph'  +  Ar(ph, r)·r'

Set L = 0 and the trunk’s rate is whatever the arms’ rates make it:

th' = −( Aph·ph' + Ar·r' ) / I

Integrate that and th is a path integral over arm shapes. Not a function of where your arms are — a function of the route they took to get there. Move the arms out and back along the same route and the integral cancels term for term. Move them out along one route and back along another, and it does not.

The mechanic is that second sentence, and the suit is built to make it the only thing you can think about.

What the suit actually is

src/no-torque.mjs is two rigid bodies on a revolute joint: trunk, head and legs lumped as one (70.2 kg, 11.5 kg·m² about its own centre of mass), and both arms lumped as the other (7.8 kg, hinged at a shoulder 0.49 m up the trunk from its centre of mass). The limb is a real two-segment arm — 0.33 m of upper arm, 0.42 m to the centre of the glove — so folding the elbow does two separate things at once: it pulls the limb’s centre of mass from 0.313 m to 0.163 m off the shoulder, and it drops the limb’s own inertia from 0.366 to 0.123 kg·m². Segment masses and centroids are the standard tables evaluated for a 78 kg, 1.75 m body, not invented.

The shoulder stops at −60° and +190°, which matters more than it sounds. A shoulder that could spin all the way round would be a crank: one full revolution with the elbows locked is worth 24.8° of heading, no cleverness required. Anatomy forbids it. You get 250° of travel and then you have to come back, and coming back is where the entire problem lives.

The four numbers

Out and back, elbows locked: 0.000°. Not approximately. The path in shape space is retraced, the integral cancels, and the suit returns to the heading it started on. The demo will let you spend 1440° of shoulder on this and the heading readout will not move — and then tell you so.

Out extended, back folded: 10.59° per cycle. Same 500° of shoulder travel, same two joints, same amount of effort. The difference is that the route out and the route back are different routes, so the loop encloses area in the (ph, r) plane, and the heading gained is that area. A 2.1% gear ratio: 8.5 cycles for 90°, 3.08 s a cycle at honest joint rates, so 26 seconds.

Fold all the way or not at all. Half a fold is not half the gain — it is 3.07° instead of 10.59°, because the area you enclose falls off much faster than the time you save. 71% of the payout to save 16% of the clock. The intuition that a partial version of a good move is a partial good move is exactly the thing this geometry punishes.

A thrown tool: 2.98 kg·m²/s. 1.2 kg at 4 m/s on a 0.62 m moment arm, and suddenly you are not a zero-momentum system any more. You turn at about 14°/s, four times faster than any gesture — and you keep turning, because L is now a number you own. The suit carries two tools, which is the joke: the second one, thrown the other way, is the only brake you have. Watch the rate while you spin, too. L is fixed but I is not, and your own shape swings it between 12.09 and 16.39 kg·m², so the same momentum reads anywhere from 10.4 to 14.1°/s depending on where your arms happen to be.

Playing it

You are drifting at an airlock with a handrail on it, closing at about 0.18 m/s, and you have to be pointing the right way when you arrive — within 12°, and turning slower than 3°/s, or your hand does not stay on the rail. The clock is the drift, which is diegetic and cannot be paused.

Drag the glove. The pointer is your hand: the arm tracks toward it at a real shoulder rate, so the gesture you draw on screen is literally the loop in shape space, and the inset at bottom-left draws that loop back at you with its enclosed area shaded. Circling the glove concentrically around your own shoulder, which is the first thing everyone tries, holds r constant and therefore encloses nothing — the arm just rattles between its stops. Keyboard works too: arrows for shoulder and elbow, Q/E to throw a tool.

Five approaches, including a pressurised suit at half joint rate (the gear ratio is unchanged; only the clock gets worse) and one that asks for 155° in 20 s, which no gesture can do.

Things worth knowing if you reuse this