Releases: sceneview/sceneview
v3.4.4
What's Changed in v3.4.4
Features
- Android Demo: Play Store readiness — crash prevention, dark mode support, store listing metadata
- MCP Server: Comprehensive legal protection — Terms of Service, Privacy Policy, disclaimers
- MCP Server: Bump to v3.4.7 —
render_3d_previewtool and preview module
Documentation
- Draft Discord community responses for pending questions
- GitHub Sponsors tier structure — 4 tiers with setup guide
- Market opportunities beyond SceneView
- Updated handoff and CLAUDE.md with complete marathon session state
Legal
- Added Terms of Service, Privacy Policy, and disclaimers to MCP server package
Full Changelog: v3.4.3...v3.4.4
v3.4.3
What's Changed
New Features
- Embeddable 3D Widget — Drop a SceneView-powered 3D viewer into any website with a single
<iframe>embed snippet. Supports model URLs, customizable background, and auto-rotation. (13ca0e0) - MCP
render_3d_previewenhancement — The MCP server'srender_3d_previewtool now accepts code snippets and direct model URLs, making it easier for AI assistants to generate live 3D previews. (b024c5d) - Web demo improvements — Branded UI with SceneView logo, interactive model selector dropdown, and a loading indicator for better UX while models stream in. (c1caa90)
Full Changelog
v3.4.2 — Critical AR fix + MeshNode improvement
What's Changed
BREAKING FIX: AR materials regenerated (#713)
AR materials have been regenerated for Filament 1.70.0. The previous materials were causing crashes on all AR apps at runtime. If you are using arsceneview, this update is critical.
New: MeshNode boundingBox parameter (#711)
MeshNode composable now accepts an optional boundingBox parameter, allowing explicit bounding box override for custom geometries.
Security
- Fixed 6 Dependabot security vulnerabilities across project dependencies
- Fixed 15 audit issues identified during dependency review
Bug Fixes & Maintenance
- Fixed 28 stale repository references (URLs, badges, links)
- Updated all cross-references to current repo structure
Documentation
- Improved MkDocs documentation site with smart links and better navigation
- New interactive playground page with code examples and 3D preview
- New research docs: Android XR integration strategy, visionOS spatial computing, Filament Desktop JNI
Note: This is a GitHub-only release. Maven Central artifacts remain at v3.3.0. To use these fixes, depend on the source or a snapshot build.
Full Changelog: v3.4.1...v3.4.2
v3.4.1 — Website, Smart Links, 3D Preview
What's New
Website rebuilt (Kobweb → Static HTML/CSS)
- Zero build step — pure HTML/CSS/JS with model-viewer 3D
- Material Design 3 Expressive dark theme
- Code tabs (Kotlin + Swift), install tabs (5 platforms)
- Deployed instantly via GitHub Pages
Smart Links
- /go — Universal deep link, detects platform → redirects to store/web
- /preview — Interactive 3D preview with AR + sharing
- /preview/embed — Embeddable iframe viewer
MCP 3D Artifacts (sceneview-mcp@3.4.3)
- New `render_3d_preview` tool — Claude generates 3D preview links in responses
- Users click → see interactive 3D model in browser
- AR mode on mobile, share button, orbit controls
Documentation
- README rewritten (622 → 200 lines), multi-platform focused
- GitHub description + 20 topics updated
- CHANGELOG, ROADMAP, MkDocs all updated for v3.4.0+
- Samples page: 7 platform demos + 5 code recipes
Infrastructure
- 21 Apple + Android + Maven + npm secrets configured
- W-8BEN tax form submitted (0% withholding)
- Polar.sh added to funding platforms
- Repo cleaned (9 obsolete files removed)
Strategic Plan
- Deep links, monetization, AI plugins, 3D artifacts roadmap
- Polar.sh for MCP Pro subscriptions
- Multiple MCP plugins strategy
Full Changelog: v3.4.0...v3.4.1
v3.4.0 — Multi-platform expansion
What's New
🌐 Web — WebXR AR/VR in the browser
- sceneview-web module with Filament.js (WASM) rendering
- WebXR support: immersive-ar and immersive-vr sessions
- 6 WebXR external declaration files (XRSystem, XRSession, XRFrame, XRReferenceSpace, XRHitTestSource, XRInputSource)
- Hit testing for AR surface placement
- "Enter AR" / "Enter VR" buttons in web sample
🖥️ Desktop — Compose Desktop with software 3D renderer
- desktop-demo with rotating wireframe cube, octahedron, diamond
- Perspective projection, grid floor, axis gizmo
- Material 3 dark theme with SceneView blue branding
- 3-tab UI: 3D Viewer, Wireframe, About
- Ready for Filament JNI upgrade
📱 Android Demo — Unified Material 3 showcase
- android-demo: 4-tab app (3D, AR, Samples, About)
- 14 interactive demos across 5 categories
- 8 models, 6 HDR environments, orbit camera
- AR tap-to-place with plane detection and gestures
- Material 3 Expressive with blue branding
🧹 Samples reorganization
- 15 obsolete samples deleted — all features merged into android-demo
- Unified
{platform}-demonaming convention - 7 platform demos: android, android-tv, web, ios, desktop, flutter, react-native
🔧 Fixes
material-icons-extendedpinned to 1.7.8 (1.10.5 not published)- AR emulator QA updated for new sample structure
- wasmJs target disabled (kotlin-math lacks WASM variant)
Platforms
| Platform | Renderer | Sample |
|---|---|---|
| Android | Filament | samples/android-demo |
| Android TV | Filament | samples/android-tv-demo |
| iOS | RealityKit | samples/ios-demo |
| macOS | RealityKit | via SceneViewSwift |
| visionOS | RealityKit | via SceneViewSwift |
| Web | Filament.js + WebXR | samples/web-demo |
| Desktop | Software renderer | samples/desktop-demo |
| Flutter | Filament / RealityKit | samples/flutter-demo |
| React Native | Filament / RealityKit | samples/react-native-demo |
Installation
Android (Gradle):
implementation("io.github.sceneview:sceneview:3.4.0")
implementation("io.github.sceneview:arsceneview:3.4.0")iOS (Swift Package Manager):
https://github.com/SceneView/SceneViewSwift.git (from: "3.3.0")
Full Changelog: v3.3.0...v3.4.0
v3.3.0
What's Changed
Other Changes
- chore(mcp): sync version to 3.2.0 by @ThomasGorisse in #679
- CI hardening, advanced tutorials, minSdk standardization by @ThomasGorisse in #680
- fix: MCP samples registry (6 synthetic → 14 real) + code quality by @ThomasGorisse in #681
- docs: sync changelog with root (adds 3.1.0–3.2.1) by @ThomasGorisse in #682
- docs: expand llms.txt geometry nodes + SceneviewTheme KDoc by @ThomasGorisse in #683
- feat(mcp): validator rules for 3.2.0 nodes + test coverage by @ThomasGorisse in #684
- docs: sync migration guide (adds v3.1→v3.2) by @ThomasGorisse in #685
- feat(marketing): add showcase, comparison, v4 preview, and X thread by @ThomasGorisse in #686
- marketing: LLM discoverability + interactive 3D demo by @ThomasGorisse in #687
- fix: AGP 8.11.1 does not exist, use 8.13.2 + sync Kotlin 2.3.20 by @ThomasGorisse in #688
- fix: revert non-existent Filament 1.70.0 to 1.56.0 by @ThomasGorisse in #689
- fix: add missing position parameter to SphereNode composable by @ThomasGorisse in #690
- fix: restore Filament 1.70.0, revert Kotlin to 2.1.21 by @ThomasGorisse in #691
- fix: restore build config from last green CI by @ThomasGorisse in #692
- ci: capture build error log + restore build config by @ThomasGorisse in #693
- ci: capture sample build errors as artifacts by @ThomasGorisse in #694
- fix: downgrade Gradle 9.3.1 → 8.11.1 to fix CI by @ThomasGorisse in #697
- Marketing, SEO & multi-platform strategy docs by @ThomasGorisse in #696
- website: M3 homepage redesign + showcase SVG overhaul by @ThomasGorisse in #698
- feat: add BillboardNode, TextNode, PhysicsNode + 3 new samples by @ThomasGorisse in #678
- Cross-platform coherence + website fixes by @ThomasGorisse in #700
- chore: gitignore Claude Code settings by @ThomasGorisse in #701
- chore: clean up old .claude config files by @ThomasGorisse in #702
- chore: repository cleanup — remove build artifacts and dead files by @ThomasGorisse in #703
- Claude/resume sceneview ios pj p vi by @ThomasGorisse in #704
- feat: iOS SceneViewSwift stabilization, tests, docs, MCP, cross-framework scaffolds by @ThomasGorisse in #705
- chore: add /sync-check and /release commands by @ThomasGorisse in #708
- feat: complete website redesign — clean, minimal, developer-focused by @ThomasGorisse in #707
Full Changelog: v3.2.0...v3.3.0
SceneView 3.2.0 — Physics, Sky, Fog, Lines, Labels, Reflections
3.2.0 — New node types: Physics, Sky, Fog, Reflections, Lines, Labels
New SDK nodes
PhysicsNode— rigid body simulation; gravity, floor collision, sleep detection; physics-demo sample (tap-to-throw)DynamicSkyNode— time-of-day sun light (direction, colour, intensity) driven bytimeOfDay: Float; turbidity controls sunrise/sunset warmthFogNode— reactiveView.fogOptionswrapper (density, height falloff, colour); zero-cost when disabledReflectionProbeNode— overrides scene IBL with a baked cubemap; global or local zone mode (activates withinradiusmetres)LineNode/PathNode— FilamentLINESprimitive; live GPU buffer updates viaupdateGeometry()BillboardNode— camera-facing quad viaonFrame+lookAtTextNode— extendsBillboardNode; Canvas-rendered text bitmap; reactivetext,fontSize,textColor,backgroundColor
New SceneScope DSL composables
PhysicsNode {}, DynamicSkyNode {}, FogNode {}, ReflectionProbeNode {}, LineNode {}, PathNode {}, BillboardNode {}, TextNode {}
New samples
| Sample | Demonstrates |
|---|---|
samples/physics-demo |
Tap-to-throw balls, floor collision, sleep |
samples/post-processing |
Bloom, DoF, SSAO, Fog toggles |
samples/dynamic-sky |
Time-of-day + turbidity + fog controls |
samples/line-path |
3-axis gizmo, spiral, animated sine-wave PathNode |
samples/text-labels |
Camera-facing labels on 3D spheres; tap to cycle |
samples/reflection-probe |
Metallic sphere with IBL override |
Sample improvements
model-viewer: animation playback controls (play/pause, next, name label)ar-model-viewer: persistent plane mesh; gesture docs (isEditable = truehandles pinch-scale + two-finger rotate)
Ecosystem
- MCP
get_node_referencetool —@sceneview/mcpserver parsesllms.txt; exposesget_node_reference { nodeType }andlist_node_typesfor AI assistant integration
Dependencies
- Filament 1.56.0 → 1.70.0
- Kotlin 2.1.21 → 2.3.20
What's Changed
- deps: bump Kotlin 2.1.21 → 2.3.20 by @ThomasGorisse in #664
- feat(samples): model-viewer — model picker + scale 1.0 by @ThomasGorisse in #668
- deps: bump Filament 1.56.0 → 1.70.0 by @ThomasGorisse in #667
- feat(samples): ar-model-viewer — persistent plane mesh + gesture docs by @ThomasGorisse in #672
- feat(samples): post-processing — Bloom, DoF, SSAO, Fog by @ThomasGorisse in #670
- feat(samples): model-viewer — animation playback controls by @ThomasGorisse in #671
- feat: PhysicsNode + physics-demo sample (roadmap 3.2.0) by @ThomasGorisse in #673
- feat: DynamicSkyNode + FogNode + dynamic-sky sample (3.3.0) by @ThomasGorisse in #674
- feat(mcp): add get_node_reference tool by @ThomasGorisse in #676
- feat: LineNode, PathNode, BillboardNode, TextNode + samples (3.4.0) by @ThomasGorisse in #675
- feat: ReflectionProbeNode — zone-based IBL override composable (3.3.0) by @ThomasGorisse in #677
Full Changelog: v3.1.2...v3.2.0
v3.1.2
What's Changed
- Fix build sample on pull request by @hannesa2 in #663
- release: 3.1.2 by @ThomasGorisse in #669
New Contributors
Full Changelog: v3.1.1...v3.1.2
SceneView 3.1.1 — Build compatibility & BrainStem sample
SceneView 3.1.1
Patch release fixing Android Studio compatibility and polishing the gltf-camera sample. This release also bundles all of the 3.1.0 feature work (VideoNode, reactive animation API) which was never tagged.
Get started
implementation("io.github.sceneview:sceneview:3.1.1")
implementation("io.github.sceneview:arsceneview:3.1.1")What's new in 3.1.x
New features
VideoNode— render a video stream (MediaPlayer / ExoPlayer) as a textured 3D surface- Reactive animation API — drive node animations directly from Compose state
ViewNodeunified —ViewNode2merged intoViewNode
Bug fixes
ToneMapper.LinearinARSceneprevents overlit camera backgroundImageNodeSIGABRT on dispose — destroyMaterialInstancebefore texturecameraNoderegistered withSceneNodeManagerso HUD-parented nodes render correctly- Entities removed from scene before destroy to prevent SIGABRT on Filament 1.56.0
MCP & AI tooling
- MCP tools:
validate_code,list_samples,get_migration_guide - Live GitHub Issues resource in MCP server
- 89 unit tests for MCP validator, samples, migration guide, and issues modules
Build & samples (3.1.1 patch)
- Downgrade AGP 8.13.2 → 8.11.1 for Android Studio compatibility
gltf-camerasample: animated BrainStem character with futuristic rooftop night environment- Fix
autopilot-demobuild — remove implicitengineparam from SceneScope node calls
MCP server
npx sceneview-mcp@3.1.1Full changelog
See CHANGELOG.md for the complete history.
SceneView 3.0.0 — 3D & AR as Jetpack Compose composables
SceneView 3.0.0
Ground-up rewrite. 3D and AR are now Jetpack Compose composables — nodes are declared, not managed.
Get started
implementation("io.github.sceneview:sceneview:3.0.0") // 3D only
implementation("io.github.sceneview:arsceneview:3.0.0") // AR (includes sceneview)New API
// 3D scene
Scene(modifier = Modifier.fillMaxSize(), cameraManipulator = rememberCameraManipulator()) {
rememberModelInstance(modelLoader, "models/helmet.glb")?.let {
ModelNode(modelInstance = it, scaleToUnits = 1.0f, autoAnimate = true)
}
}
// AR — tap to place
ARScene(planeRenderer = true, onSessionUpdated = { _, frame ->
anchor = frame.getUpdatedPlanes().firstOrNull()
?.let { frame.createAnchorOrNull(it.centerPose) }
}) {
anchor?.let { AnchorNode(anchor = it) {
ModelNode(modelInstance = helmet, scaleToUnits = 0.3f)
}}
}Highlights
Scene { }andARScene { }composables — full Filament rendering inside ComposeSceneScopeDSL:ModelNode,LightNode,CubeNode,SphereNode,CylinderNode,PlaneNode,ImageNode,ViewNode,MeshNodeARSceneScopeDSL:AnchorNode,PoseNode,HitResultNode,AugmentedImageNode,AugmentedFaceNode,CloudAnchorNoderememberModelInstance— async loading, returnsnullwhile in flightViewNode— embed Compose UI as a 3D surface in the sceneSceneNodeManager— reactive bridge between Compose snapshot state and Filament scene graph- MCP server (
@sceneview/mcp) — give Claude the full SDK so it writes correct Kotlin
Breaking changes
No source-compatible upgrade path from 2.x. See the Migration Guide for a step-by-step walkthrough.
Samples
| Sample | What it shows |
|---|---|
model-viewer |
3D model, HDR environment, orbit camera |
ar-model-viewer |
Tap-to-place, plane detection, pinch/rotate |
gltf-camera |
Cameras imported from a glTF scene |
camera-manipulator |
Orbit / pan / zoom camera control |
ar-augmented-image |
Real-world image detection + 3D overlay |
ar-cloud-anchor |
Persistent cross-device anchors |
ar-point-cloud |
ARCore feature point visualisation |
autopilot-demo |
Autonomous animated AR scene |
Full changelog
See CHANGELOG.md for the complete history.