sceneview-mcp 3.5.3 → 3.5.5
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.
- package/README.md +10 -10
- package/dist/advanced-guides.js +22 -22
- package/dist/debug-issue.js +18 -20
- package/dist/extra-guides.js +6 -6
- package/dist/generate-scene.js +5 -5
- package/dist/guides.js +21 -22
- package/dist/index.js +16 -16
- package/dist/issues.js +7 -7
- package/dist/migrate-code.js +19 -25
- package/dist/migration.js +25 -25
- package/dist/platform-setup.js +14 -15
- package/dist/samples.js +92 -92
- package/dist/validator.js +10 -11
- package/llms.txt +268 -78
- package/package.json +2 -2
package/dist/samples.js
CHANGED
|
@@ -4,15 +4,15 @@ 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.
|
|
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.
|
|
7
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
9
9
|
code: `@Composable
|
|
10
10
|
fun ModelViewerScreen() {
|
|
11
11
|
val engine = rememberEngine()
|
|
12
12
|
val modelLoader = rememberModelLoader(engine)
|
|
13
13
|
val environmentLoader = rememberEnvironmentLoader(engine)
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
SceneView(
|
|
16
16
|
modifier = Modifier.fillMaxSize(),
|
|
17
17
|
engine = engine,
|
|
18
18
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
41
|
+
dependency: "io.github.sceneview:arsceneview:3.6.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.6.0`.",
|
|
43
43
|
code: `@Composable
|
|
44
44
|
fun ARModelViewerScreen() {
|
|
45
45
|
val engine = rememberEngine()
|
|
@@ -47,7 +47,7 @@ fun ARModelViewerScreen() {
|
|
|
47
47
|
val modelInstance = rememberModelInstance(modelLoader, "models/damaged_helmet.glb")
|
|
48
48
|
var anchor by remember { mutableStateOf<Anchor?>(null) }
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
ARSceneView(
|
|
51
51
|
modifier = Modifier.fillMaxSize(),
|
|
52
52
|
engine = engine,
|
|
53
53
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
86
|
+
dependency: "io.github.sceneview:arsceneview:3.6.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.6.0`.",
|
|
88
88
|
code: `@Composable
|
|
89
89
|
fun AugmentedImageScreen() {
|
|
90
90
|
val engine = rememberEngine()
|
|
@@ -92,7 +92,7 @@ fun AugmentedImageScreen() {
|
|
|
92
92
|
val modelInstance = rememberModelInstance(modelLoader, "models/rabbit.glb")
|
|
93
93
|
var augmentedImages by remember { mutableStateOf<Map<String, AugmentedImage>>(emptyMap()) }
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
ARSceneView(
|
|
96
96
|
modifier = Modifier.fillMaxSize(),
|
|
97
97
|
engine = engine,
|
|
98
98
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
128
|
+
dependency: "io.github.sceneview:arsceneview:3.6.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.6.0`.",
|
|
130
130
|
code: `@Composable
|
|
131
131
|
fun CloudAnchorScreen() {
|
|
132
132
|
val engine = rememberEngine()
|
|
@@ -134,7 +134,7 @@ fun CloudAnchorScreen() {
|
|
|
134
134
|
var session by remember { mutableStateOf<Session?>(null) }
|
|
135
135
|
var cloudAnchorNode by remember { mutableStateOf<CloudAnchorNode?>(null) }
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
ARSceneView(
|
|
138
138
|
modifier = Modifier.fillMaxSize(),
|
|
139
139
|
engine = engine,
|
|
140
140
|
modelLoader = modelLoader,
|
|
@@ -156,15 +156,15 @@ 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.
|
|
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.
|
|
159
|
+
dependency: "io.github.sceneview:arsceneview:3.6.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.6.0`.",
|
|
161
161
|
code: `@Composable
|
|
162
162
|
fun PointCloudScreen() {
|
|
163
163
|
val engine = rememberEngine()
|
|
164
164
|
val modelLoader = rememberModelLoader(engine)
|
|
165
165
|
var pointCount by remember { mutableIntStateOf(0) }
|
|
166
166
|
|
|
167
|
-
|
|
167
|
+
ARSceneView(
|
|
168
168
|
modifier = Modifier.fillMaxSize(),
|
|
169
169
|
engine = engine,
|
|
170
170
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
191
|
+
dependency: "io.github.sceneview:arsceneview:3.6.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.6.0`.",
|
|
193
193
|
code: `@Composable
|
|
194
194
|
fun ARFaceMeshScreen() {
|
|
195
195
|
val engine = rememberEngine()
|
|
@@ -205,7 +205,7 @@ fun ARFaceMeshScreen() {
|
|
|
205
205
|
)
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
-
|
|
208
|
+
ARSceneView(
|
|
209
209
|
modifier = Modifier.fillMaxSize(),
|
|
210
210
|
engine = engine,
|
|
211
211
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
235
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
237
237
|
code: `@Composable
|
|
238
238
|
fun GltfCameraScreen() {
|
|
239
239
|
val engine = rememberEngine()
|
|
@@ -242,7 +242,7 @@ fun GltfCameraScreen() {
|
|
|
242
242
|
val modelInstance = rememberModelInstance(modelLoader, "models/scene_with_cameras.glb")
|
|
243
243
|
val cameraNode = rememberCameraNode(engine)
|
|
244
244
|
|
|
245
|
-
|
|
245
|
+
SceneView(
|
|
246
246
|
modifier = Modifier.fillMaxSize(),
|
|
247
247
|
engine = engine,
|
|
248
248
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
265
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
267
267
|
code: `@Composable
|
|
268
268
|
fun CameraManipulatorScreen() {
|
|
269
269
|
val engine = rememberEngine()
|
|
@@ -272,7 +272,7 @@ fun CameraManipulatorScreen() {
|
|
|
272
272
|
position = Position(z = 4f)
|
|
273
273
|
}
|
|
274
274
|
|
|
275
|
-
|
|
275
|
+
SceneView(
|
|
276
276
|
modifier = Modifier.fillMaxSize(),
|
|
277
277
|
engine = engine,
|
|
278
278
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
296
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
298
298
|
code: `@Composable
|
|
299
299
|
fun CameraAnimationScreen() {
|
|
300
300
|
val engine = rememberEngine()
|
|
@@ -325,7 +325,7 @@ fun CameraAnimationScreen() {
|
|
|
325
325
|
}
|
|
326
326
|
|
|
327
327
|
Column {
|
|
328
|
-
|
|
328
|
+
SceneView(
|
|
329
329
|
modifier = Modifier.weight(1f).fillMaxWidth(),
|
|
330
330
|
engine = engine,
|
|
331
331
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
357
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
359
359
|
code: `@Composable
|
|
360
360
|
fun AutopilotScreen() {
|
|
361
361
|
val engine = rememberEngine()
|
|
@@ -364,7 +364,7 @@ fun AutopilotScreen() {
|
|
|
364
364
|
var speed by remember { mutableFloatStateOf(60f) }
|
|
365
365
|
|
|
366
366
|
Box(modifier = Modifier.fillMaxSize()) {
|
|
367
|
-
|
|
367
|
+
SceneView(
|
|
368
368
|
modifier = Modifier.fillMaxSize(),
|
|
369
369
|
engine = engine,
|
|
370
370
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
426
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
428
428
|
code: `@Composable
|
|
429
429
|
fun PhysicsDemoScreen() {
|
|
430
430
|
val engine = rememberEngine()
|
|
@@ -464,7 +464,7 @@ fun PhysicsDemoScreen() {
|
|
|
464
464
|
}
|
|
465
465
|
|
|
466
466
|
Column {
|
|
467
|
-
|
|
467
|
+
SceneView(
|
|
468
468
|
modifier = Modifier.weight(1f).fillMaxWidth(),
|
|
469
469
|
engine = engine,
|
|
470
470
|
cameraManipulator = rememberCameraManipulator(
|
|
@@ -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.
|
|
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.
|
|
519
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
521
521
|
code: `@Composable
|
|
522
522
|
fun DynamicSkyScreen() {
|
|
523
523
|
val engine = rememberEngine()
|
|
@@ -537,7 +537,7 @@ fun DynamicSkyScreen() {
|
|
|
537
537
|
}
|
|
538
538
|
|
|
539
539
|
Column {
|
|
540
|
-
|
|
540
|
+
SceneView(
|
|
541
541
|
modifier = Modifier.weight(1f).fillMaxWidth(),
|
|
542
542
|
engine = engine,
|
|
543
543
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
603
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
605
605
|
code: `@Composable
|
|
606
606
|
fun LinePathScreen() {
|
|
607
607
|
val engine = rememberEngine()
|
|
@@ -627,7 +627,7 @@ fun LinePathScreen() {
|
|
|
627
627
|
}
|
|
628
628
|
|
|
629
629
|
Column {
|
|
630
|
-
|
|
630
|
+
SceneView(
|
|
631
631
|
modifier = Modifier.weight(1f).fillMaxWidth(),
|
|
632
632
|
engine = engine,
|
|
633
633
|
cameraManipulator = rememberCameraManipulator(
|
|
@@ -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.
|
|
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.
|
|
680
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
682
682
|
code: `@Composable
|
|
683
683
|
fun TextLabelsScreen() {
|
|
684
684
|
val engine = rememberEngine()
|
|
@@ -692,7 +692,7 @@ fun TextLabelsScreen() {
|
|
|
692
692
|
Planet("Venus", Color(1f, 0.8f, 0.3f), 1.5f)
|
|
693
693
|
)
|
|
694
694
|
|
|
695
|
-
|
|
695
|
+
SceneView(
|
|
696
696
|
modifier = Modifier.fillMaxSize(),
|
|
697
697
|
engine = engine,
|
|
698
698
|
cameraManipulator = rememberCameraManipulator(
|
|
@@ -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.
|
|
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.
|
|
738
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
740
740
|
code: `@Composable
|
|
741
741
|
fun ReflectionProbeScreen() {
|
|
742
742
|
val engine = rememberEngine()
|
|
@@ -747,7 +747,7 @@ fun ReflectionProbeScreen() {
|
|
|
747
747
|
environmentLoader.createHDREnvironment("environments/studio.hdr") ?: createEnvironment(environmentLoader)
|
|
748
748
|
}
|
|
749
749
|
|
|
750
|
-
|
|
750
|
+
SceneView(
|
|
751
751
|
modifier = Modifier.fillMaxSize(),
|
|
752
752
|
engine = engine,
|
|
753
753
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
774
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
776
776
|
code: `@Composable
|
|
777
777
|
fun PostProcessingScreen() {
|
|
778
778
|
val engine = rememberEngine()
|
|
@@ -780,7 +780,7 @@ fun PostProcessingScreen() {
|
|
|
780
780
|
val view = rememberView(engine)
|
|
781
781
|
var bloomStrength by remember { mutableFloatStateOf(0.1f) }
|
|
782
782
|
|
|
783
|
-
|
|
783
|
+
SceneView(
|
|
784
784
|
modifier = Modifier.fillMaxSize(),
|
|
785
785
|
engine = engine,
|
|
786
786
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
802
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
804
804
|
code: `@Composable
|
|
805
805
|
fun VideoTextureScreen() {
|
|
806
806
|
val context = LocalContext.current
|
|
@@ -818,7 +818,7 @@ fun VideoTextureScreen() {
|
|
|
818
818
|
DisposableEffect(Unit) { onDispose { player.release() } }
|
|
819
819
|
|
|
820
820
|
Column {
|
|
821
|
-
|
|
821
|
+
SceneView(
|
|
822
822
|
modifier = Modifier.weight(1f).fillMaxWidth(),
|
|
823
823
|
engine = engine
|
|
824
824
|
) {
|
|
@@ -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.
|
|
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.
|
|
852
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
854
854
|
code: `@Composable
|
|
855
855
|
fun MultiModelScreen() {
|
|
856
856
|
val engine = rememberEngine()
|
|
@@ -858,7 +858,7 @@ fun MultiModelScreen() {
|
|
|
858
858
|
val materialLoader = rememberMaterialLoader(engine)
|
|
859
859
|
val environmentLoader = rememberEnvironmentLoader(engine)
|
|
860
860
|
|
|
861
|
-
|
|
861
|
+
SceneView(
|
|
862
862
|
modifier = Modifier.fillMaxSize(),
|
|
863
863
|
engine = engine,
|
|
864
864
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
918
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
920
920
|
code: `@Composable
|
|
921
921
|
fun GestureInteractionScreen() {
|
|
922
922
|
val engine = rememberEngine()
|
|
@@ -926,7 +926,7 @@ fun GestureInteractionScreen() {
|
|
|
926
926
|
var infoText by remember { mutableStateOf("Tap a model to select it") }
|
|
927
927
|
|
|
928
928
|
Box(modifier = Modifier.fillMaxSize()) {
|
|
929
|
-
|
|
929
|
+
SceneView(
|
|
930
930
|
modifier = Modifier.fillMaxSize(),
|
|
931
931
|
engine = engine,
|
|
932
932
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
982
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
984
984
|
code: `@Composable
|
|
985
985
|
fun EnvironmentLightingScreen() {
|
|
986
986
|
val engine = rememberEngine()
|
|
@@ -988,7 +988,7 @@ fun EnvironmentLightingScreen() {
|
|
|
988
988
|
val materialLoader = rememberMaterialLoader(engine)
|
|
989
989
|
val environmentLoader = rememberEnvironmentLoader(engine)
|
|
990
990
|
|
|
991
|
-
|
|
991
|
+
SceneView(
|
|
992
992
|
modifier = Modifier.fillMaxSize(),
|
|
993
993
|
engine = engine,
|
|
994
994
|
modelLoader = modelLoader,
|
|
@@ -1048,15 +1048,15 @@ 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.
|
|
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.
|
|
1051
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
1053
1053
|
code: `@Composable
|
|
1054
1054
|
fun ProceduralGeometryScreen() {
|
|
1055
1055
|
val engine = rememberEngine()
|
|
1056
1056
|
val materialLoader = rememberMaterialLoader(engine)
|
|
1057
1057
|
val environmentLoader = rememberEnvironmentLoader(engine)
|
|
1058
1058
|
|
|
1059
|
-
|
|
1059
|
+
SceneView(
|
|
1060
1060
|
modifier = Modifier.fillMaxSize(),
|
|
1061
1061
|
engine = engine,
|
|
1062
1062
|
cameraManipulator = rememberCameraManipulator(
|
|
@@ -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.
|
|
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.
|
|
1131
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
1133
1133
|
code: `@Composable
|
|
1134
1134
|
fun ComposeUI3DScreen() {
|
|
1135
1135
|
val engine = rememberEngine()
|
|
@@ -1137,7 +1137,7 @@ fun ComposeUI3DScreen() {
|
|
|
1137
1137
|
val windowManager = rememberViewNodeManager()
|
|
1138
1138
|
var clickCount by remember { mutableIntStateOf(0) }
|
|
1139
1139
|
|
|
1140
|
-
|
|
1140
|
+
SceneView(
|
|
1141
1141
|
modifier = Modifier.fillMaxSize(),
|
|
1142
1142
|
engine = engine,
|
|
1143
1143
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
1181
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
1183
1183
|
code: `@Composable
|
|
1184
1184
|
fun NodeHierarchyScreen() {
|
|
1185
1185
|
val engine = rememberEngine()
|
|
@@ -1198,7 +1198,7 @@ fun NodeHierarchyScreen() {
|
|
|
1198
1198
|
}
|
|
1199
1199
|
}
|
|
1200
1200
|
|
|
1201
|
-
|
|
1201
|
+
SceneView(
|
|
1202
1202
|
modifier = Modifier.fillMaxSize(),
|
|
1203
1203
|
engine = engine,
|
|
1204
1204
|
cameraManipulator = rememberCameraManipulator(
|
|
@@ -1259,7 +1259,7 @@ fun NodeHierarchyScreen() {
|
|
|
1259
1259
|
title: "iOS 3D Model Viewer",
|
|
1260
1260
|
description: "SwiftUI 3D scene with a USDZ model, IBL environment, orbit camera, and animation playback.",
|
|
1261
1261
|
tags: ["3d", "model", "environment", "camera", "animation", "ios", "swift"],
|
|
1262
|
-
dependency: "https://github.com/sceneview/sceneview — from: \"3.
|
|
1262
|
+
dependency: "https://github.com/sceneview/sceneview — from: \"3.6.0\"",
|
|
1263
1263
|
spmDependency: "https://github.com/sceneview/sceneview",
|
|
1264
1264
|
prompt: "Create a SwiftUI screen that loads a USDZ model and displays it with IBL lighting, orbit camera, and animation playback. Use SceneViewSwift.",
|
|
1265
1265
|
language: "swift",
|
|
@@ -1298,7 +1298,7 @@ struct ModelViewerScreen: View {
|
|
|
1298
1298
|
title: "iOS AR Tap-to-Place Model Viewer",
|
|
1299
1299
|
description: "AR scene with plane detection. Tap a surface to place a 3D model using ARKit + RealityKit.",
|
|
1300
1300
|
tags: ["ar", "model", "anchor", "plane-detection", "placement", "ios", "swift"],
|
|
1301
|
-
dependency: "https://github.com/sceneview/sceneview — from: \"3.
|
|
1301
|
+
dependency: "https://github.com/sceneview/sceneview — from: \"3.6.0\"",
|
|
1302
1302
|
spmDependency: "https://github.com/sceneview/sceneview",
|
|
1303
1303
|
prompt: "Create an iOS AR screen that detects surfaces and lets the user tap to place a USDZ model. Use SceneViewSwift.",
|
|
1304
1304
|
language: "swift",
|
|
@@ -1338,7 +1338,7 @@ struct ARModelViewerScreen: View {
|
|
|
1338
1338
|
title: "iOS AR Augmented Image",
|
|
1339
1339
|
description: "Detects reference images in the camera feed and overlays 3D content above them using ARKit.",
|
|
1340
1340
|
tags: ["ar", "model", "image-tracking", "ios", "swift"],
|
|
1341
|
-
dependency: "https://github.com/sceneview/sceneview — from: \"3.
|
|
1341
|
+
dependency: "https://github.com/sceneview/sceneview — from: \"3.6.0\"",
|
|
1342
1342
|
spmDependency: "https://github.com/sceneview/sceneview",
|
|
1343
1343
|
prompt: "Create an iOS AR screen that detects a printed reference image and places a 3D model above it. Use SceneViewSwift.",
|
|
1344
1344
|
language: "swift",
|
|
@@ -1376,7 +1376,7 @@ struct AugmentedImageScreen: View {
|
|
|
1376
1376
|
title: "iOS Procedural Geometry",
|
|
1377
1377
|
description: "Procedural geometry shapes — cube, sphere, cylinder, cone, and plane — with PBR materials.",
|
|
1378
1378
|
tags: ["3d", "geometry", "ios", "swift"],
|
|
1379
|
-
dependency: "https://github.com/sceneview/sceneview — from: \"3.
|
|
1379
|
+
dependency: "https://github.com/sceneview/sceneview — from: \"3.6.0\"",
|
|
1380
1380
|
spmDependency: "https://github.com/sceneview/sceneview",
|
|
1381
1381
|
prompt: "Create a SwiftUI scene showing procedural geometry shapes (cube, sphere, cylinder, cone, plane) with different materials. Use SceneViewSwift.",
|
|
1382
1382
|
language: "swift",
|
|
@@ -1430,7 +1430,7 @@ struct GeometryShapesScreen: View {
|
|
|
1430
1430
|
title: "iOS Lighting",
|
|
1431
1431
|
description: "Directional, point, and spot lights with configurable intensity, color, and shadows.",
|
|
1432
1432
|
tags: ["3d", "lighting", "environment", "ios", "swift"],
|
|
1433
|
-
dependency: "https://github.com/sceneview/sceneview — from: \"3.
|
|
1433
|
+
dependency: "https://github.com/sceneview/sceneview — from: \"3.6.0\"",
|
|
1434
1434
|
spmDependency: "https://github.com/sceneview/sceneview",
|
|
1435
1435
|
prompt: "Create a SwiftUI 3D scene with directional, point, and spot lights illuminating geometry. Use SceneViewSwift.",
|
|
1436
1436
|
language: "swift",
|
|
@@ -1494,7 +1494,7 @@ struct LightingScreen: View {
|
|
|
1494
1494
|
title: "iOS Physics Demo",
|
|
1495
1495
|
description: "Interactive physics simulation with bouncing spheres, gravity, and configurable restitution.",
|
|
1496
1496
|
tags: ["3d", "physics", "geometry", "ios", "swift"],
|
|
1497
|
-
dependency: "https://github.com/sceneview/sceneview — from: \"3.
|
|
1497
|
+
dependency: "https://github.com/sceneview/sceneview — from: \"3.6.0\"",
|
|
1498
1498
|
spmDependency: "https://github.com/sceneview/sceneview",
|
|
1499
1499
|
prompt: "Create a SwiftUI 3D scene where tapping spawns coloured spheres that fall under gravity and bounce off a floor. Use SceneViewSwift.",
|
|
1500
1500
|
language: "swift",
|
|
@@ -1558,7 +1558,7 @@ struct PhysicsDemoScreen: View {
|
|
|
1558
1558
|
title: "iOS 3D Text Labels",
|
|
1559
1559
|
description: "Camera-facing 3D text labels using TextNode and BillboardNode for always-facing-camera behavior.",
|
|
1560
1560
|
tags: ["3d", "text", "geometry", "ios", "swift"],
|
|
1561
|
-
dependency: "https://github.com/sceneview/sceneview — from: \"3.
|
|
1561
|
+
dependency: "https://github.com/sceneview/sceneview — from: \"3.6.0\"",
|
|
1562
1562
|
spmDependency: "https://github.com/sceneview/sceneview",
|
|
1563
1563
|
prompt: "Create a SwiftUI 3D scene with floating text labels that always face the camera, showing planet names. Use SceneViewSwift.",
|
|
1564
1564
|
language: "swift",
|
|
@@ -1606,7 +1606,7 @@ struct TextLabelsScreen: View {
|
|
|
1606
1606
|
title: "iOS Video on 3D Surface",
|
|
1607
1607
|
description: "Video playback on a 3D plane using VideoNode with play/pause controls.",
|
|
1608
1608
|
tags: ["3d", "video", "ios", "swift"],
|
|
1609
|
-
dependency: "https://github.com/sceneview/sceneview — from: \"3.
|
|
1609
|
+
dependency: "https://github.com/sceneview/sceneview — from: \"3.6.0\"",
|
|
1610
1610
|
spmDependency: "https://github.com/sceneview/sceneview",
|
|
1611
1611
|
prompt: "Create a SwiftUI 3D scene with a video playing on a floating 3D plane. Include play/pause controls. Use SceneViewSwift.",
|
|
1612
1612
|
language: "swift",
|
|
@@ -1677,14 +1677,14 @@ 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.
|
|
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.
|
|
1680
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
1682
1682
|
code: `@Composable
|
|
1683
1683
|
fun ImageNodeScreen() {
|
|
1684
1684
|
val engine = rememberEngine()
|
|
1685
1685
|
val environmentLoader = rememberEnvironmentLoader(engine)
|
|
1686
1686
|
|
|
1687
|
-
|
|
1687
|
+
SceneView(
|
|
1688
1688
|
modifier = Modifier.fillMaxSize(),
|
|
1689
1689
|
engine = engine,
|
|
1690
1690
|
cameraManipulator = rememberCameraManipulator(
|
|
@@ -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.
|
|
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.
|
|
1739
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
1741
1741
|
code: `@Composable
|
|
1742
1742
|
fun BillboardSpriteScreen() {
|
|
1743
1743
|
val engine = rememberEngine()
|
|
@@ -1760,7 +1760,7 @@ fun BillboardSpriteScreen() {
|
|
|
1760
1760
|
}
|
|
1761
1761
|
}
|
|
1762
1762
|
|
|
1763
|
-
|
|
1763
|
+
SceneView(
|
|
1764
1764
|
modifier = Modifier.fillMaxSize(),
|
|
1765
1765
|
engine = engine,
|
|
1766
1766
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
1804
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
1806
1806
|
code: `@Composable
|
|
1807
1807
|
fun AnimationStateScreen() {
|
|
1808
1808
|
val engine = rememberEngine()
|
|
@@ -1811,7 +1811,7 @@ fun AnimationStateScreen() {
|
|
|
1811
1811
|
var currentAnim by remember { mutableStateOf("Idle") }
|
|
1812
1812
|
|
|
1813
1813
|
Column {
|
|
1814
|
-
|
|
1814
|
+
SceneView(
|
|
1815
1815
|
modifier = Modifier.weight(1f).fillMaxWidth(),
|
|
1816
1816
|
engine = engine,
|
|
1817
1817
|
modelLoader = modelLoader,
|
|
@@ -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.
|
|
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.
|
|
1868
|
+
dependency: "io.github.sceneview:sceneview:3.6.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.6.0`.",
|
|
1870
1870
|
code: `@Composable
|
|
1871
1871
|
fun SpringAnimationScreen() {
|
|
1872
1872
|
val engine = rememberEngine()
|
|
@@ -1893,7 +1893,7 @@ fun SpringAnimationScreen() {
|
|
|
1893
1893
|
)
|
|
1894
1894
|
|
|
1895
1895
|
Column {
|
|
1896
|
-
|
|
1896
|
+
SceneView(
|
|
1897
1897
|
modifier = Modifier.weight(1f).fillMaxWidth(),
|
|
1898
1898
|
engine = engine,
|
|
1899
1899
|
cameraManipulator = rememberCameraManipulator(
|
|
@@ -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.
|
|
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.
|
|
1961
|
+
dependency: "io.github.sceneview:arsceneview:3.6.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.6.0`.",
|
|
1963
1963
|
code: `@Composable
|
|
1964
1964
|
fun ARSurfaceCursorScreen() {
|
|
1965
1965
|
val engine = rememberEngine()
|
|
@@ -1969,7 +1969,7 @@ fun ARSurfaceCursorScreen() {
|
|
|
1969
1969
|
val modelInstance = rememberModelInstance(modelLoader, "models/chair.glb")
|
|
1970
1970
|
var placedAnchors by remember { mutableStateOf(listOf<Anchor>()) }
|
|
1971
1971
|
|
|
1972
|
-
|
|
1972
|
+
ARSceneView(
|
|
1973
1973
|
modifier = Modifier.fillMaxSize(),
|
|
1974
1974
|
engine = engine,
|
|
1975
1975
|
modelLoader = modelLoader,
|