Vanilla JavaScript · Canvas 2D
Every Kittiwake crossing lays its wake one mote per stretch of water covered — never per tick of the clock. A slow harbour approach and a full-ahead run leave the same ribbon.
How the wake holds
The boat banks the water it covers and spends it in fixed steps. A crawl past the breakwater and a full-ahead run lay the same spacing, so the ribbon never breaks into dots or piles up at the berth.
A fast frame can owe several motes. Each one lands at its own distance along that frame’s segment instead of all at the bow, so a flick reads as a line rather than a blob with a gap behind it.
The emitter is damped toward the hand rather than pinned to it. That slack is what lets the wake swing wide on a turn instead of looking welded to the cursor.
A boat that is not moving lays nothing, so a resting emitter lets one mote go every 0.42 s. Any more often and it grows a column of foam in the middle of the chart.