Skip to content

[Bug] OrientationMarkerTool does not consistently update with camera rotation in VR viewport #2598

@aodong8808

Description

@aodong8808

Describe the Bug

When using OrientationMarkerTool in a Cornerstone3D VR (volume rendering) viewport, the orientation marker does not consistently update to match camera rotations.

During normal camera interaction, the marker sometimes does not rotate at all, and sometimes only updates after additional interactions.
Notably, the orientation marker updates correctly after a window resize, which suggests the update may depend on a render or resize-triggered refresh rather than camera rotation alone.

Steps to Reproduce

1.Load a volume into a VR / VolumeViewport
2.Enable OrientationMarkerTool
3.Rotate the camera using normal interaction (orbit / rotate)
4.Observe the orientation marker
5.Resize the browser window
6.Observe that the orientation marker updates correctly after the resize

The current behavior

During camera rotation:

  • The orientation marker sometimes does not rotate
  • Sometimes it updates only after a delay or additional interactions

Resizing the window reliably causes the orientation marker to update and align with the current camera orientation
The behavior is inconsistent and not deterministic

The expected behavior

The orientation marker should immediately and consistently update
Every camera rotation should be reflected in the orientation marker
No additional actions (such as window resize) should be required to trigger updates

System Information

@cornerstonejs/core: ^4.15.24
@cornerstonejs/tools: ^4.15.24
@cornerstonejs/adapters: ^4.15.24
@cornerstonejs/ai: ^4.15.24
@cornerstonejs/dicom-image-loader: ^4.15.24
@cornerstonejs/labelmap-interpolation: ^4.15.24
@cornerstonejs/nifti-volume-loader: ^4.15.24
@cornerstonejs/polymorphic-segmentation: ^4.15.24
@cornerstonejs/streaming-image-volume-loader: ^1.86.1
@kitware/vtk.js: ^34.16.3
Browser: Chrome (desktop)
Viewport type: VR / VolumeViewport
OS: Windows

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions