sceneview-mcp 3.6.2 → 3.6.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 +39 -0
- package/dist/analyze-project.js +500 -0
- package/dist/auth.js +84 -0
- package/dist/billing.js +137 -0
- package/dist/convert-platform.js +302 -0
- package/dist/debug-issue.js +2 -2
- package/dist/explain-api.js +245 -0
- package/dist/extra-guides.js +1 -1
- package/dist/generate-animation.js +576 -0
- package/dist/generate-environment.js +483 -0
- package/dist/generate-gesture.js +532 -0
- package/dist/generate-physics.js +570 -0
- package/dist/generate-scene.js +4 -4
- package/dist/generated/llms-txt.js +6 -0
- package/dist/guides.js +8 -8
- package/dist/index.js +54 -1111
- package/dist/migration.js +2 -2
- package/dist/optimize-scene.js +173 -0
- package/dist/platform-setup.js +11 -11
- package/dist/samples.js +64 -64
- package/dist/search-models.js +214 -0
- package/dist/telemetry.js +120 -0
- package/dist/tiers.js +100 -0
- package/dist/tools/definitions.js +467 -0
- package/dist/tools/handler.js +791 -0
- package/dist/tools/index.js +18 -0
- package/dist/tools/types.js +8 -0
- package/dist/validator.js +1 -1
- package/llms.txt +24 -1
- package/package.json +7 -18
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public entrypoint for the SceneView MCP tool library.
|
|
3
|
+
*
|
|
4
|
+
* Consumers (stdio server in `../index.ts`, hosted gateway in
|
|
5
|
+
* `mcp-gateway/src/mcp/registry.ts`) should import from this file and
|
|
6
|
+
* never reach into `definitions.ts` / `handler.ts` directly.
|
|
7
|
+
*/
|
|
8
|
+
export { TOOL_DEFINITIONS } from "./definitions.js";
|
|
9
|
+
export { dispatchTool, API_DOCS, __resetSponsorCounter } from "./handler.js";
|
|
10
|
+
import { TOOL_DEFINITIONS } from "./definitions.js";
|
|
11
|
+
/** Returns the full tool definition list (read-only copy). */
|
|
12
|
+
export function getAllTools() {
|
|
13
|
+
return [...TOOL_DEFINITIONS];
|
|
14
|
+
}
|
|
15
|
+
/** Returns the tool definition for a given name, or `undefined`. */
|
|
16
|
+
export function getToolDefinition(name) {
|
|
17
|
+
return TOOL_DEFINITIONS.find((t) => t.name === name);
|
|
18
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public types for the SceneView MCP tool library.
|
|
3
|
+
*
|
|
4
|
+
* These are the contract shared with the `mcp-gateway` package. Any change here
|
|
5
|
+
* MUST be reflected in `mcp-gateway/src/mcp/types.ts` (or that file should
|
|
6
|
+
* import from this one once workspaces are set up).
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
package/dist/validator.js
CHANGED
|
@@ -272,7 +272,7 @@ const RULES = [
|
|
|
272
272
|
const issues = [];
|
|
273
273
|
if (!code.includes("DynamicSkyNode"))
|
|
274
274
|
return issues;
|
|
275
|
-
// If DynamicSkyNode appears but
|
|
275
|
+
// If DynamicSkyNode appears but SceneView { } doesn't, it's likely wrong
|
|
276
276
|
if (!code.includes("SceneView(") && !code.includes("SceneView {")) {
|
|
277
277
|
findLines(lines, /DynamicSkyNode\s*\(/).forEach((line) => issues.push({
|
|
278
278
|
severity: "warning",
|
package/llms.txt
CHANGED
|
@@ -1955,6 +1955,19 @@ MCP server: `sceneview-mcp`. Add to `.claude/mcp.json`:
|
|
|
1955
1955
|
{ "mcpServers": { "sceneview": { "command": "npx", "args": ["-y", "sceneview-mcp"] } } }
|
|
1956
1956
|
```
|
|
1957
1957
|
|
|
1958
|
+
### Complete nodes reference
|
|
1959
|
+
|
|
1960
|
+
For an exhaustive, AI-first reference covering every node composable — signatures, copy-paste examples, gotchas, lifecycle behaviour, nesting & coordinate spaces, and common mistakes — see **[docs/docs/nodes.md](https://sceneview.github.io/docs/nodes/)** (`NODES.md`). This file is the authoritative walkthrough for:
|
|
1961
|
+
|
|
1962
|
+
- **Standard nodes:** ModelNode (animations, `scaleToUnits`), LightNode (intensity units by type, the `apply` trap), ViewNode (Compose UI on a plane, why `viewNodeWindowManager` is mandatory)
|
|
1963
|
+
- **Procedural geometry:** CubeNode / SphereNode / CylinderNode / PlaneNode / LineNode / PathNode / MeshNode — with the recomposition model for reactive geometry updates
|
|
1964
|
+
- **Content nodes:** TextNode, ImageNode, VideoNode, BillboardNode, ReflectionProbeNode
|
|
1965
|
+
- **AR-only nodes:** AnchorNode (the correct pattern for pinning state without 60 FPS recomposition), PoseNode, HitResultNode, AugmentedImageNode, AugmentedFaceNode, CloudAnchorNode, StreetscapeGeometryNode
|
|
1966
|
+
- **Composition & state:** nesting and parent→child coordinate spaces, reactive parameters, automatic destruction, imperative `apply = { … }` blocks, and a table of common mistakes with symptoms and fixes
|
|
1967
|
+
|
|
1968
|
+
This reference is consumed by `sceneview-mcp` so Claude and other AI assistants can answer deep questions about any node without hallucinating parameter names.
|
|
1969
|
+
|
|
1970
|
+
|
|
1958
1971
|
### Claude Artifacts — 3D in claude.ai
|
|
1959
1972
|
|
|
1960
1973
|
SceneView works inside Claude Artifacts (HTML type). Use this template:
|
|
@@ -2028,16 +2041,26 @@ ferrari_f40.glb
|
|
|
2028
2041
|
| visionOS | RealityKit | SwiftUI | via SceneViewSwift | Alpha |
|
|
2029
2042
|
| Web | Filament.js + WebXR | Kotlin/JS | `samples/web-demo` | Alpha |
|
|
2030
2043
|
|
|
2031
|
-
SceneView Web (sceneview.js v3.6.
|
|
2044
|
+
SceneView Web (sceneview.js v3.6.2) — JavaScript API:
|
|
2032
2045
|
SceneView.modelViewer(canvas, url, options?) → Promise<instance>
|
|
2033
2046
|
SceneView.create(canvas, options?) → Promise<instance>
|
|
2034
2047
|
instance.loadModel(url) → Promise<instance>
|
|
2048
|
+
instance.clearScene() → instance // removes all models + primitives
|
|
2035
2049
|
instance.setAutoRotate(enabled) → instance
|
|
2036
2050
|
instance.setCameraDistance(d) → instance
|
|
2051
|
+
instance.setCameraManipulator('orbit'|'map'|'freelook') → instance
|
|
2037
2052
|
instance.setBackgroundColor(r, g, b, a?) → instance
|
|
2038
2053
|
instance.setQuality('low'|'medium'|'high') → instance
|
|
2039
2054
|
instance.setBloom(true|false|{strength,resolution,threshold,levels}) → instance
|
|
2055
|
+
instance.loadEnvironment(ktxUrl, intensity?) → Promise<instance>
|
|
2040
2056
|
instance.addLight({type?,color?,intensity?,direction?,position?,falloff?}) → entity
|
|
2057
|
+
instance.removeLight(entity) → instance
|
|
2058
|
+
instance.clearLights() → instance // wipes base 3-point rig + IBL
|
|
2059
|
+
instance.createBox(center, [w,h,d], [r,g,b,a]) → asset
|
|
2060
|
+
instance.createSphere(center, radius, [r,g,b,a]) → asset
|
|
2061
|
+
instance.createCylinder(center, radius, height, [r,g,b,a]) → asset
|
|
2062
|
+
instance.playAnimation(index=0, loop=true) → instance // glTF keyframe + skinning
|
|
2063
|
+
instance.stopAnimation() → instance
|
|
2041
2064
|
instance.createText({text, fontSize?, color?, position?, billboard?}) → entity
|
|
2042
2065
|
instance.createImage({url, position?, size?, billboard?}) → entity
|
|
2043
2066
|
instance.createVideo({url, position?, size?, loop?, autoplay?, chromaKey?}) → entity
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sceneview-mcp",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.4",
|
|
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": [
|
|
@@ -37,32 +37,21 @@
|
|
|
37
37
|
"sceneview-mcp": "dist/index.js"
|
|
38
38
|
},
|
|
39
39
|
"files": [
|
|
40
|
-
"dist
|
|
41
|
-
"dist
|
|
42
|
-
"dist
|
|
43
|
-
"dist/migration.js",
|
|
44
|
-
"dist/node-reference.js",
|
|
45
|
-
"dist/samples.js",
|
|
46
|
-
"dist/preview.js",
|
|
47
|
-
"dist/artifact.js",
|
|
48
|
-
"dist/validator.js",
|
|
49
|
-
"dist/platform-setup.js",
|
|
50
|
-
"dist/migrate-code.js",
|
|
51
|
-
"dist/debug-issue.js",
|
|
52
|
-
"dist/generate-scene.js",
|
|
53
|
-
"dist/advanced-guides.js",
|
|
54
|
-
"dist/extra-guides.js",
|
|
40
|
+
"dist/**/*.js",
|
|
41
|
+
"!dist/**/*.test.js",
|
|
42
|
+
"!dist/**/__fixtures__/**",
|
|
55
43
|
"llms.txt"
|
|
56
44
|
],
|
|
57
45
|
"engines": {
|
|
58
46
|
"node": ">=18"
|
|
59
47
|
},
|
|
60
48
|
"scripts": {
|
|
49
|
+
"prebuild": "node scripts/generate-llms-txt.js",
|
|
61
50
|
"build": "tsc",
|
|
62
|
-
"prepare": "cp ../llms.txt ./llms.txt && tsc",
|
|
51
|
+
"prepare": "cp ../llms.txt ./llms.txt && node scripts/generate-llms-txt.js && tsc",
|
|
63
52
|
"start": "node dist/index.js",
|
|
64
53
|
"dev": "tsx src/index.ts",
|
|
65
|
-
"test": "vitest run"
|
|
54
|
+
"test": "node scripts/generate-llms-txt.js && vitest run"
|
|
66
55
|
},
|
|
67
56
|
"dependencies": {
|
|
68
57
|
"@modelcontextprotocol/sdk": "^1.29.0"
|