summer-engine 3.0.0 → 3.2.0
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +27 -5
- package/.codex-plugin/plugin.json +28 -6
- package/.cursor-plugin/plugin.json +27 -5
- package/.factory-plugin/plugin.json +27 -5
- package/.opencode/plugins/summer.js +1 -1
- package/CHANGELOG.md +120 -0
- package/README.md +22 -7
- package/assets/audit/scene_audit.gd +4136 -0
- package/assets/seeing/seeing_probe.gd +1873 -0
- package/dist/cli/commands/setup.js +6 -19
- package/dist/cli/commands/skills.js +57 -32
- package/dist/core/api-client.d.ts +9 -1
- package/dist/core/api-client.js +21 -4
- package/dist/core/capabilities/agent-playbook.js +46 -0
- package/dist/core/capabilities/audit/accept.d.ts +55 -0
- package/dist/core/capabilities/audit/accept.js +147 -0
- package/dist/core/capabilities/audit/args.d.ts +95 -0
- package/dist/core/capabilities/audit/args.js +89 -0
- package/dist/core/capabilities/audit/audit.d.ts +56 -0
- package/dist/core/capabilities/audit/audit.js +287 -0
- package/dist/core/capabilities/audit/frame.d.ts +14 -0
- package/dist/core/capabilities/audit/frame.js +35 -0
- package/dist/core/capabilities/audit/gaps.d.ts +96 -0
- package/dist/core/capabilities/audit/gaps.js +257 -0
- package/dist/core/capabilities/audit/judge.d.ts +162 -0
- package/dist/core/capabilities/audit/judge.js +1134 -0
- package/dist/core/capabilities/audit/math.d.ts +110 -0
- package/dist/core/capabilities/audit/math.js +263 -0
- package/dist/core/capabilities/audit/summary.d.ts +74 -0
- package/dist/core/capabilities/audit/summary.js +212 -0
- package/dist/core/capabilities/board.d.ts +31 -0
- package/dist/core/capabilities/board.js +43 -0
- package/dist/core/capabilities/camera-view.d.ts +4 -2
- package/dist/core/capabilities/camera-view.js +6 -3
- package/dist/core/capabilities/connect-signal.d.ts +85 -0
- package/dist/core/capabilities/connect-signal.js +285 -0
- package/dist/core/capabilities/engine-fallbacks.d.ts +5 -0
- package/dist/core/capabilities/engine-fallbacks.js +5 -0
- package/dist/core/capabilities/engine-ops.d.ts +5 -1
- package/dist/core/capabilities/engine-ops.js +0 -3
- package/dist/core/capabilities/engine-receipt.d.ts +12 -0
- package/dist/core/capabilities/engine-receipt.js +26 -0
- package/dist/core/capabilities/file-read.d.ts +64 -0
- package/dist/core/capabilities/file-read.js +325 -0
- package/dist/core/capabilities/game-task-plan.js +4 -2
- package/dist/core/capabilities/grep.d.ts +60 -0
- package/dist/core/capabilities/grep.js +190 -0
- package/dist/core/capabilities/inspect-node.d.ts +56 -0
- package/dist/core/capabilities/inspect-node.js +225 -0
- package/dist/core/capabilities/inspect-resource.d.ts +61 -0
- package/dist/core/capabilities/inspect-resource.js +376 -0
- package/dist/core/capabilities/math3d.d.ts +28 -0
- package/dist/core/capabilities/math3d.js +88 -0
- package/dist/core/capabilities/motion-generation.d.ts +62 -0
- package/dist/core/capabilities/motion-generation.js +138 -0
- package/dist/core/capabilities/placement-batch.d.ts +102 -0
- package/dist/core/capabilities/placement-batch.js +483 -0
- package/dist/core/capabilities/placement-math.d.ts +70 -0
- package/dist/core/capabilities/placement-math.js +209 -0
- package/dist/core/capabilities/placement-script.d.ts +42 -0
- package/dist/core/capabilities/placement-script.js +1096 -0
- package/dist/core/capabilities/placement.d.ts +485 -0
- package/dist/core/capabilities/placement.js +1731 -0
- package/dist/core/capabilities/project-context.d.ts +33 -2
- package/dist/core/capabilities/project-context.js +87 -4
- package/dist/core/capabilities/replace-node.d.ts +91 -0
- package/dist/core/capabilities/replace-node.js +423 -0
- package/dist/core/capabilities/runtime-control.d.ts +20 -4
- package/dist/core/capabilities/runtime-control.js +67 -2
- package/dist/core/capabilities/scene-batch.d.ts +63 -0
- package/dist/core/capabilities/scene-batch.js +394 -0
- package/dist/core/capabilities/scene-readback.d.ts +36 -0
- package/dist/core/capabilities/scene-readback.js +54 -0
- package/dist/core/capabilities/seeing/args.d.ts +348 -0
- package/dist/core/capabilities/seeing/args.js +178 -0
- package/dist/core/capabilities/seeing/candidates.d.ts +127 -0
- package/dist/core/capabilities/seeing/candidates.js +282 -0
- package/dist/core/capabilities/seeing/math.d.ts +134 -0
- package/dist/core/capabilities/seeing/math.js +269 -0
- package/dist/core/capabilities/seeing/probe.d.ts +62 -0
- package/dist/core/capabilities/seeing/probe.js +188 -0
- package/dist/core/capabilities/seeing/scoring.d.ts +235 -0
- package/dist/core/capabilities/seeing/scoring.js +639 -0
- package/dist/core/capabilities/seeing/seeing.d.ts +233 -0
- package/dist/core/capabilities/seeing/seeing.js +1341 -0
- package/dist/core/capabilities/seeing/shot-store.d.ts +52 -0
- package/dist/core/capabilities/seeing/shot-store.js +204 -0
- package/dist/core/capabilities/surface-snap-mesh.d.ts +88 -0
- package/dist/core/capabilities/surface-snap-mesh.js +425 -0
- package/dist/core/capabilities/surface-snap.d.ts +77 -0
- package/dist/core/capabilities/surface-snap.js +461 -0
- package/dist/core/capabilities/tool-dispatch.js +231 -72
- package/dist/core/capabilities/tscn.d.ts +85 -0
- package/dist/core/capabilities/tscn.js +391 -0
- package/dist/core/capabilities/world-snapshot.d.ts +58 -0
- package/dist/core/capabilities/world-snapshot.js +150 -0
- package/dist/core/capability-skew.d.ts +5 -5
- package/dist/core/capability-skew.js +14 -6
- package/dist/core/headless/worker-engine-client.d.ts +1 -1
- package/dist/core/headless/worker-engine-client.js +2 -2
- package/dist/core/library-read.d.ts +37 -5
- package/dist/core/library-read.js +264 -33
- package/dist/core/library-search.d.ts +2 -2
- package/dist/core/skills-registry.d.ts +9 -1
- package/dist/core/skills-registry.js +25 -2
- package/dist/installer/agent-config.d.ts +9 -4
- package/dist/installer/agent-config.js +194 -392
- package/dist/installer/agent-table.d.ts +119 -0
- package/dist/installer/agent-table.js +619 -0
- package/dist/installer/setup.js +4 -2
- package/dist/installer/skill-locations.d.ts +8 -17
- package/dist/installer/skill-locations.js +22 -101
- package/dist/installer/version-check.d.ts +5 -1
- package/dist/installer/version-check.js +38 -28
- package/dist/mcp/server.js +9 -3
- package/dist/mcp/tools/asset-tools.js +21 -3
- package/dist/mcp/tools/audit-tools.d.ts +23 -0
- package/dist/mcp/tools/audit-tools.js +60 -0
- package/dist/mcp/tools/debug-tools.js +3 -1
- package/dist/mcp/tools/file-tools.js +17 -4
- package/dist/mcp/tools/generate-tools.js +74 -66
- package/dist/mcp/tools/library-tools.js +2 -0
- package/dist/mcp/tools/perception-tools.js +6 -19
- package/dist/mcp/tools/placement-tools.d.ts +24 -0
- package/dist/mcp/tools/placement-tools.js +91 -0
- package/dist/mcp/tools/project-tools.js +18 -15
- package/dist/mcp/tools/scene-tools.js +71 -83
- package/dist/mcp/tools/seeing-tools.d.ts +24 -0
- package/dist/mcp/tools/seeing-tools.js +64 -0
- package/dist/mcp/tools/spatial-tools.js +17 -9
- package/dist/mcp/tools/visual-tools.js +59 -7
- package/gemini-extension.json +26 -4
- package/integrations/README.md +48 -19
- package/integrations/amp/README.md +12 -0
- package/integrations/amp/manifest-target.json +3 -0
- package/integrations/antigravity/README.md +12 -0
- package/integrations/antigravity/manifest-target.json +3 -0
- package/integrations/claude-desktop/README.md +12 -0
- package/integrations/claude-desktop/manifest-target.json +3 -0
- package/integrations/cline/README.md +8 -9
- package/integrations/cline-cli/README.md +12 -0
- package/integrations/cline-cli/manifest-target.json +3 -0
- package/integrations/copilot-jetbrains/README.md +12 -0
- package/integrations/copilot-jetbrains/manifest-target.json +3 -0
- package/integrations/crush/README.md +12 -0
- package/integrations/crush/manifest-target.json +3 -0
- package/integrations/github-copilot/README.md +8 -8
- package/integrations/goose/README.md +12 -0
- package/integrations/goose/manifest-target.json +3 -0
- package/integrations/grok-build/README.md +12 -0
- package/integrations/grok-build/manifest-target.json +3 -0
- package/integrations/hermes/README.md +12 -0
- package/integrations/hermes/manifest-target.json +3 -0
- package/integrations/junie/README.md +12 -0
- package/integrations/junie/manifest-target.json +3 -0
- package/integrations/kilo-code/README.md +6 -10
- package/integrations/kimi-code/README.md +12 -0
- package/integrations/kimi-code/manifest-target.json +3 -0
- package/integrations/kiro/README.md +12 -0
- package/integrations/kiro/manifest-target.json +3 -0
- package/integrations/lm-studio/README.md +8 -8
- package/integrations/mistral-vibe/README.md +12 -0
- package/integrations/mistral-vibe/manifest-target.json +3 -0
- package/integrations/opencode/README.md +9 -12
- package/integrations/qoder/README.md +12 -0
- package/integrations/qoder/manifest-target.json +3 -0
- package/integrations/qwen-code/README.md +12 -0
- package/integrations/qwen-code/manifest-target.json +3 -0
- package/integrations/roo-code/README.md +8 -7
- package/integrations/rovo-dev/README.md +12 -0
- package/integrations/rovo-dev/manifest-target.json +3 -0
- package/integrations/trae/README.md +12 -0
- package/integrations/trae/manifest-target.json +3 -0
- package/integrations/visual-studio/README.md +12 -0
- package/integrations/visual-studio/manifest-target.json +3 -0
- package/integrations/vscode-copilot/README.md +9 -9
- package/integrations/warp/README.md +12 -0
- package/integrations/warp/manifest-target.json +3 -0
- package/integrations/windsurf/README.md +8 -9
- package/integrations/zed/README.md +12 -0
- package/integrations/zed/manifest-target.json +3 -0
- package/library/references/mcp-tools-reference/mcp-tools-reference.md +59 -15
- package/library/references/mcp-tools-reference/resource.yaml +1 -1
- package/library/references/summer-folder/resource.yaml +1 -1
- package/library/references/summer-folder/summer-folder.md +1 -1
- package/library/skills/3d-lighting/SKILL.md +1 -1
- package/library/skills/README.md +264 -0
- package/library/skills/adaptive-music/SKILL.md +1 -1
- package/library/skills/agent-playtesting/SKILL.md +1 -1
- package/library/skills/ai-characters-in-games/SKILL.md +220 -0
- package/library/skills/ai-characters-in-games/resource.yaml +30 -0
- package/library/skills/ambient-bed/SKILL.md +1 -1
- package/library/skills/animated-loop/SKILL.md +1 -1
- package/library/skills/animation-tree/SKILL.md +1 -1
- package/library/skills/art-direction/SKILL.md +1 -1
- package/library/skills/asset-strategy/SKILL.md +2 -1
- package/library/skills/asset-strategy/resource.yaml +2 -1
- package/library/skills/audio-direction/SKILL.md +1 -1
- package/library/skills/auto-fire-targeting/SKILL.md +1 -1
- package/library/skills/brainstorm-game/SKILL.md +1 -1
- package/library/skills/brainstorming/SKILL.md +1 -1
- package/library/skills/browse-templates/SKILL.md +3 -3
- package/library/skills/browse-templates/resource.yaml +1 -1
- package/library/skills/camera-rigs/SKILL.md +128 -0
- package/library/skills/camera-rigs/resource.yaml +29 -0
- package/library/skills/celeste-momentum-platforming/SKILL.md +1 -1
- package/library/skills/character-animation-wiring/SKILL.md +1 -1
- package/library/skills/character-model/SKILL.md +1 -1
- package/library/skills/character-movement/SKILL.md +326 -0
- package/library/skills/character-movement/references/default-third-person-controller.gd +201 -0
- package/library/skills/character-movement/references/default-third-person-verification-probe.gd +154 -0
- package/library/skills/character-movement/references/movement-3d.md +136 -0
- package/library/skills/character-movement/references/platformer-feel.md +83 -0
- package/library/skills/character-movement/resource.yaml +40 -0
- package/library/skills/character-portrait/SKILL.md +1 -1
- package/library/skills/cinematic-cutscene/SKILL.md +1 -1
- package/library/skills/combat-basics/SKILL.md +159 -0
- package/library/skills/combat-basics/references/projectiles-and-aoe.md +100 -0
- package/library/skills/combat-basics/resource.yaml +34 -0
- package/library/skills/concept-art/SKILL.md +1 -1
- package/library/skills/create-asset-sheet/SKILL.md +1 -1
- package/library/skills/debug/SKILL.md +1 -1
- package/library/skills/debugging-game-feel/SKILL.md +1 -1
- package/library/skills/design-level/SKILL.md +1 -1
- package/library/skills/design-mechanic/SKILL.md +1 -1
- package/library/skills/design-npc/SKILL.md +1 -1
- package/library/skills/diagnosing-perf-regressions/SKILL.md +1 -1
- package/library/skills/dispatching-parallel-agents/SKILL.md +1 -1
- package/library/skills/driving-the-editor-ui/SKILL.md +1 -1
- package/library/skills/environment-kit/SKILL.md +1 -1
- package/library/skills/export-and-ship/SKILL.md +1 -1
- package/library/skills/fabricating-assets/SKILL.md +1 -1
- package/library/skills/facial-and-lipsync/SKILL.md +1 -1
- package/library/skills/fps-controller/SKILL.md +9 -7
- package/library/skills/fps-controller/resource.yaml +4 -1
- package/library/skills/game-feel/SKILL.md +1 -1
- package/library/skills/gameskill/SKILL.md +1 -1
- package/library/skills/gdscript-patterns/SKILL.md +1 -1
- package/library/skills/generate-motion/SKILL.md +9 -9
- package/library/skills/generate-motion/resource.yaml +2 -1
- package/library/skills/godogen-visual-proof-game-generation/SKILL.md +1 -1
- package/library/skills/headless-scripting/SKILL.md +1 -1
- package/library/skills/in-game-purchases/SKILL.md +254 -0
- package/library/skills/in-game-purchases/resource.yaml +29 -0
- package/library/skills/instantiate-asset-pack/SKILL.md +1 -1
- package/library/skills/investigating-bugs/SKILL.md +1 -1
- package/library/skills/lumera-single-image-scene-reconstruction/SKILL.md +1 -1
- package/library/skills/make-game/SKILL.md +25 -3
- package/library/skills/make-game/references/2d-platformer-polish.md +93 -0
- package/library/skills/make-game/references/2d-platformer.md +117 -0
- package/library/skills/make-game/references/2d-rpg-content.md +234 -0
- package/library/skills/make-game/references/2d-rpg.md +241 -0
- package/library/skills/make-game/references/2d-survivors-progression.md +201 -0
- package/library/skills/make-game/references/2d-survivors.md +237 -0
- package/library/skills/make-game/references/3d-fps-systems.md +216 -0
- package/library/skills/make-game/references/3d-fps.md +177 -0
- package/library/skills/make-game/references/3d-horror-systems.md +186 -0
- package/library/skills/make-game/references/3d-horror.md +201 -0
- package/library/skills/make-game/references/3d-third-person-systems.md +220 -0
- package/library/skills/make-game/references/3d-third-person.md +215 -0
- package/library/skills/make-game/resource.yaml +6 -1
- package/library/skills/multiplayer/SKILL.md +150 -0
- package/library/skills/multiplayer/resource.yaml +33 -0
- package/library/skills/multiplayer-movement/SKILL.md +510 -0
- package/library/skills/multiplayer-movement/files.md +501 -0
- package/library/skills/multiplayer-movement/resource.yaml +30 -0
- package/library/skills/multiplayer-project/SKILL.md +521 -0
- package/library/skills/multiplayer-project/files.md +448 -0
- package/library/skills/multiplayer-project/resource.yaml +36 -0
- package/library/skills/multiplayer-publish/SKILL.md +229 -0
- package/library/skills/multiplayer-publish/export-errors.md +89 -0
- package/library/skills/multiplayer-publish/resource.yaml +28 -0
- package/library/skills/multiplayer-state/SKILL.md +438 -0
- package/library/skills/multiplayer-state/files.md +592 -0
- package/library/skills/multiplayer-state/resource.yaml +35 -0
- package/library/skills/multiplayer-testing/SKILL.md +236 -0
- package/library/skills/multiplayer-testing/resource.yaml +39 -0
- package/library/skills/music-track/SKILL.md +1 -1
- package/library/skills/navigate-summer/SKILL.md +1 -1
- package/library/skills/new-project/SKILL.md +1 -1
- package/library/skills/organic-model/SKILL.md +1 -1
- package/library/skills/pixel-art/SKILL.md +1 -1
- package/library/skills/play/SKILL.md +1 -1
- package/library/skills/playtesting-a-feature/SKILL.md +1 -1
- package/library/skills/procedural-animation/SKILL.md +2 -2
- package/library/skills/procedural-animation/resource.yaml +1 -1
- package/library/skills/prop-model/SKILL.md +1 -1
- package/library/skills/psx-retro-rendering/SKILL.md +1 -1
- package/library/skills/realtime-wet-surfaces/SKILL.md +2 -2
- package/library/skills/remote-deploy/SKILL.md +1 -1
- package/library/skills/retarget/SKILL.md +1 -1
- package/library/skills/running-in-the-cloud/SKILL.md +1 -1
- package/library/skills/save-load/SKILL.md +156 -0
- package/library/skills/save-load/resource.yaml +27 -0
- package/library/skills/scene-composition/SKILL.md +1 -1
- package/library/skills/scene-hierarchy-design/SKILL.md +1 -1
- package/library/skills/scene-scripting/SKILL.md +1 -1
- package/library/skills/scene-to-level/SKILL.md +1 -1
- package/library/skills/skill-create/SKILL.md +1 -1
- package/library/skills/skill-improve/SKILL.md +1 -1
- package/library/skills/skill-test/SKILL.md +1 -1
- package/library/skills/skintokens-auto-rigging/SKILL.md +1 -1
- package/library/skills/skybox-panorama/SKILL.md +1 -1
- package/library/skills/sound-effect/SKILL.md +1 -1
- package/library/skills/spatial-placement/SKILL.md +134 -3
- package/library/skills/spatial-placement/references/kit-placement-tools.md +364 -0
- package/library/skills/spatial-placement/resource.yaml +16 -2
- package/library/skills/sprite-sheet/SKILL.md +1 -1
- package/library/skills/summer-analytics/SKILL.md +147 -0
- package/library/skills/summer-analytics/resource.yaml +28 -0
- package/library/skills/summer-friends/SKILL.md +226 -0
- package/library/skills/summer-friends/resource.yaml +28 -0
- package/library/skills/summer-leaderboards/SKILL.md +231 -0
- package/library/skills/summer-leaderboards/resource.yaml +30 -0
- package/library/skills/summer-match-results/SKILL.md +286 -0
- package/library/skills/summer-match-results/resource.yaml +32 -0
- package/library/skills/summer-matchmaking/SKILL.md +301 -0
- package/library/skills/summer-matchmaking/resource.yaml +32 -0
- package/library/skills/summer-parties/SKILL.md +253 -0
- package/library/skills/summer-parties/resource.yaml +30 -0
- package/library/skills/summer-player-data/SKILL.md +322 -0
- package/library/skills/summer-player-data/resource.yaml +30 -0
- package/library/skills/summer-store/SKILL.md +271 -0
- package/library/skills/summer-store/resource.yaml +29 -0
- package/library/skills/summer-world-chat/SKILL.md +195 -0
- package/library/skills/summer-world-chat/resource.yaml +30 -0
- package/library/skills/summer-world-saves/SKILL.md +284 -0
- package/library/skills/summer-world-saves/resource.yaml +29 -0
- package/library/skills/text-to-motion/SKILL.md +99 -0
- package/library/skills/text-to-motion/prompts-and-controls.md +34 -0
- package/library/skills/text-to-motion/resource.yaml +41 -0
- package/library/skills/text-to-motion/rigging-for-text-motion.md +54 -0
- package/library/skills/tileable-texture/SKILL.md +1 -1
- package/library/skills/trailer-shot/SKILL.md +1 -1
- package/library/skills/tune-performance/SKILL.md +1 -1
- package/library/skills/ui-basics/SKILL.md +10 -1
- package/library/skills/ui-graphics/SKILL.md +1 -1
- package/library/skills/use-widget-asset/SKILL.md +1 -1
- package/library/skills/using-summer/SKILL.md +2 -2
- package/library/skills/using-summer/resource.yaml +2 -2
- package/library/skills/vehicle-model/SKILL.md +1 -1
- package/library/skills/verification-before-completion/SKILL.md +1 -1
- package/library/skills/verifying-scenes/SKILL.md +76 -2
- package/library/skills/verifying-scenes/resource.yaml +13 -2
- package/library/skills/vfx-dissolve/SKILL.md +1 -1
- package/library/skills/vfx-fire/SKILL.md +1 -1
- package/library/skills/vfx-hit-spark/SKILL.md +1 -1
- package/library/skills/vfx-lightning/SKILL.md +1 -1
- package/library/skills/vfx-magic-glow/SKILL.md +1 -1
- package/library/skills/vfx-muzzle-flash/SKILL.md +1 -1
- package/library/skills/vfx-smoke/SKILL.md +1 -1
- package/library/skills/vfx-water-ripple/SKILL.md +1 -1
- package/library/skills/voice-line/SKILL.md +1 -1
- package/library/skills/web-and-touch-input/SKILL.md +38 -0
- package/library/skills/web-and-touch-input/resource.yaml +28 -0
- package/library/skills/web-compatibility-look/SKILL.md +62 -0
- package/library/skills/web-compatibility-look/resource.yaml +30 -0
- package/library/skills/world-building-3d/SKILL.md +8 -1
- package/library/skills/world-building-3d/references/spatial-tools.md +1 -1
- package/library/skills/world-building-3d/resource.yaml +2 -1
- package/library/skills/writing-plans/SKILL.md +1 -1
- package/library/skills/writing-skills/SKILL.md +1 -1
- package/library/templates/3d-lan-multiplayer-starter/resource.yaml +2 -2
- package/library/tools/attach-to-surface/resource.yaml +142 -0
- package/library/tools/batch/resource.yaml +9 -3
- package/library/tools/connect-ports/resource.yaml +120 -0
- package/library/tools/connect-signal/resource.yaml +3 -2
- package/library/tools/debug-views/resource.yaml +94 -0
- package/library/tools/frame-nodes/resource.yaml +104 -0
- package/library/tools/frame-shot/resource.yaml +134 -0
- package/library/tools/generate-motion/resource.yaml +44 -9
- package/library/tools/get-board/resource.yaml +50 -0
- package/library/tools/get-project-context/resource.yaml +13 -2
- package/library/tools/grep/resource.yaml +77 -0
- package/library/tools/inspect-asset/resource.yaml +71 -0
- package/library/tools/inspect-node/resource.yaml +9 -2
- package/library/tools/inspect-resource/resource.yaml +16 -5
- package/library/tools/instantiate-scene/resource.yaml +27 -2
- package/library/tools/measure/resource.yaml +96 -0
- package/library/tools/place-adjacent/resource.yaml +113 -0
- package/library/tools/play/resource.yaml +15 -2
- package/library/tools/raycast/resource.yaml +101 -0
- package/library/tools/read-file/resource.yaml +36 -2
- package/library/tools/read-library/resource.yaml +2 -2
- package/library/tools/repeat-along/resource.yaml +129 -0
- package/library/tools/replace-node/resource.yaml +11 -5
- package/library/tools/scene-audit/resource.yaml +144 -0
- package/library/tools/screenshot/resource.yaml +13 -2
- package/library/tools/search-assets/resource.yaml +18 -0
- package/library/tools/shot-sheet/resource.yaml +110 -0
- package/library/tools/snap-to-surface/resource.yaml +4 -1
- package/library/tools/world-snapshot/resource.yaml +24 -3
- package/library/tools/zoom/resource.yaml +105 -0
- package/package.json +3 -3
- package/registry/generated/aliases.json +17 -3
- package/registry/generated/counts.json +3 -3
- package/registry/generated/gemini-extension.json +26 -4
- package/registry/generated/index.json +2154 -469
- package/registry/generated/marketplace.claude.json +2 -2
- package/registry/generated/plugin.claude.json +27 -5
- package/registry/generated/plugin.codex.json +28 -6
- package/registry/generated/plugin.cursor.json +27 -5
- package/registry/generated/plugin.factory.json +27 -5
- package/registry/generated/skills-index.md +264 -0
- package/registry/generated/skills-registry.json +901 -206
- package/registry/generated/templates-registry.json +2 -2
- package/library/skills/host-authoritative-state/SKILL.md +0 -332
- package/library/skills/host-authoritative-state/resource.yaml +0 -28
- package/library/skills/peer-to-peer-multiplayer/SKILL.md +0 -373
- package/library/skills/peer-to-peer-multiplayer/resource.yaml +0 -28
- package/library/skills/setup-multiplayer/SKILL.md +0 -336
- package/library/skills/setup-multiplayer/resource.yaml +0 -28
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { type CapabilityAdvertisingClient } from "../../capability-skew.js";
|
|
2
|
+
import { type SceneMark, type SceneMarksSummary } from "../camera-view.js";
|
|
3
|
+
import { type Aabb, type CameraPose, type DirectionPreset, type Vec3 } from "./math.js";
|
|
4
|
+
import { type ShotType } from "./candidates.js";
|
|
5
|
+
import { type Measurement, type ViewProblem } from "./scoring.js";
|
|
6
|
+
import { type ProbeClient } from "./probe.js";
|
|
7
|
+
export declare const VIEW_MODES: readonly ["beauty", "lighting", "unshaded", "normals", "overdraw", "wireframe"];
|
|
8
|
+
export type ViewMode = (typeof VIEW_MODES)[number];
|
|
9
|
+
export declare const SEEING_FALLBACK = "render explicit poses with summer_screenshot target:\"scene\" framing:\"free\" (camera_position + camera_look_at), one image per call";
|
|
10
|
+
export interface SeeingClient extends ProbeClient, CapabilityAdvertisingClient {
|
|
11
|
+
getSceneState(scenePath?: string, options?: {
|
|
12
|
+
depth?: number;
|
|
13
|
+
limit?: number;
|
|
14
|
+
}): Promise<unknown>;
|
|
15
|
+
getProjectRoot?(): string | undefined;
|
|
16
|
+
}
|
|
17
|
+
export interface SeeingImage {
|
|
18
|
+
base64: string;
|
|
19
|
+
mime: string;
|
|
20
|
+
width?: number;
|
|
21
|
+
height?: number;
|
|
22
|
+
}
|
|
23
|
+
export interface SeeingSuccess {
|
|
24
|
+
ok: true;
|
|
25
|
+
image: SeeingImage | null;
|
|
26
|
+
/** Compact, model-facing text (labels, poses, scores, mark->path map). */
|
|
27
|
+
caption: string;
|
|
28
|
+
/** Structured receipt for the CLI face and tests. */
|
|
29
|
+
receipt: Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
export interface SeeingFailure {
|
|
32
|
+
ok: false;
|
|
33
|
+
failure_reason: string;
|
|
34
|
+
error: string;
|
|
35
|
+
hint?: string;
|
|
36
|
+
detail?: Record<string, unknown>;
|
|
37
|
+
}
|
|
38
|
+
export type SeeingResult = SeeingSuccess | SeeingFailure;
|
|
39
|
+
export interface PoseArgs {
|
|
40
|
+
bookmark_name?: string;
|
|
41
|
+
camera_position?: string;
|
|
42
|
+
camera_look_at?: string;
|
|
43
|
+
fov?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface OccluderArgs {
|
|
46
|
+
hard?: string[];
|
|
47
|
+
soft?: string[];
|
|
48
|
+
ignore?: string[];
|
|
49
|
+
hard_layers?: number;
|
|
50
|
+
soft_layers?: number;
|
|
51
|
+
}
|
|
52
|
+
export declare const MAX_IMAGE_EDGE = 4096;
|
|
53
|
+
export declare function validateScenePath(path: string): string;
|
|
54
|
+
export declare function validateNodePath(path: string, label: string): string;
|
|
55
|
+
export declare function validateLabel(label: string): string;
|
|
56
|
+
export declare function validateBookmarkName(name: string, label?: string): string;
|
|
57
|
+
export interface BookmarkInfo {
|
|
58
|
+
pose: CameraPose;
|
|
59
|
+
created?: string;
|
|
60
|
+
}
|
|
61
|
+
export interface GridLayout {
|
|
62
|
+
cols: number;
|
|
63
|
+
rows: number;
|
|
64
|
+
tile: [number, number];
|
|
65
|
+
canvas: [number, number];
|
|
66
|
+
rects: Array<[number, number, number, number]>;
|
|
67
|
+
}
|
|
68
|
+
/** Same-size tiles in a grid whose longest edge is `maxEdge`. */
|
|
69
|
+
export declare function layoutGrid(count: number, aspect: number, maxEdge: number, forcedCols?: number): GridLayout;
|
|
70
|
+
/**
|
|
71
|
+
* The compare baseline rule, ONE copy for every renderer of a bookmark: a
|
|
72
|
+
* bookmark's previous-image slot is replaced only by a compare_previous render
|
|
73
|
+
* (the comparison is done, this render is the next baseline), by an explicit
|
|
74
|
+
* update_previous:true, or by a call that (re)defines the bookmark's pose
|
|
75
|
+
* (summer_frame_nodes / summer_frame_shot saving it: the old image is of a
|
|
76
|
+
* different viewpoint). Any other render of the bookmark creates the slot only
|
|
77
|
+
* when it does not exist yet and otherwise leaves the baseline alone, so a
|
|
78
|
+
* plain sheet, debug view or screenshot never silently resets a comparison.
|
|
79
|
+
*/
|
|
80
|
+
export type SlotPolicy = "replace" | "create_if_missing";
|
|
81
|
+
export declare function slotPolicy(options: {
|
|
82
|
+
comparePrevious?: boolean;
|
|
83
|
+
updatePrevious?: boolean;
|
|
84
|
+
definesPose?: boolean;
|
|
85
|
+
}): SlotPolicy;
|
|
86
|
+
/** Keep the native render of a bookmark as its before/after slot when it is
|
|
87
|
+
* clean (no marks), within the stored-shot edge and allowed by the policy.
|
|
88
|
+
* Returns caption notes. */
|
|
89
|
+
export declare function rememberBookmarkRender(projectRoot: string | undefined, bookmark: string, image: {
|
|
90
|
+
base64: string;
|
|
91
|
+
width?: number;
|
|
92
|
+
height?: number;
|
|
93
|
+
}, marks: boolean, policy?: SlotPolicy): Promise<string[]>;
|
|
94
|
+
export interface FrameNodesArgs {
|
|
95
|
+
scenePath?: string;
|
|
96
|
+
nodes: string[];
|
|
97
|
+
direction?: DirectionPreset;
|
|
98
|
+
from?: string;
|
|
99
|
+
fill?: number;
|
|
100
|
+
fov?: number;
|
|
101
|
+
max_size?: number;
|
|
102
|
+
aspect?: number;
|
|
103
|
+
marks?: boolean;
|
|
104
|
+
max_marks?: number;
|
|
105
|
+
bookmark_name?: string;
|
|
106
|
+
}
|
|
107
|
+
export declare function frameNodes(client: SeeingClient, args: FrameNodesArgs): Promise<SeeingResult>;
|
|
108
|
+
export interface ViewOption {
|
|
109
|
+
/** How the option differs from the request ("as requested", "fov 65", "turned 30 deg left"...). */
|
|
110
|
+
tag: string;
|
|
111
|
+
from: Vec3;
|
|
112
|
+
fov: number;
|
|
113
|
+
/** Closeness to the request: degrees turned + half the fov added. */
|
|
114
|
+
cost: number;
|
|
115
|
+
pose: CameraPose;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The requested view first, then the nearby alternatives a caller can pass
|
|
119
|
+
* straight back to summer_frame_nodes (`from` + `fov`): the same direction
|
|
120
|
+
* with a wider lens (the camera fits closer, in front of what it stood
|
|
121
|
+
* behind), the direction turned around the nodes, and raised or lowered.
|
|
122
|
+
*/
|
|
123
|
+
export declare function viewOptions(box: Aabb, center: Vec3, toCamera: Vec3, fov: number, aspect: number, fill: number): ViewOption[];
|
|
124
|
+
export interface ViewCheck {
|
|
125
|
+
problem: ViewProblem | null;
|
|
126
|
+
requestedSummary: string;
|
|
127
|
+
requestedFov: number;
|
|
128
|
+
alternative?: ViewOption;
|
|
129
|
+
checked: number;
|
|
130
|
+
}
|
|
131
|
+
export declare function judgeViewOptions(options: ViewOption[], measurements: Measurement[]): ViewCheck;
|
|
132
|
+
export interface MarkVisibility {
|
|
133
|
+
id: number;
|
|
134
|
+
path: string;
|
|
135
|
+
/** Points of the node's 5 (centre + 4 across the face it shows) the camera sees. */
|
|
136
|
+
visible?: number;
|
|
137
|
+
samples?: number;
|
|
138
|
+
/** First opaque surface in front of a hidden point. */
|
|
139
|
+
blocker?: string;
|
|
140
|
+
/** Points met only on the node's own back faces (not drawn). */
|
|
141
|
+
own_back?: number;
|
|
142
|
+
missing?: boolean;
|
|
143
|
+
}
|
|
144
|
+
export declare function readOcclusion(result: Record<string, unknown> | null | undefined): Map<number, MarkVisibility>;
|
|
145
|
+
/** "" when the node is mostly visible; else a short phrase for its label. */
|
|
146
|
+
export declare function markOcclusionNote(v: MarkVisibility): string;
|
|
147
|
+
export declare function isHiddenMark(v: MarkVisibility | undefined): boolean;
|
|
148
|
+
/** formatSceneMarks plus a "(hidden ...)" note per hidden label and one line
|
|
149
|
+
* saying what the occlusion test found. */
|
|
150
|
+
export declare function formatMarksWithOcclusion(summary: SceneMarksSummary, occlusion: Map<number, MarkVisibility>): string[];
|
|
151
|
+
/**
|
|
152
|
+
* The occlusion test on its own (summer_screenshot marks): one analyze pass.
|
|
153
|
+
* Never throws; a failure becomes a caption note, the screenshot stands.
|
|
154
|
+
*/
|
|
155
|
+
export declare function checkMarkOcclusion(client: SeeingClient, scenePath: string | undefined, position: Vec3, marks: SceneMark[]): Promise<{
|
|
156
|
+
occlusion: Map<number, MarkVisibility>;
|
|
157
|
+
note?: string;
|
|
158
|
+
}>;
|
|
159
|
+
export interface ShotSheetShot extends PoseArgs {
|
|
160
|
+
label?: string;
|
|
161
|
+
}
|
|
162
|
+
export interface ShotSheetArgs {
|
|
163
|
+
scenePath?: string;
|
|
164
|
+
shots: ShotSheetShot[];
|
|
165
|
+
view?: ViewMode;
|
|
166
|
+
compare_previous?: boolean;
|
|
167
|
+
/** Replace each bookmark's previous image with this render even without
|
|
168
|
+
* compare_previous (default: only a missing slot is created). */
|
|
169
|
+
update_previous?: boolean;
|
|
170
|
+
max_size?: number;
|
|
171
|
+
aspect?: number;
|
|
172
|
+
save_to?: string;
|
|
173
|
+
}
|
|
174
|
+
export declare function shotSheet(client: SeeingClient, args: ShotSheetArgs): Promise<SeeingResult>;
|
|
175
|
+
export interface DebugViewsArgs extends PoseArgs {
|
|
176
|
+
scenePath?: string;
|
|
177
|
+
views?: ViewMode[];
|
|
178
|
+
/** Replace the bookmark's previous image with this beauty tile (default:
|
|
179
|
+
* only a missing slot is created). */
|
|
180
|
+
update_previous?: boolean;
|
|
181
|
+
max_size?: number;
|
|
182
|
+
aspect?: number;
|
|
183
|
+
save_to?: string;
|
|
184
|
+
}
|
|
185
|
+
export declare const VIEW_NOTES: Record<ViewMode, string>;
|
|
186
|
+
export declare function debugViews(client: SeeingClient, args: DebugViewsArgs): Promise<SeeingResult>;
|
|
187
|
+
export interface ZoomArgs extends PoseArgs {
|
|
188
|
+
scenePath?: string;
|
|
189
|
+
/** [x, y, w, h]; length is checked at call time. */
|
|
190
|
+
region?: number[];
|
|
191
|
+
mark?: number;
|
|
192
|
+
/** [width, height]; length is checked at call time. */
|
|
193
|
+
reference_size?: number[];
|
|
194
|
+
pad?: number;
|
|
195
|
+
view?: ViewMode;
|
|
196
|
+
max_size?: number;
|
|
197
|
+
save_to?: string;
|
|
198
|
+
}
|
|
199
|
+
export declare function zoom(client: SeeingClient, args: ZoomArgs): Promise<SeeingResult>;
|
|
200
|
+
export interface FrameShotArgs {
|
|
201
|
+
scenePath?: string;
|
|
202
|
+
shot: ShotType;
|
|
203
|
+
subject?: string[];
|
|
204
|
+
spawn?: string;
|
|
205
|
+
eye_height?: number;
|
|
206
|
+
fov?: number;
|
|
207
|
+
aspect?: number;
|
|
208
|
+
occluders?: OccluderArgs;
|
|
209
|
+
max_soft_fraction?: number;
|
|
210
|
+
bookmark_name?: string;
|
|
211
|
+
save_bookmark?: boolean;
|
|
212
|
+
render?: "sheet" | "best" | "none";
|
|
213
|
+
max_size?: number;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* The real camera height, said explicitly: the absolute y of the camera and
|
|
217
|
+
* its height above the first solid surface straight below it (the walkable
|
|
218
|
+
* surface for eye-level and corridor poses; for a high camera that can be a
|
|
219
|
+
* roof). `short` is for tile labels.
|
|
220
|
+
*/
|
|
221
|
+
export declare function cameraHeightText(pose: CameraPose, groundY: number | null | undefined, short?: boolean): string;
|
|
222
|
+
/** Where the corridor scan seeded: the walkable floor it found inside the
|
|
223
|
+
* subject, or (declared) the subject's lowest point. */
|
|
224
|
+
export interface CorridorScanFloor {
|
|
225
|
+
floor_y: number;
|
|
226
|
+
/** "walkable" (downward rays found it), "lowest_point" (none found), "caller". */
|
|
227
|
+
floor_source: string;
|
|
228
|
+
floor_hits?: number;
|
|
229
|
+
floor_rays?: number;
|
|
230
|
+
}
|
|
231
|
+
export declare function scanFloorText(floor: CorridorScanFloor, subject: Aabb): string;
|
|
232
|
+
export declare function frameShot(client: SeeingClient, args: FrameShotArgs): Promise<SeeingResult>;
|
|
233
|
+
export declare const SHOT_TYPE_DEFAULTS: Record<"detail" | "establishing" | "eye_level" | "low_angle" | "corridor", import("./candidates.js").ShotDefaults>;
|