Wake
Draw a stylus through the bath and the water ahead of the tip bulges forward while the water at the flanks streams backward around it. That is the instantaneous flow around a rigid cylinder of radius moving through an inviscid fluid — the potential-flow doublet. In the stroke frame, with along the tip’s per-pass motion (magnitude ):
Inside the tip there is no fluid: the body moves rigidly with the pen. That boundary condition removes the singularity exactly and matches the outer field with zero seam on the motion axis.
The viscous profile: an impulse in a Stokes layer
Section titled “The viscous profile: an impulse in a Stokes layer”The doublet is the inviscid limit. Since v0.7 the settings offer a second fluid for the same stroke: the paint layer as a 2-D unsteady Stokes flow, and the stylus tip as an impulsive point force spread over the tip radius. The velocity of an impulse follows from the stream function with ; integrating it in time gives the displacement in closed form. With the impulse as a Gaussian blob of radius (the tip) and the momentum diffused to by the end of the pass, in the stroke frame:
where is the exponential integral and the normalisation makes the tip itself move by exactly . The field is exactly divergence-free and mirror-symmetric about the stroke, and its far field is a doublet tail like the inviscid wake’s. Unlike the doublet it is a linearized displacement, area-preserving to first order per pass, so it is sub-stepped at , the same budget as the doublet (measured: for every ). The setting spread is : small is a sharp, close stroke; large is soft and far-reaching.
Invariants
Section titled “Invariants”- Magnitude is not a parameter. It is the tip displacement — wake strength is pen speed, by physics.
- Sub-stepping is required. At exactly the inverse map’s Jacobian reaches zero at the rear stagnation point (), so is the fold threshold itself, not a safe budget. The engine subdivides every stroke segment so each pass stays at or under , counting the passes against the same per-frame budget as glide tines.
- Orientation test. Ink directly ahead of the tip must bulge forward, ink at the flanks stream backward. If it renders inside-out, the inverse-lookup sign is flipped — the earlier draft’s contradicted its own zero-seam claim at the front pole, and the field was re-derived from the doublet potential that satisfies the no-penetration boundary.
- Tip radius from force: canvas heights — a harder press is a fatter tip and a wider wake.
Ownership
Section titled “Ownership”- Every stylus stroke segment, in both Marble and Play mode, rides a wake
through
sumi_add_wake. Desktop: middle-drag (the scroll wheel sets ). - A wind legato. In wind mode a note change drags the sounding drop to the new pitch’s site as a rigid tip — is the drop’s current radius, the profile and spread are the stylus settings — and then the new note strikes. The one MIDI-driven wake: the operator that made the wandering brush unnecessary.
- Never generated. The wake is physical, not musical, and is deliberately
absent from the play surface’s stream: a DAW recording of a pencil
performance replays the notes, bends, CC 74 and pressure exactly — and no
wakes, because a DAW has no stylus in the water. This is one of the two
documented exceptions to the loopback-conformance rule (the other is CC 74
under
slide_mode = 1).
Lineage
Section titled “Lineage”The closed-form short-stylus-stroke field is Aubrey Jaffer’s: Oseen Flow in Paint Marbling (arXiv:1702.02106, 2017) derives an exact velocity field for slow, viscous (Oseen) flow past a stylus and turns it into a marbling homeomorphism by iterating it — he notes the displacement itself has no closed form. midi-sink converged on the same problem from the inviscid end — the potential doublet with a rigid tip — before finding his paper. The viscous profile above takes a third route to the same picture: the exact time-integrated response of a Stokes layer to an impulse, which is closed form for a force at rest, applied along the stroke one sub-step at a time. The lineage note is the least we owe. See the citations.
In the scene
Section titled “In the scene”a is the tip radius, d the total stroke length; the engine sub-steps the
stroke internally so the picture is the same however long the stroke.
midi-sink 2.0.0-rc.5 · AGPL-3.0 · source
