Files
simplysanatoriandClaude Opus 5.5 e3e091483d Lane G: exact image/pose check (frame stamp), end layers at their locate time, scene clock for VR interpolation
Second headset session: images doubled on head motion although every rate was clean.

- KARTFRAME_FRAME_STAMP=1 (tests): the Vulkan bridge writes the display time an eye set was located
  for and the eye into a corner block of each eye image; the mock (MOCK_XR_STAMP) reads it back at
  every release and compares it with the locate of the poses each projection layer submits.
  Pipelined and inline, with and without prediction jitter: 10064-14318 eye images per run, all
  rendered for the locate of their submitted poses. The image/pose pairing is not the cause.
- A layer is ended with the display time its poses were located for (not this cycle's prediction,
  which on SteamVR need not be one period after the last), keeping display times increasing; repeats
  keep the cycle's time. KARTFRAME_END_TIME=cycle restores the old behaviour. Mock with
  MOCK_XR_PREDICT_JITTER=2: before 0 of 7155 fresh layers carried their poses' time, after 7157 of
  7159. New log line every 10 s: 'vr display times' (prediction step error, display lead, sets shown
  for another time than their cycle's); the eye fields of view are logged once.
- VR interpolation never interpolated with pipelined pacing: a set's display time lies 2-3 refreshes
  after the newest game frame's boundary, so the weight was clamped to 1 for 98 % of race sets (mock:
  between 2-54 of ~1180 per 10 s) and each game frame showed on two refreshes: 60 Hz scenery on a
  120 Hz display, moving things doubled. stereo::SceneClock samples the scene at the display time
  minus a learnt delay (running mean of display - boundary, minus half an interval): mock race now
  80-87 % of sets between two frames. KARTFRAME_SCENE_CLOCK=0 restores the old rule. New aurora line
  'VR interpolation weights (10 s)'.
- xrmock: MOCK_XR_STAMP, MOCK_XR_PREDICT_JITTER, increasing display time check, asymmetric
  Frame-like FOV by default (MOCK_XR_FOV), MOCK_XR_HANDS, scripted presses (MOCK_XR_PRESS).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 12:01:51 -04:00
..
2026-08-23 17:10:50 +02:00
2026-08-23 17:10:50 +02:00
2026-08-23 17:10:50 +02:00
2026-08-23 17:10:50 +02:00
2026-08-23 17:10:50 +02:00