Skip to content

v2.56.0#329

Merged
doranteseduardo merged 8 commits into
mainfrom
develop
Jun 5, 2026
Merged

v2.56.0#329
doranteseduardo merged 8 commits into
mainfrom
develop

Conversation

@doranteseduardo

Copy link
Copy Markdown
Member

This pull request introduces several major AR and audio features, API improvements, and bug fixes, with a focus on AR world mesh enhancements and extensibility. The most important changes are grouped below.

AR World Mesh and Depth Mesh Improvements:

  • The VROARWorldMesh class now supports multiple mesh sources (LiDAR, monocular, and plane-based fallback) and exposes a public subscriber API, allowing multiple consumers to receive mesh updates with source information and stats. Mesh generation prioritizes ARMeshAnchor (LiDAR), then depth maps, then plane anchors, and supports per-consumer triangle decimation and asynchronous Bullet BVH construction for improved performance and responsiveness. [1] [2]
  • VROARDepthMesh gains a source field and accessor, allowing consumers to identify the mesh source ("lidar", "monocular", "plane"). Constructors and methods are updated accordingly. [1] [2] [3] [4]
  • VROARFrame adds new virtual methods for generating meshes from ARMeshAnchors and plane anchors, and for retrieving a debug texture transform. [1] [2]
  • VROARScene and VROARSession now notify the platform session when world mesh is enabled or disabled, allowing platform-specific activation of depth sensing. [1] [2] [3]

Physics and Performance Enhancements:

  • Physics mesh generation is now performed asynchronously in a background thread to avoid render-thread stalls, with vertex clustering and triangle decimation options for efficient, gap-free collision meshes. Smart-pointer and custom deleter logic ensures safe and efficient Bullet rigid body lifecycle management.

Other Features and Fixes (see changelog for details):

  • Added dynamic mesh node support, a process-wide thread-safe virtual controller registry, PCM audio streaming, a game loop API, and a particle alpha fix. Also upgraded the monocular depth pipeline and fixed a SIGABRT crash on Android 14+.

doranteseduardo and others added 8 commits April 8, 2026 16:47
* feat: selfie camera support

* feat: VRODynamicGeometry — mutable per-frame vertex buffers

* chore: link new files

* feat: VROInputState + VROVirtualControllerRegistry foundation

* fix: xcode references

* chore: media capture

* feat: VROVirtualController JNI bridge (Android) + fix RVCCA_AVAILABLE guard

* feat: add nativeSetButton to VROVirtualController JNI

* feat: add PCM streaming audio — iOS AVAudioEngine + Android AudioTrack

* eat: orientation support, calibration modes, and in-place depth texture update  W6+W1+W4)

* feat(mono): synthesized confidence for hit-test gating (W2) + monocular world-mesh fallback (W5)

* feat(F4-W1): replace stats-only callback with subscriber API in VROARWorldMesh

* feat(F4-W2): persistent mesh sourcing with ARMeshAnchor + plane fallback

* feat(F4-W4): smart pointer hardening for btRigidBody/btDefaultMotionState

* feat(F4-W3): per-consumer decimation in VROARWorldMesh subscriber model

* feat (F4-W7): Android world mesh end-to-end repair

* feat (F4-W8): Depth-tested wireframe for world mesh debug draw

* feat(demo-hooks): expose getWorldMesh() on VROARScene + getNativeRef() on ViroContext

* feat(android): expose Scene.getNativeRef() for cross-package JNI access

* fix: virodynamicmeshnode

* feat: add game loop, fix particle alpha

* fix: arworldmesh is not simplified

* chore: skip anchor not found log

* feat: use metric model for mono

* feat: support monocular scale factor

* feat: configurar monocular target fps

* fix: wire controls and audio in android

* fix: prevent corrupted meshes

* Update VROPhysicsShape.cpp

* chore: validate selfie camera integration and add new prop for nav mode

* fix: camera flip bug

* fix: SIGABRT in ARUtilsCreateJavaARAnchorFromAnchor on Android 14

* fix: shaders + extensions

* chore: update changelog

---------

Co-authored-by: Ernesto Mendoza <emhgerencia@gmail.com>
Co-authored-by: Benito Mota <benmotanoti@gmail.com>
@doranteseduardo doranteseduardo merged commit 5c3d101 into main Jun 5, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant