build_scene_stub
Generates an offline Vite + Three.js scaffold from a capture_scene_3d evidence pack, recreating supported primitives and a static camera while marking unresolved elements.
Instructions
Generate an offline Vite + Three.js scaffold from a capture_scene_3d evidence pack (scene-evidence-v1), not a recovery: the pack stores rendered frames and observed responses, so unless the experimental three adapter recorded a bounded scene summary, no scene graph, camera, controls, shader source or geometry is read, and captured application code, shader source, userData and callbacks are never executed. With evidence.three it recreates only Box/Plane/Sphere/Cylinder primitive meshes with position/quaternion/scale, MeshStandard/MeshBasic colour/opacity and locally bound texture maps, plus a static perspective camera applied from its exact captured matrix (matrix auto-update off); captured controls are never recreated, and unsupported geometry, materials, cameras and controls are listed as unresolved instead of guessed. Validates evidencePath itself (regular file, <=2 MiB, inside /scene-captures or a pack exported with top-level "exported": true) and up to 32 assetBindings (resourceId must be an observed inventory row that is not a script or shader; localPath must exist, be a regular non-symlink file <=64 MiB with a glb/gltf/bin/png/jpg/jpeg/webp/ktx2/hdr/exr extension; traversal and duplicate resourceIds are rejected). Returns files[{path,content}] (package.json with pinned three 0.160.0 + vite and dev/build/preview scripts, index.html, src/main.js with resize, reduced-motion static render, GLTFLoader for a bound model, texture loading, a clearly labelled placeholder plane when no model or captured mesh exists, disposal on pagehide and a load-failure message, scene.json describing bindings and frame references, and a provenance README), assetCopies[{from,to}] to public/assets/., unresolved[], authoredDefaults[] and provenance; mode is "reconstructed-subset" when a glb/gltf model is bound or the three adapter recorded at least one supported mesh, otherwise "placeholder". Deterministic and byte-stable, and strictly offline: no fetch, no install, no directory writes - copy assetCopies, then run npm install && npm run build yourself.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"evidencePath": "<evidencePath>"
},
"name": "build_scene_stub"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Title for index.html and the provenance README | |
| evidencePath | Yes | Local scene-evidence-v1 JSON from capture_scene_3d, under <cache>/scene-captures or an exported pack | |
| assetBindings | No | Up to 32 local files bound to inventory rows; each resourceId binds once |