Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Interaction Support Matrix (Screen / World2d / World3d)

Legend:

  • Supported: works in the documented path.
  • Partial: works with constraints.
  • N/A: capability is not intended for that mode.
CapabilityScreen UI (URootUi::screen())World UI (URootUi::world_2d(...))3D UI (URootUi::world_3d(...))Conditions / Notes
Base renderingSupportedSupportedSupportedScreen and World2d use the 2D path. World3d uses the 3D material path.
Picking + pointer eventsSupportedSupportedSupportedInteraction resolves the camera from each root through ResolvedRootUi. For multi-camera scenes, prefer UiCameraRef::Entity.
Clipping-aware hit testingSupportedSupportedSupportedAncestor clipping checks apply across all spaces. World roots are still hit-tested against their UI plane.
UPanelWindow resize handlesSupportedSupportedSupportedResize logic resolves cursor movement through the root camera and panel plane.
UTextField input/eventsSupportedSupportedSupportedIncluded by default through UnivisWidgetPlugin; add UnivisTextFieldPlugin directly only for narrower manual widget composition.
UScrollContainer interactionSupportedSupportedSupportedScroll interaction follows the resolved root camera path.
UPbr controls (metallic, roughness, emissive)N/AN/ASupportedIntended only for the World3d render path.

Notes

  • URootUi::screen() is a real HUD path tied to the resolved viewport.
  • URootUi::world_2d(...) and URootUi::world_3d(...) use a fixed logical canvas plus explicit world scaling.
  • meters_per_unit changes physical world size without changing logical layout size.

Verification Sources

  • crates/univis_ui_interaction/src/interaction/picking.rs
  • crates/univis_ui_widgets/src/widget/panel.rs
  • crates/univis_ui_engine/src/layout/layout_system.rs
  • crates/univis_ui_engine/src/layout/render/system.rs