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.
@@ -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-rc.1: every tool returns exactly the
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-rc.1) ─────────────────────
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-rc.1")`,
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-rc.1")`,
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-rc.1")`,
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-rc.1"**.`,
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-rc.1")`,
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-rc.1")`,
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-rc.1", dependency: "io.github.sceneview:sceneview:4.0.0-rc.1", 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-rc.1", dependency: "io.github.sceneview:sceneview:4.0.0-rc.1", features: ["3D", "D-pad controls", "Auto-rotation", "Model loading"] },
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-rc.1", 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-rc.1", dependency: "SceneViewSwift (SPM)", features: ["3D", "Orbit camera", "USDZ models"] },
688
- { platform: "visionOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "4.0.0-rc.1", 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-rc.1", 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-rc.1", dependency: "sceneview-desktop (local)", features: ["3D", "Software renderer", "Wireframe"] },
691
- { platform: "Flutter", renderer: "Filament / RealityKit", framework: "PlatformView", status: "Alpha", version: "4.0.0-rc.1", dependency: "flutter pub: sceneview", features: ["3D", "AR", "Android + iOS bridge"] },
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.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": [