Predictive rendering produces barbs at sharp turns
Aliases: prediction barb · ink cusp · corner overshoot
What it is
To fill the latency gap between nib and ink, a system often paints a short extra segment of ink along the current velocity that has not actually been reported yet. On a straight stroke that fake ink can close the gap. On a sharp turn, reversal, or stop, the fake ink still heads the old way; when real samples arrive it is hauled back, and the stroke keeps a cusp, a hook, or a pull-back—the barb. The barb is the visible failure of a latency countermeasure, not an account of how the predictor rolls back inside.
Why it happens
Extrapolation assumes heading stays put for a short interval. Corners in writing (a Chinese turn, the tittle of i, a hook) are exactly where that fails. A longer predicted segment follows better on straightaways and overshoots farther at corners. When real samples arrive, the engine covers fake ink with the true path: a hard cut leaves a sharp barb; an animated pull-back leaves a bounce. Attention is already high at corners—they are structural points of the glyph—so a barb reads as “this character was written wrong”, worse than the same pixel error on a straight. Turning prediction off cleans the corner and reopens the straight gap: one latency budget allocated across two path shapes, not two unrelated bugs. Sample density matters: if a corner lands on one or two points, the model cannot even estimate curvature and is more likely to punch straight through.
Studying it
Contrast polylines, right angles, hard stops, and tight arcs with straight strokes, toggling prediction and its length; photograph local stroke geometry.
Independent variables: prediction on/off and length, corner angle, speed into the corner. Dependent measures: straight-away gap, maximum deviation past the true path at the corner, visible pull-backs, “this stroke is ruined”.
Report straight-away gain and corner cost together. Showing only uniform straight strokes concludes that prediction has only upside.
Where it stops holding
Signature-like strokes that hardly turn rarely barb, so prediction can be more aggressive. Post-lift vector fitting can wipe barbs and also wipe corners the writer meant to be sharp; it does not suit scripts that need crisp turns. Treating a barb as raster aliasing and turning on antialiasing does not remove the extra geometry. How the prediction window scales with confidence, and how rollback is done, is a further design layer.
Applying it
- Treat prediction as a gap-filler that will show at corners. Acceptance tasks must include right angles and stops, not only horizontals.
- Shorten look-ahead quickly at corners and speed drops; a brief gap is better than a hook.
- When correcting fake ink, avoid a theatrical bounce; a hard cut to the true path is usually less noticeable than ink shrinking itself.
- How to check: draw polylines and box-like corners fast; zoom for hooks. With prediction off, hooks should vanish and the gap should appear. Tune until the straight gap is just invisible and the corner hook is just invisible, and keep that pair as the joint latency/prediction pass line.