Repository navigation
Releases: google/three-live
Release list
v1.2.0
Changelog
All notable changes to Three-Live will be documented in this file.
The format is based on Keep a Changelog.
[1.2.0] - 2026-11-03
Added
- Expanded
XRSpatialto 14 Spatial Plugins Across Web, Android, and iOS:spatialMeasurePlugin(spatial-measure): Interactive point-to-point tape measure and live bounding-box dimension callouts (m,cm,in,ft) across Web, Android (SpatialMeasure), and iOS (SpatialMeasure).magneticSnapPlugin(magnetic-snap): Surface alignment, grid snapping (snap-grid), angular increments (snap-angle), and named socket/plug snapping (data-xr-snap-socket,data-xr-snap-plug) across Web, Android (MagneticSnap), and iOS (MagneticSnap).gazeDwellPlugin(gaze-dwell): Hands-free eye-gaze and head-reticle dwell selection with animated progress ring and refractory cooldown across Web, Android (GazeDwell), and iOS (GazeDwell).explodedViewPlugin(explode): Interactive CAD assembly explosion (radial,axial-x,axial-y,axial-z,hierarchy) with leader lines and livesection-planeclipping across Web, Android (ExplodedView), and iOS (ExplodedView).persistentAnchorsPlugin(persistent-anchors): Cross-session room anchor persistence via WebXRXRAnchor,localStorage, and shareable#xr-anchors=URL hashes across Web, Android (PersistentAnchors), and iOS (PersistentAnchors).spatialLocomotionPlugin(locomotion): Parabolic teleportation arc, thumbstick snap-turn (snap-turn-deg), and comfort vignette (comfort-vignette) across Web, Android (SpatialLocomotion), and iOS (SpatialLocomotion).sharedRoomPlugin(shared-room): Multi-user spatial presence, peer avatar frustums, and lamport-clock transform sync acrossBroadcastChanneland WebSocket rooms (SharedRoom).
[1.1.1] - 2026-11-02
Changed
- Renamed
XRBlocks*toXRSpatial*across Web, Android, and iOS:- Web:
window.XRSpatial(xr-live/plugins),xrSpatialPlugins, andxr-spatialattribute (retainingwindow.XRBlocks/xr-blocksaliases for backward compatibility). - Android:
XRSpatialFeaturesandXRSpatialMath. - iOS / visionOS:
XRSpatialRealityKitFeatures,XRSpatialGeometry, andXRSpatialMath.
- Web:
Fixed
- Android WebXR AR & Depth Sensing: Fixed 16-bit luminance-alpha depth texture unpacking, planar depth occlusion comparison in eye space, depth-heightfield collision surface normals, and post-AR inline render-loop resume.
- iOS
<xr-live>Quick Look AR Bridge: Fixed<xr-live>mobile AR handoff to export live procedural scenes to.usdzand launch Apple AR Quick Look on iOS Safari. - Stereo SBS & 3D Simulator: Mapped Stereo Side-by-Side pointer picking per eye, mirrored the gaze reticle into both eyes, and fixed 3D Simulator aspect ratio and orbit/WASD controls.
- Native Runtime Resilience: Hardened
XRLiveRuntimeSession(Kotlin & Swift),TubeStrokeBuilder, andParticleEmitteragainst non-finite inputs and rapid scene teardown.
[1.1.0] - 2026-10-15
Full multi-platform parity across Web (three-live / xr-live), Android (com.google.threelive), and iOS / visionOS (ThreeLiveCompiler).
Added
-
Cross-Platform
KHR_interactivityVM & Hierarchy Parity:- Native Rust compiler (
three-live-compiler) now preserves the fullTHREE.Object3DDFS hierarchy, local TRS, parent-child links, and canonical XR traits (nodes[i].extras.xr,ANDROID_xr_scenecore,MOZ_hubs_components) identically to the web exporter. - Pure-Kotlin (
XRLiveRuntimeSession) and pure-Swift (XRLiveRuntimeSession+XRLiveRealityKitSession)KHR_interactivitybehavior-graph VMs with step/evaluation/tween/delay budgets and RFC 6901 JSON Pointer sandboxing. - Cross-platform golden parity suite (
testdata/golden/) verified across Web, Android JVM, and iOS XCTest within1e-4.
- Native Rust compiler (
-
Spatial Computing Plugins & Native Features on Web, Android & iOS/visionOS:
- Lazy Head Follow & Orbit: Critically damped spring follow with angular deadzone and radial/vertical slack, plus orbit around named nodes, literal coordinates, or the user's head, with turntable
autoRotate(rootTransform) compensation. - Manipulation Handles: Four top-corner uniform-scale handles and pedestal yaw bar (
ManipulationHandles,XRSpatialFeatures,XRSpatialRealityKitFeatures). - Spatial Paint & Depth Particles: Parallel-transported Catmull-Rom tube strokes (
TubeStrokeBuilder) and seededmulberry32particle emitters (ParticleEmitterwithrain,snow,dust,sparkspresets and floor/depth collision). - Gaussian Splats (
.splat& Niantic.spzv2/v3): Gzip decompression with size caps, 16-bit bucket depth sort, CPU billboard quad baseline, and GPU covariance-projected ellipse paths (compiled Filamentsplat.filamat+ index-only re-sorts on Android up to 1 M splats; runtime MetalCustomMaterial+LowLevelMeshon iOS/visionOS up to 1 M splats). - World Understanding & Object Detection: 2D-to-3D bounding-box unprojection (
WorldUnderstanding), Gemini Livereport_objectstool calling (detectObjects), and optional on-device detectors (:mobile:android-detect-mlkitand iOSXRVisionDetector+XRObjectDetectionLoop). - Hand Gesture Classification (
onGesture): 25-joint classifier (pinch,point,fist,thumbs-up,open-palm) withHandJointSource/XRHandJointSourceregistries and optional adapters for Jetpack XR (:mobile:android-hands-androidxr), MediaPipe Hand Landmarker (:mobile:android-hands-mediapipe/XRMediaPipeHandJointSource), and visionOS ARKitHandTrackingProvider. - Native Gemini Live & Hold-to-Ask: Zero-dependency WebSocket Live API client (
XRGeminiLiveController,HoldToAskController), viewport frame streaming (RendererFrameSource,ARViewFrameSource), and optional Firebase AI Logic adapters (:mobile:android-firebase-ai,mobile/ios/FirebaseAdapter).
- Lazy Head Follow & Orbit: Critically damped spring follow with angular deadzone and radial/vertical slack, plus orbit around named nodes, literal coordinates, or the user's head, with turntable
[1.0.0] - 2026-10-06 (Developer Preview)
Initial public Developer Preview release of Three-Live: an AI-first, multi-platform 3D and spatial computing library with an on-device JIT compiler that turns live, AI-generated Three.js scripts into native Android Filament & Jetpack XR SceneCore, iOS/visionOS RealityKit & Quick Look, and WebGL2 / WebXR.
Added
-
<three-live>Web Component (three-live):- Drop-in
<model-viewer>-compatible custom element supporting.glb/.usdzassets and inline procedural<script type="text/three">compilation. - Strictly enforced gzipped bundle budgets:
three-live-viewer.min.js(< 24 KB gz),three-live.min.js(< 48 KB gz), andthree-live-full.min.js(< 58 KB gz). - Modular add-on plugins for PBR Next material extensions (
clearcoat,transmission,sheen,iridescence,anisotropy), procedural studio HDRI & spherical harmonics irradiance, baked contact shadows, 3D surface hotspots, and 64-joint GPU skeletal skinning & morph targets. - Built-in runtime binary
.glband uncompressed.usdzpackagers for zero-server 1-tap mobile AR handoff to Apple Quick Look and Android Scene Viewer.
- Drop-in
-
<xr-live>Spatial Computing Suite (xr-live):- Extends
<three-live>with declarative 6DoF WebXR spatial traits (grab,scale,billboard,anchor) via<xr-anchor>and proceduraluserData.xrTraits. - Live raycastable 3D HTML UI cards via
<div slot="spatial">. - Deep XR add-on (
xr-live-extras.min.js):XRDepthManagerreal-world depth occlusion,XRHeightfieldPhysicsrigid-body ballistics, 25-jointXRHandGestureClassifier(pinch,poke,palm-up),XRDesktopSimulatorfor headset-free keyboard/mouse testing, spatial Web Audio, and WebMCP agent tools.
- Extends
-
Two-Tier Web Sandbox & Security Architecture:
- Tier 1 (Default): Isolated Web Worker execution (
buildSandboxWorkerSource) with network/storage primitives stripped,Object.prototypefrozen, and strict per-frame execution time and geometry quotas (SceneQuotaValidator). - Tier 2 (
sandbox="iframe"): Opaque-origin<iframe sandbox="allow-scripts">(three-live-sandbox.html) with a strictconnect-src 'none'Content Security Policy and W3C Trusted Types support.
- Tier 1 (Default): Isolated Web Worker execution (
-
Native Rust/QuickJS JIT Compiler (
compiler/&three-live-cli):- Embedded deterministic QuickJS engine (
rquickjs) executing procedural Three.js scripts in-process on mobile and desktop without a browser or Node.js runtime. - Hardened resource limits (memory ceiling, interrupt handler timeout, stack limit, and vertex/triangle/material quotas) and panic-safe C FFI / Android JNI boundaries (
catch_unwind). - Standalone
three-live-clibinary (three-live-cli convert scene.js -o output.glb) with prebuilt release binaries for Linux (x86_64,aarch64), macOS (arm64,x86_64), and Windows (x86_64).
- Embedded deterministic QuickJS engine (
-
Native Android & Apple Mobile SDKs (
mobile/):- Android (
com.google.threelive): Zero-copyDirectByteBufferJNI bridge for Google Filament (FilamentHelper), Android Scene Viewer AR launcher, Jetpack XRSceneCoretrait hydration (XRLiveSceneCoreHelper), and a Jetpack Compose demo app (mobile/examples/android_compose). - iOS, macOS, visionOS & tvOS (
ThreeLiveCompiler): Swift Package Manager library and prebuilt `...
- Android (
v1.1.1
Changelog
All notable changes to Three-Live will be documented in this file.
The format is based on Keep a Changelog.
[1.1.1] - 2026-11-02
Changed
- Renamed
XRBlocks*toXRSpatial*across Web, Android, and iOS:- Web:
window.XRSpatial(xr-live/plugins),xrSpatialPlugins, andxr-spatialattribute (retainingwindow.XRBlocks/xr-blocksaliases for backward compatibility). - Android:
XRSpatialFeaturesandXRSpatialMath. - iOS / visionOS:
XRSpatialRealityKitFeatures,XRSpatialGeometry, andXRSpatialMath.
- Web:
Fixed
- Android WebXR AR & Depth Sensing: Fixed 16-bit luminance-alpha depth texture unpacking, planar depth occlusion comparison in eye space, depth-heightfield collision surface normals, and post-AR inline render-loop resume.
- iOS
<xr-live>Quick Look AR Bridge: Fixed<xr-live>mobile AR handoff to export live procedural scenes to.usdzand launch Apple AR Quick Look on iOS Safari. - Stereo SBS & 3D Simulator: Mapped Stereo Side-by-Side pointer picking per eye, mirrored the gaze reticle into both eyes, and fixed 3D Simulator aspect ratio and orbit/WASD controls.
- Native Runtime Resilience: Hardened
XRLiveRuntimeSession(Kotlin & Swift),TubeStrokeBuilder, andParticleEmitteragainst non-finite inputs and rapid scene teardown.
[1.1.0] - 2026-10-15
Full multi-platform parity across Web (three-live / xr-live), Android (com.google.threelive), and iOS / visionOS (ThreeLiveCompiler).
Added
-
Cross-Platform
KHR_interactivityVM & Hierarchy Parity:- Native Rust compiler (
three-live-compiler) now preserves the fullTHREE.Object3DDFS hierarchy, local TRS, parent-child links, and canonical XR traits (nodes[i].extras.xr,ANDROID_xr_scenecore,MOZ_hubs_components) identically to the web exporter. - Pure-Kotlin (
XRLiveRuntimeSession) and pure-Swift (XRLiveRuntimeSession+XRLiveRealityKitSession)KHR_interactivitybehavior-graph VMs with step/evaluation/tween/delay budgets and RFC 6901 JSON Pointer sandboxing. - Cross-platform golden parity suite (
testdata/golden/) verified across Web, Android JVM, and iOS XCTest within1e-4.
- Native Rust compiler (
-
Spatial Computing Plugins & Native Features on Web, Android & iOS/visionOS:
- Lazy Head Follow & Orbit: Critically damped spring follow with angular deadzone and radial/vertical slack, plus orbit around named nodes, literal coordinates, or the user's head, with turntable
autoRotate(rootTransform) compensation. - Manipulation Handles: Four top-corner uniform-scale handles and pedestal yaw bar (
ManipulationHandles,XRSpatialFeatures,XRSpatialRealityKitFeatures). - Spatial Paint & Depth Particles: Parallel-transported Catmull-Rom tube strokes (
TubeStrokeBuilder) and seededmulberry32particle emitters (ParticleEmitterwithrain,snow,dust,sparkspresets and floor/depth collision). - Gaussian Splats (
.splat& Niantic.spzv2/v3): Gzip decompression with size caps, 16-bit bucket depth sort, CPU billboard quad baseline, and GPU covariance-projected ellipse paths (compiled Filamentsplat.filamat+ index-only re-sorts on Android up to 1 M splats; runtime MetalCustomMaterial+LowLevelMeshon iOS/visionOS up to 1 M splats). - World Understanding & Object Detection: 2D-to-3D bounding-box unprojection (
WorldUnderstanding), Gemini Livereport_objectstool calling (detectObjects), and optional on-device detectors (:mobile:android-detect-mlkitand iOSXRVisionDetector+XRObjectDetectionLoop). - Hand Gesture Classification (
onGesture): 25-joint classifier (pinch,point,fist,thumbs-up,open-palm) withHandJointSource/XRHandJointSourceregistries and optional adapters for Jetpack XR (:mobile:android-hands-androidxr), MediaPipe Hand Landmarker (:mobile:android-hands-mediapipe/XRMediaPipeHandJointSource), and visionOS ARKitHandTrackingProvider. - Native Gemini Live & Hold-to-Ask: Zero-dependency WebSocket Live API client (
XRGeminiLiveController,HoldToAskController), viewport frame streaming (RendererFrameSource,ARViewFrameSource), and optional Firebase AI Logic adapters (:mobile:android-firebase-ai,mobile/ios/FirebaseAdapter).
- Lazy Head Follow & Orbit: Critically damped spring follow with angular deadzone and radial/vertical slack, plus orbit around named nodes, literal coordinates, or the user's head, with turntable
[1.0.0] - 2026-10-06 (Developer Preview)
Initial public Developer Preview release of Three-Live: an AI-first, multi-platform 3D and spatial computing library with an on-device JIT compiler that turns live, AI-generated Three.js scripts into native Android Filament & Jetpack XR SceneCore, iOS/visionOS RealityKit & Quick Look, and WebGL2 / WebXR.
Added
-
<three-live>Web Component (three-live):- Drop-in
<model-viewer>-compatible custom element supporting.glb/.usdzassets and inline procedural<script type="text/three">compilation. - Strictly enforced gzipped bundle budgets:
three-live-viewer.min.js(< 24 KB gz),three-live.min.js(< 48 KB gz), andthree-live-full.min.js(< 58 KB gz). - Modular add-on plugins for PBR Next material extensions (
clearcoat,transmission,sheen,iridescence,anisotropy), procedural studio HDRI & spherical harmonics irradiance, baked contact shadows, 3D surface hotspots, and 64-joint GPU skeletal skinning & morph targets. - Built-in runtime binary
.glband uncompressed.usdzpackagers for zero-server 1-tap mobile AR handoff to Apple Quick Look and Android Scene Viewer.
- Drop-in
-
<xr-live>Spatial Computing Suite (xr-live):- Extends
<three-live>with declarative 6DoF WebXR spatial traits (grab,scale,billboard,anchor) via<xr-anchor>and proceduraluserData.xrTraits. - Live raycastable 3D HTML UI cards via
<div slot="spatial">. - Deep XR add-on (
xr-live-extras.min.js):XRDepthManagerreal-world depth occlusion,XRHeightfieldPhysicsrigid-body ballistics, 25-jointXRHandGestureClassifier(pinch,poke,palm-up),XRDesktopSimulatorfor headset-free keyboard/mouse testing, spatial Web Audio, and WebMCP agent tools.
- Extends
-
Two-Tier Web Sandbox & Security Architecture:
- Tier 1 (Default): Isolated Web Worker execution (
buildSandboxWorkerSource) with network/storage primitives stripped,Object.prototypefrozen, and strict per-frame execution time and geometry quotas (SceneQuotaValidator). - Tier 2 (
sandbox="iframe"): Opaque-origin<iframe sandbox="allow-scripts">(three-live-sandbox.html) with a strictconnect-src 'none'Content Security Policy and W3C Trusted Types support.
- Tier 1 (Default): Isolated Web Worker execution (
-
Native Rust/QuickJS JIT Compiler (
compiler/&three-live-cli):- Embedded deterministic QuickJS engine (
rquickjs) executing procedural Three.js scripts in-process on mobile and desktop without a browser or Node.js runtime. - Hardened resource limits (memory ceiling, interrupt handler timeout, stack limit, and vertex/triangle/material quotas) and panic-safe C FFI / Android JNI boundaries (
catch_unwind). - Standalone
three-live-clibinary (three-live-cli convert scene.js -o output.glb) with prebuilt release binaries for Linux (x86_64,aarch64), macOS (arm64,x86_64), and Windows (x86_64).
- Embedded deterministic QuickJS engine (
-
Native Android & Apple Mobile SDKs (
mobile/):- Android (
com.google.threelive): Zero-copyDirectByteBufferJNI bridge for Google Filament (FilamentHelper), Android Scene Viewer AR launcher, Jetpack XRSceneCoretrait hydration (XRLiveSceneCoreHelper), and a Jetpack Compose demo app (mobile/examples/android_compose). - iOS, macOS, visionOS & tvOS (
ThreeLiveCompiler): Swift Package Manager library and prebuiltThreeLiveCompiler.xcframeworkwith asyncRealityKitEntityloading (RealityKitHelper),ARQuickLookpresentation (QuickLookHelper), spatial trait gesture installation (XRLiveRealityKit), and a SwiftUI demo app (mobile/examples/ios_swiftui).
- Android (
v1.1.0
Changelog
All notable changes to Three-Live will be documented in this file.
The format is based on Keep a Changelog.
[1.1.0] - 2026-10-15
Full multi-platform parity across Web (three-live / xr-live), Android (com.google.threelive), and iOS / visionOS (ThreeLiveCompiler).
Added
-
Cross-Platform
KHR_interactivityVM & Hierarchy Parity:- Native Rust compiler (
three-live-compiler) now preserves the fullTHREE.Object3DDFS hierarchy, local TRS, parent-child links, and canonical XR traits (nodes[i].extras.xr,ANDROID_xr_scenecore,MOZ_hubs_components) identically to the web exporter. - Pure-Kotlin (
XRLiveRuntimeSession) and pure-Swift (XRLiveRuntimeSession+XRLiveRealityKitSession)KHR_interactivitybehavior-graph VMs with step/evaluation/tween/delay budgets and RFC 6901 JSON Pointer sandboxing. - Cross-platform golden parity suite (
testdata/golden/) verified across Web, Android JVM, and iOS XCTest within1e-4.
- Native Rust compiler (
-
XR Blocks Spatial Features on Web, Android & iOS/visionOS:
- Lazy Head Follow & Orbit: Critically damped spring follow with angular deadzone and radial/vertical slack, plus orbit around named nodes, literal coordinates, or the user's head, with turntable
autoRotate(rootTransform) compensation. - Manipulation Handles: Four top-corner uniform-scale handles and pedestal yaw bar (
ManipulationHandles,XRBlocksFeatures,XRBlocksRealityKitFeatures). - Spatial Paint & Depth Particles: Parallel-transported Catmull-Rom tube strokes (
TubeStrokeBuilder) and seededmulberry32particle emitters (ParticleEmitterwithrain,snow,dust,sparkspresets and floor/depth collision). - Gaussian Splats (
.splat& Niantic.spzv2/v3): Gzip decompression with size caps, 16-bit bucket depth sort, CPU billboard quad baseline, and GPU covariance-projected ellipse paths (compiled Filamentsplat.filamat+ index-only re-sorts on Android up to 1 M splats; runtime MetalCustomMaterial+LowLevelMeshon iOS/visionOS up to 1 M splats). - World Understanding & Object Detection: 2D-to-3D bounding-box unprojection (
WorldUnderstanding), Gemini Livereport_objectstool calling (detectObjects), and optional on-device detectors (:mobile:android-detect-mlkitand iOSXRVisionDetector+XRObjectDetectionLoop). - Hand Gesture Classification (
onGesture): 25-joint classifier (pinch,point,fist,thumbs-up,open-palm) withHandJointSource/XRHandJointSourceregistries and optional adapters for Jetpack XR (:mobile:android-hands-androidxr), MediaPipe Hand Landmarker (:mobile:android-hands-mediapipe/XRMediaPipeHandJointSource), and visionOS ARKitHandTrackingProvider. - Native Gemini Live & Hold-to-Ask: Zero-dependency WebSocket Live API client (
XRGeminiLiveController,HoldToAskController), viewport frame streaming (RendererFrameSource,ARViewFrameSource), and optional Firebase AI Logic adapters (:mobile:android-firebase-ai,mobile/ios/FirebaseAdapter).
- Lazy Head Follow & Orbit: Critically damped spring follow with angular deadzone and radial/vertical slack, plus orbit around named nodes, literal coordinates, or the user's head, with turntable
[1.0.0] - 2026-10-06 (Developer Preview)
Initial public Developer Preview release of Three-Live: an AI-first, multi-platform 3D and spatial computing library with an on-device JIT compiler that turns live, AI-generated Three.js scripts into native Android Filament & Jetpack XR SceneCore, iOS/visionOS RealityKit & Quick Look, and WebGL2 / WebXR.
Added
-
<three-live>Web Component (three-live):- Drop-in
<model-viewer>-compatible custom element supporting.glb/.usdzassets and inline procedural<script type="text/three">compilation. - Strictly enforced gzipped bundle budgets:
three-live-viewer.min.js(< 24 KB gz),three-live.min.js(< 48 KB gz), andthree-live-full.min.js(< 58 KB gz). - Modular add-on plugins for PBR Next material extensions (
clearcoat,transmission,sheen,iridescence,anisotropy), procedural studio HDRI & spherical harmonics irradiance, baked contact shadows, 3D surface hotspots, and 64-joint GPU skeletal skinning & morph targets. - Built-in runtime binary
.glband uncompressed.usdzpackagers for zero-server 1-tap mobile AR handoff to Apple Quick Look and Android Scene Viewer.
- Drop-in
-
<xr-live>Spatial Computing Suite (xr-live):- Extends
<three-live>with declarative 6DoF WebXR spatial traits (grab,scale,billboard,anchor) via<xr-anchor>and proceduraluserData.xrTraits. - Live raycastable 3D HTML UI cards via
<div slot="spatial">. - Deep XR add-on (
xr-live-extras.min.js):XRDepthManagerreal-world depth occlusion,XRHeightfieldPhysicsrigid-body ballistics, 25-jointXRHandGestureClassifier(pinch,poke,palm-up),XRDesktopSimulatorfor headset-free keyboard/mouse testing, spatial Web Audio, and WebMCP agent tools.
- Extends
-
Two-Tier Web Sandbox & Security Architecture:
- Tier 1 (Default): Isolated Web Worker execution (
buildSandboxWorkerSource) with network/storage primitives stripped,Object.prototypefrozen, and strict per-frame execution time and geometry quotas (SceneQuotaValidator). - Tier 2 (
sandbox="iframe"): Opaque-origin<iframe sandbox="allow-scripts">(three-live-sandbox.html) with a strictconnect-src 'none'Content Security Policy and W3C Trusted Types support.
- Tier 1 (Default): Isolated Web Worker execution (
-
Native Rust/QuickJS JIT Compiler (
compiler/&three-live-cli):- Embedded deterministic QuickJS engine (
rquickjs) executing procedural Three.js scripts in-process on mobile and desktop without a browser or Node.js runtime. - Hardened resource limits (memory ceiling, interrupt handler timeout, stack limit, and vertex/triangle/material quotas) and panic-safe C FFI / Android JNI boundaries (
catch_unwind). - Standalone
three-live-clibinary (three-live-cli convert scene.js -o output.glb) with prebuilt release binaries for Linux (x86_64,aarch64), macOS (arm64,x86_64), and Windows (x86_64).
- Embedded deterministic QuickJS engine (
-
Native Android & Apple Mobile SDKs (
mobile/):- Android (
com.google.threelive): Zero-copyDirectByteBufferJNI bridge for Google Filament (FilamentHelper), Android Scene Viewer AR launcher, Jetpack XRSceneCoretrait hydration (XRLiveSceneCoreHelper), and a Jetpack Compose demo app (mobile/examples/android_compose). - iOS, macOS, visionOS & tvOS (
ThreeLiveCompiler): Swift Package Manager library and prebuiltThreeLiveCompiler.xcframeworkwith asyncRealityKitEntityloading (RealityKitHelper),ARQuickLookpresentation (QuickLookHelper), spatial trait gesture installation (XRLiveRealityKit), and a SwiftUI demo app (mobile/examples/ios_swiftui).
- Android (
v1.0.0
Changelog
All notable changes to Three-Live will be documented in this file.
The format is based on Keep a Changelog.
[1.0.0] - 2026-10-06 (Developer Preview)
Initial public Developer Preview release of Three-Live: an AI-first, multi-platform 3D and spatial computing library with an on-device JIT compiler that turns live, AI-generated Three.js scripts into native Android Filament & Jetpack XR SceneCore, iOS/visionOS RealityKit & Quick Look, and WebGL2 / WebXR.
Added
-
<three-live>Web Component (three-live):- Drop-in
<model-viewer>-compatible custom element supporting.glb/.usdzassets and inline procedural<script type="text/three">compilation. - Strictly enforced gzipped bundle budgets:
three-live-viewer.min.js(< 24 KB gz),three-live.min.js(< 48 KB gz), andthree-live-full.min.js(< 58 KB gz). - Modular add-on plugins for PBR Next material extensions (
clearcoat,transmission,sheen,iridescence,anisotropy), procedural studio HDRI & spherical harmonics irradiance, baked contact shadows, 3D surface hotspots, and 64-joint GPU skeletal skinning & morph targets. - Built-in runtime binary
.glband uncompressed.usdzpackagers for zero-server 1-tap mobile AR handoff to Apple Quick Look and Android Scene Viewer.
- Drop-in
-
<xr-live>Spatial Computing Suite (xr-live):- Extends
<three-live>with declarative 6DoF WebXR spatial traits (grab,scale,billboard,anchor) via<xr-anchor>and proceduraluserData.xrTraits. - Live raycastable 3D HTML UI cards via
<div slot="spatial">. - Deep XR add-on (
xr-live-extras.min.js):XRDepthManagerreal-world depth occlusion,XRHeightfieldPhysicsrigid-body ballistics, 25-jointXRHandGestureClassifier(pinch,poke,palm-up),XRDesktopSimulatorfor headset-free keyboard/mouse testing, spatial Web Audio, and WebMCP agent tools.
- Extends
-
Two-Tier Web Sandbox & Security Architecture:
- Tier 1 (Default): Isolated Web Worker execution (
buildSandboxWorkerSource) with network/storage primitives stripped,Object.prototypefrozen, and strict per-frame execution time and geometry quotas (SceneQuotaValidator). - Tier 2 (
sandbox="iframe"): Opaque-origin<iframe sandbox="allow-scripts">(three-live-sandbox.html) with a strictconnect-src 'none'Content Security Policy and W3C Trusted Types support.
- Tier 1 (Default): Isolated Web Worker execution (
-
Native Rust/QuickJS JIT Compiler (
compiler/&three-live-cli):- Embedded deterministic QuickJS engine (
rquickjs) executing procedural Three.js scripts in-process on mobile and desktop without a browser or Node.js runtime. - Hardened resource limits (memory ceiling, interrupt handler timeout, stack limit, and vertex/triangle/material quotas) and panic-safe C FFI / Android JNI boundaries (
catch_unwind). - Standalone
three-live-clibinary (three-live-cli convert scene.js -o output.glb) with prebuilt release binaries for Linux (x86_64,aarch64), macOS (arm64,x86_64), and Windows (x86_64).
- Embedded deterministic QuickJS engine (
-
Native Android & Apple Mobile SDKs (
mobile/):- Android (
com.google.threelive): Zero-copyDirectByteBufferJNI bridge for Google Filament (FilamentHelper), Android Scene Viewer AR launcher, Jetpack XRSceneCoretrait hydration (XRLiveSceneCoreHelper), and a Jetpack Compose demo app (mobile/examples/android_compose). - iOS, macOS, visionOS & tvOS (
ThreeLiveCompiler): Swift Package Manager library and prebuiltThreeLiveCompiler.xcframeworkwith asyncRealityKitEntityloading (RealityKitHelper),ARQuickLookpresentation (QuickLookHelper), spatial trait gesture installation (XRLiveRealityKit), and a SwiftUI demo app (mobile/examples/ios_swiftui).
- Android (