sceneview-mcp 4.0.0 → 4.0.1
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/dist/analyze-project.js +1 -1
- package/dist/debug-issue.js +2 -2
- package/dist/extra-guides.js +1 -1
- package/dist/generate-scene.js +2 -2
- package/dist/generated/llms-txt.js +1 -1
- package/dist/guides.js +8 -8
- package/dist/index.js +3 -3
- package/dist/migration.js +2 -2
- package/dist/platform-setup.js +11 -11
- package/dist/samples.js +64 -64
- package/dist/telemetry.js +1 -1
- package/dist/tools/handler.js +16 -16
- package/llms.txt +19 -0
- package/package.json +1 -1
package/dist/tools/handler.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* 1. The stdio MCP server in `../index.ts` (legacy npm package path).
|
|
10
10
|
* 2. The HTTP gateway in `mcp-gateway/src/mcp/registry.ts` (hosted path).
|
|
11
11
|
*
|
|
12
|
-
* Zero runtime behaviour change from 4.0.0
|
|
12
|
+
* Zero runtime behaviour change from 4.0.0: every tool returns exactly the
|
|
13
13
|
* same content it did when the logic lived inside the stdio server's
|
|
14
14
|
* `CallToolRequestSchema` handler.
|
|
15
15
|
*
|
|
@@ -35,7 +35,7 @@ import { MATERIAL_GUIDE, COLLISION_GUIDE, MODEL_OPTIMIZATION_GUIDE, WEB_RENDERIN
|
|
|
35
35
|
import { searchModels, formatSearchResults } from "../search-models.js";
|
|
36
36
|
import { analyzeProject, formatAnalysisReport } from "../analyze-project.js";
|
|
37
37
|
import { LLMS_TXT } from "../generated/llms-txt.js";
|
|
38
|
-
// ─── Legal disclaimer (identical to index.ts 4.0.0
|
|
38
|
+
// ─── Legal disclaimer (identical to index.ts 4.0.0) ─────────────────────
|
|
39
39
|
const DISCLAIMER = "\n\n---\n*Generated code suggestion. Review before use in production. See [TERMS.md](https://github.com/sceneview/sceneview/blob/main/mcp/TERMS.md).*";
|
|
40
40
|
// ─── Sponsor CTA (shown every N tool calls, opt-out via env var) ────────────
|
|
41
41
|
//
|
|
@@ -111,7 +111,7 @@ export async function dispatchTool(toolName, args, _ctx = {}) {
|
|
|
111
111
|
? [
|
|
112
112
|
`**SPM dependency:**`,
|
|
113
113
|
`\`\`\`swift`,
|
|
114
|
-
`.package(url: "${sample.spmDependency ?? sample.dependency}", from: "4.0.0
|
|
114
|
+
`.package(url: "${sample.spmDependency ?? sample.dependency}", from: "4.0.0")`,
|
|
115
115
|
`\`\`\``,
|
|
116
116
|
]
|
|
117
117
|
: [
|
|
@@ -184,7 +184,7 @@ export async function dispatchTool(toolName, args, _ctx = {}) {
|
|
|
184
184
|
`### build.gradle.kts`,
|
|
185
185
|
`\`\`\`kotlin`,
|
|
186
186
|
`dependencies {`,
|
|
187
|
-
` implementation("io.github.sceneview:sceneview:4.0.0
|
|
187
|
+
` implementation("io.github.sceneview:sceneview:4.0.0")`,
|
|
188
188
|
`}`,
|
|
189
189
|
`\`\`\``,
|
|
190
190
|
``,
|
|
@@ -205,7 +205,7 @@ export async function dispatchTool(toolName, args, _ctx = {}) {
|
|
|
205
205
|
`### build.gradle.kts`,
|
|
206
206
|
`\`\`\`kotlin`,
|
|
207
207
|
`dependencies {`,
|
|
208
|
-
` implementation("io.github.sceneview:arsceneview:4.0.0
|
|
208
|
+
` implementation("io.github.sceneview:arsceneview:4.0.0")`,
|
|
209
209
|
`}`,
|
|
210
210
|
`\`\`\``,
|
|
211
211
|
``,
|
|
@@ -318,7 +318,7 @@ export async function dispatchTool(toolName, args, _ctx = {}) {
|
|
|
318
318
|
`\`\`\``,
|
|
319
319
|
`https://github.com/sceneview/sceneview`,
|
|
320
320
|
`\`\`\``,
|
|
321
|
-
`Set version rule to **"from: 4.0.0
|
|
321
|
+
`Set version rule to **"from: 4.0.0"**.`,
|
|
322
322
|
``,
|
|
323
323
|
`Or in Package.swift:`,
|
|
324
324
|
`\`\`\`swift`,
|
|
@@ -329,7 +329,7 @@ export async function dispatchTool(toolName, args, _ctx = {}) {
|
|
|
329
329
|
` name: "MyApp",`,
|
|
330
330
|
` platforms: [.iOS(.v17), .macOS(.v14), .visionOS(.v1)],`,
|
|
331
331
|
` dependencies: [`,
|
|
332
|
-
` .package(url: "https://github.com/sceneview/sceneview", from: "4.0.0
|
|
332
|
+
` .package(url: "https://github.com/sceneview/sceneview", from: "4.0.0")`,
|
|
333
333
|
` ],`,
|
|
334
334
|
` targets: [`,
|
|
335
335
|
` .executableTarget(`,
|
|
@@ -400,7 +400,7 @@ export async function dispatchTool(toolName, args, _ctx = {}) {
|
|
|
400
400
|
`### 1. Add SPM Dependency`,
|
|
401
401
|
``,
|
|
402
402
|
`\`\`\`swift`,
|
|
403
|
-
`.package(url: "https://github.com/sceneview/sceneview", from: "4.0.0
|
|
403
|
+
`.package(url: "https://github.com/sceneview/sceneview", from: "4.0.0")`,
|
|
404
404
|
`\`\`\``,
|
|
405
405
|
``,
|
|
406
406
|
`### 2. Minimum Platform`,
|
|
@@ -680,15 +680,15 @@ export async function dispatchTool(toolName, args, _ctx = {}) {
|
|
|
680
680
|
// ── list_platforms ────────────────────────────────────────────────────────
|
|
681
681
|
case "list_platforms": {
|
|
682
682
|
const platforms = [
|
|
683
|
-
{ platform: "Android", renderer: "Filament", framework: "Jetpack Compose", status: "Stable", version: "4.0.0
|
|
684
|
-
{ platform: "Android TV", renderer: "Filament", framework: "Compose TV", status: "Alpha", version: "4.0.0
|
|
683
|
+
{ platform: "Android", renderer: "Filament", framework: "Jetpack Compose", status: "Stable", version: "4.0.0", dependency: "io.github.sceneview:sceneview:4.0.0", features: ["3D", "AR (ARCore)", "Model loading (GLB/glTF)", "Geometry nodes", "Physics", "Gestures"] },
|
|
684
|
+
{ platform: "Android TV", renderer: "Filament", framework: "Compose TV", status: "Alpha", version: "4.0.0", dependency: "io.github.sceneview:sceneview:4.0.0", features: ["3D", "D-pad controls", "Auto-rotation", "Model loading"] },
|
|
685
685
|
{ platform: "Android XR", renderer: "Jetpack XR SceneCore", framework: "Compose XR", status: "Planned", version: "-", dependency: "-", features: ["Spatial computing", "Hand tracking", "Passthrough"] },
|
|
686
|
-
{ platform: "iOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "4.0.0
|
|
687
|
-
{ platform: "macOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "4.0.0
|
|
688
|
-
{ platform: "visionOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "4.0.0
|
|
689
|
-
{ platform: "Web", renderer: "Filament.js (WASM)", framework: "Kotlin/JS", status: "Alpha", version: "4.0.0
|
|
690
|
-
{ platform: "Desktop", renderer: "Software / Filament JNI", framework: "Compose Desktop", status: "Alpha", version: "4.0.0
|
|
691
|
-
{ platform: "Flutter", renderer: "Filament / RealityKit", framework: "PlatformView", status: "Alpha", version: "4.0.0
|
|
686
|
+
{ platform: "iOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "4.0.0", dependency: "SceneViewSwift (SPM)", features: ["3D", "AR (ARKit)", "16 node types", "USDZ models"] },
|
|
687
|
+
{ platform: "macOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "4.0.0", dependency: "SceneViewSwift (SPM)", features: ["3D", "Orbit camera", "USDZ models"] },
|
|
688
|
+
{ platform: "visionOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "4.0.0", dependency: "SceneViewSwift (SPM)", features: ["3D", "Immersive spaces", "Hand tracking (planned)"] },
|
|
689
|
+
{ platform: "Web", renderer: "Filament.js (WASM)", framework: "Kotlin/JS", status: "Alpha", version: "4.0.0", dependency: "@sceneview/sceneview-web", features: ["3D", "WebXR AR/VR", "GLB models", "WebGL2"] },
|
|
690
|
+
{ platform: "Desktop", renderer: "Software / Filament JNI", framework: "Compose Desktop", status: "Alpha", version: "4.0.0", dependency: "sceneview-desktop (local)", features: ["3D", "Software renderer", "Wireframe"] },
|
|
691
|
+
{ platform: "Flutter", renderer: "Filament / RealityKit", framework: "PlatformView", status: "Alpha", version: "4.0.0", dependency: "flutter pub: sceneview", features: ["3D", "AR", "Android + iOS bridge"] },
|
|
692
692
|
];
|
|
693
693
|
const lines = [
|
|
694
694
|
"## SceneView Supported Platforms\n",
|
package/llms.txt
CHANGED
|
@@ -1069,6 +1069,25 @@ SceneView(surfaceType = SurfaceType.TextureSurface, isOpaque = false) // Textur
|
|
|
1069
1069
|
|
|
1070
1070
|
---
|
|
1071
1071
|
|
|
1072
|
+
## Performance
|
|
1073
|
+
|
|
1074
|
+
- **Frame budget**: 16.6ms at 60fps. Target 12ms for headroom.
|
|
1075
|
+
- **Cold start**: ~120ms (3D), ~350ms (AR, ARCore init dominates).
|
|
1076
|
+
- **APK size**: +3.2MB (sceneview), +5.1MB (sceneview + arsceneview).
|
|
1077
|
+
- **Memory**: ~25MB empty 3D scene, ~45MB empty AR scene.
|
|
1078
|
+
- **Triangle budget**: <100K per model, <200K total scene (mid-tier devices).
|
|
1079
|
+
- **Textures**: use KTX2 with Basis Universal, max 2048x2048 on mobile.
|
|
1080
|
+
- **Draw calls**: aim for <100 per frame. Merge static geometry in Blender before export.
|
|
1081
|
+
- **Lights**: 1 directional + IBL covers most cases. Max 2-3 additional point/spot lights.
|
|
1082
|
+
- **Post-processing**: Bloom ~1ms, SSAO ~2-3ms. Disable SSAO on low-end devices.
|
|
1083
|
+
- **Compose**: use `remember` for Position/Rotation/Scale — no allocations in composition body.
|
|
1084
|
+
- **Engine**: create one `rememberEngine()` at app level, share across all scenes.
|
|
1085
|
+
- **AR**: disable `planeRenderer` after object placement to reduce overdraw.
|
|
1086
|
+
- **Rerun bridge**: adds ~0.5ms when active. Gate with `BuildConfig.DEBUG`.
|
|
1087
|
+
- See full guide: docs/docs/performance.md
|
|
1088
|
+
|
|
1089
|
+
---
|
|
1090
|
+
|
|
1072
1091
|
## Error Handling
|
|
1073
1092
|
|
|
1074
1093
|
| Problem | Cause | Fix |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sceneview-mcp",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.1",
|
|
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": [
|