Host-supplied screen→world raycast. When provided, every mousemove
is converted to a 3D world-space point via this callback and
broadcast as cursor3d. Each peer then reprojects it through
THEIR camera, so cursors stay anchored to the same point in the
model regardless of camera perspective.
When omitted, the bridge falls back to publishing cursor2d only
(the legacy fixed-projection behaviour — accurate only when every
peer shares the same view, e.g. orthographic plan layouts).
Return null on a ray miss; the bridge will keep the previously
published cursor rather than spamming clears.
Host-supplied screen→world raycast. When provided, every mousemove is converted to a 3D world-space point via this callback and broadcast as
cursor3d. Each peer then reprojects it through THEIR camera, so cursors stay anchored to the same point in the model regardless of camera perspective.When omitted, the bridge falls back to publishing
cursor2donly (the legacy fixed-projection behaviour — accurate only when every peer shares the same view, e.g. orthographic plan layouts).Return
nullon a ray miss; the bridge will keep the previously published cursor rather than spamming clears.