summer-engine 2.8.2 → 3.0.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 +27 -7
- package/.claude-plugin/plugin.json +99 -83
- package/.codex-plugin/plugin.json +112 -82
- package/.cursor-plugin/plugin.json +119 -83
- package/.factory-plugin/plugin.json +100 -3
- package/.mcp.json +6 -1
- package/.opencode/INSTALL.md +7 -4
- package/.opencode/plugins/summer.js +31 -18
- package/AGENTS.md +107 -34
- package/CHANGELOG.md +131 -44
- package/CLAUDE.md +4 -2
- package/GEMINI.md +7 -53
- package/NOTICE +31 -0
- package/README.md +159 -391
- package/assets/api-docs.json.gz +0 -0
- package/assets/autopilot/README.md +20 -6
- package/assets/autopilot/autopilot.gd +80 -26
- package/assets/autopilot/run.sh +132 -7
- package/assets/navigation/web-routes.json +719 -0
- package/commands/gameskill.md +10 -108
- package/commands/summer.md +72 -4
- package/dist/bin/summer.js +6 -87
- package/dist/cli/banner.d.ts +1 -0
- package/dist/cli/banner.js +33 -0
- package/dist/{commands → cli/commands}/config.js +1 -1
- package/dist/cli/commands/create.d.ts +30 -0
- package/dist/cli/commands/create.js +212 -0
- package/dist/{commands → cli/commands}/debug.js +2 -2
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.js +18 -0
- package/dist/cli/commands/events.d.ts +57 -0
- package/dist/cli/commands/events.js +158 -0
- package/dist/cli/commands/install.d.ts +50 -0
- package/dist/cli/commands/install.js +447 -0
- package/dist/cli/commands/list.js +72 -0
- package/dist/{commands → cli/commands}/login.js +33 -17
- package/dist/{commands → cli/commands}/logout.d.ts +1 -0
- package/dist/cli/commands/logout.js +19 -0
- package/dist/{commands → cli/commands}/memory.d.ts +1 -8
- package/dist/{commands → cli/commands}/memory.js +20 -11
- package/dist/cli/commands/open.d.ts +45 -0
- package/dist/cli/commands/open.js +216 -0
- package/dist/{commands → cli/commands}/plan.js +2 -2
- package/dist/{commands → cli/commands}/publish.js +1 -1
- package/dist/{commands → cli/commands}/releases.js +1 -1
- package/dist/cli/commands/run.d.ts +19 -0
- package/dist/cli/commands/run.js +255 -0
- package/dist/{commands → cli/commands}/setup.js +43 -89
- package/dist/{commands → cli/commands}/skills.js +85 -222
- package/dist/{commands → cli/commands}/status.d.ts +1 -0
- package/dist/cli/commands/status.js +62 -0
- package/dist/cli/commands/tool.d.ts +11 -0
- package/dist/cli/commands/tool.js +121 -0
- package/dist/cli/index.d.ts +6 -0
- package/dist/cli/index.js +89 -0
- package/dist/cli/root-action.d.ts +7 -0
- package/dist/cli/root-action.js +15 -0
- package/dist/{lib → core}/api-client.d.ts +106 -15
- package/dist/{lib → core}/api-client.js +267 -75
- package/dist/{lib → core}/async-op-lifecycle.d.ts +3 -4
- package/dist/{lib → core}/async-op-lifecycle.js +3 -4
- package/dist/{lib → core}/auth.d.ts +14 -6
- package/dist/{lib → core}/auth.js +56 -40
- package/dist/core/capabilities/agent-playbook.d.ts +20 -0
- package/dist/core/capabilities/agent-playbook.js +218 -0
- package/dist/core/capabilities/api-docs.d.ts +36 -0
- package/dist/core/capabilities/api-docs.js +118 -0
- package/dist/core/capabilities/asset-import.d.ts +49 -0
- package/dist/core/capabilities/asset-import.js +134 -0
- package/dist/core/capabilities/camera-view.d.ts +98 -0
- package/dist/core/capabilities/camera-view.js +222 -0
- package/dist/core/capabilities/capture.d.ts +63 -0
- package/dist/core/capabilities/capture.js +67 -0
- package/dist/core/capabilities/console-read.d.ts +17 -0
- package/dist/core/capabilities/console-read.js +21 -0
- package/dist/{lib → core/capabilities}/creator.d.ts +1 -29
- package/dist/{lib → core/capabilities}/creator.js +14 -33
- package/dist/{lib → core/capabilities}/debug-report.d.ts +1 -1
- package/dist/{lib → core/capabilities}/debug-report.js +12 -31
- package/dist/{commands → core/capabilities}/doctor.d.ts +7 -2
- package/dist/{commands → core/capabilities}/doctor.js +47 -73
- package/dist/core/capabilities/engine-fallbacks.d.ts +26 -0
- package/dist/core/capabilities/engine-fallbacks.js +36 -0
- package/dist/core/capabilities/engine-ops.d.ts +33 -0
- package/dist/core/capabilities/engine-ops.js +145 -0
- package/dist/core/capabilities/engine-receipt.d.ts +53 -0
- package/dist/core/capabilities/engine-receipt.js +134 -0
- package/dist/core/capabilities/events.d.ts +200 -0
- package/dist/core/capabilities/events.js +383 -0
- package/dist/core/capabilities/fabricate-mesh.d.ts +111 -0
- package/dist/core/capabilities/fabricate-mesh.js +165 -0
- package/dist/core/capabilities/frame-quality.d.ts +71 -0
- package/dist/core/capabilities/frame-quality.js +449 -0
- package/dist/core/capabilities/game-task-plan.d.ts +66 -0
- package/dist/{lib → core/capabilities}/game-task-plan.js +59 -8
- package/dist/core/capabilities/hdri-import.d.ts +90 -0
- package/dist/core/capabilities/hdri-import.js +250 -0
- package/dist/core/capabilities/image-generation.d.ts +24 -0
- package/dist/core/capabilities/image-generation.js +22 -0
- package/dist/core/capabilities/navigation/open.d.ts +156 -0
- package/dist/core/capabilities/navigation/open.js +567 -0
- package/dist/core/capabilities/navigation/render-product-map.d.ts +1 -0
- package/dist/core/capabilities/navigation/render-product-map.js +84 -0
- package/dist/core/capabilities/navigation/targets.d.ts +87 -0
- package/dist/core/capabilities/navigation/targets.js +250 -0
- package/dist/core/capabilities/play-determinism.d.ts +35 -0
- package/dist/core/capabilities/play-determinism.js +86 -0
- package/dist/core/capabilities/project-context.d.ts +114 -0
- package/dist/core/capabilities/project-context.js +249 -0
- package/dist/core/capabilities/runtime-control.d.ts +540 -0
- package/dist/core/capabilities/runtime-control.js +1011 -0
- package/dist/core/capabilities/scene-kind.d.ts +19 -0
- package/dist/core/capabilities/scene-kind.js +137 -0
- package/dist/core/capabilities/scene-script.d.ts +38 -0
- package/dist/core/capabilities/scene-script.js +45 -0
- package/dist/core/capabilities/tool-dispatch.d.ts +42 -0
- package/dist/core/capabilities/tool-dispatch.js +1490 -0
- package/dist/core/capabilities/ui-control.d.ts +179 -0
- package/dist/core/capabilities/ui-control.js +423 -0
- package/dist/core/capabilities/variant-types.d.ts +22 -0
- package/dist/core/capabilities/variant-types.js +101 -0
- package/dist/core/capability-skew.d.ts +205 -0
- package/dist/core/capability-skew.js +386 -0
- package/dist/{lib → core}/config.d.ts +11 -1
- package/dist/{lib → core}/config.js +13 -2
- package/dist/core/embeddings.d.ts +78 -0
- package/dist/core/embeddings.js +166 -0
- package/dist/core/engine-install.d.ts +105 -0
- package/dist/core/engine-install.js +190 -0
- package/dist/core/engine.d.ts +94 -0
- package/dist/{lib → core}/engine.js +74 -28
- package/dist/core/feedback/client.d.ts +88 -0
- package/dist/core/feedback/client.js +182 -0
- package/dist/{lib → core}/format.d.ts +0 -1
- package/dist/{lib → core}/format.js +1 -1
- package/dist/core/headless/connection.d.ts +86 -0
- package/dist/core/headless/connection.js +97 -0
- package/dist/core/headless/editor-connection.d.ts +26 -0
- package/dist/core/headless/editor-connection.js +81 -0
- package/dist/core/headless/mcp-routing.d.ts +38 -0
- package/dist/core/headless/mcp-routing.js +83 -0
- package/dist/core/headless/registry.d.ts +91 -0
- package/dist/core/headless/registry.js +226 -0
- package/dist/core/headless/resolve.d.ts +46 -0
- package/dist/core/headless/resolve.js +75 -0
- package/dist/core/headless/spawn.d.ts +46 -0
- package/dist/core/headless/spawn.js +205 -0
- package/dist/core/headless/worker-connection.d.ts +96 -0
- package/dist/core/headless/worker-connection.js +353 -0
- package/dist/core/headless/worker-engine-client.d.ts +58 -0
- package/dist/core/headless/worker-engine-client.js +246 -0
- package/dist/core/launch-posture.d.ts +170 -0
- package/dist/core/launch-posture.js +317 -0
- package/dist/core/library-read.d.ts +73 -0
- package/dist/core/library-read.js +279 -0
- package/dist/core/library-search.d.ts +143 -0
- package/dist/core/library-search.js +301 -0
- package/dist/{lib → core}/log-filters.js +4 -2
- package/dist/{lib → core}/mcp-log.js +2 -17
- package/dist/core/package-root.d.ts +9 -0
- package/dist/core/package-root.js +11 -0
- package/dist/core/redact.d.ts +20 -0
- package/dist/core/redact.js +64 -0
- package/dist/core/registry-search.d.ts +167 -0
- package/dist/core/registry-search.js +358 -0
- package/dist/core/skills-registry.d.ts +47 -0
- package/dist/core/skills-registry.js +83 -0
- package/dist/{lib → core}/store.js +11 -7
- package/dist/{lib → core}/summer-compatibility.js +3 -3
- package/dist/{lib → core}/telemetry.js +5 -2
- package/dist/core/templates.d.ts +98 -0
- package/dist/core/templates.js +241 -0
- package/dist/core/tool-errors.d.ts +30 -0
- package/dist/core/tool-errors.js +40 -0
- package/dist/core/trajectory.d.ts +80 -0
- package/dist/core/trajectory.js +307 -0
- package/dist/core/util/http.d.ts +13 -0
- package/dist/core/util/http.js +28 -0
- package/dist/core/util/json.d.ts +12 -0
- package/dist/core/util/json.js +21 -0
- package/dist/core/util/process.d.ts +3 -0
- package/dist/core/util/process.js +13 -0
- package/dist/core/util/sleep.d.ts +1 -0
- package/dist/core/util/sleep.js +3 -0
- package/dist/core/version.d.ts +3 -0
- package/dist/core/version.js +5 -0
- package/dist/{lib → installer}/agent-config.d.ts +20 -1
- package/dist/{lib → installer}/agent-config.js +138 -24
- package/dist/installer/legacy-skills.d.ts +26 -0
- package/dist/installer/legacy-skills.js +53 -0
- package/dist/installer/setup.d.ts +76 -0
- package/dist/installer/setup.js +146 -0
- package/dist/installer/skill-locations.d.ts +45 -0
- package/dist/installer/skill-locations.js +170 -0
- package/dist/installer/version-check.d.ts +174 -0
- package/dist/{lib → installer}/version-check.js +173 -42
- package/dist/{lib/mcp-boot-notice.d.ts → mcp/boot-notice.d.ts} +1 -1
- package/dist/{commands/mcp.js → mcp/command.js} +18 -6
- package/dist/mcp/server.d.ts +23 -3
- package/dist/mcp/server.js +122 -28
- package/dist/mcp/tools/asset-tools.js +62 -142
- package/dist/mcp/tools/creator-tools.js +5 -23
- package/dist/mcp/tools/debug-tools.js +61 -18
- package/dist/mcp/tools/event-tools.d.ts +14 -0
- package/dist/mcp/tools/event-tools.js +41 -0
- package/dist/mcp/tools/fabricate-tools.d.ts +2 -0
- package/dist/mcp/tools/fabricate-tools.js +28 -0
- package/dist/mcp/tools/feedback-tools.d.ts +77 -0
- package/dist/mcp/tools/feedback-tools.js +88 -0
- package/dist/mcp/tools/file-tools.js +6 -53
- package/dist/mcp/tools/generate-tools.js +37 -63
- package/dist/mcp/tools/library-tools.d.ts +11 -0
- package/dist/mcp/tools/library-tools.js +42 -0
- package/dist/mcp/tools/navigation-tools.d.ts +7 -0
- package/dist/mcp/tools/navigation-tools.js +37 -0
- package/dist/mcp/tools/perception-tools.d.ts +20 -0
- package/dist/mcp/tools/perception-tools.js +146 -0
- package/dist/mcp/tools/project-tools.d.ts +14 -0
- package/dist/mcp/tools/project-tools.js +72 -281
- package/dist/mcp/tools/runtime-tools.d.ts +2 -0
- package/dist/mcp/tools/runtime-tools.js +92 -0
- package/dist/mcp/tools/scene-tools.d.ts +3 -0
- package/dist/mcp/tools/scene-tools.js +68 -119
- package/dist/mcp/tools/script-tools.d.ts +3 -0
- package/dist/mcp/tools/script-tools.js +118 -0
- package/dist/mcp/tools/spatial-tools.d.ts +2 -0
- package/dist/mcp/tools/spatial-tools.js +485 -0
- package/dist/mcp/tools/text-json.d.ts +8 -0
- package/dist/mcp/tools/text-json.js +12 -0
- package/dist/mcp/tools/{cloud-tools.d.ts → ui-tools.d.ts} +1 -1
- package/dist/mcp/tools/ui-tools.js +82 -0
- package/dist/mcp/tools/visual-tools.d.ts +2 -7
- package/dist/mcp/tools/visual-tools.js +383 -101
- package/dist/mcp/tools/with-engine.d.ts +9 -15
- package/dist/mcp/tools/with-engine.js +60 -96
- package/dist/project-memory/project-manifest.d.ts +36 -0
- package/dist/project-memory/project-manifest.js +50 -0
- package/dist/project-memory/project-memory.d.ts +57 -0
- package/dist/{lib → project-memory}/project-memory.js +46 -0
- package/gemini-extension.json +103 -2
- package/hooks/hooks-cursor.json +2 -2
- package/hooks/hooks.json +2 -1
- package/hooks/pre-commit-doctor.sh +45 -39
- package/hooks/run-hook.cmd +30 -23
- package/hooks/run-hook.sh +20 -0
- package/hooks/session-start.sh +18 -7
- package/integrations/README.md +70 -0
- package/integrations/claude/README.md +19 -0
- package/integrations/claude/manifest-target.json +16 -0
- package/integrations/cline/README.md +13 -0
- package/integrations/cline/manifest-target.json +3 -0
- package/integrations/codex/README.md +15 -0
- package/integrations/codex/manifest-target.json +5 -0
- package/integrations/cursor/README.md +16 -0
- package/integrations/cursor/manifest-target.json +5 -0
- package/integrations/factory/README.md +26 -0
- package/integrations/factory/manifest-target.json +5 -0
- package/integrations/gemini/README.md +26 -0
- package/integrations/gemini/manifest-target.json +5 -0
- package/integrations/github-copilot/README.md +12 -0
- package/integrations/github-copilot/manifest-target.json +3 -0
- package/integrations/kilo-code/README.md +16 -0
- package/integrations/kilo-code/manifest-target.json +3 -0
- package/integrations/lm-studio/README.md +12 -0
- package/integrations/lm-studio/manifest-target.json +3 -0
- package/integrations/opencode/README.md +15 -0
- package/integrations/opencode/manifest-target.json +3 -0
- package/integrations/roo-code/README.md +13 -0
- package/integrations/roo-code/manifest-target.json +3 -0
- package/integrations/vscode-copilot/README.md +12 -0
- package/integrations/vscode-copilot/manifest-target.json +3 -0
- package/integrations/windsurf/README.md +13 -0
- package/integrations/windsurf/manifest-target.json +3 -0
- package/library/references/collaborative-protocol/resource.yaml +24 -0
- package/library/references/gd-style/resource.yaml +24 -0
- package/{references → library/references/godot-version}/godot-version.md +6 -6
- package/library/references/godot-version/resource.yaml +22 -0
- package/library/references/headless-routing/headless-routing.md +46 -0
- package/library/references/headless-routing/resource.yaml +24 -0
- package/library/references/mcp-fresh-chat-playbook/mcp-fresh-chat-playbook.md +49 -0
- package/library/references/mcp-fresh-chat-playbook/resource.yaml +23 -0
- package/library/references/mcp-tools-reference/mcp-tools-reference.md +271 -0
- package/library/references/mcp-tools-reference/resource.yaml +17 -0
- package/library/references/product-map/product-map.md +103 -0
- package/library/references/product-map/resource.yaml +33 -0
- package/{references → library/references/public-surface-language}/public-surface-language.md +5 -7
- package/library/references/public-surface-language/resource.yaml +17 -0
- package/library/references/summer-folder/resource.yaml +20 -0
- package/{references → library/references/summer-folder}/summer-folder.md +22 -21
- package/{skills/rendering-and-lighting → library/skills}/3d-lighting/SKILL.md +15 -11
- package/library/skills/3d-lighting/resource.yaml +27 -0
- package/{skills/audio → library/skills}/adaptive-music/SKILL.md +1 -1
- package/library/skills/adaptive-music/resource.yaml +28 -0
- package/library/skills/agent-playtesting/SKILL.md +148 -0
- package/library/skills/agent-playtesting/resource.yaml +52 -0
- package/library/skills/ambient-bed/resource.yaml +24 -0
- package/{skills/video → library/skills}/animated-loop/SKILL.md +1 -1
- package/library/skills/animated-loop/resource.yaml +27 -0
- package/{skills/animation → library/skills}/animation-tree/SKILL.md +29 -14
- package/library/skills/animation-tree/resource.yaml +33 -0
- package/{skills/rendering-and-lighting → library/skills}/art-direction/SKILL.md +3 -3
- package/library/skills/art-direction/resource.yaml +29 -0
- package/{skills/asset-pipeline → library/skills}/asset-strategy/SKILL.md +44 -44
- package/library/skills/asset-strategy/resource.yaml +63 -0
- package/{skills/audio → library/skills}/audio-direction/SKILL.md +7 -7
- package/library/skills/audio-direction/resource.yaml +32 -0
- package/library/skills/auto-fire-targeting/resource.yaml +22 -0
- package/{skills/scene-and-project → library/skills}/brainstorm-game/SKILL.md +8 -8
- package/library/skills/brainstorm-game/resource.yaml +30 -0
- package/{skills/workflow → library/skills}/brainstorming/SKILL.md +2 -22
- package/library/skills/brainstorming/resource.yaml +23 -0
- package/{skills/workflow → library/skills}/brainstorming/spec-document-reviewer-prompt.md +1 -1
- package/{skills/scene-and-project → library/skills}/browse-templates/SKILL.md +18 -18
- package/library/skills/browse-templates/resource.yaml +23 -0
- package/library/skills/celeste-momentum-platforming/SKILL.md +366 -0
- package/library/skills/celeste-momentum-platforming/resource.yaml +33 -0
- package/library/skills/character-animation-wiring/SKILL.md +249 -0
- package/library/skills/character-animation-wiring/resource.yaml +39 -0
- package/{skills/3d-assets → library/skills}/character-model/SKILL.md +25 -25
- package/library/skills/character-model/resource.yaml +36 -0
- package/{skills/2d-assets → library/skills}/character-portrait/SKILL.md +14 -14
- package/library/skills/character-portrait/resource.yaml +30 -0
- package/{skills/video → library/skills}/cinematic-cutscene/SKILL.md +2 -2
- package/library/skills/cinematic-cutscene/resource.yaml +29 -0
- package/{skills/2d-assets → library/skills}/concept-art/SKILL.md +15 -15
- package/library/skills/concept-art/resource.yaml +34 -0
- package/{skills/2d-assets → library/skills}/create-asset-sheet/SKILL.md +8 -8
- package/library/skills/create-asset-sheet/resource.yaml +33 -0
- package/{skills/debugging → library/skills}/debug/SKILL.md +3 -3
- package/library/skills/debug/resource.yaml +31 -0
- package/{skills/workflow → library/skills}/debugging-game-feel/SKILL.md +11 -11
- package/library/skills/debugging-game-feel/resource.yaml +25 -0
- package/{skills/level-design → library/skills}/design-level/SKILL.md +6 -6
- package/library/skills/design-level/resource.yaml +31 -0
- package/{skills/gameplay-mechanics → library/skills}/design-mechanic/SKILL.md +3 -3
- package/library/skills/design-mechanic/resource.yaml +31 -0
- package/{skills/ai-and-npcs → library/skills}/design-npc/SKILL.md +7 -3
- package/library/skills/design-npc/resource.yaml +29 -0
- package/{skills/workflow → library/skills}/diagnosing-perf-regressions/SKILL.md +10 -10
- package/library/skills/diagnosing-perf-regressions/resource.yaml +25 -0
- package/{skills/workflow → library/skills}/dispatching-parallel-agents/SKILL.md +8 -8
- package/library/skills/dispatching-parallel-agents/resource.yaml +23 -0
- package/library/skills/driving-the-editor-ui/SKILL.md +85 -0
- package/library/skills/driving-the-editor-ui/resource.yaml +46 -0
- package/{skills/3d-assets → library/skills}/environment-kit/SKILL.md +11 -11
- package/library/skills/environment-kit/resource.yaml +29 -0
- package/{skills/deployment → library/skills}/export-and-ship/SKILL.md +5 -5
- package/library/skills/export-and-ship/resource.yaml +32 -0
- package/library/skills/fabricating-assets/SKILL.md +195 -0
- package/library/skills/fabricating-assets/resource.yaml +52 -0
- package/{skills/animation → library/skills}/facial-and-lipsync/SKILL.md +23 -11
- package/library/skills/facial-and-lipsync/resource.yaml +36 -0
- package/{skills/character-controllers → library/skills}/fps-controller/SKILL.md +8 -4
- package/library/skills/fps-controller/resource.yaml +29 -0
- package/{skills/visual-effects → library/skills}/game-feel/SKILL.md +7 -7
- package/library/skills/game-feel/resource.yaml +27 -0
- package/library/skills/gameskill/SKILL.md +64 -0
- package/library/skills/gameskill/resource.yaml +22 -0
- package/library/skills/gdscript-patterns/resource.yaml +23 -0
- package/{skills/animation → library/skills}/generate-motion/SKILL.md +16 -16
- package/library/skills/generate-motion/resource.yaml +34 -0
- package/library/skills/godogen-visual-proof-game-generation/SKILL.md +223 -0
- package/library/skills/godogen-visual-proof-game-generation/resource.yaml +33 -0
- package/{skills/workflow → library/skills}/headless-scripting/SKILL.md +14 -7
- package/library/skills/headless-scripting/resource.yaml +26 -0
- package/library/skills/host-authoritative-state/resource.yaml +28 -0
- package/{skills/2d-assets → library/skills}/instantiate-asset-pack/SKILL.md +10 -12
- package/library/skills/instantiate-asset-pack/resource.yaml +29 -0
- package/{skills/workflow → library/skills}/investigating-bugs/SKILL.md +4 -4
- package/{skills/workflow → library/skills}/investigating-bugs/condition-based-waiting.md +8 -8
- package/library/skills/investigating-bugs/resource.yaml +24 -0
- package/{skills/workflow → library/skills}/investigating-bugs/root-cause-tracing.md +1 -7
- package/library/skills/lumera-single-image-scene-reconstruction/SKILL.md +164 -0
- package/library/skills/lumera-single-image-scene-reconstruction/resource.yaml +35 -0
- package/{skills/scene-and-project → library/skills}/make-game/SKILL.md +22 -22
- package/library/skills/make-game/resource.yaml +35 -0
- package/library/skills/music-track/resource.yaml +28 -0
- package/library/skills/navigate-summer/SKILL.md +61 -0
- package/library/skills/navigate-summer/resource.yaml +35 -0
- package/{skills/scene-and-project → library/skills}/new-project/SKILL.md +10 -10
- package/library/skills/new-project/resource.yaml +28 -0
- package/{skills/3d-assets → library/skills}/organic-model/SKILL.md +16 -16
- package/library/skills/organic-model/resource.yaml +32 -0
- package/{skills/multiplayer-and-networking → library/skills}/peer-to-peer-multiplayer/SKILL.md +2 -2
- package/library/skills/peer-to-peer-multiplayer/resource.yaml +28 -0
- package/{skills/2d-assets → library/skills}/pixel-art/SKILL.md +13 -13
- package/library/skills/pixel-art/resource.yaml +31 -0
- package/library/skills/play/resource.yaml +26 -0
- package/{skills/workflow → library/skills}/playtesting-a-feature/SKILL.md +41 -22
- package/library/skills/playtesting-a-feature/resource.yaml +31 -0
- package/{skills/animation → library/skills}/procedural-animation/SKILL.md +25 -10
- package/library/skills/procedural-animation/resource.yaml +33 -0
- package/{skills/3d-assets → library/skills}/prop-model/SKILL.md +13 -13
- package/library/skills/prop-model/resource.yaml +33 -0
- package/library/skills/psx-retro-rendering/SKILL.md +416 -0
- package/library/skills/psx-retro-rendering/resource.yaml +36 -0
- package/library/skills/realtime-wet-surfaces/SKILL.md +189 -0
- package/library/skills/realtime-wet-surfaces/resource.yaml +31 -0
- package/{skills/deployment → library/skills}/remote-deploy/SKILL.md +3 -3
- package/library/skills/remote-deploy/resource.yaml +23 -0
- package/{skills/animation → library/skills}/retarget/SKILL.md +15 -14
- package/library/skills/retarget/resource.yaml +33 -0
- package/library/skills/running-in-the-cloud/SKILL.md +103 -0
- package/library/skills/running-in-the-cloud/resource.yaml +33 -0
- package/{skills/scene-and-project → library/skills}/scene-composition/SKILL.md +8 -0
- package/library/skills/scene-composition/resource.yaml +27 -0
- package/library/skills/scene-hierarchy-design/SKILL.md +102 -0
- package/library/skills/scene-hierarchy-design/resource.yaml +31 -0
- package/library/skills/scene-scripting/SKILL.md +764 -0
- package/library/skills/scene-scripting/resource.yaml +58 -0
- package/{skills/level-design → library/skills}/scene-to-level/SKILL.md +16 -17
- package/library/skills/scene-to-level/resource.yaml +33 -0
- package/library/skills/setup-multiplayer/resource.yaml +28 -0
- package/library/skills/skill-create/SKILL.md +138 -0
- package/library/skills/skill-create/resource.yaml +25 -0
- package/{skills/workflow → library/skills}/skill-improve/SKILL.md +2 -2
- package/library/skills/skill-improve/resource.yaml +25 -0
- package/{skills/workflow → library/skills}/skill-test/SKILL.md +4 -4
- package/library/skills/skill-test/resource.yaml +26 -0
- package/library/skills/skintokens-auto-rigging/SKILL.md +200 -0
- package/library/skills/skintokens-auto-rigging/resource.yaml +38 -0
- package/{skills/2d-assets → library/skills}/skybox-panorama/SKILL.md +8 -8
- package/library/skills/skybox-panorama/resource.yaml +28 -0
- package/{skills/audio → library/skills}/sound-effect/SKILL.md +2 -2
- package/library/skills/sound-effect/resource.yaml +27 -0
- package/library/skills/spatial-placement/SKILL.md +74 -0
- package/library/skills/spatial-placement/resource.yaml +42 -0
- package/library/skills/spatial-placement/tests/spec.md +65 -0
- package/{skills/2d-assets → library/skills}/sprite-sheet/SKILL.md +12 -12
- package/library/skills/sprite-sheet/resource.yaml +32 -0
- package/{skills/2d-assets → library/skills}/tileable-texture/SKILL.md +9 -9
- package/library/skills/tileable-texture/resource.yaml +31 -0
- package/{skills/video → library/skills}/trailer-shot/SKILL.md +1 -1
- package/library/skills/trailer-shot/resource.yaml +27 -0
- package/{skills/performance → library/skills}/tune-performance/SKILL.md +6 -6
- package/library/skills/tune-performance/resource.yaml +31 -0
- package/library/skills/ui-basics/resource.yaml +25 -0
- package/{skills/2d-assets → library/skills}/ui-graphics/SKILL.md +11 -11
- package/library/skills/ui-graphics/resource.yaml +29 -0
- package/{skills/2d-assets → library/skills}/use-widget-asset/SKILL.md +4 -4
- package/library/skills/use-widget-asset/resource.yaml +29 -0
- package/{skills/workflow → library/skills}/using-summer/SKILL.md +12 -9
- package/library/skills/using-summer/resource.yaml +41 -0
- package/{skills/3d-assets → library/skills}/vehicle-model/SKILL.md +18 -18
- package/library/skills/vehicle-model/resource.yaml +34 -0
- package/{skills/workflow → library/skills}/verification-before-completion/SKILL.md +10 -10
- package/library/skills/verification-before-completion/resource.yaml +23 -0
- package/library/skills/verifying-scenes/SKILL.md +98 -0
- package/library/skills/verifying-scenes/resource.yaml +42 -0
- package/{skills/visual-effects/recipes/dissolve → library/skills/vfx-dissolve}/SKILL.md +31 -11
- package/library/skills/vfx-dissolve/resource.yaml +33 -0
- package/{skills/visual-effects/recipes/fire → library/skills/vfx-fire}/SKILL.md +43 -12
- package/library/skills/vfx-fire/_building-blocks/noise-3d-fbm.gdshaderinc +45 -0
- package/library/skills/vfx-fire/resource.yaml +35 -0
- package/{skills/visual-effects/recipes/hit-spark → library/skills/vfx-hit-spark}/SKILL.md +16 -10
- package/library/skills/vfx-hit-spark/_building-blocks/additive-billboard-particles.md +37 -0
- package/library/skills/vfx-hit-spark/resource.yaml +34 -0
- package/{skills/visual-effects/recipes/lightning → library/skills/vfx-lightning}/SKILL.md +24 -11
- package/library/skills/vfx-lightning/_building-blocks/additive-billboard-particles.md +37 -0
- package/library/skills/vfx-lightning/resource.yaml +33 -0
- package/{skills/visual-effects/recipes/magic-glow → library/skills/vfx-magic-glow}/SKILL.md +31 -11
- package/library/skills/vfx-magic-glow/_building-blocks/additive-billboard-particles.md +37 -0
- package/library/skills/vfx-magic-glow/resource.yaml +34 -0
- package/{skills/visual-effects/recipes/muzzle-flash → library/skills/vfx-muzzle-flash}/SKILL.md +29 -9
- package/library/skills/vfx-muzzle-flash/_building-blocks/additive-billboard-particles.md +37 -0
- package/library/skills/vfx-muzzle-flash/_building-blocks/trauma-shake-snippet.md +53 -0
- package/library/skills/vfx-muzzle-flash/resource.yaml +35 -0
- package/{skills/visual-effects/recipes/smoke → library/skills/vfx-smoke}/SKILL.md +35 -9
- package/library/skills/vfx-smoke/_building-blocks/noise-3d-fbm.gdshaderinc +45 -0
- package/library/skills/vfx-smoke/resource.yaml +32 -0
- package/{skills/visual-effects/recipes/water-ripple → library/skills/vfx-water-ripple}/SKILL.md +31 -9
- package/library/skills/vfx-water-ripple/_building-blocks/additive-billboard-particles.md +37 -0
- package/library/skills/vfx-water-ripple/resource.yaml +31 -0
- package/library/skills/voice-line/resource.yaml +27 -0
- package/library/skills/world-building-3d/SKILL.md +105 -0
- package/library/skills/world-building-3d/references/spatial-tools.md +50 -0
- package/library/skills/world-building-3d/resource.yaml +44 -0
- package/library/skills/world-building-3d/tests/spec.md +48 -0
- package/{skills/workflow → library/skills}/writing-plans/SKILL.md +19 -14
- package/library/skills/writing-plans/resource.yaml +23 -0
- package/{skills/workflow → library/skills}/writing-skills/SKILL.md +38 -44
- package/library/skills/writing-skills/resource.yaml +29 -0
- package/{skills/workflow → library/skills}/writing-skills/testing-skills-with-subagents.md +13 -14
- package/library/templates/2d-brario-platformer/resource.yaml +21 -0
- package/library/templates/2d-dungeon-roguelike/resource.yaml +23 -0
- package/library/templates/2d-grid-puzzle/resource.yaml +21 -0
- package/library/templates/2d-plants-and-zombies-tower-defense/resource.yaml +21 -0
- package/library/templates/2d-platformer/resource.yaml +24 -0
- package/library/templates/2d-rpg/resource.yaml +21 -0
- package/library/templates/2d-vampire-survivor-roguelike/resource.yaml +21 -0
- package/library/templates/3d-basic/resource.yaml +16 -0
- package/library/templates/3d-city-kit/resource.yaml +24 -0
- package/library/templates/3d-fps-old-school/resource.yaml +21 -0
- package/library/templates/3d-fps-simple-animated-npc/resource.yaml +21 -0
- package/library/templates/3d-lan-multiplayer-starter/resource.yaml +22 -0
- package/library/templates/3d-open-world-explore-tps/resource.yaml +21 -0
- package/library/templates/3d-procedural-road-world/resource.yaml +21 -0
- package/library/templates/3d-racing-game/resource.yaml +21 -0
- package/library/templates/3d-royale-clash-type/resource.yaml +21 -0
- package/library/templates/3d-third-person-controller/resource.yaml +21 -0
- package/library/templates/3d-voxel-sandbox/resource.yaml +24 -0
- package/library/templates/README.md +94 -0
- package/library/templates/empty/resource.yaml +16 -0
- package/library/tools/add-node/resource.yaml +60 -0
- package/library/tools/align-distribute-3d/resource.yaml +87 -0
- package/library/tools/api-docs/resource.yaml +57 -0
- package/library/tools/batch/resource.yaml +52 -0
- package/library/tools/camera-bookmark/resource.yaml +73 -0
- package/library/tools/check-job/resource.yaml +45 -0
- package/library/tools/clear-console/resource.yaml +40 -0
- package/library/tools/connect-signal/resource.yaml +63 -0
- package/library/tools/create-debug-report/resource.yaml +67 -0
- package/library/tools/create-scene/resource.yaml +59 -0
- package/library/tools/creator-config/resource.yaml +63 -0
- package/library/tools/creator-publish/resource.yaml +73 -0
- package/library/tools/creator-releases/resource.yaml +53 -0
- package/library/tools/fabricate-3d/resource.yaml +108 -0
- package/library/tools/game-control/resource.yaml +84 -0
- package/library/tools/game-input/resource.yaml +159 -0
- package/library/tools/game-probe/resource.yaml +90 -0
- package/library/tools/generate-3d/resource.yaml +112 -0
- package/library/tools/generate-audio/resource.yaml +80 -0
- package/library/tools/generate-image/resource.yaml +62 -0
- package/library/tools/generate-motion/resource.yaml +66 -0
- package/library/tools/generate-video/resource.yaml +66 -0
- package/library/tools/get-agent-playbook/resource.yaml +40 -0
- package/library/tools/get-asset/resource.yaml +42 -0
- package/library/tools/get-asset-download-url/resource.yaml +52 -0
- package/library/tools/get-console/resource.yaml +69 -0
- package/library/tools/get-debugger-errors/resource.yaml +56 -0
- package/library/tools/get-debugger-warnings/resource.yaml +52 -0
- package/library/tools/get-diagnostics/resource.yaml +42 -0
- package/library/tools/get-project-context/resource.yaml +45 -0
- package/library/tools/get-runtime-tree/resource.yaml +62 -0
- package/library/tools/get-scene-tree/resource.yaml +52 -0
- package/library/tools/get-script-errors/resource.yaml +45 -0
- package/library/tools/get-studio-workflow/resource.yaml +43 -0
- package/library/tools/import-asset/resource.yaml +73 -0
- package/library/tools/import-asset-by-id/resource.yaml +56 -0
- package/library/tools/import-from-url/resource.yaml +51 -0
- package/library/tools/import-from-url-batch/resource.yaml +60 -0
- package/library/tools/import-hdri/resource.yaml +69 -0
- package/library/tools/input-map-bind/resource.yaml +52 -0
- package/library/tools/inspect-node/resource.yaml +46 -0
- package/library/tools/inspect-resource/resource.yaml +45 -0
- package/library/tools/inspect-runtime-node/resource.yaml +54 -0
- package/library/tools/instantiate-scene/resource.yaml +62 -0
- package/library/tools/is-running/resource.yaml +40 -0
- package/library/tools/library-feedback/resource.yaml +89 -0
- package/library/tools/list-my-assets/resource.yaml +56 -0
- package/library/tools/navigation-probe/resource.yaml +85 -0
- package/library/tools/open/resource.yaml +80 -0
- package/library/tools/open-main-scene/resource.yaml +40 -0
- package/library/tools/open-scene/resource.yaml +46 -0
- package/library/tools/play/resource.yaml +91 -0
- package/library/tools/project-setting/resource.yaml +53 -0
- package/library/tools/read-file/resource.yaml +47 -0
- package/library/tools/read-library/resource.yaml +67 -0
- package/library/tools/recent-events/resource.yaml +71 -0
- package/library/tools/remove-node/resource.yaml +51 -0
- package/library/tools/replace-node/resource.yaml +57 -0
- package/library/tools/replace-text/resource.yaml +61 -0
- package/library/tools/run-editor-script/resource.yaml +61 -0
- package/library/tools/run-script/resource.yaml +73 -0
- package/library/tools/runtime-animate/resource.yaml +140 -0
- package/library/tools/runtime-call/resource.yaml +74 -0
- package/library/tools/runtime-set/resource.yaml +80 -0
- package/library/tools/runtime-spawn/resource.yaml +95 -0
- package/library/tools/save-scene/resource.yaml +50 -0
- package/library/tools/screenshot/resource.yaml +112 -0
- package/library/tools/search-assets/resource.yaml +67 -0
- package/library/tools/search-library/resource.yaml +81 -0
- package/library/tools/select-node/resource.yaml +48 -0
- package/library/tools/set-prop/resource.yaml +64 -0
- package/library/tools/set-resource-property/resource.yaml +66 -0
- package/library/tools/slice-asset-sheet/resource.yaml +47 -0
- package/library/tools/snap-to-surface/resource.yaml +90 -0
- package/library/tools/snapshot-diff/resource.yaml +58 -0
- package/library/tools/starcast/resource.yaml +120 -0
- package/library/tools/start-game-task/resource.yaml +91 -0
- package/library/tools/stop/resource.yaml +51 -0
- package/library/tools/test-placement/resource.yaml +109 -0
- package/library/tools/ui-actions/resource.yaml +77 -0
- package/library/tools/ui-activate/resource.yaml +88 -0
- package/library/tools/ui-screenshot/resource.yaml +63 -0
- package/library/tools/ui-tree/resource.yaml +69 -0
- package/library/tools/wait-for-event/resource.yaml +84 -0
- package/library/tools/world-snapshot/resource.yaml +60 -0
- package/library/tools/write-file/resource.yaml +54 -0
- package/package.json +22 -16
- package/registry/generated/aliases.json +207 -0
- package/registry/generated/counts.json +12 -0
- package/registry/generated/gemini-extension.json +122 -0
- package/registry/generated/index.json +7709 -0
- package/registry/generated/marketplace.claude.json +44 -0
- package/registry/generated/mcp.json +13 -0
- package/registry/generated/plugin.claude.json +135 -0
- package/registry/generated/plugin.codex.json +144 -0
- package/registry/generated/plugin.cursor.json +134 -0
- package/registry/generated/plugin.factory.json +117 -0
- package/registry/generated/skills-registry.json +851 -0
- package/registry/generated/templates-registry.json +455 -0
- package/registry/schemas/allowed-hosts.json +19 -0
- package/registry/schemas/collection.schema.json +68 -0
- package/registry/schemas/domains.json +96 -0
- package/registry/schemas/example.schema.json +11 -0
- package/registry/schemas/reference.schema.json +10 -0
- package/registry/schemas/resource.schema.json +154 -0
- package/registry/schemas/skill.schema.json +14 -0
- package/registry/schemas/template.schema.json +46 -0
- package/registry/schemas/tool.schema.json +61 -0
- package/_persona/summer/SKILL.md +0 -113
- package/dist/bin/postinstall.d.ts +0 -2
- package/dist/bin/postinstall.js +0 -3
- package/dist/commands/cloud.d.ts +0 -2
- package/dist/commands/cloud.js +0 -80
- package/dist/commands/create.d.ts +0 -3
- package/dist/commands/create.js +0 -171
- package/dist/commands/install.d.ts +0 -19
- package/dist/commands/install.js +0 -194
- package/dist/commands/list.js +0 -67
- package/dist/commands/logout.js +0 -13
- package/dist/commands/logs.d.ts +0 -2
- package/dist/commands/logs.js +0 -19
- package/dist/commands/open.d.ts +0 -2
- package/dist/commands/open.js +0 -32
- package/dist/commands/orchestrator.d.ts +0 -8
- package/dist/commands/orchestrator.js +0 -143
- package/dist/commands/run.d.ts +0 -2
- package/dist/commands/run.js +0 -167
- package/dist/commands/status.js +0 -46
- package/dist/lib/banner.d.ts +0 -4
- package/dist/lib/banner.js +0 -122
- package/dist/lib/cloud/api.d.ts +0 -79
- package/dist/lib/cloud/api.js +0 -107
- package/dist/lib/cloud/apply.d.ts +0 -32
- package/dist/lib/cloud/apply.js +0 -294
- package/dist/lib/cloud/checkpoint.d.ts +0 -26
- package/dist/lib/cloud/checkpoint.js +0 -142
- package/dist/lib/cloud/conflicts.d.ts +0 -55
- package/dist/lib/cloud/conflicts.js +0 -131
- package/dist/lib/cloud/containment.d.ts +0 -8
- package/dist/lib/cloud/containment.js +0 -52
- package/dist/lib/cloud/diff.d.ts +0 -39
- package/dist/lib/cloud/diff.js +0 -138
- package/dist/lib/cloud/engine-bridge.d.ts +0 -34
- package/dist/lib/cloud/engine-bridge.js +0 -139
- package/dist/lib/cloud/hash-cache.d.ts +0 -23
- package/dist/lib/cloud/hash-cache.js +0 -44
- package/dist/lib/cloud/hash.d.ts +0 -10
- package/dist/lib/cloud/hash.js +0 -111
- package/dist/lib/cloud/http.d.ts +0 -17
- package/dist/lib/cloud/http.js +0 -47
- package/dist/lib/cloud/lock-path.d.ts +0 -1
- package/dist/lib/cloud/lock-path.js +0 -5
- package/dist/lib/cloud/lock.d.ts +0 -14
- package/dist/lib/cloud/lock.js +0 -143
- package/dist/lib/cloud/manifest.d.ts +0 -6
- package/dist/lib/cloud/manifest.js +0 -41
- package/dist/lib/cloud/paths.d.ts +0 -20
- package/dist/lib/cloud/paths.js +0 -90
- package/dist/lib/cloud/project-godot-merge.d.ts +0 -32
- package/dist/lib/cloud/project-godot-merge.js +0 -185
- package/dist/lib/cloud/rules.d.ts +0 -39
- package/dist/lib/cloud/rules.js +0 -159
- package/dist/lib/cloud/sync.d.ts +0 -21
- package/dist/lib/cloud/sync.js +0 -518
- package/dist/lib/cloud/transfer.d.ts +0 -23
- package/dist/lib/cloud/transfer.js +0 -184
- package/dist/lib/cloud/types.d.ts +0 -62
- package/dist/lib/cloud/types.js +0 -1
- package/dist/lib/cloud/validate-path.d.ts +0 -23
- package/dist/lib/cloud/validate-path.js +0 -103
- package/dist/lib/engine.d.ts +0 -51
- package/dist/lib/game-task-plan.d.ts +0 -42
- package/dist/lib/project-memory.d.ts +0 -33
- package/dist/lib/public-surface-paths.d.ts +0 -13
- package/dist/lib/public-surface-paths.js +0 -42
- package/dist/lib/remote-templates.d.ts +0 -25
- package/dist/lib/remote-templates.js +0 -86
- package/dist/lib/skills-registry.d.ts +0 -572
- package/dist/lib/skills-registry.js +0 -1061
- package/dist/lib/version-check.d.ts +0 -106
- package/dist/mcp/tools/cloud-tools.js +0 -42
- package/references/mcp-tools-reference.md +0 -199
- package/references/template-registry.md +0 -73
- package/skills/README.md +0 -103
- package/skills/scene-and-project/summer-cloud/SKILL.md +0 -92
- package/skills/workflow/brainstorming/scripts/frame-template.html +0 -214
- package/skills/workflow/brainstorming/scripts/helper.js +0 -88
- package/skills/workflow/brainstorming/scripts/server.cjs +0 -354
- package/skills/workflow/brainstorming/scripts/start-server.sh +0 -148
- package/skills/workflow/brainstorming/scripts/stop-server.sh +0 -56
- package/skills/workflow/brainstorming/visual-companion.md +0 -287
- package/skills/workflow/gameskill/SKILL.md +0 -120
- package/skills/workflow/investigating-bugs/CREATION-LOG.md +0 -119
- package/skills/workflow/investigating-bugs/condition-based-waiting-example.ts +0 -158
- package/skills/workflow/investigating-bugs/find-polluter.sh +0 -63
- package/skills/workflow/investigating-bugs/test-academic.md +0 -14
- package/skills/workflow/investigating-bugs/test-pressure-1.md +0 -58
- package/skills/workflow/investigating-bugs/test-pressure-2.md +0 -68
- package/skills/workflow/investigating-bugs/test-pressure-3.md +0 -69
- package/skills/workflow/mcpupdate/SKILL.md +0 -134
- package/skills/workflow/skill-create/SKILL.md +0 -153
- package/skills/workflow/writing-skills/anthropic-best-practices.md +0 -1150
- package/skills/workflow/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
- package/skills/workflow/writing-skills/graphviz-conventions.dot +0 -172
- package/skills/workflow/writing-skills/persuasion-principles.md +0 -187
- package/skills/workflow/writing-skills/render-graphs.js +0 -168
- /package/dist/{commands → cli/commands}/config.d.ts +0 -0
- /package/dist/{commands → cli/commands}/debug.d.ts +0 -0
- /package/dist/{commands → cli/commands}/list.d.ts +0 -0
- /package/dist/{commands → cli/commands}/login.d.ts +0 -0
- /package/dist/{commands → cli/commands}/plan.d.ts +0 -0
- /package/dist/{commands → cli/commands}/publish.d.ts +0 -0
- /package/dist/{commands → cli/commands}/releases.d.ts +0 -0
- /package/dist/{commands → cli/commands}/setup.d.ts +0 -0
- /package/dist/{commands → cli/commands}/skills.d.ts +0 -0
- /package/dist/{lib → core}/log-filters.d.ts +0 -0
- /package/dist/{lib → core}/mcp-log.d.ts +0 -0
- /package/dist/{lib → core}/store.d.ts +0 -0
- /package/dist/{lib → core}/summer-compatibility.d.ts +0 -0
- /package/dist/{lib → core}/telemetry.d.ts +0 -0
- /package/dist/{lib/mcp-boot-notice.js → mcp/boot-notice.js} +0 -0
- /package/dist/{commands/mcp.d.ts → mcp/command.d.ts} +0 -0
- /package/{references → library/references/collaborative-protocol}/collaborative-protocol.md +0 -0
- /package/{references → library/references/gd-style}/gd-style.md +0 -0
- /package/{skills/audio → library/skills}/ambient-bed/SKILL.md +0 -0
- /package/{skills/gameplay-mechanics → library/skills}/auto-fire-targeting/SKILL.md +0 -0
- /package/{skills/scripting-patterns → library/skills}/gdscript-patterns/SKILL.md +0 -0
- /package/{skills/scripting-patterns → library/skills}/gdscript-patterns/reference.md +0 -0
- /package/{skills/multiplayer-and-networking → library/skills}/host-authoritative-state/SKILL.md +0 -0
- /package/{skills/workflow → library/skills}/investigating-bugs/defense-in-depth.md +0 -0
- /package/{skills/audio → library/skills}/music-track/SKILL.md +0 -0
- /package/{skills/scene-and-project → library/skills}/play/SKILL.md +0 -0
- /package/{skills/multiplayer-and-networking → library/skills}/setup-multiplayer/SKILL.md +0 -0
- /package/{skills/ui-and-ux → library/skills}/ui-basics/SKILL.md +0 -0
- /package/{skills/visual-effects → library/skills/vfx-dissolve}/_building-blocks/noise-3d-fbm.gdshaderinc +0 -0
- /package/{skills/visual-effects → library/skills/vfx-fire}/_building-blocks/additive-billboard-particles.md +0 -0
- /package/{skills/visual-effects → library/skills/vfx-lightning}/_building-blocks/trauma-shake-snippet.md +0 -0
- /package/{skills/audio → library/skills}/voice-line/SKILL.md +0 -0
- /package/{skills/workflow → library/skills}/writing-plans/plan-document-reviewer-prompt.md +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Windsurf (Devin Desktop) integration
|
|
2
|
+
|
|
3
|
+
No manifest file is generated in this repo for Windsurf — `manifest-target.json`
|
|
4
|
+
is intentionally empty. Support is delivered at install time by
|
|
5
|
+
`summer setup windsurf`, which writes:
|
|
6
|
+
|
|
7
|
+
- MCP config: `~/.codeium/windsurf/mcp_config.json` (user scope; project scope
|
|
8
|
+
writes `.windsurf/mcp_config.json` for teams that load workspace config —
|
|
9
|
+
Windsurf documents MCP configuration as user-scoped).
|
|
10
|
+
- Skills: `summer skills install --agent windsurf` writes the `.windsurfrules`
|
|
11
|
+
rule file (`~/.windsurfrules` user scope, `./.windsurfrules` project scope).
|
|
12
|
+
|
|
13
|
+
Source of truth: `src/installer/agent-config.ts`, `src/cli/commands/skills.ts`.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
id: reference/collaborative-protocol
|
|
2
|
+
kind: reference
|
|
3
|
+
version: 1.0.2
|
|
4
|
+
summary: The "May I write?" protocol — before any user-visible write step, the agent states what it is about to do and asks permission.
|
|
5
|
+
use_when:
|
|
6
|
+
- authoring a skill that creates or modifies project files
|
|
7
|
+
- deciding whether to ask the user before a write, deletion, or overwrite
|
|
8
|
+
do_not_use_when:
|
|
9
|
+
- purely read-only inspection work with no user-visible writes
|
|
10
|
+
facets:
|
|
11
|
+
lifecycle: [ build ]
|
|
12
|
+
domains:
|
|
13
|
+
- agent-workflow
|
|
14
|
+
- conventions
|
|
15
|
+
compatibility:
|
|
16
|
+
engine: ">=4.6"
|
|
17
|
+
related:
|
|
18
|
+
references:
|
|
19
|
+
- reference/summer-folder
|
|
20
|
+
source: official
|
|
21
|
+
license: MIT
|
|
22
|
+
status: stable
|
|
23
|
+
aliases:
|
|
24
|
+
- references/collaborative-protocol.md
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
id: reference/gd-style
|
|
2
|
+
kind: reference
|
|
3
|
+
version: 1.0.2
|
|
4
|
+
summary: GDScript style conventions for Summer — the tiebreaker where Godot's official style guide is silent; skills should produce code matching this.
|
|
5
|
+
use_when:
|
|
6
|
+
- writing or reviewing GDScript in a Summer project
|
|
7
|
+
- authoring a skill that emits GDScript code
|
|
8
|
+
do_not_use_when:
|
|
9
|
+
- writing C# (this covers GDScript conventions only)
|
|
10
|
+
facets:
|
|
11
|
+
lifecycle: [ build ]
|
|
12
|
+
domains:
|
|
13
|
+
- scripting
|
|
14
|
+
- conventions
|
|
15
|
+
compatibility:
|
|
16
|
+
engine: ">=4.6"
|
|
17
|
+
source: official
|
|
18
|
+
license: MIT
|
|
19
|
+
status: stable
|
|
20
|
+
aliases:
|
|
21
|
+
- references/gd-style.md
|
|
22
|
+
lint_exceptions:
|
|
23
|
+
- url-allowlist
|
|
24
|
+
lint_exception_reason: Body is migrated byte-identical from references/gd-style.md and cites the official Godot GDScript style guide on docs.godotengine.org (read-only documentation link).
|
|
@@ -10,12 +10,12 @@ Summer Engine is the product. Its current upstream technical base is **4.6.1**
|
|
|
10
10
|
upstream continuously. These are compatibility and lineage facts. They are not
|
|
11
11
|
the Summer product name or a permanent SDK version.
|
|
12
12
|
|
|
13
|
-
The repository source of truth is
|
|
14
|
-
`
|
|
15
|
-
technical version:
|
|
13
|
+
The repository source of truth is `src/core/summer-compatibility.ts`
|
|
14
|
+
(`CURRENT_TECHNICAL_BASE_VERSION`, `plannedNextTechnicalBaseVersion`). The
|
|
15
|
+
running engine also reports its measured technical version:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
<engineBinaryPath> --version #
|
|
18
|
+
<engineBinaryPath> --version # e.g. 4.6.1.stable.mono.custom_build.<hash>
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Get `engineBinaryPath` from `summer_get_project_context`. Prefer live
|
|
@@ -39,7 +39,7 @@ routing, attribution, or licensing requires it.
|
|
|
39
39
|
|
|
40
40
|
## Summer-specific deltas from the upstream engine
|
|
41
41
|
|
|
42
|
-
- Local API server runs on `localhost:6550` (
|
|
42
|
+
- Local API server runs on `localhost:6550` by default (the port increments when several editors are open; each live editor publishes its port in `~/.summer/instances/<id>.json`, and the shared token lives in `~/.summer/api-token`).
|
|
43
43
|
- Engine ships a webview module in `modules/1summer_engine/`. Do not assume the
|
|
44
44
|
unmodified upstream editor for UI patches.
|
|
45
45
|
- Project root contains `.summer/` for project memory; do not delete it.
|
|
@@ -48,4 +48,4 @@ routing, attribution, or licensing requires it.
|
|
|
48
48
|
|
|
49
49
|
1. Use Summer MCP tools (`summer_inspect_node`, `summer_inspect_resource`) to read live editor state instead of guessing.
|
|
50
50
|
2. Use `summer_get_diagnostics` after every scene change.
|
|
51
|
-
3. Check `references/mcp-tools-reference.md` for the canonical tool list.
|
|
51
|
+
3. Check `library/references/mcp-tools-reference/mcp-tools-reference.md` for the canonical tool list.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
id: reference/godot-version
|
|
2
|
+
kind: reference
|
|
3
|
+
version: 1.0.2
|
|
4
|
+
summary: Summer Engine compatibility facts — current upstream technical base, version-sensitive APIs, and what to check before version-sensitive code.
|
|
5
|
+
use_when:
|
|
6
|
+
- writing shaders, rendering code, extensions, or export configuration
|
|
7
|
+
- deciding which engine APIs or features are safe to target
|
|
8
|
+
facets:
|
|
9
|
+
lifecycle: [ build ]
|
|
10
|
+
domains:
|
|
11
|
+
- engine
|
|
12
|
+
- scripting
|
|
13
|
+
compatibility:
|
|
14
|
+
engine: ">=4.6"
|
|
15
|
+
related:
|
|
16
|
+
references:
|
|
17
|
+
- reference/mcp-tools-reference
|
|
18
|
+
source: official
|
|
19
|
+
license: MIT
|
|
20
|
+
status: stable
|
|
21
|
+
aliases:
|
|
22
|
+
- references/godot-version.md
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Headless per-project routing
|
|
2
|
+
|
|
3
|
+
> Full protocol contract: `docs/HEADLESS_ROUTING.md` in the Summer repo (implementation in `src/core/headless/`). This page is the agent-facing summary.
|
|
4
|
+
|
|
5
|
+
## What it is
|
|
6
|
+
|
|
7
|
+
An opt-in routing layer for Summer MCP tool calls. When a call targets a project, it is served by, in fixed order:
|
|
8
|
+
|
|
9
|
+
1. **A live editor** that has the project open — always wins. Behavior is identical to routing being off.
|
|
10
|
+
2. **A live headless worker** already registered for the project (engine-owned process registry, dead processes pruned on read).
|
|
11
|
+
3. **A worker spawned on demand** — the engine binary launched in `--summer-worker` mode for that project, detached so it outlives the MCP session.
|
|
12
|
+
|
|
13
|
+
Only file, import, scene-read, and game run/stop/logs/screenshot operations work on a worker. Editor-only tools (inspector, viewport snapshots, scene preview, project state) fail with a clear "not supported by the headless worker" result instead of faking an answer.
|
|
14
|
+
|
|
15
|
+
## Ships dark
|
|
16
|
+
|
|
17
|
+
- Enabled by `SUMMER_HEADLESS_ROUTING=1`. Unset, the module is not loaded at all and nothing changes.
|
|
18
|
+
- Requires an engine build that ships the worker mode and process registry (Summer 4.7.x line). On older builds, leave the flag off.
|
|
19
|
+
- With the flag on and an editor open, the editor path is used unchanged — caching, credential-drift reconnects, and identity binding all behave as before.
|
|
20
|
+
|
|
21
|
+
## What an agent should expect
|
|
22
|
+
|
|
23
|
+
- Errors from this layer are prefixed `[headless:<stage>]` where stage is one of `connect`, `auth`, `op`, `spawn`, so you can tell "could not reach the worker" from "the worker went quiet mid-import".
|
|
24
|
+
- A first call with no editor and no worker can take up to two minutes while the worker starts and imports the project. Later calls are fast.
|
|
25
|
+
- **No blind retries.** If a mutating operation (write, import, run, stop) times out or the worker connection drops, the outcome is reported as UNKNOWN and the connection is quarantined. Inspect the target (read the file, check the scene) before retrying. There is deliberately no automatic reconnect or replay.
|
|
26
|
+
- Worker error strings start with a snake_case classifier (`sha256_mismatch`, `already_exists`, `needs_display`). `needs_display` on a screenshot means the machine has no display; open the project in the editor for screenshots.
|
|
27
|
+
|
|
28
|
+
## Environment knobs
|
|
29
|
+
|
|
30
|
+
| Variable | Purpose | Default |
|
|
31
|
+
| --- | --- | --- |
|
|
32
|
+
| `SUMMER_HEADLESS_ROUTING` | `1` enables the layer | unset (off) |
|
|
33
|
+
| `SUMMER_ENGINE_BIN` | Engine binary to spawn workers from; this layer's own override, checked first (set but missing = no binary) | discovered |
|
|
34
|
+
| `SUMMER_ENGINE_BINARY` | The shared engine-install override, honored next along with the standard install locations | discovered |
|
|
35
|
+
| `SUMMER_CACHE_DIR` | Override the registry directory (test seam; both sides must honor it) | OS cache dir |
|
|
36
|
+
| `SUMMER_WORKER_CONNECT_TIMEOUT_MS` | TCP connect budget | 5000 |
|
|
37
|
+
| `SUMMER_WORKER_HELLO_TIMEOUT_MS` | Handshake budget | 3000 |
|
|
38
|
+
| `SUMMER_WORKER_OP_TIMEOUT_MS` | Per-request inactivity budget | 30000 |
|
|
39
|
+
| `SUMMER_WORKER_LONG_OP_TIMEOUT_MS` | Inactivity budget for import and game run | 300000 |
|
|
40
|
+
| `SUMMER_WORKER_SPAWN_TIMEOUT_MS` | How long a spawned worker may take to register | 120000 |
|
|
41
|
+
|
|
42
|
+
Timeouts are inactivity-based: an import that keeps reporting progress never times out; a silent hang still does.
|
|
43
|
+
|
|
44
|
+
## Security posture (why you never see a token)
|
|
45
|
+
|
|
46
|
+
The worker and the client authenticate each other with hashes over a per-connection nonce; the registry token never crosses the wire and never appears in any error or log. The registry file is trusted only if it is a regular file under 512KiB, and every entry is verified against the live process before use.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
id: reference/headless-routing
|
|
2
|
+
kind: reference
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
summary: How MCP tool calls reach a project with no editor open — editor, then live headless worker, then spawned worker — behind SUMMER_HEADLESS_ROUTING=1.
|
|
5
|
+
use_when:
|
|
6
|
+
- a Summer MCP tool call must run against a project that no editor has open (CI, servers, scripting loops)
|
|
7
|
+
- deciding whether SUMMER_HEADLESS_ROUTING should be enabled for a session and what changes when it is
|
|
8
|
+
- a tool result mentions a headless worker, a [headless:<stage>] error, or an outcome-unknown quarantine
|
|
9
|
+
do_not_use_when:
|
|
10
|
+
- the project is already open in the Summer editor — routing is inert and the editor path serves the call unchanged
|
|
11
|
+
- looking up which MCP tool to call — that is the mcp-tools-reference
|
|
12
|
+
facets:
|
|
13
|
+
lifecycle: [build]
|
|
14
|
+
domains: [mcp, engine, headless]
|
|
15
|
+
compatibility:
|
|
16
|
+
engine: ">=4.7"
|
|
17
|
+
related:
|
|
18
|
+
references:
|
|
19
|
+
- reference/mcp-tools-reference
|
|
20
|
+
source: official
|
|
21
|
+
license: MIT
|
|
22
|
+
status: preview
|
|
23
|
+
aliases:
|
|
24
|
+
- docs/HEADLESS_ROUTING.md
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Summer MCP Fresh-Chat Playbook
|
|
2
|
+
|
|
3
|
+
The minimum safe workflow for AI agents building in a Summer Engine project.
|
|
4
|
+
|
|
5
|
+
## Build flow (default)
|
|
6
|
+
|
|
7
|
+
1. **Understand** the request, then outline a brief plan. Proceed once it's clearly right.
|
|
8
|
+
2. **Call `summer_get_project_context` first** so you don't guess scene paths or the project language and so the MCP session binds to the open project. Use `projectMemory` to decide which `.summer` files to read.
|
|
9
|
+
3. **Edit through identity-bound Summer tools.** Use `summer_read_file`, `summer_replace_text`, and guarded `summer_write_file` for `.gd`, `.tscn`, `.tres`, `.cs`, `.json`, docs, and config. Write GDScript by default; use C# only if the project already uses it.
|
|
10
|
+
4. **Play and iterate.** After writing code, **play the scene you just made** and read `summer_get_diagnostics`; fix and repeat until it launches clean — don't wait for the user to navigate to the feature before the first error shows.
|
|
11
|
+
|
|
12
|
+
## When to use Summer MCP (the live engine)
|
|
13
|
+
|
|
14
|
+
Use MCP for both guarded project file mutations and live-engine work:
|
|
15
|
+
|
|
16
|
+
- `summer_play` / `summer_stop` + `summer_get_diagnostics` — run and read errors
|
|
17
|
+
- `summer_screenshot` — see the editor viewport or running game (visual verification)
|
|
18
|
+
- navmesh or light baking
|
|
19
|
+
- runtime inspection of a live scene
|
|
20
|
+
- asset import
|
|
21
|
+
- structural edits into an **already-open** scene where you want the editor to manage node ids / instancing
|
|
22
|
+
- `summer_read_file` / `summer_replace_text` / `summer_write_file` — identity-bound text reads and guarded writes
|
|
23
|
+
|
|
24
|
+
Git, shell, and grep remain host-native. Project file mutations should stay on the Summer path when MCP is available.
|
|
25
|
+
|
|
26
|
+
## Safe editing rules
|
|
27
|
+
|
|
28
|
+
- Never guess scene paths like `res://main.tscn` — get them from `summer_get_project_context`.
|
|
29
|
+
- New files use `summer_write_file` with `create_only:true`; existing files use `summer_replace_text` or `summer_write_file` with the sha256 from `summer_read_file`.
|
|
30
|
+
- Guarded `.tscn`/`.tres` writes are supported. Prefer scene tools for live hierarchy and inspector edits; the engine schedules editor reload handling after file writes.
|
|
31
|
+
- Never perform destructive bulk removals unless the user explicitly asks.
|
|
32
|
+
- Never change `priority: locked` `.summer` memory, voice IDs, canon, or provider bindings without explicit user confirmation.
|
|
33
|
+
- Save live-engine scene edits with `summer_save_scene`; run `summer_get_diagnostics` after changes.
|
|
34
|
+
|
|
35
|
+
## Live-engine scene-edit flow (only when you need it)
|
|
36
|
+
|
|
37
|
+
1. `summer_get_project_context`
|
|
38
|
+
2. `summer_open_main_scene` (if needed)
|
|
39
|
+
3. `summer_get_scene_tree`
|
|
40
|
+
4. `summer_add_node` / `summer_set_prop` / `summer_set_resource_property`
|
|
41
|
+
5. `summer_save_scene`
|
|
42
|
+
6. `summer_get_diagnostics`
|
|
43
|
+
|
|
44
|
+
## Error recovery
|
|
45
|
+
|
|
46
|
+
- `"no scene open"` / `"no edited scene"` → call `summer_open_main_scene`.
|
|
47
|
+
- `"failed to open scene"` → re-check `mainScene` from `summer_get_project_context`; use the exact path only.
|
|
48
|
+
- A content/sha mismatch → re-read with `summer_read_file`, review the new bytes, and retry only if the intended edit still applies.
|
|
49
|
+
- An identity mismatch → call `summer_get_project_context` to rebind only if the newly open project is intentional.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
id: reference/mcp-fresh-chat-playbook
|
|
2
|
+
kind: reference
|
|
3
|
+
version: 1.0.1
|
|
4
|
+
summary: The minimum safe workflow for an AI agent building in a Summer Engine project — get context first, edit through Summer tools, play and iterate.
|
|
5
|
+
use_when:
|
|
6
|
+
- starting work in a Summer Engine project from a fresh conversation
|
|
7
|
+
- deciding the safe default order of MCP calls for a build task
|
|
8
|
+
facets:
|
|
9
|
+
lifecycle: [ build ]
|
|
10
|
+
domains:
|
|
11
|
+
- mcp
|
|
12
|
+
- agent-workflow
|
|
13
|
+
compatibility:
|
|
14
|
+
engine: ">=4.6"
|
|
15
|
+
related:
|
|
16
|
+
references:
|
|
17
|
+
- reference/mcp-tools-reference
|
|
18
|
+
- reference/summer-folder
|
|
19
|
+
source: official
|
|
20
|
+
license: MIT
|
|
21
|
+
status: stable
|
|
22
|
+
aliases:
|
|
23
|
+
- docs/MCP_FRESH_CHAT_PLAYBOOK.md
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
# Summer MCP Tools — Canonical Reference
|
|
2
|
+
|
|
3
|
+
> Use this as the single source of truth for which Summer MCP tool to call. Skills should reference tool names exactly as written here.
|
|
4
|
+
|
|
5
|
+
## When to use Summer MCP vs. host tools
|
|
6
|
+
|
|
7
|
+
**Use Summer MCP for** anything that needs the live editor or Godot's import pipeline:
|
|
8
|
+
- Scene graph mutation (`.tscn`)
|
|
9
|
+
- Node properties and resources (`.tres`)
|
|
10
|
+
- Project settings (`project.godot`) and InputMap
|
|
11
|
+
- Asset import (Godot's import pipeline must run)
|
|
12
|
+
- Play / stop / runtime state
|
|
13
|
+
- Diagnostics, console, debugger output, script errors
|
|
14
|
+
- Project text reads and guarded writes (`.gd`, `.cs`, `.tscn`, `.tres`, JSON, docs, config)
|
|
15
|
+
|
|
16
|
+
**Use host tools for** git, shell, grep, and non-project work. External host file writes bypass Summer's project-identity, sha256, and editor-reload safeguards and should not be used for project mutations while MCP is available.
|
|
17
|
+
|
|
18
|
+
**Rule of thumb:** project reads/writes go through Summer; live hierarchy/inspector changes use scene tools; process-level work remains with the host.
|
|
19
|
+
|
|
20
|
+
## Tool surface (86 tools)
|
|
21
|
+
|
|
22
|
+
### Project files (3)
|
|
23
|
+
|
|
24
|
+
| Tool | Use |
|
|
25
|
+
|---|---|
|
|
26
|
+
| `summer_read_file` | Read project text plus a full-file sha256 receipt. |
|
|
27
|
+
| `summer_write_file` | Create-only or sha256-guarded complete file write. |
|
|
28
|
+
| `summer_replace_text` | Unique (or explicit replace-all) text mutation with read/sha guard. |
|
|
29
|
+
|
|
30
|
+
### Scene graph (11)
|
|
31
|
+
|
|
32
|
+
| Tool | Use |
|
|
33
|
+
|---|---|
|
|
34
|
+
| `summer_get_scene_tree` | Read current scene graph. Always do this before mutating. |
|
|
35
|
+
| `summer_open_main_scene` | Open the project's main scene. |
|
|
36
|
+
| `summer_open_scene` | Open a specific `.tscn`. |
|
|
37
|
+
| `summer_open` | Navigate for the user: open a summerengine.com page (billing, my games, pricing, an MCP guide) or an editor surface (scene, node, script, file, a dock) by intent name, or `print` the URL / op. Destinations: the `product-map` reference; when to use it: the `navigate-summer` skill. |
|
|
38
|
+
| `summer_create_scene` | Create a new scene. |
|
|
39
|
+
| `summer_instantiate_scene` | Add an existing scene or 3D model as a child node. |
|
|
40
|
+
| `summer_inspect_node` | Read a single node's properties. |
|
|
41
|
+
| `summer_add_node` | Add a node to the explicit `scenePath`; the tab need not be open. |
|
|
42
|
+
| `summer_remove_node` | Remove a node from the explicit `scenePath`. |
|
|
43
|
+
| `summer_replace_node` | Swap a node's type in the explicit `scenePath`, preserving children. |
|
|
44
|
+
| `summer_select_node` | Set editor selection (visual feedback for the user). |
|
|
45
|
+
| `summer_save_scene` | Explicitly save/save-as a `scenePath`; mutation tools already append one final save. |
|
|
46
|
+
|
|
47
|
+
### Properties / resources (4)
|
|
48
|
+
|
|
49
|
+
| Tool | Use |
|
|
50
|
+
|---|---|
|
|
51
|
+
| `summer_set_prop` | Set a typed property in an explicit `scenePath` using Godot's `str_to_var()`. |
|
|
52
|
+
| `summer_set_resource_property` | Set a nested resource property in an explicit `scenePath`. |
|
|
53
|
+
| `summer_inspect_resource` | Read a resource's properties. |
|
|
54
|
+
| `summer_connect_signal` | Wire a signal between nodes. |
|
|
55
|
+
|
|
56
|
+
### Project & input (2)
|
|
57
|
+
|
|
58
|
+
| Tool | Use |
|
|
59
|
+
|---|---|
|
|
60
|
+
| `summer_project_setting` | Modify `project.godot` settings (rendering, physics). |
|
|
61
|
+
| `summer_input_map_bind` | Bind input actions in InputMap. Folds in the legacy `add_action` step. |
|
|
62
|
+
|
|
63
|
+
### Import pipeline (2)
|
|
64
|
+
|
|
65
|
+
| Tool | Use |
|
|
66
|
+
|---|---|
|
|
67
|
+
| `summer_import_from_url` | Download a `.glb`/`.png`/etc and run Godot's full import pipeline. |
|
|
68
|
+
| `summer_import_from_url_batch` | Same, batched (single filesystem scan). |
|
|
69
|
+
|
|
70
|
+
### Scene scripting (3)
|
|
71
|
+
|
|
72
|
+
| Tool | Use |
|
|
73
|
+
|---|---|
|
|
74
|
+
| `summer_run_script` | Run a GDScript (`func run(ctx):`) inside the live editor against the OPEN scene. Prefer it over 3+ CRUD ops or any computed placement (scatter, procedural meshes, bulk edits). Created nodes need `ctx.set_owner_recursive(node)` after `add_child`. |
|
|
75
|
+
| `summer_run_editor_script` | Run an EditorScript (`func _run():`) in a fresh headless child editor against the ON-DISK project. Cold path for batch/project-wide jobs; unsaved live edits are invisible to it. |
|
|
76
|
+
| `summer_api_docs` | Offline class-reference lookup (properties, methods, signals, constants). Verify names before scripting instead of guessing; works without the engine. |
|
|
77
|
+
|
|
78
|
+
### Mesh fabrication (1)
|
|
79
|
+
|
|
80
|
+
| Tool | Use |
|
|
81
|
+
|---|---|
|
|
82
|
+
| `summer_fabricate_3d` | Run a Blender Python (bpy) script in the user's OWN installed Blender — headless, engine-supervised — then import the exported `.glb` into `res://` and optionally instantiate it with `target_size`. For modular kits with exact dimensions, VFX meshes (shatter, sweeps, LOD chains), and post-processing generated models (decimate/UV/bake); generic props go to the library and characters to generation. Requires Blender on the machine (never bundled); `blender_not_found` carries the fix. The `fabricating-assets` skill has the bpy rules that survive glTF export. |
|
|
83
|
+
|
|
84
|
+
### Editor UI control (4)
|
|
85
|
+
|
|
86
|
+
Preview — the `Ui*` engine ops ship with a follow-up engine build; until then these return `engine_lacks_op`. Semantic first: scene work never goes through the editor UI (use the scene, scripting, and perception tools). UI ops are for editor-workflow steps a human does with the mouse — open Project Settings, switch the main screen, clear a blocking dialog, read a dock. Ladder: dedicated tool → named action → tree + activate → screenshot (pixels last, never for coordinates). Quit / project-reload / delete-without-confirm actions are denied by the engine. The `driving-the-editor-ui` skill carries the patterns.
|
|
87
|
+
|
|
88
|
+
| Tool | Use |
|
|
89
|
+
|---|---|
|
|
90
|
+
| `summer_ui_actions` | `mode:"list"` enumerates the editor's named actions (`name`, `label`, `shortcut_text`, `category`, `denied?`); `mode:"invoke" action_name:"editor/project_settings"` runs one exactly as its menu item / shortcut would and reports `handled`, `via`, `opened_dialog`. Failures: `unknown_action` (+`close_matches`), `denied_action`, `modal_open` (+`blocking_dialog`), `not_handled`. |
|
|
91
|
+
| `summer_ui_tree` | Structured Control tree of the live editor UI (class, path, rect, text/tooltip, `checked`/`enabled`/`tabs`/`current_tab`/`value`) from `root:"main" \| "window" \| "dock:<title\|id>" \| "dialog:<title>" \| "path:<node path>"`; `root:"dialogs"` lists every visible dialog/popup with `blocking`, `blocking_dialog`, and its `buttons`. The token-cheap alternative to a screenshot; its paths are what `summer_ui_activate` takes. |
|
|
92
|
+
| `summer_ui_activate` | Activate one control by tree path through its own input path — `press`, `toggle`, `focus`, `select_tab` (incl. `path:"main_screen" value:"3D"`), `set_text` (+`submit`), `set_value` — and `action:"dismiss_dialog"` (by `path` or `title`, `button` cancel/ok/text) to clear a blocking dialog. `state` / `visible_after` are read back after the action, never echoed. |
|
|
93
|
+
| `summer_ui_screenshot` | PNG of the editor window or one dock/dialog/control (`root`, `max_size`) returned as an image — the pixels-last fallback for LOOKING at the editor UI. Not for scene verification (`summer_screenshot`) and never for picking click coordinates. Honest `no_renderer` under a headless editor. |
|
|
94
|
+
|
|
95
|
+
### Perception (4)
|
|
96
|
+
|
|
97
|
+
| Tool | Use |
|
|
98
|
+
|---|---|
|
|
99
|
+
| `summer_world_snapshot` | Compact structured snapshot of the edited scene (paths, classes, transforms, world AABBs, visibility, resource fingerprints, light/camera/counts summary). The cheap read to run BEFORE and AFTER every mutation batch; keep the `snapshot_id`. |
|
|
100
|
+
| `summer_snapshot_diff` | Diff two snapshots into added/removed/changed + count deltas — the structural receipt that a mutation did exactly what was intended. Omit `to_id` to diff against a fresh snapshot taken now. |
|
|
101
|
+
| `summer_get_runtime_tree` | Scene tree of the RUNNING game (spawned enemies, autoloads, pooled nodes) — live state the editor reads can't show. Needs `summer_play` first. |
|
|
102
|
+
| `summer_inspect_runtime_node` | One running-game node's live properties (actual stats/position/flags) without stopping the game. Get paths from `summer_get_runtime_tree`. |
|
|
103
|
+
|
|
104
|
+
### Spatial / world building (5)
|
|
105
|
+
|
|
106
|
+
Bounded spatial evidence for deliberate 3D arrangement. All five take exact `scenePath` + scene-root-relative node paths (editor selection is never consulted) and return a compact receipt under 5 KB (`summer_starcast` full detail: at most 12 KB). Read `skill/world-building-3d` for each tool's evidence boundary before the first call, and `skill/spatial-placement` for the inspect -> place -> starcast -> correct -> verify loop.
|
|
107
|
+
|
|
108
|
+
| Tool | Use |
|
|
109
|
+
|---|---|
|
|
110
|
+
| `summer_test_placement` | Ghost-test one node at a candidate global pose (read-only, never saves): overlap evidence, grounded state, signed floor gap. `fits: null` means physics could not prove clearance — never coerce it to success. |
|
|
111
|
+
| `summer_snap_to_surface` | Seat one subject on the first surface along a world ray (default downward); mutation + save. `evidence: physics` = collider sweep; `visual_aabb` = mesh-only broad-phase fallback. |
|
|
112
|
+
| `summer_align_distribute_3d` | Align (min/center/max) or equal-space (centers/gaps) 2–16 ordered subjects along one world axis from visible AABBs; mutation + save. One-axis evidence only. |
|
|
113
|
+
| `summer_navigation_probe` | Read-only reachability between two world points on the scene's navigation map: readiness, snapped endpoints + snap distances, route length, ≤16 route points. `ready: false` = unknown, not unreachable. |
|
|
114
|
+
| `summer_starcast` | Read-only 26-direction placement rundown around one exact node: per-direction `open`/`blocked` with nearest object, distance and evidence, contact-or-overlap paths, `grounded`, coverage, warnings. `detail: summary` ≤ 5 KB; `full` adds hit geometry, an objects table and nearby lists ≤ 12 KB and downgrades to summary rather than exceed it. `visual_aabb` evidence is broad-phase, never exact contact. |
|
|
115
|
+
|
|
116
|
+
### Play / runtime (3)
|
|
117
|
+
|
|
118
|
+
| Tool | Use |
|
|
119
|
+
|---|---|
|
|
120
|
+
| `summer_play` | Run the game. Plain = the editor's embedded main game. Optional `seed` / `fixed_fps` / `time_scale` pin THIS launch (newer engines); the result's `determinism.applied` + `seed_scope` say what was pinned — a missing block means the engine ignored the pins. `instance` + `mode:"offscreen"` (+ `deterministic:true`, `speed`) spawn a hidden parallel instance (at most 3) that the runtime-control tools address by name. |
|
|
121
|
+
| `summer_stop` | Stop the running game, or `instance` to stop one offscreen instance. |
|
|
122
|
+
| `summer_is_running` | Check play state before deciding to call `summer_stop`; the boot check after `summer_play` (never sleep a guessed delay). |
|
|
123
|
+
|
|
124
|
+
### Runtime control & playtest (7)
|
|
125
|
+
|
|
126
|
+
Drive and observe the RUNNING game (engine runtime-control ops, preview — `engine_lacks_op` on older builds names the fallback). Every tool needs a running game (`game_not_running` otherwise), takes `instance`, and is sent alone. The `agent-playtesting` skill is the doctrine: launch deterministically → probe → act → step/probe → assert; never claim motion, spawning or a state change without a probe of the frame after.
|
|
127
|
+
|
|
128
|
+
| Tool | Use |
|
|
129
|
+
|---|---|
|
|
130
|
+
| `summer_game_probe` | State AND pixels of ONE frame, atomically: live tree, up to 64 `path:property` reads, screenshot (returned as an image), all stamped with the same frame counters. The evidence read of the loop. |
|
|
131
|
+
| `summer_game_control` | `pause` / `resume` / `step` exactly N physics or process frames (leaves the game suspended) / `speed` / `instances` (live instances with `attached`). |
|
|
132
|
+
| `summer_game_input` | `script` timed synthetic input (action / key / mouse_click / axis / raw), `record_start` / `record_stop` real input to `res://.summer/replays/`, `replay` a recording (`seed` only on a deterministic offscreen instance). One script in flight per instance (`busy`). |
|
|
133
|
+
| `summer_runtime_set` | Set one property on a live node; `applied:false` means the read-back disagreed. Never touches the scene file. |
|
|
134
|
+
| `summer_runtime_call` | Call one method on a live node and get its return value. |
|
|
135
|
+
| `summer_runtime_spawn` | `spawn` a PackedScene into the live game, or `free` a live node. |
|
|
136
|
+
| `summer_runtime_animate` | AnimationPlayer (`player`), AnimationTree state machine (`tree`), Skeleton3D bone poses (`bones`) — read (`cmd:"state"`, default) or drive. |
|
|
137
|
+
|
|
138
|
+
### Events (2)
|
|
139
|
+
|
|
140
|
+
| Tool | Use |
|
|
141
|
+
|---|---|
|
|
142
|
+
| `summer_wait_for_event` | Block until a matching engine event arrives — `play.started` after `summer_play`, `op.applied` / `op.failed` for one `requestId` after a long op, `script.error` during a playtest, `scene.saved`, `import.completed` — or the timeout elapses (default 30 s, max 120). Returns the events, `next_seq`, and an honest `timed_out`; never claim an event you did not receive. Take a cursor with `summer_recent_events` first so a moment that arrives immediately is not missed. Preview: engines without the events channel return `engine_lacks_events`. |
|
|
143
|
+
| `summer_recent_events` | The newest engine events (or everything after `since`) in one zero-wait read; its `next_seq` is the `since` cursor to hand `summer_wait_for_event` before triggering the action you will wait on. Shell twin: `summer events [--follow]`. |
|
|
144
|
+
|
|
145
|
+
### Visual capture (2)
|
|
146
|
+
|
|
147
|
+
| Tool | Use |
|
|
148
|
+
|---|---|
|
|
149
|
+
| `summer_screenshot` | Capture a frame and return it as an image the agent sees directly — editor viewport (`target:"viewport"`, default; no play needed), offscreen scene render (`target:"scene"`, presets or `framing:"camera"` which renders through the scene's OWN camera with its REAL WorldEnvironment — the trustworthy edit-time lighting check), or running game (`target:"game"`). Newer engines add fixed poses — `framing:"bookmark"` + `bookmark_name` (saved with `summer_camera_bookmark`) or `framing:"free"` + `camera_position`/`camera_look_at` — for before/after frames that line up, and `marks:true` for numbered labels the caption maps to node paths. Use to visually verify scene layout, asset placement, scale, framing, lighting, or runtime state. On macOS the running game is a floating window that can't be captured; prefer `viewport`. |
|
|
150
|
+
| `summer_camera_bookmark` | Save (`action:"save"`, from the editor viewport camera or an explicit pose), list, or delete named camera viewpoints persisted in the project (`res://.summer/camera_bookmarks.json`). Save once, then screenshot from it with `framing:"bookmark"` every time. Returns `engine_lacks_op` on engines that predate the bookmark ops. |
|
|
151
|
+
|
|
152
|
+
### Diagnostics (7)
|
|
153
|
+
|
|
154
|
+
| Tool | Use |
|
|
155
|
+
|---|---|
|
|
156
|
+
| `summer_create_debug_report` | Create a support-ready Markdown report for `/summer debug`. |
|
|
157
|
+
| `summer_get_diagnostics` | Aggregate error/warning summary. Call after every change. |
|
|
158
|
+
| `summer_get_console` | Engine output panel. |
|
|
159
|
+
| `summer_clear_console` | Clear before a fresh play, so post-run output is clean. |
|
|
160
|
+
| `summer_get_debugger_errors` | Runtime errors with stack traces. |
|
|
161
|
+
| `summer_get_debugger_warnings` | Runtime warnings from the debugger panel. |
|
|
162
|
+
| `summer_get_script_errors` | Script compilation errors. |
|
|
163
|
+
|
|
164
|
+
### Asset library (8)
|
|
165
|
+
|
|
166
|
+
| Tool | Use |
|
|
167
|
+
|---|---|
|
|
168
|
+
| `summer_search_assets` | Free public asset search (community library + user's own). Sources: `library`, `community`, `my_assets`, `all`. |
|
|
169
|
+
| `summer_list_my_assets` | List/search the signed-in user's generated and uploaded assets. Empty query lists recent assets. |
|
|
170
|
+
| `summer_get_asset` | Fetch one exact asset by ID with file URL, download URL, viewer URL, metadata, license, and visibility. |
|
|
171
|
+
| `summer_get_asset_download_url` | Get the primary or thumbnail download URL for a specific asset. Stable shape for future signed URLs. |
|
|
172
|
+
| `summer_import_asset` | Search, choose the top match, download, run Godot import, and optionally instantiate 3D models. |
|
|
173
|
+
| `summer_import_asset_by_id` | Import one exact Summer asset ID. Use after generation jobs or when the user selects a specific asset. |
|
|
174
|
+
| `summer_import_hdri` | Search Poly Haven's CC0 HDRIs (public API, no Summer login), import the `.hdr`/`.exr` into `res://sky/`, and get the exact `summer_run_script` snippet that wires it as the WorldEnvironment sky. The cheapest whole-scene lighting upgrade. |
|
|
175
|
+
| `summer_slice_asset_sheet` | Detect and crop every distinct asset from a generated sheet image into named individual assets (works without the engine; import the results afterwards). |
|
|
176
|
+
|
|
177
|
+
### Asset generation (5 — metered)
|
|
178
|
+
|
|
179
|
+
| Tool | Use |
|
|
180
|
+
|---|---|
|
|
181
|
+
| `summer_generate_image` | AI image gen. |
|
|
182
|
+
| `summer_generate_3d` | Image-to-3D. |
|
|
183
|
+
| `summer_generate_audio` | SFX / music gen. |
|
|
184
|
+
| `summer_generate_video` | Video gen. |
|
|
185
|
+
| `summer_generate_motion` | Generate/apply 3D skeletal motion from a rigged asset. |
|
|
186
|
+
|
|
187
|
+
### Job tracking (2)
|
|
188
|
+
|
|
189
|
+
| Tool | Use |
|
|
190
|
+
|---|---|
|
|
191
|
+
| `summer_check_job` | Poll a generation job. |
|
|
192
|
+
| `summer_batch` | Run multiple ops as a transaction. |
|
|
193
|
+
|
|
194
|
+
### Meta (4)
|
|
195
|
+
|
|
196
|
+
| Tool | Use |
|
|
197
|
+
|---|---|
|
|
198
|
+
| `summer_start_game_task` | Route a user goal into the right workflow, skills, MCP tool groups, asset policy, gates, and verification path. |
|
|
199
|
+
| `summer_get_studio_workflow` | Discover Summer Studio's guided workflow recipes (starter prompts, ordered steps, required tools) for a goal. |
|
|
200
|
+
| `summer_get_project_context` | Project, scene, and `.summer` memory summary — call at start of session. Binds the session to the open project and surfaces a `capabilitySkewWarning` when the engine build and CLI have drifted; tools whose op the engine provably lacks return a structured `engine_lacks_op` result instead of running. |
|
|
201
|
+
| `summer_get_agent_playbook` | Daily operating contract (observe-first loop, content routing, invariants, verification ritual) — call at start of session. Also served natively as the `summer_agent_playbook` MCP prompt. |
|
|
202
|
+
|
|
203
|
+
### Creator platform (3)
|
|
204
|
+
|
|
205
|
+
| Tool | Use |
|
|
206
|
+
|---|---|
|
|
207
|
+
| `summer_creator_publish` | Compute the exact `.pck` digest and size, require user confirmation, then run versioned prepare → write-once upload → finalize. The server independently verifies `publish` scope, ownership, bytes, and review state. |
|
|
208
|
+
| `summer_creator_releases` | List real creator-owned releases from `summer.creator.v1`, with opaque cursor pagination. |
|
|
209
|
+
| `summer_creator_config` | Read or confirm updates to the shared non-secret `~/.summer/config.json`. It never accepts or returns tokens. |
|
|
210
|
+
|
|
211
|
+
### Library search (2)
|
|
212
|
+
|
|
213
|
+
| Tool | Use |
|
|
214
|
+
|---|---|
|
|
215
|
+
| `summer_search_library` | Search the library (skills, tools, templates, references, examples, collections) by describing the task in plain words; ranked ids with `matched_by` (lexical / semantic). The first move for any task; works without the engine. |
|
|
216
|
+
| `summer_read_library` | Load one entry by id: a skill's SKILL.md plus metadata, a tool's call recipe, a template's pin, a reference's body. The last line is the `entry_id` footer to report through `summer_library_feedback`. |
|
|
217
|
+
|
|
218
|
+
### Library feedback (1)
|
|
219
|
+
|
|
220
|
+
| Tool | Use |
|
|
221
|
+
|---|---|
|
|
222
|
+
| `summer_library_feedback` | Report library-entry outcomes (worked/wrong/outdated/...) so entries get fixed and re-ranked. Fire-and-forget with a 1s cap; enum-first schema with no field for project files, chat content, or code; honors `SUMMER_NO_TELEMETRY=1` and `DO_NOT_TRACK=1`. |
|
|
223
|
+
|
|
224
|
+
## Common pattern
|
|
225
|
+
|
|
226
|
+
Every scene-touching skill should follow this loop:
|
|
227
|
+
|
|
228
|
+
1. `summer_start_game_task` — route the goal into skills/tools/gates.
|
|
229
|
+
2. `summer_get_project_context` — orient.
|
|
230
|
+
3. `summer_get_agent_playbook` — read the rules.
|
|
231
|
+
4. Resolve the exact `res://` scene path; open it only for an intentional current-tab read/UI action.
|
|
232
|
+
5. Pass that `scenePath` to mutations (`summer_add_node`, `summer_set_prop`, `summer_connect_signal`, ...).
|
|
233
|
+
6. Mutation tools append one final `SaveScene`; use `summer_save_scene` directly only for a standalone save/save-as.
|
|
234
|
+
7. `summer_get_script_errors` — catch GDScript breakage.
|
|
235
|
+
8. `summer_play` → `summer_get_debugger_errors` → `summer_screenshot` (see what's on screen) → `summer_stop` if verifying runtime.
|
|
236
|
+
|
|
237
|
+
Every asset-generation skill should follow this loop:
|
|
238
|
+
|
|
239
|
+
1. `summer_search_assets` or `summer_list_my_assets` — reuse before generating when reasonable.
|
|
240
|
+
2. `summer_generate_image` / `summer_generate_3d` / `summer_generate_audio` — metered creation.
|
|
241
|
+
3. `summer_check_job` if the generation was async.
|
|
242
|
+
4. `summer_get_asset` — resolve the returned `assetId`, `rigAssetId`, or `animationAssetId`.
|
|
243
|
+
5. `summer_import_asset_by_id` — import the exact result into Godot's pipeline.
|
|
244
|
+
6. `summer_get_asset_download_url` — only when the user explicitly wants a downloadable file/link.
|
|
245
|
+
|
|
246
|
+
## summer_set_resource_property — nested properties
|
|
247
|
+
|
|
248
|
+
Use it to reach a property *of a resource attached to a node* — mesh size, shape radius, material colour — the thing `summer_set_prop` cannot reach.
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
summer_add_node(parent="/", type="MeshInstance3D", name="Box", scenePath="res://main.tscn")
|
|
252
|
+
summer_set_prop(path="Box", key="mesh", value="BoxMesh", scenePath="res://main.tscn")
|
|
253
|
+
summer_set_resource_property(
|
|
254
|
+
nodePath="Box", resourceProperty="mesh", subProperty="size",
|
|
255
|
+
value="Vector3(2, 2, 2)", scenePath="res://main.tscn")
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
`nodePath`, `resourceProperty` and `subProperty` are all required and canonical. There is no dotted `"mesh.size"` form.
|
|
259
|
+
|
|
260
|
+
**Inline `sub_resource` targets work.** An earlier revision of this file claimed the op silently fails on an inline sub-resource and told you to save the resource as a standalone `.tres` first. That was wrong, and it propagated into nine skills. The implementation reads `node->get(resourceProperty)` and sets the sub-property on whatever comes back (`modules/1summer_engine/editor/ops/scene_ops.cpp:1273-1400`) — there is no inline-versus-external branch anywhere in it. The canonical example in the shipped `summer_batch` description does exactly this against an inline mesh.
|
|
261
|
+
|
|
262
|
+
Structural failures are explicit:
|
|
263
|
+
|
|
264
|
+
| Error | Meaning |
|
|
265
|
+
|---|---|
|
|
266
|
+
| `no edited scene` | Nothing open — pass `scenePath`. |
|
|
267
|
+
| `node not found: <path>` | `nodePath` is wrong; it is relative to the scene root. |
|
|
268
|
+
| `property is not a resource` | `resourceProperty` names a plain value, not a resource. |
|
|
269
|
+
| `resource is null` | The node has the property but nothing is assigned yet. Assign it first. |
|
|
270
|
+
|
|
271
|
+
What is *not* explicit on current engines is a bad value shape. `summer_set_prop` and `summer_set_resource_property` convert only string values (`res://` path → load, Resource class name → instantiate, anything else → `str_to_var`); a JSON object (reachable through `summer_batch`, which forwards ops verbatim, or raw `/api/ops`), a misspelled `key`/`subProperty`, or a wrong-typed value passes straight to `set()` and returns `ok:true` while silently no-op'ing or coercing destructively — a dict assigned to `material_override` clears the material, a dict assigned to a `Color` becomes `Color(0,0,0,1)`. Newer engines reject these with `unknown_property` / `bad_value_shape` / `type_mismatch`. Always pass class names and `Color(...)`/`Vector3(...)` strings, and confirm the result in the saved `.tscn` or a snapshot diff, never from `ok` alone.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
id: reference/mcp-tools-reference
|
|
2
|
+
kind: reference
|
|
3
|
+
version: 1.0.3
|
|
4
|
+
summary: Canonical reference for which Summer MCP tool to call — skills should reference tool names exactly as written here.
|
|
5
|
+
use_when:
|
|
6
|
+
- choosing between Summer MCP tools and host tools for an operation
|
|
7
|
+
- authoring a skill that names Summer MCP tools
|
|
8
|
+
facets:
|
|
9
|
+
lifecycle: [build]
|
|
10
|
+
domains: [mcp, tools]
|
|
11
|
+
compatibility:
|
|
12
|
+
engine: ">=4.6"
|
|
13
|
+
source: official
|
|
14
|
+
license: MIT
|
|
15
|
+
status: stable
|
|
16
|
+
aliases:
|
|
17
|
+
- references/mcp-tools-reference.md
|