Wolvic 1.4 Released
We’re pleased to announce the release of Wolvic 1.4, which brings Wolvic into the real world even as it brings more realistic models into the virtual world. In addition, we’ve added support for three new devices, and also made it easier to send us feedback about Wolvic and your experience using it!
Let’s take that last point first. Until now, we’ve been using Github issues to collect feedback and fixes for Wolvic. That’s fine for programmers and other similarly nerdy types, but it isn’t very welcoming to the casual user. Thus, starting with this release, we’ve added a feedback button right in the main user interface. Look for the question-mark speech bubble just below the main browser window and to the right of the omni-bar.
Next, let’s ponder the new, more realistic hand models used in hand-tracking situations on Meta and Lynx devices, replacing the skeletal cloud of joint spheres we used previously. Now you can really, like, look at your hands, dude. Or at least a decent virtual representation of them.
We’ve also improved gesture handling in situations where the hand-tracking input is noisy for some reason, fixed a hand-tracking problem that could caused unwanted zooming, and removed some code that was interfering with the recognition of “click” actions. Also, the pointer beam is back when using hand tracking, which makes pointing more accurate and finding the current pointing focus much easier.
On the flip side, Wolvic 1.4 now supports “passthrough” on multiple devices. Passthrough is when the feed from a device’s external cameras are shown on the displays inside, giving the user a real-time view of the space around them, or when the device is transparent in the first place and thus defaults to a view of reality. Windows, models, and other 3D assets can be overlaid on this external view, creating what is usually referred to as augmented reality.
Making this happen in various devices requires a mix of strategies, including support for OpenXR’s alpha blending mode, suppression of the “skybox” (the background environment shown behind VR windows), and more. This isn’t available in all supported devices quite yet, but we’re working toward 100% coverage.
Speaking of supported devices, we’ve added three more: the Lenovo VRX, Lenovo A3, and the Lynx-R1. Welcome to the pack!
As always, this has been a high-level overview, so there are more changes and fixes listed in the notes below. If you’ve found a new problem or have another issue, please send us your feedback or, if you prefer, file an issue on GitHub.
Highlights
- New, realistic 3D hand models for hand tracking
- New “user feedback” button in browser interface
- Passthrough support
- Support for new devices: Lenovo VRX, Lenovo A3 (experimental) & Lynx-R1 (experimental)
- Wolvic now recognized as a browser app on Android
- Added support for U-NEXT videos
- Ongoing progress of the new Chromium backend (not released)
Release Notes
New devices supported
- Lenovo VRX
- Lenovo A3 (experimental)
- Lynx-R1 (experimental)
Hand tracking
- New realistic 3D hand models for selected platforms (Meta, Lynx)
- Restored drawing the beam when using hand tracking, helps a lot to locate the pointer on real use cases
- Disabled squeeze gesture with hand tracking as it was interfering with “normal” click
- Removed accidental zooming when scrolling via hand tracking
- Added a smoothing filter for hand clicks, removes accidental clicks in systems that provide noisy hand tracking data
- Do not require
XR_FB_hand_tracking_aim
to display hand joints
Passthrough support
- Added support for external-environment passthrough via multiple strategies, depending on the system, including:
- Special compositor layer with specific extensions
- OpenXR’s alpha blend mode
- Skip drawing the skybox
- Added a new menu item to enable/disable passthrough
- Passthrough switched on by default for Lenovo A3
UI
- Added new “user feedback” icon in the navigation bar
- Do not consider YouTube’s 3D-audio videos as immersive
- Buttons A and X in controllers now trigger click events
- Buttons B and Y in controllers now trigger back navigation
Rendering
- Improved the appearance of the pointer beam by adding missing geometry
- Enabled lighting on hand-tracking joint spheres
- Corrected geometry in hand joint spheres
Pico
- Added the right WebXR input profiles for Pico4 and Pico4E, WebXR experiences can now render the actual Pico controller 3D models
- Re-enabled
WAKE_LOCK
permission to allow app resuming, previously the system was closing Wolvic when pausing/stopping the app
Infrastructure
- Added dependency on
tinygltf
library used to load hand models - Removed the old PicoVR flavour
- Ensured that store builds do always use OpenXR
- Removed the OpenXR based system filter, get the device model from Android OS instead
Other fixes
- Fixed background dimming for fullscreen videos
- Set the correct trigger and squeeze button states when hands disappear
- Added desktop override for U-NEXT videos
- Fixed a rare crash when the projection menu widget was not created
- Declared Wolvic as a browser application in Android, so it can be now selected as the default browser and also directly open URLs from other apps
- Restricted context menus in kiosk mode
Updated Translations
- Chinese (simplified)
- French
- Korean
- Spanish
Chromium Backend
- Added WebContents support
- Initial support for WebXR
- Refactored
GeckoSurfaceTexture
- Initial support for
fullScreen
& media playing - Updated
ContentViewRenderView
’s size when surface is updated - Implemented several interfaces:
TabImpl
TabWebContentsObserver
BrowserInitializer
- Implemented basic navigation using URL bar
- Support touch events & key events including IME (Input Method Editor)