sceneview-mcp 3.5.3 → 3.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -294,7 +294,7 @@ fun DebugModelViewer() {
294
294
  title: "Build / Gradle Errors",
295
295
  guide: `## Debugging: Build Errors
296
296
 
297
- ### "Cannot resolve io.github.sceneview:sceneview:3.5.0"
297
+ ### "Cannot resolve io.github.sceneview:sceneview:3.5.1"
298
298
 
299
299
  1. Check repositories in \`settings.gradle.kts\`:
300
300
  \`\`\`kotlin
@@ -337,7 +337,7 @@ SceneView bundles Filament. If you also depend on Filament directly:
337
337
  \`\`\`kotlin
338
338
  // Remove direct Filament dependency — SceneView includes it
339
339
  // implementation("com.google.android.filament:filament-android:1.x.x") // REMOVE
340
- implementation("io.github.sceneview:sceneview:3.5.0") // This includes Filament
340
+ implementation("io.github.sceneview:sceneview:3.5.1") // This includes Filament
341
341
  \`\`\`
342
342
 
343
343
  ### "Cannot find Filament material"
@@ -245,7 +245,7 @@ export function generateScene(description) {
245
245
  }
246
246
  // Build the code
247
247
  const isAR = parsed.isAR;
248
- dependencies.push(isAR ? "io.github.sceneview:arsceneview:3.5.0" : "io.github.sceneview:sceneview:3.5.0");
248
+ dependencies.push(isAR ? "io.github.sceneview:arsceneview:3.5.1" : "io.github.sceneview:sceneview:3.5.1");
249
249
  // Build model instance declarations
250
250
  const modelElements = elements.filter((e) => e.type === "model");
251
251
  const uniqueModels = new Map();
package/dist/guides.js CHANGED
@@ -10,8 +10,8 @@ export const PLATFORM_ROADMAP = `# SceneView Multi-Platform Roadmap
10
10
 
11
11
  | Platform | Status | Artifact | Renderer |
12
12
  |----------|--------|----------|----------|
13
- | **Android (Compose)** | Stable | \`io.github.sceneview:sceneview:3.5.0\` | Filament |
14
- | **Android (AR)** | Stable | \`io.github.sceneview:arsceneview:3.5.0\` | Filament + ARCore |
13
+ | **Android (Compose)** | Stable | \`io.github.sceneview:sceneview:3.5.1\` | Filament |
14
+ | **Android (AR)** | Stable | \`io.github.sceneview:arsceneview:3.5.1\` | Filament + ARCore |
15
15
  | **iOS (SwiftUI)** | Alpha | SceneViewSwift SPM \`from: "3.5.0"\` | RealityKit + ARKit |
16
16
  | **macOS (SwiftUI)** | Alpha | SceneViewSwift SPM (in Package.swift) | RealityKit |
17
17
  | **visionOS (SwiftUI)** | Alpha | SceneViewSwift SPM (in Package.swift) | RealityKit |
@@ -424,7 +424,7 @@ ARSceneView(
424
424
  \`\`\`kotlin
425
425
  // build.gradle.kts (app module)
426
426
  dependencies {
427
- implementation("io.github.sceneview:arsceneview:3.5.0")
427
+ implementation("io.github.sceneview:arsceneview:3.5.1")
428
428
  // arsceneview includes sceneview transitively — no need to add both
429
429
  }
430
430
  \`\`\`
package/dist/index.js CHANGED
@@ -39,7 +39,7 @@ catch {
39
39
  API_DOCS = "SceneView API docs not found. Run `npm run prepare` to bundle llms.txt.";
40
40
  }
41
41
  const NODE_SECTIONS = parseNodeSections(API_DOCS);
42
- const server = new Server({ name: "sceneview-mcp", version: "3.5.3" }, { capabilities: { resources: {}, tools: {} } });
42
+ const server = new Server({ name: "sceneview-mcp", version: "3.5.4" }, { capabilities: { resources: {}, tools: {} } });
43
43
  // ─── Resources ───────────────────────────────────────────────────────────────
44
44
  server.setRequestHandler(ListResourcesRequestSchema, async () => ({
45
45
  resources: [
package/dist/migration.js CHANGED
@@ -8,8 +8,8 @@ SceneView 3.0 is a full rewrite from Android Views to **Jetpack Compose**. Nearl
8
8
 
9
9
  | 2.x | 3.0 |
10
10
  |-----|-----|
11
- | \`io.github.sceneview:sceneview:2.x.x\` | \`io.github.sceneview:sceneview:3.5.0\` |
12
- | \`io.github.sceneview:arsceneview:2.x.x\` | \`io.github.sceneview:arsceneview:3.5.0\` |
11
+ | \`io.github.sceneview:sceneview:2.x.x\` | \`io.github.sceneview:sceneview:3.5.1\` |
12
+ | \`io.github.sceneview:arsceneview:2.x.x\` | \`io.github.sceneview:arsceneview:3.5.1\` |
13
13
 
14
14
  ---
15
15
 
@@ -12,7 +12,7 @@ const ANDROID_3D = `## SceneView Android — 3D Setup
12
12
  \`\`\`kotlin
13
13
  // build.gradle.kts (app module)
14
14
  dependencies {
15
- implementation("io.github.sceneview:sceneview:3.5.0")
15
+ implementation("io.github.sceneview:sceneview:3.5.1")
16
16
  }
17
17
  \`\`\`
18
18
 
@@ -88,7 +88,7 @@ const ANDROID_AR = `## SceneView Android — AR Setup
88
88
  \`\`\`kotlin
89
89
  // build.gradle.kts (app module)
90
90
  dependencies {
91
- implementation("io.github.sceneview:arsceneview:3.5.0")
91
+ implementation("io.github.sceneview:arsceneview:3.5.1")
92
92
  // arsceneview includes sceneview transitively
93
93
  }
94
94
  \`\`\`
@@ -684,7 +684,7 @@ SceneView on Android TV uses the same Filament renderer as mobile Android, with
684
684
 
685
685
  \`\`\`kotlin
686
686
  dependencies {
687
- implementation("io.github.sceneview:sceneview:3.5.0")
687
+ implementation("io.github.sceneview:sceneview:3.5.1")
688
688
  implementation("androidx.leanback:leanback:1.0.0")
689
689
  implementation("androidx.tv:tv-foundation:1.0.0-alpha10")
690
690
  }
package/dist/samples.js CHANGED
@@ -4,8 +4,8 @@ export const SAMPLES = {
4
4
  title: "3D Model Viewer",
5
5
  description: "Full-screen 3D scene with a GLB model, HDR environment, orbit camera, and animation controls",
6
6
  tags: ["3d", "model", "environment", "camera", "animation"],
7
- dependency: "io.github.sceneview:sceneview:3.5.0",
8
- prompt: "Create an Android Compose screen that loads a GLB model and displays it with HDR lighting, orbit camera, and animation playback. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
7
+ dependency: "io.github.sceneview:sceneview:3.5.1",
8
+ prompt: "Create an Android Compose screen that loads a GLB model and displays it with HDR lighting, orbit camera, and animation playback. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
9
9
  code: `@Composable
10
10
  fun ModelViewerScreen() {
11
11
  val engine = rememberEngine()
@@ -38,8 +38,8 @@ fun ModelViewerScreen() {
38
38
  title: "AR Tap-to-Place Model Viewer",
39
39
  description: "AR scene with plane detection. Tap a surface to place a 3D model with pinch-to-scale and drag-to-rotate gestures.",
40
40
  tags: ["ar", "model", "anchor", "plane-detection", "placement", "gestures"],
41
- dependency: "io.github.sceneview:arsceneview:3.5.0",
42
- prompt: "Create an AR screen that detects surfaces and lets the user tap to place a GLB model. Support pinch-to-scale and drag-to-rotate. Use SceneView `io.github.sceneview:arsceneview:3.5.0`.",
41
+ dependency: "io.github.sceneview:arsceneview:3.5.1",
42
+ prompt: "Create an AR screen that detects surfaces and lets the user tap to place a GLB model. Support pinch-to-scale and drag-to-rotate. Use SceneView `io.github.sceneview:arsceneview:3.5.1`.",
43
43
  code: `@Composable
44
44
  fun ARModelViewerScreen() {
45
45
  val engine = rememberEngine()
@@ -83,8 +83,8 @@ fun ARModelViewerScreen() {
83
83
  title: "AR Augmented Image",
84
84
  description: "Detects reference images in the camera feed and overlays 3D models or video above them.",
85
85
  tags: ["ar", "model", "image-tracking"],
86
- dependency: "io.github.sceneview:arsceneview:3.5.0",
87
- prompt: "Create an AR screen that detects a printed reference image and places a 3D model above it. Use SceneView `io.github.sceneview:arsceneview:3.5.0`.",
86
+ dependency: "io.github.sceneview:arsceneview:3.5.1",
87
+ prompt: "Create an AR screen that detects a printed reference image and places a 3D model above it. Use SceneView `io.github.sceneview:arsceneview:3.5.1`.",
88
88
  code: `@Composable
89
89
  fun AugmentedImageScreen() {
90
90
  val engine = rememberEngine()
@@ -125,8 +125,8 @@ fun AugmentedImageScreen() {
125
125
  title: "AR Cloud Anchor",
126
126
  description: "Host and resolve persistent cross-device anchors using ARCore Cloud Anchors.",
127
127
  tags: ["ar", "anchor", "cloud-anchor"],
128
- dependency: "io.github.sceneview:arsceneview:3.5.0",
129
- prompt: "Create an AR screen that can host a cloud anchor (saving its ID) and resolve it later on another device. Use SceneView `io.github.sceneview:arsceneview:3.5.0`.",
128
+ dependency: "io.github.sceneview:arsceneview:3.5.1",
129
+ prompt: "Create an AR screen that can host a cloud anchor (saving its ID) and resolve it later on another device. Use SceneView `io.github.sceneview:arsceneview:3.5.1`.",
130
130
  code: `@Composable
131
131
  fun CloudAnchorScreen() {
132
132
  val engine = rememberEngine()
@@ -156,8 +156,8 @@ fun CloudAnchorScreen() {
156
156
  title: "AR Point Cloud",
157
157
  description: "Visualizes ARCore feature points as 3D spheres with confidence-based filtering.",
158
158
  tags: ["ar", "point-cloud"],
159
- dependency: "io.github.sceneview:arsceneview:3.5.0",
160
- prompt: "Create an AR screen that visualizes ARCore feature points as small 3D spheres, filtered by confidence. Use SceneView `io.github.sceneview:arsceneview:3.5.0`.",
159
+ dependency: "io.github.sceneview:arsceneview:3.5.1",
160
+ prompt: "Create an AR screen that visualizes ARCore feature points as small 3D spheres, filtered by confidence. Use SceneView `io.github.sceneview:arsceneview:3.5.1`.",
161
161
  code: `@Composable
162
162
  fun PointCloudScreen() {
163
163
  val engine = rememberEngine()
@@ -188,8 +188,8 @@ fun PointCloudScreen() {
188
188
  title: "AR Face Mesh",
189
189
  description: "AR face tracking with AugmentedFaceNode — applies a textured mesh overlay to detected faces using the front camera.",
190
190
  tags: ["ar", "face-tracking", "model"],
191
- dependency: "io.github.sceneview:arsceneview:3.5.0",
192
- prompt: "Create an AR screen that uses the front camera to detect faces and overlay a 3D mesh on them. Use SceneView `io.github.sceneview:arsceneview:3.5.0`.",
191
+ dependency: "io.github.sceneview:arsceneview:3.5.1",
192
+ prompt: "Create an AR screen that uses the front camera to detect faces and overlay a 3D mesh on them. Use SceneView `io.github.sceneview:arsceneview:3.5.1`.",
193
193
  code: `@Composable
194
194
  fun ARFaceMeshScreen() {
195
195
  val engine = rememberEngine()
@@ -232,8 +232,8 @@ fun ARFaceMeshScreen() {
232
232
  title: "glTF Camera",
233
233
  description: "Extracts and uses camera definitions embedded in a glTF file for cinematic viewpoints.",
234
234
  tags: ["3d", "model", "camera"],
235
- dependency: "io.github.sceneview:sceneview:3.5.0",
236
- prompt: "Create a 3D scene that loads a GLB file containing embedded camera definitions, then uses those cameras for cinematic viewpoints. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
235
+ dependency: "io.github.sceneview:sceneview:3.5.1",
236
+ prompt: "Create a 3D scene that loads a GLB file containing embedded camera definitions, then uses those cameras for cinematic viewpoints. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
237
237
  code: `@Composable
238
238
  fun GltfCameraScreen() {
239
239
  val engine = rememberEngine()
@@ -262,8 +262,8 @@ fun GltfCameraScreen() {
262
262
  title: "Camera Manipulator",
263
263
  description: "Orbit, pan, and zoom camera with customizable sensitivity and bounds.",
264
264
  tags: ["3d", "camera", "gestures"],
265
- dependency: "io.github.sceneview:sceneview:3.5.0",
266
- prompt: "Create a 3D scene with a fully configurable orbit camera — drag to rotate, two-finger pan, pinch to zoom. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
265
+ dependency: "io.github.sceneview:sceneview:3.5.1",
266
+ prompt: "Create a 3D scene with a fully configurable orbit camera — drag to rotate, two-finger pan, pinch to zoom. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
267
267
  code: `@Composable
268
268
  fun CameraManipulatorScreen() {
269
269
  val engine = rememberEngine()
@@ -293,8 +293,8 @@ fun CameraManipulatorScreen() {
293
293
  title: "Camera Animation",
294
294
  description: "Animated camera flythrough around a 3D model — smooth orbit using LaunchedEffect and trigonometric interpolation.",
295
295
  tags: ["3d", "camera", "animation", "model"],
296
- dependency: "io.github.sceneview:sceneview:3.5.0",
297
- prompt: "Create a 3D scene with a camera that automatically orbits around a model in a smooth circle. Include a play/pause button. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
296
+ dependency: "io.github.sceneview:sceneview:3.5.1",
297
+ prompt: "Create a 3D scene with a camera that automatically orbits around a model in a smooth circle. Include a play/pause button. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
298
298
  code: `@Composable
299
299
  fun CameraAnimationScreen() {
300
300
  val engine = rememberEngine()
@@ -354,8 +354,8 @@ fun CameraAnimationScreen() {
354
354
  title: "Autopilot Demo",
355
355
  description: "Autonomous driving HUD with animated car, road geometry, and real-time telemetry overlay.",
356
356
  tags: ["3d", "model", "animation", "geometry"],
357
- dependency: "io.github.sceneview:sceneview:3.5.0",
358
- prompt: "Create an autopilot-style visualization with a 3D car on a road and a HUD overlay showing speed, distance, and status. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
357
+ dependency: "io.github.sceneview:sceneview:3.5.1",
358
+ prompt: "Create an autopilot-style visualization with a 3D car on a road and a HUD overlay showing speed, distance, and status. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
359
359
  code: `@Composable
360
360
  fun AutopilotScreen() {
361
361
  val engine = rememberEngine()
@@ -423,8 +423,8 @@ fun AutopilotScreen() {
423
423
  title: "Physics Simulation",
424
424
  description: "Animated physics simulation with spheres falling under gravity and bouncing off a floor, using onFrame for per-frame updates.",
425
425
  tags: ["3d", "physics", "geometry", "animation"],
426
- dependency: "io.github.sceneview:sceneview:3.5.0",
427
- prompt: "Create a 3D scene with spheres that fall under gravity and bounce on a floor using per-frame animation. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
426
+ dependency: "io.github.sceneview:sceneview:3.5.1",
427
+ prompt: "Create a 3D scene with spheres that fall under gravity and bounce on a floor using per-frame animation. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
428
428
  code: `@Composable
429
429
  fun PhysicsDemoScreen() {
430
430
  val engine = rememberEngine()
@@ -516,8 +516,8 @@ fun PhysicsDemoScreen() {
516
516
  title: "Dynamic Sky & Lighting",
517
517
  description: "Time-of-day sun cycle with animated LightNode direction, intensity, and color to simulate sunrise through sunset.",
518
518
  tags: ["3d", "sky", "environment", "animation", "lighting"],
519
- dependency: "io.github.sceneview:sceneview:3.5.0",
520
- prompt: "Create a 3D scene with a time-of-day sun that moves from sunrise through noon to sunset, with animated light color and intensity. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
519
+ dependency: "io.github.sceneview:sceneview:3.5.1",
520
+ prompt: "Create a 3D scene with a time-of-day sun that moves from sunrise through noon to sunset, with animated light color and intensity. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
521
521
  code: `@Composable
522
522
  fun DynamicSkyScreen() {
523
523
  val engine = rememberEngine()
@@ -600,8 +600,8 @@ fun DynamicSkyScreen() {
600
600
  title: "Line & Path",
601
601
  description: "Animated 3D line art with sine waves and Lissajous curves using PathNode and LineNode, with parameter sliders.",
602
602
  tags: ["3d", "lines", "geometry", "animation"],
603
- dependency: "io.github.sceneview:sceneview:3.5.0",
604
- prompt: "Create a 3D scene that draws animated parametric curves (sine wave, Lissajous) using PathNode with amplitude and frequency sliders. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
603
+ dependency: "io.github.sceneview:sceneview:3.5.1",
604
+ prompt: "Create a 3D scene that draws animated parametric curves (sine wave, Lissajous) using PathNode with amplitude and frequency sliders. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
605
605
  code: `@Composable
606
606
  fun LinePathScreen() {
607
607
  val engine = rememberEngine()
@@ -677,8 +677,8 @@ fun LinePathScreen() {
677
677
  title: "Text Labels",
678
678
  description: "Camera-facing 3D text labels using TextNode — floating labels above geometry spheres representing planets.",
679
679
  tags: ["3d", "text", "geometry"],
680
- dependency: "io.github.sceneview:sceneview:3.5.0",
681
- prompt: "Create a 3D scene with floating text labels above colored spheres representing planets. Use TextNode for the labels. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
680
+ dependency: "io.github.sceneview:sceneview:3.5.1",
681
+ prompt: "Create a 3D scene with floating text labels above colored spheres representing planets. Use TextNode for the labels. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
682
682
  code: `@Composable
683
683
  fun TextLabelsScreen() {
684
684
  val engine = rememberEngine()
@@ -735,8 +735,8 @@ fun TextLabelsScreen() {
735
735
  title: "Reflection Probe",
736
736
  description: "Zone-based IBL overrides with material picker (Chrome, Gold, Copper, Rough) and probe toggle.",
737
737
  tags: ["3d", "reflection", "environment", "model"],
738
- dependency: "io.github.sceneview:sceneview:3.5.0",
739
- prompt: "Create a 3D scene with a metallic sphere and a ReflectionProbeNode that overrides the IBL. Add a material picker to switch between Chrome, Gold, Copper, and Rough. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
738
+ dependency: "io.github.sceneview:sceneview:3.5.1",
739
+ prompt: "Create a 3D scene with a metallic sphere and a ReflectionProbeNode that overrides the IBL. Add a material picker to switch between Chrome, Gold, Copper, and Rough. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
740
740
  code: `@Composable
741
741
  fun ReflectionProbeScreen() {
742
742
  val engine = rememberEngine()
@@ -771,8 +771,8 @@ fun ReflectionProbeScreen() {
771
771
  title: "Post-Processing",
772
772
  description: "Real-time post-processing effects: bloom, vignette, tone mapping, FXAA, and SSAO controls.",
773
773
  tags: ["3d", "post-processing", "environment"],
774
- dependency: "io.github.sceneview:sceneview:3.5.0",
775
- prompt: "Create a 3D scene with interactive post-processing controls for bloom, vignette, tone mapping, FXAA, and SSAO. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
774
+ dependency: "io.github.sceneview:sceneview:3.5.1",
775
+ prompt: "Create a 3D scene with interactive post-processing controls for bloom, vignette, tone mapping, FXAA, and SSAO. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
776
776
  code: `@Composable
777
777
  fun PostProcessingScreen() {
778
778
  val engine = rememberEngine()
@@ -799,8 +799,8 @@ fun PostProcessingScreen() {
799
799
  title: "Video Texture",
800
800
  description: "Video playback on a 3D plane using VideoNode with MediaPlayer — supports looping, chroma-key, and auto-sizing.",
801
801
  tags: ["3d", "video", "model"],
802
- dependency: "io.github.sceneview:sceneview:3.5.0",
803
- prompt: "Create a 3D scene with a video playing on a floating 3D plane. Include play/pause controls and chroma-key support. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
802
+ dependency: "io.github.sceneview:sceneview:3.5.1",
803
+ prompt: "Create a 3D scene with a video playing on a floating 3D plane. Include play/pause controls and chroma-key support. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
804
804
  code: `@Composable
805
805
  fun VideoTextureScreen() {
806
806
  val context = LocalContext.current
@@ -849,8 +849,8 @@ fun VideoTextureScreen() {
849
849
  title: "Multi-Model Scene",
850
850
  description: "Scene with multiple 3D models loaded independently, positioned and scaled to create a complete environment.",
851
851
  tags: ["3d", "model", "multi-model", "environment"],
852
- dependency: "io.github.sceneview:sceneview:3.5.0",
853
- prompt: "Create a 3D scene that loads multiple GLB models (a car, a building, and trees) and positions them to form a street scene. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
852
+ dependency: "io.github.sceneview:sceneview:3.5.1",
853
+ prompt: "Create a 3D scene that loads multiple GLB models (a car, a building, and trees) and positions them to form a street scene. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
854
854
  code: `@Composable
855
855
  fun MultiModelScreen() {
856
856
  val engine = rememberEngine()
@@ -915,8 +915,8 @@ fun MultiModelScreen() {
915
915
  title: "Gesture Interaction",
916
916
  description: "Full gesture handling — tap to select, double-tap to scale, long-press for info, pinch-to-scale, drag-to-move on editable nodes.",
917
917
  tags: ["3d", "gestures", "model"],
918
- dependency: "io.github.sceneview:sceneview:3.5.0",
919
- prompt: "Create a 3D scene with a model that responds to tap (select), double-tap (scale up), long-press (show info), and supports pinch-to-scale and drag-to-move. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
918
+ dependency: "io.github.sceneview:sceneview:3.5.1",
919
+ prompt: "Create a 3D scene with a model that responds to tap (select), double-tap (scale up), long-press (show info), and supports pinch-to-scale and drag-to-move. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
920
920
  code: `@Composable
921
921
  fun GestureInteractionScreen() {
922
922
  val engine = rememberEngine()
@@ -979,8 +979,8 @@ fun GestureInteractionScreen() {
979
979
  title: "Environment & Lighting",
980
980
  description: "Complete lighting setup — HDR environment (IBL + skybox), main directional light, point light, and spot light with LightNode.",
981
981
  tags: ["3d", "environment", "lighting", "model"],
982
- dependency: "io.github.sceneview:sceneview:3.5.0",
983
- prompt: "Create a 3D scene with full HDR environment lighting (IBL + skybox), a directional sun light, a red point light, and a blue spot light. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
982
+ dependency: "io.github.sceneview:sceneview:3.5.1",
983
+ prompt: "Create a 3D scene with full HDR environment lighting (IBL + skybox), a directional sun light, a red point light, and a blue spot light. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
984
984
  code: `@Composable
985
985
  fun EnvironmentLightingScreen() {
986
986
  val engine = rememberEngine()
@@ -1048,8 +1048,8 @@ fun EnvironmentLightingScreen() {
1048
1048
  title: "Procedural Geometry",
1049
1049
  description: "Procedural shapes — CubeNode, SphereNode, CylinderNode, PlaneNode — with PBR materials (metallic, roughness, color).",
1050
1050
  tags: ["3d", "geometry", "model"],
1051
- dependency: "io.github.sceneview:sceneview:3.5.0",
1052
- prompt: "Create a 3D scene showing procedural geometry shapes (cube, sphere, cylinder, plane) with different PBR materials. No model files needed. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
1051
+ dependency: "io.github.sceneview:sceneview:3.5.1",
1052
+ prompt: "Create a 3D scene showing procedural geometry shapes (cube, sphere, cylinder, plane) with different PBR materials. No model files needed. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
1053
1053
  code: `@Composable
1054
1054
  fun ProceduralGeometryScreen() {
1055
1055
  val engine = rememberEngine()
@@ -1128,8 +1128,8 @@ fun ProceduralGeometryScreen() {
1128
1128
  title: "Compose UI in 3D",
1129
1129
  description: "Embed interactive Jetpack Compose UI (Cards, Buttons, Text) inside 3D space using ViewNode.",
1130
1130
  tags: ["3d", "compose-ui", "text"],
1131
- dependency: "io.github.sceneview:sceneview:3.5.0",
1132
- prompt: "Create a 3D scene with interactive Compose UI elements (Card with text and a button) floating in 3D space using ViewNode. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
1131
+ dependency: "io.github.sceneview:sceneview:3.5.1",
1132
+ prompt: "Create a 3D scene with interactive Compose UI elements (Card with text and a button) floating in 3D space using ViewNode. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
1133
1133
  code: `@Composable
1134
1134
  fun ComposeUI3DScreen() {
1135
1135
  val engine = rememberEngine()
@@ -1178,8 +1178,8 @@ fun ComposeUI3DScreen() {
1178
1178
  title: "Node Hierarchy",
1179
1179
  description: "Parent-child node relationships — a spinning solar system with planet groups orbiting a central sun.",
1180
1180
  tags: ["3d", "hierarchy", "geometry", "animation"],
1181
- dependency: "io.github.sceneview:sceneview:3.5.0",
1182
- prompt: "Create a 3D solar system where planets orbit a sun using parent-child node hierarchies. Each planet group rotates independently. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
1181
+ dependency: "io.github.sceneview:sceneview:3.5.1",
1182
+ prompt: "Create a 3D solar system where planets orbit a sun using parent-child node hierarchies. Each planet group rotates independently. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
1183
1183
  code: `@Composable
1184
1184
  fun NodeHierarchyScreen() {
1185
1185
  val engine = rememberEngine()
@@ -1677,8 +1677,8 @@ struct VideoPlayerScreen: View {
1677
1677
  title: "Image Node",
1678
1678
  description: "Display images on 3D planes using ImageNode — from assets, resources, or Bitmaps.",
1679
1679
  tags: ["3d", "image", "geometry"],
1680
- dependency: "io.github.sceneview:sceneview:3.5.0",
1681
- prompt: "Create a 3D scene with images displayed on floating planes using ImageNode. Show examples from file, resource, and Bitmap. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
1680
+ dependency: "io.github.sceneview:sceneview:3.5.1",
1681
+ prompt: "Create a 3D scene with images displayed on floating planes using ImageNode. Show examples from file, resource, and Bitmap. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
1682
1682
  code: `@Composable
1683
1683
  fun ImageNodeScreen() {
1684
1684
  val engine = rememberEngine()
@@ -1736,8 +1736,8 @@ fun ImageNodeScreen() {
1736
1736
  title: "Billboard Sprite",
1737
1737
  description: "Always-facing-camera sprites using BillboardNode — useful for markers, icons, and info overlays in 3D space.",
1738
1738
  tags: ["3d", "billboard", "image"],
1739
- dependency: "io.github.sceneview:sceneview:3.5.0",
1740
- prompt: "Create a 3D scene with billboard sprites that always face the camera, useful for markers and info overlays. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
1739
+ dependency: "io.github.sceneview:sceneview:3.5.1",
1740
+ prompt: "Create a 3D scene with billboard sprites that always face the camera, useful for markers and info overlays. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
1741
1741
  code: `@Composable
1742
1742
  fun BillboardSpriteScreen() {
1743
1743
  val engine = rememberEngine()
@@ -1801,8 +1801,8 @@ fun BillboardSpriteScreen() {
1801
1801
  title: "Animation State Machine",
1802
1802
  description: "Reactive animation driven by Compose state — switch between Idle, Walk, and Run animations on a character model.",
1803
1803
  tags: ["3d", "model", "animation"],
1804
- dependency: "io.github.sceneview:sceneview:3.5.0",
1805
- prompt: "Create a 3D scene with a character model that switches between Idle, Walk, and Run animations based on button clicks. Use animationName for state-driven animation. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
1804
+ dependency: "io.github.sceneview:sceneview:3.5.1",
1805
+ prompt: "Create a 3D scene with a character model that switches between Idle, Walk, and Run animations based on button clicks. Use animationName for state-driven animation. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
1806
1806
  code: `@Composable
1807
1807
  fun AnimationStateScreen() {
1808
1808
  val engine = rememberEngine()
@@ -1865,8 +1865,8 @@ fun AnimationStateScreen() {
1865
1865
  title: "Spring Animation",
1866
1866
  description: "Smooth spring-based node animations using Compose animateFloatAsState with spring spec for natural motion.",
1867
1867
  tags: ["3d", "animation", "spring", "geometry"],
1868
- dependency: "io.github.sceneview:sceneview:3.5.0",
1869
- prompt: "Create a 3D scene with geometry nodes that animate position using spring physics via Compose's animateFloatAsState. Tap to toggle positions with springy motion. Use SceneView `io.github.sceneview:sceneview:3.5.0`.",
1868
+ dependency: "io.github.sceneview:sceneview:3.5.1",
1869
+ prompt: "Create a 3D scene with geometry nodes that animate position using spring physics via Compose's animateFloatAsState. Tap to toggle positions with springy motion. Use SceneView `io.github.sceneview:sceneview:3.5.1`.",
1870
1870
  code: `@Composable
1871
1871
  fun SpringAnimationScreen() {
1872
1872
  val engine = rememberEngine()
@@ -1958,8 +1958,8 @@ fun SpringAnimationScreen() {
1958
1958
  title: "AR Surface Cursor",
1959
1959
  description: "AR scene with a center-screen reticle using HitResultNode that follows the detected surface.",
1960
1960
  tags: ["ar", "cursor", "plane-detection", "placement"],
1961
- dependency: "io.github.sceneview:arsceneview:3.5.0",
1962
- prompt: "Create an AR screen with a surface cursor (reticle) in the center of the screen that follows detected surfaces, using HitResultNode. Tap to place a model at the cursor position. Use SceneView `io.github.sceneview:arsceneview:3.5.0`.",
1961
+ dependency: "io.github.sceneview:arsceneview:3.5.1",
1962
+ prompt: "Create an AR screen with a surface cursor (reticle) in the center of the screen that follows detected surfaces, using HitResultNode. Tap to place a model at the cursor position. Use SceneView `io.github.sceneview:arsceneview:3.5.1`.",
1963
1963
  code: `@Composable
1964
1964
  fun ARSurfaceCursorScreen() {
1965
1965
  val engine = rememberEngine()
package/llms.txt CHANGED
@@ -3,11 +3,11 @@
3
3
  SceneView is a declarative 3D and AR SDK for Android (Jetpack Compose, Filament, ARCore) and Apple platforms — iOS, macOS, visionOS (SwiftUI, RealityKit, ARKit) — with shared core logic via Kotlin Multiplatform. Each platform uses its native renderer: Filament on Android, RealityKit on Apple.
4
4
 
5
5
  **Android — Maven artifacts (version 3.5.0):**
6
- - 3D only: `io.github.sceneview:sceneview:3.5.0`
7
- - AR + 3D: `io.github.sceneview:arsceneview:3.5.0`
6
+ - 3D only: `io.github.sceneview:sceneview:3.5.1`
7
+ - AR + 3D: `io.github.sceneview:arsceneview:3.5.1`
8
8
 
9
9
  **Apple (iOS 17+ / macOS 14+ / visionOS 1+) — Swift Package:**
10
- - `https://github.com/sceneview/sceneview-swift.git` (from: "3.5.0")
10
+ - `https://github.com/sceneview/sceneview-swift.git` (from: "3.5.1")
11
11
 
12
12
  **Min SDK:** 24 | **Target SDK:** 36 | **Kotlin:** 2.3.20 | **Compose BOM compatible**
13
13
 
@@ -18,8 +18,8 @@ SceneView is a declarative 3D and AR SDK for Android (Jetpack Compose, Filament,
18
18
  ### build.gradle (app module)
19
19
  ```kotlin
20
20
  dependencies {
21
- implementation("io.github.sceneview:sceneview:3.5.0") // 3D only
22
- implementation("io.github.sceneview:arsceneview:3.5.0") // AR (includes sceneview)
21
+ implementation("io.github.sceneview:sceneview:3.5.1") // 3D only
22
+ implementation("io.github.sceneview:arsceneview:3.5.1") // AR (includes sceneview)
23
23
  }
24
24
  ```
25
25
 
@@ -1422,7 +1422,7 @@ React Native (Turbo Module / Fabric), KMP Compose iOS (UIKitView).
1422
1422
  ```swift
1423
1423
  // Package.swift
1424
1424
  dependencies: [
1425
- .package(url: "https://github.com/sceneview/sceneview-swift.git", from: "3.5.0")
1425
+ .package(url: "https://github.com/sceneview/sceneview-swift.git", from: "3.5.1")
1426
1426
  ]
1427
1427
  ```
1428
1428
 
@@ -1642,6 +1642,23 @@ AnchorNode.plane(alignment: .horizontal)
1642
1642
  ```swift
1643
1643
  .studio / .outdoor / .sunset / .night / .warm / .autumn
1644
1644
  .custom(name: "My Env", hdrFile: "custom.hdr", intensity: 1.0, showSkybox: true)
1645
+ SceneEnvironment.allPresets // [SceneEnvironment] for UI pickers
1646
+ ```
1647
+
1648
+ **ViewNode** — embed SwiftUI in 3D:
1649
+ ```swift
1650
+ let view = ViewNode(width: 0.5, height: 0.3) {
1651
+ VStack { Text("Hello").padding().background(.regularMaterial) }
1652
+ }
1653
+ view.position = SIMD3<Float>(0, 1.5, -2)
1654
+ root.addChild(view.entity)
1655
+ ```
1656
+
1657
+ **SceneSnapshot** — capture scene as image (iOS):
1658
+ ```swift
1659
+ let image = await SceneSnapshot.capture(from: arView)
1660
+ SceneSnapshot.saveToPhotoLibrary(image)
1661
+ let data = SceneSnapshot.pngData(image) // or jpegData(image, quality: 0.9)
1645
1662
  ```
1646
1663
 
1647
1664
  ### Platform Mapping
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sceneview-mcp",
3
- "version": "3.5.3",
3
+ "version": "3.5.4",
4
4
  "mcpName": "io.github.sceneview/mcp",
5
5
  "description": "MCP server for SceneView — cross-platform 3D & AR SDK for Android and iOS. Give Claude the full SceneView SDK so it writes correct, compilable code.",
6
6
  "keywords": [