sceneview-mcp 3.6.0 → 3.6.2
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/index.js +12 -12
- package/llms.txt +67 -5
- package/package.json +1 -1
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.6.
|
|
42
|
+
const server = new Server({ name: "sceneview-mcp", version: "3.6.1" }, { capabilities: { resources: {}, tools: {} } });
|
|
43
43
|
// ─── Resources ───────────────────────────────────────────────────────────────
|
|
44
44
|
server.setRequestHandler(ListResourcesRequestSchema, async () => ({
|
|
45
45
|
resources: [
|
|
@@ -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.6.
|
|
517
|
+
`.package(url: "${sample.spmDependency ?? sample.dependency}", from: "3.6.1")`,
|
|
518
518
|
`\`\`\``,
|
|
519
519
|
]
|
|
520
520
|
: [
|
|
@@ -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.6.
|
|
735
|
+
` .package(url: "https://github.com/sceneview/sceneview", from: "3.6.1")`,
|
|
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.6.
|
|
806
|
+
`.package(url: "https://github.com/sceneview/sceneview", from: "3.6.1")`,
|
|
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.6.
|
|
1087
|
-
{ platform: "Android TV", renderer: "Filament", framework: "Compose TV", status: "Alpha", version: "3.6.
|
|
1086
|
+
{ platform: "Android", renderer: "Filament", framework: "Jetpack Compose", status: "Stable", version: "3.6.1", dependency: "io.github.sceneview:sceneview:3.6.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.6.1", dependency: "io.github.sceneview:sceneview:3.6.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.6.
|
|
1090
|
-
{ platform: "macOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.6.
|
|
1091
|
-
{ platform: "visionOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.6.
|
|
1092
|
-
{ platform: "Web", renderer: "Filament.js (WASM)", framework: "Kotlin/JS", status: "Alpha", version: "3.6.
|
|
1093
|
-
{ platform: "Desktop", renderer: "Software / Filament JNI", framework: "Compose Desktop", status: "Alpha", version: "3.6.
|
|
1094
|
-
{ platform: "Flutter", renderer: "Filament / RealityKit", framework: "PlatformView", status: "Alpha", version: "3.6.
|
|
1089
|
+
{ platform: "iOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.6.1", dependency: "SceneViewSwift (SPM)", features: ["3D", "AR (ARKit)", "16 node types", "USDZ models"] },
|
|
1090
|
+
{ platform: "macOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.6.1", dependency: "SceneViewSwift (SPM)", features: ["3D", "Orbit camera", "USDZ models"] },
|
|
1091
|
+
{ platform: "visionOS", renderer: "RealityKit", framework: "SwiftUI", status: "Alpha", version: "3.6.1", dependency: "SceneViewSwift (SPM)", features: ["3D", "Immersive spaces", "Hand tracking (planned)"] },
|
|
1092
|
+
{ platform: "Web", renderer: "Filament.js (WASM)", framework: "Kotlin/JS", status: "Alpha", version: "3.6.1", 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.6.1", dependency: "sceneview-desktop (local)", features: ["3D", "Software renderer", "Wireframe"] },
|
|
1094
|
+
{ platform: "Flutter", renderer: "Filament / RealityKit", framework: "PlatformView", status: "Alpha", version: "3.6.1", dependency: "flutter pub: sceneview", features: ["3D", "AR", "Android + iOS bridge"] },
|
|
1095
1095
|
];
|
|
1096
1096
|
const lines = [
|
|
1097
1097
|
"## SceneView Supported Platforms\n",
|
package/llms.txt
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
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
|
-
**Android — Maven artifacts (version 3.6.
|
|
6
|
-
- 3D only: `io.github.sceneview:sceneview:3.6.
|
|
7
|
-
- AR + 3D: `io.github.sceneview:arsceneview:3.6.
|
|
5
|
+
**Android — Maven artifacts (version 3.6.2):**
|
|
6
|
+
- 3D only: `io.github.sceneview:sceneview:3.6.2`
|
|
7
|
+
- AR + 3D: `io.github.sceneview:arsceneview:3.6.2`
|
|
8
8
|
|
|
9
9
|
**Apple (iOS 17+ / macOS 14+ / visionOS 1+) — Swift Package:**
|
|
10
10
|
- `https://github.com/sceneview/sceneview-swift.git` (from: "3.6.0")
|
|
@@ -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.6.
|
|
22
|
-
implementation("io.github.sceneview:arsceneview:3.6.
|
|
21
|
+
implementation("io.github.sceneview:sceneview:3.6.2") // 3D only
|
|
22
|
+
implementation("io.github.sceneview:arsceneview:3.6.2") // AR (includes sceneview)
|
|
23
23
|
}
|
|
24
24
|
```
|
|
25
25
|
|
|
@@ -253,6 +253,7 @@ ModelNode class properties (available via `apply` block):
|
|
|
253
253
|
- `setAnimationSpeed(index: Int, speed: Float)`
|
|
254
254
|
- `scaleToUnitCube(units: Float = 1.0f)`
|
|
255
255
|
- `centerOrigin(origin: Position = Position(0f, 0f, 0f))`
|
|
256
|
+
- `onFrameError: ((Exception) -> Unit)?` — callback for frame errors (default: logs via Log.e)
|
|
256
257
|
|
|
257
258
|
### LightNode — light source
|
|
258
259
|
**CRITICAL: `apply` is a named parameter (`apply = { ... }`), NOT a trailing lambda.**
|
|
@@ -590,6 +591,26 @@ SceneView {
|
|
|
590
591
|
}
|
|
591
592
|
```
|
|
592
593
|
|
|
594
|
+
### DynamicSkyNode — time-of-day sun lighting
|
|
595
|
+
|
|
596
|
+
```kotlin
|
|
597
|
+
@Composable fun SceneScope.DynamicSkyNode(
|
|
598
|
+
timeOfDay: Float = 12f, // 0-24: 0=midnight, 6=sunrise, 12=noon, 18=sunset
|
|
599
|
+
turbidity: Float = 2f, // atmospheric haze [1.0, 10.0]
|
|
600
|
+
sunIntensity: Float = 110_000f // lux at solar noon
|
|
601
|
+
)
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
Creates a SUN light whose colour, intensity and direction update with `timeOfDay`.
|
|
605
|
+
Sun rises at 6h, peaks at 12h, sets at 18h. Colour: cool blue (night) → warm orange (horizon) → white-yellow (noon).
|
|
606
|
+
|
|
607
|
+
```kotlin
|
|
608
|
+
SceneView {
|
|
609
|
+
DynamicSkyNode(timeOfDay = 14.5f)
|
|
610
|
+
ModelNode(modelInstance = instance!!)
|
|
611
|
+
}
|
|
612
|
+
```
|
|
613
|
+
|
|
593
614
|
### SecondaryCamera — secondary camera (formerly CameraNode)
|
|
594
615
|
```kotlin
|
|
595
616
|
@Composable fun SecondaryCamera(
|
|
@@ -1615,6 +1636,10 @@ collisionSystem.hitTest(ray: Ray): List<HitResult> // explicit ray
|
|
|
1615
1636
|
// @Deprecated — use hitTest() instead
|
|
1616
1637
|
@Deprecated collisionSystem.raycast(ray): HitResult? // → hitTest(ray).firstOrNull()
|
|
1617
1638
|
@Deprecated collisionSystem.raycastAll(ray): List<HitResult> // → hitTest(ray)
|
|
1639
|
+
|
|
1640
|
+
// HitResult properties
|
|
1641
|
+
hitResult.node: Node // throws IllegalStateException if reset — use nodeOrNull for safe access
|
|
1642
|
+
hitResult.nodeOrNull: Node? // safe alternative — returns null instead of throwing
|
|
1618
1643
|
```
|
|
1619
1644
|
|
|
1620
1645
|
### Triangulation
|
|
@@ -2021,3 +2046,40 @@ SceneView Web (sceneview.js v3.6.0) — JavaScript API:
|
|
|
2021
2046
|
| Desktop | Software renderer | Compose Desktop | `samples/desktop-demo` | Alpha |
|
|
2022
2047
|
| Flutter | Filament/RealityKit | PlatformView | `samples/flutter-demo` | Alpha |
|
|
2023
2048
|
| React Native | Filament/RealityKit | Fabric | `samples/react-native-demo` | Alpha |
|
|
2049
|
+
|
|
2050
|
+
### Flutter Bridge API
|
|
2051
|
+
```dart
|
|
2052
|
+
// 3D Scene
|
|
2053
|
+
SceneView(onTap: (nodeName) => print(nodeName))
|
|
2054
|
+
// AR Scene
|
|
2055
|
+
ARSceneView(onTap: (nodeName) => ..., onPlaneDetected: (planeType) => ...)
|
|
2056
|
+
// Model with rotation
|
|
2057
|
+
ModelNode(url: "model.glb", position: [0, 0, -2], scale: 1.0,
|
|
2058
|
+
rotationX: 45.0, rotationY: 0.0, rotationZ: 0.0)
|
|
2059
|
+
```
|
|
2060
|
+
|
|
2061
|
+
### React Native Bridge API
|
|
2062
|
+
```tsx
|
|
2063
|
+
// 3D Scene with geometry + lights
|
|
2064
|
+
<SceneView
|
|
2065
|
+
modelNodes={[{ url: "model.glb", position: [0, 0, -2] }]}
|
|
2066
|
+
geometryNodes={[{ type: "cube", size: [1,1,1], color: "#FF0000", position: [0, 0.5, -2] }]}
|
|
2067
|
+
lightNodes={[{ type: "directional", intensity: 100000 }]}
|
|
2068
|
+
/>
|
|
2069
|
+
// AR Scene
|
|
2070
|
+
<ARSceneView
|
|
2071
|
+
planeDetection={true}
|
|
2072
|
+
onTap={(e) => console.log(e.nativeEvent)}
|
|
2073
|
+
onPlaneDetected={(e) => console.log(e.nativeEvent)}
|
|
2074
|
+
/>
|
|
2075
|
+
// Geometry types: "cube", "sphere", "cylinder", "plane"
|
|
2076
|
+
// Light types: "directional", "point", "spot"
|
|
2077
|
+
```
|
|
2078
|
+
|
|
2079
|
+
### Web Geometry DSL (Kotlin/JS)
|
|
2080
|
+
```kotlin
|
|
2081
|
+
SceneView.create(canvas) {
|
|
2082
|
+
geometry { cube(); size(1.0, 1.0, 1.0); color(1.0, 0.0, 0.0, 1.0); position(0.0, 0.5, -2.0) }
|
|
2083
|
+
geometry { sphere(); radius(0.5); color(0.0, 0.5, 1.0, 1.0) }
|
|
2084
|
+
}
|
|
2085
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sceneview-mcp",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.2",
|
|
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": [
|