Releases: ReactVision/virocore
v2.50.0
ViroCore 2.50.0 Release Notes
New Features
Cloud Anchors
Share AR experiences across multiple devices and platforms. Cloud Anchors enable cross-platform anchor sharing between iOS and Android devices with sub-centimeter accuracy.
- Cross-Platform: Share anchors between iOS and Android devices
- Persistent: Anchors can be stored for 1-365 days
- Accurate: Sub-centimeter accuracy in good conditions
- Scalable: Supports multiple concurrent users
API Highlights:
hostCloudAnchor(anchorId, ttlDays)- Upload anchor to Google's serversresolveCloudAnchor(cloudAnchorId)- Retrieve anchor on another devicecancelCloudAnchorOperations()- Cancel pending operations
Geospatial API
Enable location-based AR experiences using Google's ARCore Geospatial API. Place virtual content at real-world geographic coordinates that persists across sessions.
- Earth Tracking: Track device position using GPS and Visual Positioning System (VPS)
- Three Anchor Types: WGS84 (absolute altitude), Terrain (relative to ground), and Rooftop (relative to buildings)
- VPS Availability Check: Verify if enhanced positioning is available at a location
- Cross-Platform: Works on both iOS and Android
API Highlights:
createGeospatialAnchor(lat, lng, altitude, quaternion)- WGS84 anchorcreateTerrainAnchor(lat, lng, altitudeAboveTerrain, quaternion)- Ground-relative anchorcreateRooftopAnchor(lat, lng, altitudeAboveRooftop, quaternion)- Building-relative anchorgetCameraGeospatialPose()- Get current location with accuracy metricscheckVPSAvailability(lat, lng)- Check VPS support at location
Scene Semantics
ML-powered real-time semantic segmentation of the camera feed. Classify pixels into 12 categories for environment-aware AR experiences.
- 12 Semantic Labels: sky, building, tree, road, sidewalk, terrain, structure, object, vehicle, person, water, unlabeled
- Real-time Processing: Per-frame label fractions
- Use Cases: Outdoor detection, environment-aware content, safety warnings
API Highlights:
isSemanticModeSupported()- Check device supportsetSemanticModeEnabled(enabled)- Enable/disable processinggetSemanticLabelFractions()- Get all label percentagesgetSemanticLabelFraction(label)- Get specific label percentage
Depth Occlusion
Proper visual occlusion of virtual content behind real-world objects.
- Three Modes: Disabled, DepthBased, PeopleOnly
- Realistic Blending: Virtual objects hidden behind real surfaces
- People Segmentation: Option to only occlude behind detected people
- Debug Visualization: Color-coded depth overlay
Requirements:
- iOS: LiDAR devices (iPhone 12 Pro+, iPad Pro 2020+)
- Android: ARCore Depth API compatible devices
Extended glTF Support
Expanded glTF 2.0 support with 17 additional features for improved 3D model compatibility.
Core Geometry & Materials
- Non-indexed geometry support - Primitives without index buffers
- LINE_LOOP primitive type - Converted to line strip with closing segment
- TRIANGLE_FAN primitive type - Converted to individual triangles
- Mipmap filter modes - Proper separation of min/mip filtering
- Alpha masking (MASK mode) - With alphaCutoff support
- Emissive materials - emissiveFactor and emissiveTexture
- STEP animation interpolation - Discrete keyframe transitions
- Sparse accessor support - Override specific buffer values
Camera & Scene
- Perspective cameras - FOV, near/far planes, aspect ratio
- Orthographic cameras - xmag, ymag, clipping planes
- Default scene selection - Respects model.defaultScene
Lighting (KHR_lights_punctual)
- Directional lights - Color, intensity
- Point lights - Color, intensity, range/attenuation
- Spot lights - Color, intensity, range, inner/outer cone angles
Material Extensions
- KHR_materials_unlit - Constant/unlit lighting model
- Normal texture scale - Controls bump intensity
- Occlusion texture strength - Controls AO influence
Requirements
- iOS: iOS 12.0+, ARKit-capable device
- Android: Android 7.0+ (API 24), ARCore-supported device
- Google Cloud: Valid API key with ARCore API enabled (for Cloud Anchors, Geospatial, and Scene Semantics)
- Depth Features: LiDAR (iOS) or ToF sensor/ARCore Depth API (Android)
What's Changed
Other Changes
- fix video crashing on Android because of unresolved ExoPlayer breaking changes by @Buthrakaur in #154
- ARCore 1.43, Fix Broken Builds by @doranteseduardo in #168
- Bump actions/checkout from 3.3.0 to 4.1.6 by @dependabot[bot] in #166
- Bump actions/upload-artifact from 3.1.2 to 4.3.3 by @dependabot[bot] in #162
- Bump actions/setup-java from 3 to 4 by @dependabot[bot] in #147
- Bump maxim-lobanov/setup-xcode from 1.5.1 to 1.6.0 by @dependabot[bot] in #146
- Bump androidx.test:rules from 1.4.0 to 1.5.0 in /android by @dependabot[bot] in #139
- Bump gradle/wrapper-validation-action from 1 to 3 by @dependabot[bot] in #157
- Bump org.jetbrains.kotlin:kotlin-stdlib from 1.8.21 to 2.0.0 in /android by @dependabot[bot] in #169
- Bump actions/checkout from 4.1.6 to 4.1.7 by @dependabot[bot] in #178
- Bump softprops/action-gh-release from 1 to 2 by @dependabot[bot] in #179
- Bump com.google.android.material:material from 1.6.1 to 1.12.0 in /android by @dependabot[bot] in #176
- Bump org.jetbrains.kotlin:kotlin-gradle-plugin from 1.8.21 to 2.0.0 in /android by @dependabot[bot] in #177
- Bump org.awaitility:awaitility from 4.1.1 to 4.2.1 in /android by @dependabot[bot] in #181
- Bump actions/upload-artifact from 4.3.3 to 4.3.6 by @dependabot[bot] in #188
- Bump com.google.ar:core from 1.41.0 to 1.45.0 in /android by @dependabot[bot] in #189
- Bump androidx.recyclerview:recyclerview from 1.2.1 to 1.3.2 in /android by @dependabot[bot] in #193
- Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 in /android by @dependabot[bot] in #194
- Bump androidx.preference:preference-ktx from 1.1.1 to 1.2.1 in /android by @dependabot[bot] in #138
- Fixed permission related issues for the SDK by @darshanio in #183
- Bump actions/upload-artifact from 4.3.6 to 4.4.0 by @dependabot[bot] in #195
- Bump androidx.test.espresso:espresso-core from 3.1.0 to 3.6.1 in /android by @dependabot[bot] in #196
- Bump androidx.test.ext:truth from 1.4.0 to 1.6.0 in /android by @dependabot[bot] in #197
- Bump org.jetbrains.kotlin:kotlin-stdlib-jdk7 from 1.8.21 to 2.0.20 in /android by @dependabot[bot] in #198
- Bump actions/checkout from 4.1.7 to 4.2.0 by @dependabot[bot] in #203
- Bump actions/checkout from 4.2.0 to 4.2.1 by @dependabot[bot] in #212
- Bump actions/upload-artifact from 4.4.0 to 4.4.3 by @dependabot[bot] in #213
- Bump actions/checkout from 4.2.1 to 4.2.2 by @dependabot[bot] in #216
- Bump actions/upload-artifact from 4.4.3 to 4.6.0 by @dependabot[bot] in #228
- update: add safety checks to prevent crashes on iOS by @tadjik1 in #257
- Improved Plane Detection by @doranteseduardo in #260
- Bunch of features by @doranteseduardo in #272
- v2.45.0 by @doranteseduardo in #273
New Contributors
- @Buthrakaur made their first contribution in #154
- @darshanio made their first contribution in #183
- @tadjik1 made their first contribution in #257
Full Changelog: v1.21.0...v2.50.0
1.22.0-alpha1
What's Changed
Other Changes
- fix video crashing on Android because of unresolved ExoPlayer breaking changes by @Buthrakaur in #154
- ARCore 1.43, Fix Broken Builds by @doranteseduardo in #168
- Bump actions/checkout from 3.3.0 to 4.1.6 by @dependabot in #166
- Bump actions/upload-artifact from 3.1.2 to 4.3.3 by @dependabot in #162
- Bump actions/setup-java from 3 to 4 by @dependabot in #147
- Bump maxim-lobanov/setup-xcode from 1.5.1 to 1.6.0 by @dependabot in #146
- Bump androidx.test:rules from 1.4.0 to 1.5.0 in /android by @dependabot in #139
- Bump gradle/wrapper-validation-action from 1 to 3 by @dependabot in #157
- Bump org.jetbrains.kotlin:kotlin-stdlib from 1.8.21 to 2.0.0 in /android by @dependabot in #169
- Bump actions/checkout from 4.1.6 to 4.1.7 by @dependabot in #178
- Bump softprops/action-gh-release from 1 to 2 by @dependabot in #179
- Bump com.google.android.material:material from 1.6.1 to 1.12.0 in /android by @dependabot in #176
- Bump org.jetbrains.kotlin:kotlin-gradle-plugin from 1.8.21 to 2.0.0 in /android by @dependabot in #177
- Bump org.awaitility:awaitility from 4.1.1 to 4.2.1 in /android by @dependabot in #181
- Bump actions/upload-artifact from 4.3.3 to 4.3.6 by @dependabot in #188
- Bump com.google.ar:core from 1.41.0 to 1.45.0 in /android by @dependabot in #189
- Bump androidx.recyclerview:recyclerview from 1.2.1 to 1.3.2 in /android by @dependabot in #193
- Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 in /android by @dependabot in #194
- Bump androidx.preference:preference-ktx from 1.1.1 to 1.2.1 in /android by @dependabot in #138
- Fixed permission related issues for the SDK by @darshanio in #183
- Bump actions/upload-artifact from 4.3.6 to 4.4.0 by @dependabot in #195
- Bump androidx.test.espresso:espresso-core from 3.1.0 to 3.6.1 in /android by @dependabot in #196
- Bump androidx.test.ext:truth from 1.4.0 to 1.6.0 in /android by @dependabot in #197
- Bump org.jetbrains.kotlin:kotlin-stdlib-jdk7 from 1.8.21 to 2.0.20 in /android by @dependabot in #198
- Bump actions/checkout from 4.1.7 to 4.2.0 by @dependabot in #203
New Contributors
- @Buthrakaur made their first contribution in #154
- @darshanio made their first contribution in #183
Full Changelog: v1.21.0...1.22.0-alpha1
v1.21.0
What's Changed
Exciting New Features π
Other Changes
- Cleanup code in preprocessor by @hannesa2 in #27
- Remove unused exoplayer usage in samples by @hannesa2 in #26
- Use artifacts from jitpack.io in samples by @hannesa2 in #25
- Introduce dependabot by @hannesa2 in #28
- Cleanup from old maven publish by @hannesa2 in #29
- Cleanup from obsolete gradle by @hannesa2 in #30
- Rename missleading name by @hannesa2 in #31
- Introduce a Viro version variable in library by @hannesa2 in #32
- Move samples by @hannesa2 in #36
- Fix Lint issues by @hannesa2 in #38
- Make Espresso test at least to be able to compile by @hannesa2 in #39
- Prepare for Espresso tests by @hannesa2 in #40
- Bump gradle from 7.0.2 to 7.0.3 in /android by @dependabot in #43
- Bump awaitility from 4.1.0 to 4.1.1 in /android by @dependabot in #45
- Bump actions/checkout from 2.3.4 to 2.4.0 by @dependabot in #48
- Fix For presses not working in iOS by @Vednus in #42
- Bump exoplayer by @hannesa2 in #41
- Bump kotlin_version from 1.5.31 to 1.6.0 in /android by @dependabot in #49
- Bump constraintlayout from 2.1.1 to 2.1.2 in /android by @dependabot in #52
- Bump gradle from 7.0.3 to 7.0.4 in /android by @dependabot in #53
- Fix broken iOS build by @hannesa2 in #58
- api 31 by @hannesa2 in #54
- Gradle log4j by @hannesa2 in #59
- Minor version upgrade + bitcode (different from the one on NPM) by @ramicaza in #60
- Revert "Minor version upgrade + bitcode (different from the one on NPM)" by @doranteseduardo in #62
- Fix spelling error by @nachtien in #69
- Enable bitcode + chroma threshold by @ramicaza in #63
- Add Kotlin to SharedCode by @nachtien in #67
- Bump maxim-lobanov/setup-xcode from 1.4.0 to 1.4.1 by @dependabot in #61
- Bump actions/checkout from 2.4.0 to 3.1.0 by @dependabot in #104
- Bump actions/setup-java from 2 to 3 by @dependabot in #80
- Bump constraintlayout from 2.1.2 to 2.1.4 in /android by @dependabot in #87
- Bump material from 1.4.0 to 1.6.1 in /android by @dependabot in #90
- Bump maxim-lobanov/setup-xcode from 1.4.1 to 1.5.1 by @dependabot in #113
- Bump com.google.android.exoplayer:exoplayer from 2.15.1 to 2.18.4 in /android by @dependabot in #125
- Bump com.android.tools.build:gradle from 7.0.4 to 7.4.2 in /android by @dependabot in #124
- Bump actions/upload-artifact from 3.1.0 to 3.1.2 by @dependabot in #116
- Bump actions/checkout from 3.1.0 to 3.3.0 by @dependabot in #117
- fix: update ios and android builds by @Avtrkrb in #137
New Contributors
- @dependabot made their first contribution in #43
- @Vednus made their first contribution in #42
- @ramicaza made their first contribution in #60
- @nachtien made their first contribution in #69
- @Avtrkrb made their first contribution in #137
Full Changelog: rc-1.20.2...v1.21.0
rc-1.20.2
- no changes
rc-1.20.1
- no changes
rc-1.20.1
Merge pull request #20 from hannesa2/FixPublishWithGradle7 Fix maven publish with Gradle 7
rc-1.20.0
- no changes