sceneview-mcp 3.5.2 → 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.
- package/README.md +2 -2
- package/dist/debug-issue.js +2 -2
- package/dist/generate-scene.js +2 -2
- package/dist/guides.js +7 -7
- package/dist/index.js +16 -16
- package/dist/migration.js +2 -2
- package/dist/platform-setup.js +11 -11
- package/dist/samples.js +64 -64
- package/dist/validator.js +1 -1
- package/llms.txt +817 -1509
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -115,7 +115,7 @@ Same JSON config as above. The server communicates via **stdio** using the stand
|
|
|
115
115
|
|
|
116
116
|
| Resource URI | What it provides |
|
|
117
117
|
|---|---|
|
|
118
|
-
| `sceneview://api` | Complete SceneView 3.
|
|
118
|
+
| `sceneview://api` | Complete SceneView 3.5.0 API reference (the full `llms.txt`) |
|
|
119
119
|
| `sceneview://known-issues` | Live open issues from GitHub (cached 10 min) |
|
|
120
120
|
|
|
121
121
|
---
|
|
@@ -155,7 +155,7 @@ The assistant calls `render_3d_preview` and returns an interactive link to a bro
|
|
|
155
155
|
- Have no knowledge of SceneView's iOS/Swift API at all
|
|
156
156
|
|
|
157
157
|
**With** this MCP server, AI assistants:
|
|
158
|
-
- Always use the current SceneView 3.
|
|
158
|
+
- Always use the current SceneView 3.5.0 API surface
|
|
159
159
|
- Generate correct **Compose-native** 3D/AR code for Android
|
|
160
160
|
- Generate correct **SwiftUI-native** code for iOS/macOS/visionOS
|
|
161
161
|
- Know about all 26+ node types and their exact parameters
|
package/dist/debug-issue.js
CHANGED
|
@@ -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.
|
|
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.
|
|
340
|
+
implementation("io.github.sceneview:sceneview:3.5.1") // This includes Filament
|
|
341
341
|
\`\`\`
|
|
342
342
|
|
|
343
343
|
### "Cannot find Filament material"
|
package/dist/generate-scene.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Generates a complete Scene{} or ARScene{} composable from a text description.
|
|
5
5
|
* Maps common objects/concepts to SceneView node types and builds compilable code.
|
|
6
6
|
*
|
|
7
|
-
* All generated code targets SceneView v3.
|
|
7
|
+
* All generated code targets SceneView v3.5.0 API and is verified against llms.txt.
|
|
8
8
|
*/
|
|
9
9
|
const OBJECT_MAPPINGS = [
|
|
10
10
|
// Furniture
|
|
@@ -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.
|
|
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
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
// ─── Platform Roadmap ─────────────────────────────────────────────────────────
|
|
7
7
|
export const PLATFORM_ROADMAP = `# SceneView Multi-Platform Roadmap
|
|
8
8
|
|
|
9
|
-
## Current Status (v3.
|
|
9
|
+
## Current Status (v3.5.0)
|
|
10
10
|
|
|
11
11
|
| Platform | Status | Artifact | Renderer |
|
|
12
12
|
|----------|--------|----------|----------|
|
|
13
|
-
| **Android (Compose)** | Stable | \`io.github.sceneview:sceneview:3.
|
|
14
|
-
| **Android (AR)** | Stable | \`io.github.sceneview:arsceneview:3.
|
|
15
|
-
| **iOS (SwiftUI)** | Alpha | SceneViewSwift SPM \`from: "3.
|
|
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
|
+
| **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 |
|
|
18
|
-
| **KMP Core** | Stable | \`io.github.sceneview:sceneview-core:3.
|
|
18
|
+
| **KMP Core** | Stable | \`io.github.sceneview:sceneview-core:3.5.0\` | N/A (shared logic) |
|
|
19
19
|
|
|
20
20
|
## Architecture: Native Renderers per Platform
|
|
21
21
|
|
|
@@ -339,7 +339,7 @@ export const AR_SETUP_GUIDE = `# SceneView AR — Complete Setup Guide (Android
|
|
|
339
339
|
## 1. SPM Dependency
|
|
340
340
|
|
|
341
341
|
\`\`\`swift
|
|
342
|
-
.package(url: "https://github.com/sceneview/sceneview", from: "3.
|
|
342
|
+
.package(url: "https://github.com/sceneview/sceneview", from: "3.5.0")
|
|
343
343
|
\`\`\`
|
|
344
344
|
|
|
345
345
|
## 2. Info.plist — Camera Permission
|
|
@@ -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.
|
|
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,14 +39,14 @@ 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.
|
|
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: [
|
|
46
46
|
{
|
|
47
47
|
uri: "sceneview://api",
|
|
48
48
|
name: "SceneView API Reference",
|
|
49
|
-
description: "Complete SceneView 3.
|
|
49
|
+
description: "Complete SceneView 3.5.0 API — Scene, ARScene, SceneScope DSL, ARSceneScope DSL, node types, resource loading, camera, gestures, math types, threading rules, and common patterns. Read this before writing any SceneView code.",
|
|
50
50
|
mimeType: "text/markdown",
|
|
51
51
|
},
|
|
52
52
|
{
|
|
@@ -514,7 +514,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
514
514
|
? [
|
|
515
515
|
`**SPM dependency:**`,
|
|
516
516
|
`\`\`\`swift`,
|
|
517
|
-
`.package(url: "${sample.spmDependency ?? sample.dependency}", from: "3.
|
|
517
|
+
`.package(url: "${sample.spmDependency ?? sample.dependency}", from: "3.5.0")`,
|
|
518
518
|
`\`\`\``,
|
|
519
519
|
]
|
|
520
520
|
: [
|
|
@@ -587,7 +587,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
587
587
|
`### build.gradle.kts`,
|
|
588
588
|
`\`\`\`kotlin`,
|
|
589
589
|
`dependencies {`,
|
|
590
|
-
` implementation("io.github.sceneview:sceneview:3.
|
|
590
|
+
` implementation("io.github.sceneview:sceneview:3.5.0")`,
|
|
591
591
|
`}`,
|
|
592
592
|
`\`\`\``,
|
|
593
593
|
``,
|
|
@@ -608,7 +608,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
608
608
|
`### build.gradle.kts`,
|
|
609
609
|
`\`\`\`kotlin`,
|
|
610
610
|
`dependencies {`,
|
|
611
|
-
` implementation("io.github.sceneview:arsceneview:3.
|
|
611
|
+
` implementation("io.github.sceneview:arsceneview:3.5.0")`,
|
|
612
612
|
`}`,
|
|
613
613
|
`\`\`\``,
|
|
614
614
|
``,
|
|
@@ -721,7 +721,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
721
721
|
`\`\`\``,
|
|
722
722
|
`https://github.com/sceneview/sceneview`,
|
|
723
723
|
`\`\`\``,
|
|
724
|
-
`Set version rule to **"from: 3.
|
|
724
|
+
`Set version rule to **"from: 3.5.0"**.`,
|
|
725
725
|
``,
|
|
726
726
|
`Or in Package.swift:`,
|
|
727
727
|
`\`\`\`swift`,
|
|
@@ -732,7 +732,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
732
732
|
` name: "MyApp",`,
|
|
733
733
|
` platforms: [.iOS(.v17), .macOS(.v14), .visionOS(.v1)],`,
|
|
734
734
|
` dependencies: [`,
|
|
735
|
-
` .package(url: "https://github.com/sceneview/sceneview", from: "3.
|
|
735
|
+
` .package(url: "https://github.com/sceneview/sceneview", from: "3.5.0")`,
|
|
736
736
|
` ],`,
|
|
737
737
|
` targets: [`,
|
|
738
738
|
` .executableTarget(`,
|
|
@@ -803,7 +803,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
803
803
|
`### 1. Add SPM Dependency`,
|
|
804
804
|
``,
|
|
805
805
|
`\`\`\`swift`,
|
|
806
|
-
`.package(url: "https://github.com/sceneview/sceneview", from: "3.
|
|
806
|
+
`.package(url: "https://github.com/sceneview/sceneview", from: "3.5.0")`,
|
|
807
807
|
`\`\`\``,
|
|
808
808
|
``,
|
|
809
809
|
`### 2. Minimum Platform`,
|
|
@@ -1083,15 +1083,15 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1083
1083
|
// ── list_platforms ────────────────────────────────────────────────────────
|
|
1084
1084
|
case "list_platforms": {
|
|
1085
1085
|
const platforms = [
|
|
1086
|
-
{ platform: "Android", renderer: "Filament", framework: "Jetpack Compose", status: "Stable", version: "3.
|
|
1087
|
-
{ platform: "Android TV", renderer: "Filament", framework: "Compose TV", status: "Alpha", version: "3.
|
|
1086
|
+
{ platform: "Android", renderer: "Filament", framework: "Jetpack Compose", status: "Stable", version: "3.5.0", dependency: "io.github.sceneview:sceneview:3.5.0", features: ["3D", "AR (ARCore)", "Model loading (GLB/glTF)", "Geometry nodes", "Physics", "Gestures"] },
|
|
1087
|
+
{ platform: "Android TV", renderer: "Filament", framework: "Compose TV", status: "Alpha", version: "3.5.0", dependency: "io.github.sceneview:sceneview:3.5.0", features: ["3D", "D-pad controls", "Auto-rotation", "Model loading"] },
|
|
1088
1088
|
{ platform: "Android XR", renderer: "Jetpack XR SceneCore", framework: "Compose XR", status: "Planned", version: "-", dependency: "-", features: ["Spatial computing", "Hand tracking", "Passthrough"] },
|
|
1089
|
-
{ platform: "iOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.
|
|
1090
|
-
{ platform: "macOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.
|
|
1091
|
-
{ platform: "visionOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.
|
|
1092
|
-
{ platform: "Web", renderer: "Filament.js (WASM)", framework: "Kotlin/JS", status: "Alpha", version: "3.
|
|
1093
|
-
{ platform: "Desktop", renderer: "Software / Filament JNI", framework: "Compose Desktop", status: "Alpha", version: "3.
|
|
1094
|
-
{ platform: "Flutter", renderer: "Filament / RealityKit", framework: "PlatformView", status: "Alpha", version: "3.
|
|
1089
|
+
{ platform: "iOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.5.0", dependency: "SceneViewSwift (SPM)", features: ["3D", "AR (ARKit)", "16 node types", "USDZ models"] },
|
|
1090
|
+
{ platform: "macOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.5.0", dependency: "SceneViewSwift (SPM)", features: ["3D", "Orbit camera", "USDZ models"] },
|
|
1091
|
+
{ platform: "visionOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.5.0", dependency: "SceneViewSwift (SPM)", features: ["3D", "Immersive spaces", "Hand tracking (planned)"] },
|
|
1092
|
+
{ platform: "Web", renderer: "Filament.js (WASM)", framework: "Kotlin/JS", status: "Alpha", version: "3.5.0", dependency: "@sceneview/sceneview-web", features: ["3D", "WebXR AR/VR", "GLB models", "WebGL2"] },
|
|
1093
|
+
{ platform: "Desktop", renderer: "Software / Filament JNI", framework: "Compose Desktop", status: "Alpha", version: "3.5.0", dependency: "sceneview-desktop (local)", features: ["3D", "Software renderer", "Wireframe"] },
|
|
1094
|
+
{ platform: "Flutter", renderer: "Filament / RealityKit", framework: "PlatformView", status: "Alpha", version: "3.5.0", dependency: "flutter pub: sceneview", features: ["3D", "AR", "Android + iOS bridge"] },
|
|
1095
1095
|
];
|
|
1096
1096
|
const lines = [
|
|
1097
1097
|
"## SceneView Supported Platforms\n",
|
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.
|
|
12
|
-
| \`io.github.sceneview:arsceneview:2.x.x\` | \`io.github.sceneview:arsceneview:3.
|
|
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
|
|
package/dist/platform-setup.js
CHANGED
|
@@ -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.
|
|
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.
|
|
91
|
+
implementation("io.github.sceneview:arsceneview:3.5.1")
|
|
92
92
|
// arsceneview includes sceneview transitively
|
|
93
93
|
}
|
|
94
94
|
\`\`\`
|
|
@@ -178,7 +178,7 @@ In Xcode: **File > Add Package Dependencies** > paste:
|
|
|
178
178
|
\`\`\`
|
|
179
179
|
https://github.com/sceneview/sceneview
|
|
180
180
|
\`\`\`
|
|
181
|
-
Set version rule to **"from: 3.
|
|
181
|
+
Set version rule to **"from: 3.5.0"**.
|
|
182
182
|
|
|
183
183
|
Or in Package.swift:
|
|
184
184
|
\`\`\`swift
|
|
@@ -189,7 +189,7 @@ let package = Package(
|
|
|
189
189
|
name: "MyApp",
|
|
190
190
|
platforms: [.iOS(.v18), .macOS(.v15), .visionOS(.v1)],
|
|
191
191
|
dependencies: [
|
|
192
|
-
.package(url: "https://github.com/sceneview/sceneview", from: "3.
|
|
192
|
+
.package(url: "https://github.com/sceneview/sceneview", from: "3.5.0")
|
|
193
193
|
],
|
|
194
194
|
targets: [
|
|
195
195
|
.executableTarget(
|
|
@@ -274,7 +274,7 @@ const IOS_AR = `## SceneViewSwift — iOS AR Setup
|
|
|
274
274
|
### 1. SPM Dependency
|
|
275
275
|
|
|
276
276
|
\`\`\`swift
|
|
277
|
-
.package(url: "https://github.com/sceneview/sceneview", from: "3.
|
|
277
|
+
.package(url: "https://github.com/sceneview/sceneview", from: "3.5.0")
|
|
278
278
|
\`\`\`
|
|
279
279
|
|
|
280
280
|
### 2. Info.plist — Camera Permission (Required)
|
|
@@ -418,7 +418,7 @@ SceneView Flutter uses **PlatformView** to embed native SceneView (Android: Fila
|
|
|
418
418
|
\`\`\`yaml
|
|
419
419
|
# pubspec.yaml
|
|
420
420
|
dependencies:
|
|
421
|
-
sceneview_flutter: ^3.
|
|
421
|
+
sceneview_flutter: ^3.5.0
|
|
422
422
|
\`\`\`
|
|
423
423
|
|
|
424
424
|
### 2. Android Setup
|
|
@@ -477,7 +477,7 @@ const FLUTTER_AR = `## SceneView Flutter — AR Setup
|
|
|
477
477
|
|
|
478
478
|
\`\`\`yaml
|
|
479
479
|
dependencies:
|
|
480
|
-
sceneview_flutter: ^3.
|
|
480
|
+
sceneview_flutter: ^3.5.0
|
|
481
481
|
\`\`\`
|
|
482
482
|
|
|
483
483
|
### 2. Android Manifest
|
|
@@ -633,7 +633,7 @@ plugins {
|
|
|
633
633
|
|
|
634
634
|
dependencies {
|
|
635
635
|
implementation(compose.desktop.currentOs)
|
|
636
|
-
implementation("io.github.sceneview:sceneview-desktop:3.
|
|
636
|
+
implementation("io.github.sceneview:sceneview-desktop:3.5.0") // when published
|
|
637
637
|
}
|
|
638
638
|
\`\`\`
|
|
639
639
|
|
|
@@ -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.
|
|
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
|
}
|
|
@@ -749,14 +749,14 @@ const SETUPS = {
|
|
|
749
749
|
android: {
|
|
750
750
|
name: "Android (Jetpack Compose)",
|
|
751
751
|
renderer: "Filament (OpenGL ES / Vulkan)",
|
|
752
|
-
status: "Stable (v3.
|
|
752
|
+
status: "Stable (v3.5.0)",
|
|
753
753
|
guide3d: ANDROID_3D,
|
|
754
754
|
guideAr: ANDROID_AR,
|
|
755
755
|
},
|
|
756
756
|
ios: {
|
|
757
757
|
name: "iOS / macOS / visionOS (SwiftUI)",
|
|
758
758
|
renderer: "RealityKit (Metal)",
|
|
759
|
-
status: "Alpha (v3.
|
|
759
|
+
status: "Alpha (v3.5.0)",
|
|
760
760
|
guide3d: IOS_3D,
|
|
761
761
|
guideAr: IOS_AR,
|
|
762
762
|
},
|