Position sync rubber-bands moving avatars: send the precise position only while stationary, ease in, release on movement #1526

Open
opened 2026-11-12 03:23:23 +00:00 by sky_line · 0 comments
Owner

Position sync (#1417) makes other Slipstream users rubber-band while they move.

What happens: while an avatar is moving, its viewer keeps sending its precise position (on change, up to 4/s, keep-alive every 1 s). Receivers ease the drawn avatar toward each sent position, while their normal interpolation from the sim's updates also moves it. The two fight, so moving avatars snap back and forth.

Wanted behaviour:

  • Sender: share the precise position only while the avatar is stationary, once it has settled. Send nothing while it moves. When it starts moving again, send one "moving" / clear message so receivers let go at once.
  • Receiver: while the avatar is stationary, ease the drawn avatar in toward its precise position.
  • Releasing: stop the correction as soon as the avatar moves again, whether the sim's updates show velocity or position change, or the sender says it is moving. Hand it straight back to regular interpolation, without easing back over several frames against the motion.
  • Unchanged: the 2 m bound, seated-avatar handling, the privacy setting and the RLV gates.

Code:

  • indra/newview/slpossync.*;
  • the helper's pos channel: viewer-side change only where possible, since #1504 / PR 1504 splits the helper script;
  • doc/SLBRIDGE_POSITION_SYNC.md;
  • the pos-sync source check.
Position sync (#1417) makes other Slipstream users rubber-band while they move. **What happens:** while an avatar is moving, its viewer keeps sending its precise position (on change, up to 4/s, keep-alive every 1 s). Receivers ease the drawn avatar toward each sent position, while their normal interpolation from the sim's updates also moves it. The two fight, so moving avatars snap back and forth. **Wanted behaviour:** - **Sender:** share the precise position only while the avatar is stationary, once it has settled. Send nothing while it moves. When it starts moving again, send one "moving" / clear message so receivers let go at once. - **Receiver:** while the avatar is stationary, ease the drawn avatar in toward its precise position. - **Releasing:** stop the correction as soon as the avatar moves again, whether the sim's updates show velocity or position change, or the sender says it is moving. Hand it straight back to regular interpolation, without easing back over several frames against the motion. - **Unchanged:** the 2 m bound, seated-avatar handling, the privacy setting and the RLV gates. **Code:** - `indra/newview/slpossync.*`; - the helper's pos channel: viewer-side change only where possible, since #1504 / PR 1504 splits the helper script; - `doc/SLBRIDGE_POSITION_SYNC.md`; - the `pos-sync` source check.
sky_line added this to the Slipstream project 2026-11-12 03:23:23 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#1526
No description provided.