Releases
v2.44.1
Compare
Sorry, something went wrong.
No results found
Release Notes – v2.44.1
AR Plane Detection & Selection – Major Update
ViroARPlaneSelector – Complete Rewrite
Accurate Plane Shape Rendering
Planes now render using their actual geometric boundaries from ARKit/ARCore (via boundary vertices).
Automatic fallback to rectangular visualisation when vertex data is not available.
New useActualShape property to control rendering mode (default: true).
Map-Based Plane Tracking
Replaced array-based tracking with Map<string, ViroARPlaneType> for reliable and deterministic plane handling.
Plane identification now uses anchorId, eliminating index-based race conditions.
Improved stability for both plane selection and update cycles.
Multi-Alignment Detection
Added new alignment mode: "Both" for concurrent horizontal and vertical plane detection.
25 detectors per alignment type for broader and more consistent scene coverage.
Enhanced scene understanding through simultaneous multi-plane detection.
Plane Classification Support (iOS)
ARKit plane classification now exposed, including: Wall, Floor, Ceiling, Table, Seat, Door, Window .
Classification data is included in all plane update callbacks.
Enables semantic placement and surface-specific logic.
Enhanced Properties & Callbacks
onPlaneDetected?: (updateMap) => boolean — Validate planes before adding them.
disableClickSelection?: boolean — Enables visual-only mode.
useActualShape?: boolean — Controls shape rendering behaviour.
Visual Improvements
Updated material to a bright, translucent blue (rgba(0, 122, 255, 0.5)) for improved visibility.
cullMode: "None" enabled for better Android rendering compatibility.
Corrected alpha blending and depth buffer behaviour.
ViroARPlane Improvements
Improved Vertex Handling
More accurate 3D-to-2D vertex conversion for shape mapping.
Unified coordinate system handling across iOS and Android.
Corrected rotation logic for horizontal and vertical surfaces.
Enhanced Anchor Data
Plane anchors now provide full metadata: position, rotation, scale, centre, and dimensions.
Classification and vertex data included in all callbacks.
Consistent and reliable anchorId tracking throughout the plane lifecycle.
Architecture & Performance
16KB Page Size Support
Full compatibility with modern Android devices using 16KB memory pages.
Breaking Changes
Removed Properties (ViroARPlaneSelector)
maxPlanes removed (replaced by dynamic 25-detector-per-alignment behaviour).
ViroCommonProps and ViroObjectProps removed from type definitions.
These properties were previously documented but non-functional.
The component now exposes only explicit, fully supported props.
Internal State Refactor
Internal state has been migrated from an array to a Map.
(This affects only direct internal state access and does not impact typical usage.)
You can’t perform that action at this time.