VR: Milestone 1 - Scene Inspection - Features
Patch on top of D6193.
This is the C-side implementation of the features added to the existing VR support to fulfill milestone 1. Part of the needed features are implemented in an Add-on, which will be submitted separately.
Main changes/features:
- Option to let a regular viewport show the state (viewer position and rotation) of the VR view (VR-Mirror). The viewport remains fully interactive; data is purely runtime.
- Improved RegionView3D locking to prevent navigation from a VR-mirror. Also support runtime-only locking, so that locking flags are removed on file read (if wanted).
- Option to disable positional tracking. Keeps the current position (calculated based on the VR centroid pose) when enabled while a VR session is running.
- Option for gizmo-groups to continuously redraw. Needed for virtual VR camera gizmo (see T71347). Currently this continuosly redraws the entire region, optimizing this is a separate project (see T73198).
- Support all regular 3D-View shading options for VR views.
- Improved management of the VR reference pose, supporting custom objects to derrive reference pose from and entirely custom location/rotation input.
- RNA/Python-API to query and set VR session state information.
- Notifiers for XR data changes, to trigger redraws as needed.