C5.11.1Predictive inking extrapolates unreported pathdesignresearch

Predictive rendering extrapolates path that has not actually been reported yet, from current speed and heading

Aliases: ink extrapolation · predictive inking · look-ahead ink

What it is

Predictive rendering paints a short extra segment of ink beyond the latest real sample, along current velocity and heading, as the path the nib “should already have reached” while the sample has not arrived. It fills a perceived gap; it does not compute the true future trajectory. When real points arrive, that extrapolation is replaced. How extrapolation is done sits upstream of whether a sharp turn looks like a barb; this claim is the extrapolation itself.

Why it happens

The predictor takes recent positions and times, estimates velocity, sometimes tangential acceleration, and walks a tangent (or a short arc) for a length matching Δt, an estimate of end-to-end delay. What is drawn is temporary geometry: translucent, or the same colour as real ink but tagged as a prediction layer. The model is almost always locally linear or constant-curvature: tens of milliseconds of history cannot encode glyph structure. Faster motion makes the same Δt a longer segment, which fills a straight gap more completely. Heading comes from differences; sparse or jittery samples spin the tangent and the predicted segment lashes sideways. Hence a little smoothing before extrapolation, which itself lags true corners—the predictor already trades following against stability. With no velocity yet (the first point of contact) it must not extrapolate, or it will spray in a random direction. The prediction layer must be droppable next frame, not written into the final stroke buffer, or rollback has nothing to undo.

Studying it

Under a known injected delay, compare no prediction, linear extrapolation, and acceleration-aware extrapolation. Use high-speed video to see whether the predicted segment sits on the nib, and whether the first contact sprays.

Independent variables: velocity model (zero-order hold / linear / constant curvature), history window, smoothing. Dependent measures: remaining gap from nib to ink front on a straight, angle between predicted heading and true velocity, spray length at contact.

Colour the predicted segment apart from real ink so it can be measured, rather than guessing which part of a merged stroke was fake.

Where it stops holding

The first point, zero velocity after a stop, and a sudden gap in reports (a scheduling stall) make velocity estimates fail; turn extrapolation off or shorten it. Tiny circular moves (dots, small loops) spin the tangent too fast; linear extrapolation draws spikes. Writing the predicted segment into the undo stack lets undo undo motion that never happened.

Applying it

  • Extrapolate only when velocity is stable; skip prediction in the first milliseconds after contact.
  • Keep predicted geometry on a disposable layer; do not write it into final ink.
  • Accept with a debug colour distinct from real ink, and confirm the segment follows the tangent rather than jitter.
  • How to check: on a uniform straight, the predicted segment should sit under the nib, length matching Δt×speed. The first frame of contact should not emit a flying stub. Lengthening the history window should start lagging true turns—that is the next window trade, not a wrong formula.

Related

  • Same group: C5.11.2 Extrapolated path must be rolled back when real data arrives · C5.11.3 A longer window follows better but errs more at turns · C5.11.4 Prediction only eases perceived latency, not real end-to-end delay
  • Adjacent: C5.08 Inking Latency · C2.10 Touch Latency and Directness
  • Search: predictive inking · extrapolation · look-ahead stroke

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/C5.11.1