summer-engine 2.8.2 → 3.1.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 +149 -44
- package/CLAUDE.md +4 -2
- package/GEMINI.md +7 -53
- package/NOTICE +31 -0
- package/README.md +161 -393
- 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/cli/commands/setup.js +158 -0
- package/dist/{commands → cli/commands}/skills.js +121 -251
- 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 +55 -0
- package/dist/core/skills-registry.js +106 -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/installer/agent-config.d.ts +63 -0
- package/dist/installer/agent-config.js +540 -0
- package/dist/installer/agent-table.d.ts +103 -0
- package/dist/installer/agent-table.js +584 -0
- 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 +148 -0
- package/dist/installer/skill-locations.d.ts +36 -0
- package/dist/installer/skill-locations.js +91 -0
- package/dist/installer/version-check.d.ts +178 -0
- package/dist/installer/version-check.js +479 -0
- 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 +99 -0
- 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/README.md +19 -0
- package/integrations/claude/manifest-target.json +16 -0
- package/integrations/claude-desktop/README.md +12 -0
- package/integrations/claude-desktop/manifest-target.json +3 -0
- package/integrations/cline/README.md +12 -0
- package/integrations/cline/manifest-target.json +3 -0
- package/integrations/cline-cli/README.md +12 -0
- package/integrations/cline-cli/manifest-target.json +3 -0
- package/integrations/codex/README.md +15 -0
- package/integrations/codex/manifest-target.json +5 -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/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/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 +12 -0
- package/integrations/kilo-code/manifest-target.json +3 -0
- 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 +12 -0
- package/integrations/lm-studio/manifest-target.json +3 -0
- package/integrations/mistral-vibe/README.md +12 -0
- package/integrations/mistral-vibe/manifest-target.json +3 -0
- package/integrations/opencode/README.md +12 -0
- package/integrations/opencode/manifest-target.json +3 -0
- 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 +14 -0
- package/integrations/roo-code/manifest-target.json +3 -0
- 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 +12 -0
- package/integrations/vscode-copilot/manifest-target.json +3 -0
- package/integrations/warp/README.md +12 -0
- package/integrations/warp/manifest-target.json +3 -0
- package/integrations/windsurf/README.md +12 -0
- package/integrations/windsurf/manifest-target.json +3 -0
- package/integrations/zed/README.md +12 -0
- package/integrations/zed/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/library/skills/README.md +242 -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 +21 -15
- 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-index.md +242 -0
- package/registry/generated/skills-registry.json +1249 -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/setup.js +0 -217
- package/dist/commands/status.js +0 -46
- package/dist/lib/agent-config.d.ts +0 -39
- package/dist/lib/agent-config.js +0 -626
- 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/lib/version-check.js +0 -338
- 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,58 @@
|
|
|
1
|
+
id: skill/scene-scripting
|
|
2
|
+
kind: skill
|
|
3
|
+
version: 1.1.1
|
|
4
|
+
summary: One GDScript in the live editor (summer_run_script) builds scenes, 2D levels, HUDs and gameplay wiring instead of CRUD chains; verify with diff + screenshot.
|
|
5
|
+
use_when:
|
|
6
|
+
- a scene change needs 3+ related ops or any computed placement — scattering, grids, rings, procedural meshes, geometry helpers, terrain, lighting rigs, keyframe animation, shader FX
|
|
7
|
+
- a 2D level (tilemap paint, bodies, camera limits, parallax), an animated sprite, a HUD or Control tree, a persisted signal connection, an attached script, a prefab, input actions, an autoload, or the main scene should be built in one script
|
|
8
|
+
- an API property/method name must be verified with summer_api_docs before scripting
|
|
9
|
+
- a cold project-wide batch job belongs in summer_run_editor_script
|
|
10
|
+
do_not_use_when:
|
|
11
|
+
- a single property tweak — summer_set_prop is cheaper
|
|
12
|
+
- one signal, one input binding, or one project setting — summer_connect_signal, summer_input_map_bind, summer_project_setting are one call each and ship today
|
|
13
|
+
- "the engine build lacks RunSceneScript (Summer Engine 0.5.66 or newer; older engines return engine_lacks_op) — RunEditorScript and RunVerification DO ship today, so fall back to summer_run_editor_script or the scene tools"
|
|
14
|
+
- "the 2D/UI/gameplay-code ctx helpers (Summer Engine 0.5.66 or newer) are missing on the engine — the skill's fallback table names what works everywhere"
|
|
15
|
+
facets:
|
|
16
|
+
lifecycle:
|
|
17
|
+
- build
|
|
18
|
+
domains:
|
|
19
|
+
- scenes
|
|
20
|
+
- scripting
|
|
21
|
+
- 2d
|
|
22
|
+
- ui
|
|
23
|
+
- agent-workflow
|
|
24
|
+
modalities:
|
|
25
|
+
- scripts
|
|
26
|
+
- scenes
|
|
27
|
+
compatibility:
|
|
28
|
+
engine: ">=4.6"
|
|
29
|
+
related:
|
|
30
|
+
tools:
|
|
31
|
+
- tool/run-script
|
|
32
|
+
- tool/run-editor-script
|
|
33
|
+
- tool/api-docs
|
|
34
|
+
- tool/world-snapshot
|
|
35
|
+
- tool/snapshot-diff
|
|
36
|
+
- tool/screenshot
|
|
37
|
+
- tool/connect-signal
|
|
38
|
+
- tool/input-map-bind
|
|
39
|
+
- tool/project-setting
|
|
40
|
+
- tool/write-file
|
|
41
|
+
- tool/get-script-errors
|
|
42
|
+
skills:
|
|
43
|
+
- skill/verifying-scenes
|
|
44
|
+
- skill/headless-scripting
|
|
45
|
+
- skill/scene-composition
|
|
46
|
+
- skill/character-animation-wiring
|
|
47
|
+
- skill/ui-basics
|
|
48
|
+
- skill/gdscript-patterns
|
|
49
|
+
- skill/sprite-sheet
|
|
50
|
+
- skill/verification-before-completion
|
|
51
|
+
templates:
|
|
52
|
+
- template/2d-platformer
|
|
53
|
+
source: official
|
|
54
|
+
license: MIT
|
|
55
|
+
status: preview
|
|
56
|
+
recommended: true
|
|
57
|
+
aliases:
|
|
58
|
+
- skills/workflow/scene-scripting
|
|
@@ -26,33 +26,32 @@ Use it when the user shows you a screenshot or concept image and says "build thi
|
|
|
26
26
|
│ └── route to TERRAIN + 2D ASSETS path
|
|
27
27
|
├─ 3D third-person / first-person
|
|
28
28
|
│ └── route to 3D ASSETS path (out of scope for this skill —
|
|
29
|
-
│ use
|
|
29
|
+
│ use `asset-strategy` directly)
|
|
30
30
|
└─ UI-only screen (menu, HUD)
|
|
31
31
|
└── route to UI ASSETS path (just plan-asset-pack)
|
|
32
32
|
|
|
33
33
|
2. For each visible element, route to the right sub-pipeline:
|
|
34
34
|
|
|
35
|
-
TERRAIN →
|
|
35
|
+
TERRAIN → tileable-texture
|
|
36
36
|
(auto-tiling Wang / 47-tile sheet; CURRENTLY a placeholder
|
|
37
37
|
that generates a single tile — full auto-tile work is
|
|
38
|
-
|
|
39
|
-
TERRAIN_AUTOTILE_IDEA.md and not yet built)
|
|
38
|
+
not yet built)
|
|
40
39
|
|
|
41
40
|
PROPS / DECOR / LIGHTING / NATURE / WATER / BUILDINGS / UI / VFX
|
|
42
41
|
── If user has time for individual generation, prefer:
|
|
43
|
-
│
|
|
42
|
+
│ create-asset-sheet (Plan + Generate Pack
|
|
44
43
|
│ mode at /studio/plan-asset-pack — higher quality, each asset
|
|
45
44
|
│ gets full model attention)
|
|
46
45
|
└── If user wants fast / exploratory:
|
|
47
|
-
|
|
46
|
+
create-asset-sheet (Slice from a sheet at
|
|
48
47
|
/studio/create-tileset — one sheet, autoslice, cheaper)
|
|
49
48
|
|
|
50
|
-
CHARACTERS →
|
|
51
|
-
frame, then
|
|
49
|
+
CHARACTERS → character-portrait first for the static
|
|
50
|
+
frame, then sprite-sheet for animation
|
|
52
51
|
|
|
53
52
|
3. Once assets exist, USE-WIDGET-ASSET on any UI / panel / bar /
|
|
54
53
|
toggle pack files to wire them as NinePatchRect / TextureProgressBar
|
|
55
|
-
/ etc. (see
|
|
54
|
+
/ etc. (see use-widget-asset)
|
|
56
55
|
|
|
57
56
|
4. Compose the scene:
|
|
58
57
|
- summer_create_scene(path=..., rootName=..., allow_temporary_scene_mutation=true).
|
|
@@ -81,10 +80,10 @@ Use it when the user shows you a screenshot or concept image and says "build thi
|
|
|
81
80
|
|
|
82
81
|
## When NOT to use
|
|
83
82
|
|
|
84
|
-
- The user wants a **single asset** → `
|
|
85
|
-
- The user wants to **design** a level from scratch (gameplay beats, pacing, encounters) → `
|
|
86
|
-
- The user wants a **3D level** → use `
|
|
87
|
-
- The user wants a **playable prototype with mechanics already** → mechanics aren't in scope. This skill produces the *visuals*; the mechanic skills (e.g. `
|
|
83
|
+
- The user wants a **single asset** → `pixel-art` or a leaf skill directly.
|
|
84
|
+
- The user wants to **design** a level from scratch (gameplay beats, pacing, encounters) → `design-level`. This skill is post-design — it implements a known visual target.
|
|
85
|
+
- The user wants a **3D level** → use `asset-strategy` directly; the orchestration for 3D scenes isn't in this skill yet.
|
|
86
|
+
- The user wants a **playable prototype with mechanics already** → mechanics aren't in scope. This skill produces the *visuals*; the mechanic skills (e.g. `design-mechanic`) handle behavior.
|
|
88
87
|
|
|
89
88
|
## Required up-front
|
|
90
89
|
|
|
@@ -117,7 +116,7 @@ User shows you a screenshot of a Japanese village with multiple islands, water b
|
|
|
117
116
|
3. **Plan the buildings pack**: 5 distinct buildings (small house, barn, shop, pagoda, watchtower).
|
|
118
117
|
4. **Generate terrain**: today, single grass tile + single water tile + edge variant placeholders. Full Wang-tile auto-tiling is the TERRAIN_AUTOTILE_IDEA.md unbuilt path.
|
|
119
118
|
5. **Plan the UI pack** via the planner with theme "isometric voxel game UI: bottom palette, toolbar with Place/Erase/Pan/Save/Reset, asset category tabs, instruction panel."
|
|
120
|
-
6. **For each UI slice that's a panel / button**, use `
|
|
119
|
+
6. **For each UI slice that's a panel / button**, use `use-widget-asset` to wire as NinePatchRect.
|
|
121
120
|
7. **Compose**: TileMap for terrain; Sprite2D placement matching the reference; Control nodes for the UI.
|
|
122
121
|
8. **Validate + hand off**.
|
|
123
122
|
|
|
@@ -125,7 +124,7 @@ Total wall-clock: maybe 30 min for the asset packs (parallel), another 15 for sc
|
|
|
125
124
|
|
|
126
125
|
## What this skill explicitly defers
|
|
127
126
|
|
|
128
|
-
- **3D scene assembly.** Out of scope; use `
|
|
129
|
-
- **Auto-tiling terrain.** The pipeline node exists in the decision tree but the leaf skill that implements it is not built
|
|
130
|
-
- **Animation orchestration.** Per-character `
|
|
127
|
+
- **3D scene assembly.** Out of scope; use `asset-strategy` directly until a 3D variant of this orchestrator exists.
|
|
128
|
+
- **Auto-tiling terrain.** The pipeline node exists in the decision tree but the leaf skill that implements it is not built.
|
|
129
|
+
- **Animation orchestration.** Per-character `sprite-sheet` is invoked manually; no auto-pairing of characters with their animation pipelines yet.
|
|
131
130
|
- **Gameplay code.** Player movement, interactions, win conditions — those are level-design + gameplay-mechanics skills, not this one.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
id: skill/scene-to-level
|
|
2
|
+
kind: skill
|
|
3
|
+
version: 1.0.3
|
|
4
|
+
summary: Go from a scene reference image or concept art to a playable scene — orchestrates concept, asset pack, terrain, composition, and scene assembly.
|
|
5
|
+
use_when:
|
|
6
|
+
- going from a scene reference image or concept art to a playable Summer Engine scene populated with the right assets and terrain
|
|
7
|
+
- the user shares concept art or a reference screenshot and wants that location built as a playable scene
|
|
8
|
+
facets:
|
|
9
|
+
lifecycle:
|
|
10
|
+
- build
|
|
11
|
+
domains:
|
|
12
|
+
- level-design
|
|
13
|
+
- game-design
|
|
14
|
+
modalities:
|
|
15
|
+
- scenes
|
|
16
|
+
- assets
|
|
17
|
+
compatibility:
|
|
18
|
+
engine: ">=4.6"
|
|
19
|
+
related:
|
|
20
|
+
skills:
|
|
21
|
+
- skill/character-portrait
|
|
22
|
+
- skill/create-asset-sheet
|
|
23
|
+
- skill/pixel-art
|
|
24
|
+
- skill/sprite-sheet
|
|
25
|
+
- skill/tileable-texture
|
|
26
|
+
- skill/use-widget-asset
|
|
27
|
+
- skill/design-mechanic
|
|
28
|
+
- skill/design-level
|
|
29
|
+
source: official
|
|
30
|
+
license: MIT
|
|
31
|
+
status: stable
|
|
32
|
+
aliases:
|
|
33
|
+
- skills/level-design/scene-to-level
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
id: skill/setup-multiplayer
|
|
2
|
+
kind: skill
|
|
3
|
+
version: 1.0.4
|
|
4
|
+
summary: Add multiplayer to an existing game — LAN/online co-op, PvP, lobbies — via MultiplayerAPI, MultiplayerSpawner, and MultiplayerSynchronizer.
|
|
5
|
+
use_when:
|
|
6
|
+
- "adding multiplayer to an existing Summer game: co-op LAN, co-op online, competitive PvP, or a lobby"
|
|
7
|
+
- a solo game needs LAN co-op, online co-op, versus play, or a lobby added
|
|
8
|
+
facets:
|
|
9
|
+
lifecycle:
|
|
10
|
+
- build
|
|
11
|
+
domains:
|
|
12
|
+
- multiplayer
|
|
13
|
+
- scripting
|
|
14
|
+
modalities:
|
|
15
|
+
- scripts
|
|
16
|
+
- scenes
|
|
17
|
+
compatibility:
|
|
18
|
+
engine: ">=4.6"
|
|
19
|
+
related:
|
|
20
|
+
skills:
|
|
21
|
+
- skill/peer-to-peer-multiplayer
|
|
22
|
+
- skill/host-authoritative-state
|
|
23
|
+
source: official
|
|
24
|
+
license: MIT
|
|
25
|
+
status: stable
|
|
26
|
+
recommended: true
|
|
27
|
+
aliases:
|
|
28
|
+
- skills/multiplayer-and-networking/setup-multiplayer
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-create
|
|
3
|
+
description: Use when a contributor wants to add a new skill to the Summer library. Bootstraps the canonical folder (library/skills/<slug>/ with resource.yaml and SKILL.md), frontmatter, and stub sections. Trigger on "create skill", "add skill", "new skill", "skill-create".
|
|
4
|
+
license: MIT
|
|
5
|
+
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
6
|
+
category: workflow
|
|
7
|
+
allowed-tools: Read Write Glob Grep Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /skill-create: bootstrap a new library skill
|
|
11
|
+
|
|
12
|
+
Works inside a checkout of the summer-engine agent repository (the one with `library/` and `registry/`). Outside it, capture the lesson with `gameskill` in the game project instead.
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
### 1. Get the basics
|
|
17
|
+
|
|
18
|
+
Ask the user:
|
|
19
|
+
- **Slug** (kebab-case, 64 chars or fewer, flat: no category folders). Example: `state-machine-patterns`.
|
|
20
|
+
- **Domain facets**: pick from the vocabulary in `registry/schemas/domains.json` (read it, do not guess). Example: `scripting`, `gameplay`.
|
|
21
|
+
- **One-sentence summary** and a "Use when ..." description for the frontmatter.
|
|
22
|
+
- **Template-id** (optional). Look it up in `library/templates/<id>/resource.yaml`.
|
|
23
|
+
|
|
24
|
+
### 2. Create the folder
|
|
25
|
+
|
|
26
|
+
May I create `library/skills/<slug>/` with this structure?
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
library/skills/<slug>/
|
|
30
|
+
resource.yaml routing metadata (schema: registry/schemas/resource.schema.json + skill.schema.json)
|
|
31
|
+
SKILL.md the skill body
|
|
32
|
+
references/ optional, populate as needed
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 3. Write resource.yaml (template)
|
|
36
|
+
|
|
37
|
+
```yaml
|
|
38
|
+
id: skill/<slug>
|
|
39
|
+
kind: skill
|
|
40
|
+
version: 1.0.0
|
|
41
|
+
summary: <one sentence, what and when>
|
|
42
|
+
use_when:
|
|
43
|
+
- <situation the router should match>
|
|
44
|
+
- <second situation>
|
|
45
|
+
do_not_use_when:
|
|
46
|
+
- <situation that belongs to a neighbouring skill>
|
|
47
|
+
facets:
|
|
48
|
+
lifecycle: [build]
|
|
49
|
+
domains: [<domain>]
|
|
50
|
+
modalities: [<scripts | scenes | assets | docs>]
|
|
51
|
+
compatibility:
|
|
52
|
+
engine: ">=4.6"
|
|
53
|
+
related:
|
|
54
|
+
skills: [skill/<neighbour>]
|
|
55
|
+
source: official
|
|
56
|
+
license: MIT
|
|
57
|
+
status: preview
|
|
58
|
+
recommended: false
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`status: preview` until the skill has been exercised against a live engine; flip to `stable` in the same change as the evidence.
|
|
62
|
+
|
|
63
|
+
### 4. Write SKILL.md (template)
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
---
|
|
67
|
+
name: <slug>
|
|
68
|
+
description: Use when <situation>. Lead with the trigger phrases.
|
|
69
|
+
license: MIT
|
|
70
|
+
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
71
|
+
category: <domain>
|
|
72
|
+
template-id: <optional>
|
|
73
|
+
allowed-tools: Read Grep <summer_* tools this skill uses>
|
|
74
|
+
paths: ["**/*.gd", "**/*.tscn"]
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
# <Title> for Summer Engine
|
|
78
|
+
|
|
79
|
+
<One paragraph: why this exists, who needs it.>
|
|
80
|
+
|
|
81
|
+
## Steps
|
|
82
|
+
|
|
83
|
+
### 1. <First step>
|
|
84
|
+
|
|
85
|
+
**Preferred (Summer MCP):**
|
|
86
|
+
|
|
87
|
+
\`\`\`
|
|
88
|
+
summer_<tool>(...)
|
|
89
|
+
\`\`\`
|
|
90
|
+
|
|
91
|
+
**Fallback (no MCP, edit `<file>` directly):**
|
|
92
|
+
|
|
93
|
+
\`\`\`
|
|
94
|
+
<raw text/code>
|
|
95
|
+
\`\`\`
|
|
96
|
+
|
|
97
|
+
May I <action>?
|
|
98
|
+
|
|
99
|
+
## Common mistakes
|
|
100
|
+
|
|
101
|
+
- <mistake, with a one-line fix>
|
|
102
|
+
|
|
103
|
+
## Want a working starter?
|
|
104
|
+
|
|
105
|
+
`summer create <template-id> my-game` (see `summer list templates` for the slugs)
|
|
106
|
+
|
|
107
|
+
## See also
|
|
108
|
+
|
|
109
|
+
- `godot-version` and `gd-style` in `library/references/`
|
|
110
|
+
- (related skills by bare slug)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Keep SKILL.md under 500 lines; push shared detail into `library/references/`. Cross-reference other skills by bare slug, never by path or `@` link.
|
|
114
|
+
|
|
115
|
+
### 5. Generate and validate
|
|
116
|
+
|
|
117
|
+
Nothing is registered by hand. Run:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
npm run generate:registry
|
|
121
|
+
npm run validate:library
|
|
122
|
+
npm test
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
`generate:registry` rewrites `registry/generated/` and every plugin manifest from `library/`; `validate:library` checks the schema, facets, related links and capability lint; the test suite checks manifest parity. Commit the generated files with the skill.
|
|
126
|
+
|
|
127
|
+
### 6. Run /skill-test
|
|
128
|
+
|
|
129
|
+
Confirm the structural checks pass and, if the skill drives tools, that the routing eval still finds it (`npm run eval:routing`).
|
|
130
|
+
|
|
131
|
+
## Collaborative protocol
|
|
132
|
+
|
|
133
|
+
This skill writes files. Always ask before each write step.
|
|
134
|
+
|
|
135
|
+
## See also
|
|
136
|
+
|
|
137
|
+
- `collaborative-protocol` in `library/references/`
|
|
138
|
+
- `skill-test`, `skill-improve`, `gameskill`
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
id: skill/skill-create
|
|
2
|
+
kind: skill
|
|
3
|
+
version: 1.0.3
|
|
4
|
+
summary: Bootstrap a new Summer library skill (library/skills/<slug>/ with resource.yaml and SKILL.md), frontmatter, and stub sections.
|
|
5
|
+
use_when:
|
|
6
|
+
- a contributor wants to add a new skill to the Summer library
|
|
7
|
+
- scaffolding a new library skill folder with canonical structure, frontmatter, and stub sections
|
|
8
|
+
facets:
|
|
9
|
+
lifecycle:
|
|
10
|
+
- build
|
|
11
|
+
domains:
|
|
12
|
+
- agent-workflow
|
|
13
|
+
- meta
|
|
14
|
+
modalities:
|
|
15
|
+
- docs
|
|
16
|
+
compatibility:
|
|
17
|
+
engine: ">=4.6"
|
|
18
|
+
related:
|
|
19
|
+
skills:
|
|
20
|
+
- skill/skill-test
|
|
21
|
+
source: official
|
|
22
|
+
license: MIT
|
|
23
|
+
status: stable
|
|
24
|
+
aliases:
|
|
25
|
+
- skills/workflow/skill-create
|
|
@@ -62,8 +62,8 @@ For each Case, score:
|
|
|
62
62
|
Output:
|
|
63
63
|
|
|
64
64
|
```
|
|
65
|
-
Case 1 (Happy): baseline 4/6 proposed 6/6
|
|
66
|
-
Case 2 (Failure): baseline 3/4 proposed 4/4
|
|
65
|
+
Case 1 (Happy): baseline 4/6 proposed 6/6 yes ship proposed
|
|
66
|
+
Case 2 (Failure): baseline 3/4 proposed 4/4 yes ship proposed
|
|
67
67
|
Case 3 (Edge): baseline 3/3 proposed 3/3 = no change
|
|
68
68
|
```
|
|
69
69
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
id: skill/skill-improve
|
|
2
|
+
kind: skill
|
|
3
|
+
version: 1.0.3
|
|
4
|
+
summary: Upgrade an underperforming Summer skill — run it against a behavioral spec with and without changes via a parallel-eval harness; ship the winner.
|
|
5
|
+
use_when:
|
|
6
|
+
- a contributor wants to upgrade a Summer skill that is underperforming or to fix a regression
|
|
7
|
+
- comparing a skill with and without a change against a behavioral spec before shipping the winner
|
|
8
|
+
facets:
|
|
9
|
+
lifecycle:
|
|
10
|
+
- build
|
|
11
|
+
domains:
|
|
12
|
+
- agent-workflow
|
|
13
|
+
- meta
|
|
14
|
+
modalities:
|
|
15
|
+
- docs
|
|
16
|
+
compatibility:
|
|
17
|
+
engine: ">=4.6"
|
|
18
|
+
related:
|
|
19
|
+
skills:
|
|
20
|
+
- skill/skill-test
|
|
21
|
+
source: official
|
|
22
|
+
license: MIT
|
|
23
|
+
status: stable
|
|
24
|
+
aliases:
|
|
25
|
+
- skills/workflow/skill-improve
|
|
@@ -21,9 +21,9 @@ For a single skill at `skills/<category>/<name>/`, run these checks:
|
|
|
21
21
|
- At least one `summer_*` MCP tool example.
|
|
22
22
|
- At least one file-edit fallback block (e.g., raw `.tscn` snippet) OR an explicit "no fallback for this — Summer MCP required" note.
|
|
23
23
|
4. **Collaborative protocol.** If the skill triggers user-visible writes, body must contain at least one of: `May I`, `I'm about to`, `Continue?`, `OK?`, `Proceed?`. Skills that only inspect/read are exempt.
|
|
24
|
-
5. **Template-id resolved.** If the skill's frontmatter declares `template-id: <id>`, that id must exist in
|
|
24
|
+
5. **Template-id resolved.** If the skill's frontmatter declares `template-id: <id>`, that id must exist in the template registry: `library/templates/<id>/resource.yaml` (see `library/templates/README.md`).
|
|
25
25
|
6. **Tests/spec.md present.** Every skill in a non-`_meta` category must have `tests/spec.md` with at least one `## Case` heading.
|
|
26
|
-
7. **Relative links resolve.** Every `](../references/...)`, `](../../references/...)`, `](./references/...)`, and `](./examples/...)` link must point at an existing file (FAIL if broken). Forward references in `## See also` to other SKILL.md files (e.g., `[design-mechanic](
|
|
26
|
+
7. **Relative links resolve.** Every `](../references/...)`, `](../../references/...)`, `](./references/...)`, and `](./examples/...)` link must point at an existing file (FAIL if broken). Forward references in `## See also` to other SKILL.md files (e.g., `[design-mechanic](../design-mechanic/SKILL.md)`) are allowed to dangle and only WARN if the target is missing — the catalog evolves and skills should be free to point at planned skills.
|
|
27
27
|
|
|
28
28
|
Output:
|
|
29
29
|
|
|
@@ -80,7 +80,7 @@ This skill is **read-only**. It never writes. No "May I" needed.
|
|
|
80
80
|
|
|
81
81
|
## See also
|
|
82
82
|
|
|
83
|
-
-
|
|
84
|
-
-
|
|
83
|
+
- `../../references/collaborative-protocol/collaborative-protocol.md`
|
|
84
|
+
- the template registry: `library/templates/<id>/resource.yaml` (see `library/templates/README.md`)
|
|
85
85
|
- `tests/runner.md`
|
|
86
86
|
- `tests/specs/` — per-skill behavioral specs
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
id: skill/skill-test
|
|
2
|
+
kind: skill
|
|
3
|
+
version: 1.0.4
|
|
4
|
+
summary: Lint a Summer skill before commit, audit the whole library, or check a behavioral spec assertion — static structural rules plus behavioral specs.
|
|
5
|
+
use_when:
|
|
6
|
+
- a contributor wants to lint a Summer skill before commit, audit the whole library, or check a behavioral spec assertion
|
|
7
|
+
- running the structural lint and behavioral spec assertions for one skill or the whole library
|
|
8
|
+
facets:
|
|
9
|
+
lifecycle:
|
|
10
|
+
- build
|
|
11
|
+
domains:
|
|
12
|
+
- agent-workflow
|
|
13
|
+
- meta
|
|
14
|
+
modalities:
|
|
15
|
+
- docs
|
|
16
|
+
compatibility:
|
|
17
|
+
engine: ">=4.6"
|
|
18
|
+
related:
|
|
19
|
+
skills:
|
|
20
|
+
- skill/skill-create
|
|
21
|
+
- skill/skill-improve
|
|
22
|
+
source: official
|
|
23
|
+
license: MIT
|
|
24
|
+
status: stable
|
|
25
|
+
aliases:
|
|
26
|
+
- skills/workflow/skill-test
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skintokens-auto-rigging
|
|
3
|
+
description: "Use when auto-rigging a static GLB mesh offline with skin-tokens.cpp (LocalAI's C++/GGML port of VAST-AI SkinTokens/TokenRig) in SummerEngine's art pipeline: generate a skeleton and skin weights on CPU/Vulkan, then import the rigged GLB into Godot 4."
|
|
4
|
+
license: MIT
|
|
5
|
+
category: art-pipeline
|
|
6
|
+
tags:
|
|
7
|
+
- rigging
|
|
8
|
+
- skinning
|
|
9
|
+
- assets
|
|
10
|
+
- glb
|
|
11
|
+
- ai-tooling
|
|
12
|
+
- godot4
|
|
13
|
+
confidence: extracted
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Auto-Rigging Static Meshes with skin-tokens.cpp (SkinTokens/TokenRig) in SummerEngine
|
|
17
|
+
|
|
18
|
+
## Tool review verdict
|
|
19
|
+
|
|
20
|
+
Not a "slop tool made by a solodev": it is published under the **localai-org** GitHub organization by Richard Palethorpe (LocalAI maintainer), is an Apache-2.0 C++23/GGML port of VAST-AI's MIT-licensed **SkinTokens/TokenRig** research model (arXiv:2602.04805), ships a flat C11 API, an ASan/UBSan libFuzzer build, CPU/Vulkan numerical-parity test suites against the upstream reference, and a Go/WebGL demo. Weights are a verified, non-retrained GGUF conversion (~1.25 GB F16) on Hugging Face.
|
|
21
|
+
|
|
22
|
+
Honest limitations to plan around:
|
|
23
|
+
|
|
24
|
+
- The fully automatic `rig` command (unconstrained skeleton generation) is **explicitly experimental** — the policy can produce unsuitable bone topologies.
|
|
25
|
+
- The author's own demo shows **open issues combining the output with kimodo.cpp skeletal animations**.
|
|
26
|
+
- Generation recomputes the Qwen3 graph without a KV cache and **may take several minutes** per mesh; dense decoder queries are capped at 16K vertices per graph (chunked beyond that).
|
|
27
|
+
- Results are strongest on shapes resembling the training distribution (humanoids; trained on ArticulationXL 2.0, VRoid Hub, ModelsResource).
|
|
28
|
+
|
|
29
|
+
**Recommendation:** worth adopting as an *offline asset-prep* tool in the art pipeline, primarily the `skin` command (weights for an existing skeleton). Treat `rig`-generated skeletons as drafts that need artist review before animation use.
|
|
30
|
+
|
|
31
|
+
## Outcome
|
|
32
|
+
|
|
33
|
+
Static `.glb` meshes (e.g. AI-generated or scanned characters/creatures) become rigged, skinned `.glb` assets that Godot 4 imports natively as `Skeleton3D` + skinned `MeshInstance3D`, ready for `AnimationPlayer`/retargeted animation — without manual weight painting.
|
|
34
|
+
|
|
35
|
+
## When to Use
|
|
36
|
+
|
|
37
|
+
- You receive an unrigged character/creature mesh and need a fast first-pass rig or skin weights.
|
|
38
|
+
- You have an existing armature (e.g. a mocap/Kimodo-style skeleton GLB) and only need learned skin weights for a mesh (`skin` command — the reliable path).
|
|
39
|
+
- Batch-rigging many props/characters where hand-painting weights is not cost-effective.
|
|
40
|
+
|
|
41
|
+
## When NOT to Use
|
|
42
|
+
|
|
43
|
+
- Hero characters needing production-quality, art-directed deformation — plan for manual weight cleanup after auto-rigging.
|
|
44
|
+
- Non-triangle meshes (tool accepts arbitrary triangle meshes only; triangulate first).
|
|
45
|
+
- Shapes far from the training distribution (expect weaker results; run `--geometric` diagnostic to compare).
|
|
46
|
+
- Runtime/in-engine rigging — this is an offline CLI/library step, not a Godot plugin.
|
|
47
|
+
|
|
48
|
+
## Core Principle
|
|
49
|
+
|
|
50
|
+
TokenRig models the whole rig — skeleton hierarchy followed by discrete skin-weight tokens (SkinTokens, an FSQ-CVAE vocabulary) — as one autoregressive sequence generated from a Michelangelo point-cloud encoding of the mesh (Qwen3-0.6B backbone, GRPO-refined). skin-tokens.cpp re-runs this stack through GGML on CPU or Vulkan and exports a standard skinned glTF/GLB with a one-frame rest pose, so it opens as a conventional rigged asset in any engine.
|
|
51
|
+
|
|
52
|
+
## Pipeline shape (SummerEngine)
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
static character.glb
|
|
56
|
+
│
|
|
57
|
+
▼
|
|
58
|
+
[skin-tokens-cli] rig | skin (offline, CPU or Vulkan, minutes per mesh)
|
|
59
|
+
│
|
|
60
|
+
▼
|
|
61
|
+
character-rigged.glb (skeleton + skin weights + rest pose, skinned glTF)
|
|
62
|
+
│
|
|
63
|
+
▼
|
|
64
|
+
Godot 4 import → character-rigged.glb (scene)
|
|
65
|
+
└── Skeleton3D
|
|
66
|
+
└── MeshInstance3D (skinned, Skin resource)
|
|
67
|
+
└── AnimationPlayer / retargeted animations
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Keep raw static meshes and rigged outputs as separate files under the asset folder convention, e.g. `assets/chars/<name>/source.glb` and `assets/chars/<name>/rigged.glb`, so re-rigging never destroys source art.
|
|
71
|
+
|
|
72
|
+
## Setup (once)
|
|
73
|
+
|
|
74
|
+
1. Build the CLI (Linux; C++23 toolchain, CMake ≥ 3.25, Ninja, nlohmann-json, Vulkan unless disabled):
|
|
75
|
+
```bash
|
|
76
|
+
git clone https://github.com/localai-org/skin-tokens.cpp
|
|
77
|
+
cd skin-tokens.cpp
|
|
78
|
+
git submodule update --init --recursive
|
|
79
|
+
cmake -S . -B build/release -G Ninja -DCMAKE_BUILD_TYPE=Release # add -DSKINTOKENS_ENABLE_VULKAN=OFF if no Vulkan
|
|
80
|
+
cmake --build build/release -j
|
|
81
|
+
cmake --install build/release --prefix ./dist
|
|
82
|
+
ctest --test-dir build/release --output-on-failure
|
|
83
|
+
./build/release/bin/skintokens-cli inspect models/SkinTokens-GGUF/F16 # sanity check after weights download
|
|
84
|
+
```
|
|
85
|
+
2. Download the F16 GGUF bundle (keep the 3 files together; runtime checks their embedded identities):
|
|
86
|
+
```bash
|
|
87
|
+
hf download LocalAI-io/SkinTokens-GGUF --include "F16/*" --local-dir models/SkinTokens-GGUF
|
|
88
|
+
```
|
|
89
|
+
(~1.25 GB: mesh-encoder 57.8 MB + tokenrig 948.6 MB + skin-vae 244 MB. Use F32 only for numerical-parity work.)
|
|
90
|
+
|
|
91
|
+
## Implementation Steps
|
|
92
|
+
|
|
93
|
+
### 1. Auto-rig a static mesh (draft skeleton + weights)
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
./build/release/bin/skintokens-cli rig models/SkinTokens-GGUF/F16 \
|
|
97
|
+
character.glb character-rigged.glb --device vulkan --postprocess
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
- `--postprocess` applies upstream's surface-locality heuristic (smoother, local influences); omit it only to preserve raw learned weights.
|
|
101
|
+
- Output stores a one-frame rest pose; inspect the skeleton topology before animating (experimental mode — see Failure Modes).
|
|
102
|
+
- Use `--geometric` as a non-learned baseline diagnostic when results look wrong.
|
|
103
|
+
|
|
104
|
+
### 2. Re-weight against an existing skeleton (preferred when an armature exists)
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# One rigged GLB supplies both geometry and skeleton (old weights ignored):
|
|
108
|
+
./build/release/bin/skintokens-cli skin models/SkinTokens-GGUF/F16 \
|
|
109
|
+
character-rigged.glb character-rigged.glb character-reweighted.glb \
|
|
110
|
+
--device vulkan --fit none
|
|
111
|
+
|
|
112
|
+
# Or separate mesh + animated skeleton GLBs (e.g. Kimodo animation output):
|
|
113
|
+
./build/release/bin/skintokens-cli skin models/SkinTokens-GGUF/F16 \
|
|
114
|
+
character.glb motion.glb animated.glb --device vulkan --fit global
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Fit modes:
|
|
118
|
+
|
|
119
|
+
| `--fit` | When | Behavior |
|
|
120
|
+
|---|---|---|
|
|
121
|
+
| `global` (default) | Mesh and skeleton in different coordinates | One uniform scale + translation matching vertical extent and centre; preserves relative joint positions and bone-length ratios |
|
|
122
|
+
| `none` | Both files already share coordinates | No alignment transform |
|
|
123
|
+
| `articulated` | Recognized humanoid arm chains; **experimental** | Picks whichever of rest pose / first animation frame actually runs inside the arms (bind pose == frame zero → playback starts without warping); falls back to analytic two-bone IK toward conservative mesh targets, preserving arm segment lengths |
|
|
124
|
+
|
|
125
|
+
### 3. Import into Godot 4
|
|
126
|
+
|
|
127
|
+
Drop the rigged `.glb` into the project; Godot's glTF importer creates the scene automatically:
|
|
128
|
+
|
|
129
|
+
- `Skeleton3D` with bones and a skinned `MeshInstance3D` (Skin resource), rest pose included.
|
|
130
|
+
- Check in the Import dock: mesh, skeleton, and (if supplied) animations present.
|
|
131
|
+
- If the source GLB contains animations and the hierarchy matches, Godot imports them into `AnimationPlayer`; otherwise use Godot 4's retargeting (`SkeletonProfileHumanoid`) to map animations onto the generated skeleton.
|
|
132
|
+
- glTF round-trip note from upstream: on Blender export of results, a `glTF_not_exported` node may need removing (only relevant if the pipeline goes through Blender).
|
|
133
|
+
|
|
134
|
+
### 4. Optional editor tooling (typed GDScript)
|
|
135
|
+
|
|
136
|
+
An EditorScript/utility wrapper to rig assets from inside Godot:
|
|
137
|
+
|
|
138
|
+
```gdscript
|
|
139
|
+
@tool
|
|
140
|
+
extends EditorScript
|
|
141
|
+
|
|
142
|
+
const CLI := "/opt/skin-tokens.cpp/build/release/bin/skintokens-cli"
|
|
143
|
+
const MODEL_DIR := "/opt/skin-tokens.cpp/models/SkinTokens-GGUF/F16"
|
|
144
|
+
|
|
145
|
+
func _run() -> void:
|
|
146
|
+
var src := "res://assets/chars/goblin/source.glb"
|
|
147
|
+
var dst := "res://assets/chars/goblin/rigged.glb"
|
|
148
|
+
var args: PackedStringArray = [
|
|
149
|
+
"rig", MODEL_DIR,
|
|
150
|
+
ProjectSettings.globalize_path(src),
|
|
151
|
+
ProjectSettings.globalize_path(dst),
|
|
152
|
+
"--device", "vulkan", "--postprocess",
|
|
153
|
+
]
|
|
154
|
+
var output: Array = []
|
|
155
|
+
var err := OS.execute(CLI, args, output, true, false)
|
|
156
|
+
if err != 0:
|
|
157
|
+
push_error("skin-tokens-cli failed (%d): %s" % [err, "\n".join(output)))
|
|
158
|
+
return
|
|
159
|
+
print("Rigged: ", dst)
|
|
160
|
+
# Reimport so the new GLB appears in the FileSystem dock.
|
|
161
|
+
EditorInterface.get_resource_filesystem().scan()
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
For embedding in a tool/asset server, prefer the flat C11 API (`skintokens.h`): `st_model_load` → `st_rig_file` / `st_skin_files` / `st_inspect_glb_file`, with caller-owned error buffers; C++ exceptions never cross the ABI.
|
|
165
|
+
|
|
166
|
+
## Tunables
|
|
167
|
+
|
|
168
|
+
| Parameter | Meaning | Guidance |
|
|
169
|
+
|---|---|---|
|
|
170
|
+
| `--device` | `cpu` or `vulkan` | Vulkan if available; CPU works but slower. F16 for normal inference |
|
|
171
|
+
| `--postprocess` | Surface-locality weight smoothing | On for game characters; off only to keep raw weights |
|
|
172
|
+
| `--fit` | Skeleton↔mesh alignment (`global`, `none`, `articulated`) | `global` default for separate files; `none` when coordinates match; `articulated` experimental humanoid-arm fix |
|
|
173
|
+
| `--geometric` | Non-learned diagnostic rigging | Compare against learned output when results look wrong |
|
|
174
|
+
| F16 vs F32 bundle | Precision | F16 (~1.25 GB) normal; F32 parity work only |
|
|
175
|
+
| Vertex budget | Dense decoder queries capped at 16K verts/graph, chunked beyond | Very dense meshes are handled in chunks; expect longer runs |
|
|
176
|
+
|
|
177
|
+
## Failure Modes & Gotchas
|
|
178
|
+
|
|
179
|
+
- **Unsuitable skeleton topology** from `rig` (experimental policy) — always have an artist inspect bones before animating; re-run or fall back to a template skeleton + `skin`.
|
|
180
|
+
- **Animation combination issues**: the author reports unresolved problems combining skin-tokens.cpp rigs with kimodo.cpp skeletal animations (visible at the end of the demo video). Verify any animation transfer manually.
|
|
181
|
+
- **Warped first frame** when the supplied skeleton's pose doesn't match the mesh: use `--fit global` (or `articulated` for humanoid arms) so bind pose aligns with the mesh; `--fit none` only when coordinates already match.
|
|
182
|
+
- **Out-of-distribution shapes** degrade quality silently — no error is raised. Spot-check deformation visually.
|
|
183
|
+
- **Runtime**: several minutes per mesh (no KV cache); do not put this in a per-frame or hot-reload path — batch offline.
|
|
184
|
+
- **Bundle integrity**: the three GGUF files of a bundle must stay together; load fails identity checks otherwise.
|
|
185
|
+
- **Vulkan precision**: slightly looser numerics than CPU (7.1e-4 hidden state / 1.4e-3 logits relative L2 vs 8.1e-6 CPU F32); visually equivalent but use F32+CPU for parity debugging.
|
|
186
|
+
- **Upstream GPU path** (Python VAST-AI repo) needs an NVIDIA GPU ≥ 14 GB — use the C++ port instead for CPU/Vulkan machines.
|
|
187
|
+
|
|
188
|
+
## Verification
|
|
189
|
+
|
|
190
|
+
Not summerengine-verified. To validate in SummerEngine:
|
|
191
|
+
|
|
192
|
+
1. `skintokens-cli inspect models/SkinTokens-GGUF/F16` succeeds after build + weights download.
|
|
193
|
+
2. Rig a known test mesh (`rig … --postprocess`) and open the output in the Godot editor: `Skeleton3D` with sensible bone hierarchy + skinned `MeshInstance3D`, no import errors.
|
|
194
|
+
3. Pose one bone in the editor; confirm the surface deforms smoothly without bleeding across disconnected parts.
|
|
195
|
+
4. `skin` path: feed a mesh + animated skeleton GLB with `--fit global`; play the animation in Godot and confirm frame zero does not warp the mesh.
|
|
196
|
+
5. Re-run ctest / parity binaries if the CLI is rebuilt or GGML is updated.
|
|
197
|
+
|
|
198
|
+
## Confidence
|
|
199
|
+
|
|
200
|
+
`extracted` — All tool behavior, commands, flags, sizes, numerics, and caveats come from the retrieved GitHub README, Hugging Face model card, upstream VAST-AI repo, and the author's X announcement (including the self-reported kimodo.cpp animation issue). The Godot 4 import mapping and GDScript wrapper are adaptations, not from the sources.
|