Cyd and Claude Opus 5
b0b40559d5
A fraction of zero is a place, not an absence
...
The drawn pod stalled about fifteen times in 293 frames while the
simulation stepped perfectly smoothly through the same window - and 15 of
293 is 5%, which is exactly the count of frames the earlier trace found
sitting at a render fraction of zero. That was the whole clue.
GetRenderToWorld tested the fraction to decide whether to interpolate at
all:
if (renderStepFraction <= 0 || !RenderInterpolationEnabled())
*out = localToWorld;
Drawing at fraction f means drawing at the start of the step plus f of it,
so f = 0 means the START of the step. localToWorld is its END. The two are
a whole step apart, about a metre at racing speed.
behind is a whole number of milliseconds against a 20ms step, so it lands
on exactly zero roughly one frame in twenty. On those frames the pod was
drawn a full step ahead of itself and snapped back on the next one. Three
times a second at 59fps, regular because the beat between frame rate and
step rate is regular, and worst when a pod crosses the view quickly -
which is the symptom as it was first described, and it took this long to
find because every simulation trace was right. Only the drawing was wrong.
Ask renderStepTaken instead, which is what the condition meant all along.
Interpolating at f = 0 is continuous with its neighbours: each frame
advances the drawn position by frame_time / step whether or not a step
boundary falls between the two, which is the entire point.
The same mistake was in DPLEyeRenderable's rebuild gate, using the
fraction as a proxy for whether interpolation was running. Same fix.
renderStepTaken is cleared where localOrigin is assigned outside the step
loop, so a stale snapshot is never blended from.
Render path only - localOrigin is untouched, so physics, collisions and
determinism are unaffected.
The foreign-eye rejection added in the previous build turned out not to be
the cause: it rejected between zero and three samples per window against
stall counts in the twenties. Keeping it, since sampling one viewpoint
against another was still wrong, but it was not this.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-11 11:15:53 -05:00
..
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-10 15:56:58 -05:00
2026-08-10 15:56:58 -05:00
2026-08-09 13:12:34 -05:00
2026-08-05 15:39:19 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-05 23:00:37 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-07-12 12:22:31 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-11 07:53:44 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-07 16:25:42 -05:00
2026-08-07 16:25:42 -05:00
2026-08-07 16:25:42 -05:00
2026-06-30 07:59:51 -05:00
2026-08-09 18:20:03 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-11 11:15:53 -05:00
2026-08-11 11:15:53 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-09 13:12:34 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-09 13:12:34 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-09 21:03:03 -05:00
2026-08-09 21:03:03 -05:00
2026-08-07 16:25:42 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-11 11:01:17 -05:00
2026-08-11 10:50:53 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-07-12 12:22:31 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-10 14:04:26 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-10 23:36:44 -05:00
2026-08-10 23:36:44 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-11 10:25:35 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-08-07 16:25:42 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00
2026-06-30 07:59:51 -05:00