summer-engine 3.8.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -13
- package/.claude-plugin/plugin.json +24 -22
- package/.codex-plugin/plugin.json +18 -22
- package/.cursor-plugin/plugin.json +8 -14
- package/.factory-plugin/plugin.json +6 -13
- package/AGENTS.md +19 -12
- package/CHANGELOG.md +133 -0
- package/GEMINI.md +3 -3
- package/README.md +118 -37
- package/assets/icon.png +0 -0
- package/commands/start.md +71 -0
- package/commands/summer.md +3 -2
- package/dist/cli/banner.js +3 -0
- package/dist/cli/commands/config.js +3 -2
- package/dist/cli/commands/create.js +12 -3
- package/dist/cli/commands/list.d.ts +5 -0
- package/dist/cli/commands/list.js +30 -13
- package/dist/cli/commands/login.d.ts +27 -0
- package/dist/cli/commands/login.js +58 -12
- package/dist/cli/commands/memory.js +6 -2
- package/dist/cli/commands/ops.d.ts +64 -0
- package/dist/cli/commands/ops.js +329 -0
- package/dist/cli/commands/setup.d.ts +4 -0
- package/dist/cli/commands/setup.js +254 -26
- package/dist/cli/commands/skills.js +28 -11
- package/dist/cli/commands/status.d.ts +26 -0
- package/dist/cli/commands/status.js +36 -21
- package/dist/cli/index.js +7 -0
- package/dist/core/agent-host.d.ts +65 -0
- package/dist/core/agent-host.js +193 -0
- package/dist/core/capabilities/agent-playbook.d.ts +3 -0
- package/dist/core/capabilities/agent-playbook.js +54 -2
- package/dist/core/capabilities/apps.d.ts +33 -10
- package/dist/core/capabilities/apps.js +25 -12
- package/dist/core/capabilities/audit/args.d.ts +6 -6
- package/dist/core/capabilities/doctor.d.ts +3 -0
- package/dist/core/capabilities/doctor.js +20 -15
- package/dist/core/capabilities/fabricate-mesh.d.ts +4 -4
- package/dist/core/capabilities/game-task-plan.d.ts +12 -6
- package/dist/core/capabilities/game-task-plan.js +80 -5
- package/dist/core/capabilities/hdri-import.d.ts +2 -2
- package/dist/core/capabilities/motion-generation.d.ts +2 -2
- package/dist/core/capabilities/motion-generation.js +2 -2
- package/dist/core/capabilities/navigation/open.d.ts +6 -2
- package/dist/core/capabilities/navigation/open.js +3 -0
- package/dist/core/capabilities/placement.d.ts +23 -23
- package/dist/core/capabilities/publish-build.js +2 -0
- package/dist/core/capabilities/runtime-control.d.ts +42 -42
- package/dist/core/capabilities/scene-script-target.d.ts +17 -0
- package/dist/core/capabilities/scene-script-target.js +70 -0
- package/dist/core/capabilities/seeing/args.d.ts +16 -16
- package/dist/core/capabilities/sfx-choices.d.ts +4 -0
- package/dist/core/capabilities/sfx-choices.js +13 -6
- package/dist/core/capabilities/tool-dispatch.d.ts +12 -3
- package/dist/core/capabilities/tool-dispatch.js +81 -46
- package/dist/core/capabilities/ui-control.d.ts +2 -2
- package/dist/core/capabilities/world-snapshot.d.ts +4 -4
- package/dist/core/embeddings.d.ts +2 -0
- package/dist/core/embeddings.js +1 -1
- package/dist/core/error-codes.d.ts +62 -0
- package/dist/core/error-codes.js +97 -0
- package/dist/core/format.d.ts +2 -0
- package/dist/core/format.js +2 -1
- package/dist/core/hosted-mcp.d.ts +22 -0
- package/dist/core/hosted-mcp.js +56 -1
- package/dist/core/library-read.js +5 -0
- package/dist/core/library-search.d.ts +2 -2
- package/dist/core/library-search.js +2 -1
- package/dist/core/oauth.js +4 -0
- package/dist/core/ops/areas.d.ts +11 -0
- package/dist/core/ops/areas.js +24 -0
- package/dist/core/ops/catalog.d.ts +45 -0
- package/dist/core/ops/catalog.js +157 -0
- package/dist/core/ops/cloud.d.ts +64 -0
- package/dist/core/ops/cloud.js +198 -0
- package/dist/core/ops/contract.d.ts +120 -0
- package/dist/core/ops/contract.js +134 -0
- package/dist/core/ops/engine-answer.d.ts +25 -0
- package/dist/core/ops/engine-answer.js +117 -0
- package/dist/core/ops/engine.d.ts +55 -0
- package/dist/core/ops/engine.js +649 -0
- package/dist/core/ops/public-catalog.d.ts +48 -0
- package/dist/core/ops/public-catalog.js +56 -0
- package/dist/core/ops/save-files.d.ts +78 -0
- package/dist/core/ops/save-files.js +419 -0
- package/dist/core/ops/search.d.ts +8 -0
- package/dist/core/ops/search.js +187 -0
- package/dist/core/skills-registry.d.ts +16 -1
- package/dist/core/skills-registry.js +35 -2
- package/dist/core/telemetry.d.ts +32 -0
- package/dist/core/telemetry.js +38 -10
- package/dist/core/tool-profiles.d.ts +25 -0
- package/dist/core/tool-profiles.js +41 -0
- package/dist/installer/agent-config.d.ts +17 -4
- package/dist/installer/agent-config.js +27 -6
- package/dist/installer/agent-table.d.ts +12 -0
- package/dist/installer/agent-table.js +33 -9
- package/dist/installer/cli-permissions.d.ts +65 -0
- package/dist/installer/cli-permissions.js +182 -0
- package/dist/installer/setup.d.ts +4 -0
- package/dist/installer/setup.js +12 -4
- package/dist/installer/skills-refresh.d.ts +29 -0
- package/dist/installer/skills-refresh.js +261 -0
- package/dist/installer/version-check.d.ts +51 -11
- package/dist/installer/version-check.js +147 -37
- package/dist/mcp/command.js +7 -0
- package/dist/mcp/hosted-mount.d.ts +27 -2
- package/dist/mcp/hosted-mount.js +53 -23
- package/dist/mcp/legacy-toolset.d.ts +27 -0
- package/dist/mcp/legacy-toolset.js +43 -0
- package/dist/mcp/ops-surface.d.ts +59 -0
- package/dist/mcp/ops-surface.js +453 -0
- package/dist/mcp/server.d.ts +45 -11
- package/dist/mcp/server.js +263 -89
- package/dist/mcp/tool-results.d.ts +26 -0
- package/dist/mcp/tool-results.js +81 -0
- package/dist/mcp/tool-surface.d.ts +65 -0
- package/dist/mcp/tool-surface.js +317 -0
- package/dist/mcp/tools/app-tools.js +9 -2
- package/dist/mcp/tools/asset-tools.js +55 -53
- package/dist/mcp/tools/audit-tools.js +21 -21
- package/dist/mcp/tools/debug-tools.js +6 -6
- package/dist/mcp/tools/fabricate-tools.js +6 -6
- package/dist/mcp/tools/generate-tools.js +76 -70
- package/dist/mcp/tools/project-tools.d.ts +9 -4
- package/dist/mcp/tools/project-tools.js +16 -10
- package/dist/mcp/tools/scene-tools.js +12 -23
- package/dist/mcp/tools/script-tools.js +9 -5
- package/dist/mcp/tools/with-engine.d.ts +6 -0
- package/dist/mcp/tools/with-engine.js +19 -0
- package/dist/project-memory/agent-instructions.d.ts +47 -0
- package/dist/project-memory/agent-instructions.js +226 -0
- package/gemini-extension.json +6 -13
- package/hooks/pre-commit-doctor.sh +5 -4
- package/hooks/session-start.sh +24 -28
- package/integrations/README.md +1 -1
- package/integrations/claude/README.md +6 -0
- package/integrations/claude/manifest-target.json +4 -0
- package/integrations/claude-desktop/README.md +1 -1
- package/integrations/copilot-jetbrains/README.md +1 -1
- package/integrations/gemini/README.md +11 -0
- package/integrations/junie/README.md +1 -1
- package/integrations/lm-studio/README.md +1 -1
- package/integrations/trae/README.md +1 -1
- package/integrations/visual-studio/README.md +1 -1
- package/integrations/windsurf/README.md +1 -1
- package/library/references/mcp-tools-reference/mcp-tools-reference.md +79 -51
- package/library/references/mcp-tools-reference/resource.yaml +1 -1
- package/library/references/product-map/resource.yaml +2 -2
- package/library/skills/3d-lighting/SKILL.md +69 -28
- package/library/skills/3d-lighting/resource.yaml +1 -1
- package/library/skills/README.md +121 -118
- package/library/skills/adaptive-music/SKILL.md +40 -23
- package/library/skills/adaptive-music/resource.yaml +1 -1
- package/library/skills/agent-playtesting/SKILL.md +23 -1
- package/library/skills/agent-playtesting/resource.yaml +1 -1
- package/library/skills/ai-characters-in-games/SKILL.md +16 -1
- package/library/skills/ai-characters-in-games/resource.yaml +1 -1
- package/library/skills/ambient-bed/SKILL.md +38 -13
- package/library/skills/ambient-bed/resource.yaml +1 -1
- package/library/skills/animated-loop/SKILL.md +60 -32
- package/library/skills/animated-loop/resource.yaml +1 -1
- package/library/skills/animation-tree/SKILL.md +27 -1
- package/library/skills/animation-tree/resource.yaml +1 -1
- package/library/skills/art-direction/SKILL.md +17 -3
- package/library/skills/art-direction/resource.yaml +1 -1
- package/library/skills/asset-strategy/SKILL.md +51 -4
- package/library/skills/asset-strategy/resource.yaml +2 -1
- package/library/skills/audio-direction/SKILL.md +26 -10
- package/library/skills/audio-direction/resource.yaml +1 -1
- package/library/skills/auto-fire-targeting/SKILL.md +15 -1
- package/library/skills/auto-fire-targeting/resource.yaml +1 -1
- package/library/skills/bounded-engine-runs/SKILL.md +1 -1
- package/library/skills/bounded-engine-runs/resource.yaml +1 -1
- package/library/skills/brainstorm-game/SKILL.md +14 -1
- package/library/skills/brainstorm-game/resource.yaml +1 -1
- package/library/skills/brainstorming/SKILL.md +1 -1
- package/library/skills/brainstorming/resource.yaml +1 -1
- package/library/skills/browse-templates/SKILL.md +11 -1
- package/library/skills/browse-templates/resource.yaml +1 -1
- package/library/skills/camera-rigs/SKILL.md +22 -2
- package/library/skills/camera-rigs/resource.yaml +1 -1
- package/library/skills/celeste-momentum-platforming/resource.yaml +1 -0
- package/library/skills/character-animation-wiring/SKILL.md +28 -4
- package/library/skills/character-animation-wiring/resource.yaml +1 -1
- package/library/skills/character-model/SKILL.md +83 -47
- package/library/skills/character-model/resource.yaml +1 -1
- package/library/skills/character-movement/SKILL.md +27 -3
- package/library/skills/character-movement/resource.yaml +1 -1
- package/library/skills/character-portrait/SKILL.md +39 -19
- package/library/skills/character-portrait/resource.yaml +1 -1
- package/library/skills/cinematic-cutscene/SKILL.md +79 -46
- package/library/skills/cinematic-cutscene/resource.yaml +1 -1
- package/library/skills/combat-basics/SKILL.md +20 -1
- package/library/skills/combat-basics/resource.yaml +1 -1
- package/library/skills/compatibility-renderer-traps/SKILL.md +12 -1
- package/library/skills/compatibility-renderer-traps/resource.yaml +1 -1
- package/library/skills/concept-art/SKILL.md +29 -12
- package/library/skills/concept-art/resource.yaml +1 -1
- package/library/skills/concept-to-level/SKILL.md +258 -0
- package/library/skills/concept-to-level/references/technical-rules.md +150 -0
- package/library/skills/concept-to-level/resource.yaml +44 -0
- package/library/skills/create-asset-sheet/SKILL.md +37 -13
- package/library/skills/create-asset-sheet/resource.yaml +1 -1
- package/library/skills/debug/SKILL.md +34 -2
- package/library/skills/debug/resource.yaml +1 -1
- package/library/skills/debugging-game-feel/SKILL.md +13 -1
- package/library/skills/debugging-game-feel/resource.yaml +1 -1
- package/library/skills/design-level/SKILL.md +40 -35
- package/library/skills/design-level/resource.yaml +1 -1
- package/library/skills/design-mechanic/SKILL.md +18 -1
- package/library/skills/design-mechanic/resource.yaml +1 -1
- package/library/skills/design-npc/SKILL.md +43 -24
- package/library/skills/design-npc/resource.yaml +1 -1
- package/library/skills/diagnosing-perf-regressions/SKILL.md +13 -1
- package/library/skills/diagnosing-perf-regressions/resource.yaml +1 -1
- package/library/skills/driving-the-editor-ui/SKILL.md +24 -1
- package/library/skills/driving-the-editor-ui/resource.yaml +1 -1
- package/library/skills/environment-kit/SKILL.md +43 -16
- package/library/skills/environment-kit/resource.yaml +1 -1
- package/library/skills/export-and-ship/SKILL.md +29 -6
- package/library/skills/export-and-ship/resource.yaml +1 -1
- package/library/skills/fabricating-assets/SKILL.md +30 -7
- package/library/skills/fabricating-assets/resource.yaml +3 -3
- package/library/skills/facial-and-lipsync/SKILL.md +36 -15
- package/library/skills/facial-and-lipsync/resource.yaml +1 -1
- package/library/skills/fps-controller/SKILL.md +50 -41
- package/library/skills/fps-controller/resource.yaml +1 -1
- package/library/skills/game-feel/SKILL.md +34 -8
- package/library/skills/game-feel/resource.yaml +1 -1
- package/library/skills/gameskill/SKILL.md +15 -4
- package/library/skills/gameskill/resource.yaml +1 -1
- package/library/skills/gdscript-patterns/SKILL.md +16 -1
- package/library/skills/gdscript-patterns/resource.yaml +1 -1
- package/library/skills/generate-motion/SKILL.md +51 -21
- package/library/skills/generate-motion/resource.yaml +1 -1
- package/library/skills/godogen-visual-proof-game-generation/SKILL.md +18 -1
- package/library/skills/godogen-visual-proof-game-generation/resource.yaml +1 -0
- package/library/skills/grow-analytics/SKILL.md +13 -3
- package/library/skills/grow-analytics/resource.yaml +1 -1
- package/library/skills/headless-scripting/SKILL.md +14 -1
- package/library/skills/headless-scripting/resource.yaml +1 -1
- package/library/skills/in-game-purchases/SKILL.md +12 -1
- package/library/skills/in-game-purchases/resource.yaml +1 -1
- package/library/skills/instantiate-asset-pack/SKILL.md +19 -2
- package/library/skills/instantiate-asset-pack/resource.yaml +1 -1
- package/library/skills/lumera-single-image-scene-reconstruction/resource.yaml +1 -0
- package/library/skills/make-game/SKILL.md +33 -4
- package/library/skills/make-game/references/2d-platformer.md +1 -1
- package/library/skills/make-game/references/3d-fps.md +1 -1
- package/library/skills/make-game/references/3d-horror.md +1 -1
- package/library/skills/make-game/references/3d-third-person.md +2 -2
- package/library/skills/make-game/resource.yaml +1 -1
- package/library/skills/multiplayer/SKILL.md +13 -1
- package/library/skills/multiplayer/resource.yaml +1 -1
- package/library/skills/multiplayer-movement/SKILL.md +19 -1
- package/library/skills/multiplayer-movement/resource.yaml +1 -1
- package/library/skills/multiplayer-project/SKILL.md +18 -1
- package/library/skills/multiplayer-project/resource.yaml +1 -1
- package/library/skills/multiplayer-publish/SKILL.md +25 -7
- package/library/skills/multiplayer-publish/resource.yaml +3 -3
- package/library/skills/multiplayer-state/SKILL.md +17 -1
- package/library/skills/multiplayer-state/resource.yaml +1 -1
- package/library/skills/multiplayer-testing/SKILL.md +16 -1
- package/library/skills/multiplayer-testing/resource.yaml +1 -1
- package/library/skills/music-track/SKILL.md +38 -13
- package/library/skills/music-track/resource.yaml +1 -1
- package/library/skills/navigate-summer/SKILL.md +26 -9
- package/library/skills/navigate-summer/resource.yaml +1 -1
- package/library/skills/new-project/SKILL.md +12 -1
- package/library/skills/new-project/resource.yaml +1 -1
- package/library/skills/organic-model/SKILL.md +48 -18
- package/library/skills/organic-model/resource.yaml +1 -1
- package/library/skills/pixel-art/SKILL.md +42 -23
- package/library/skills/pixel-art/resource.yaml +1 -1
- package/library/skills/play/SKILL.md +19 -1
- package/library/skills/play/resource.yaml +1 -1
- package/library/skills/playtesting-a-feature/SKILL.md +24 -1
- package/library/skills/playtesting-a-feature/resource.yaml +1 -1
- package/library/skills/procedural-animation/SKILL.md +38 -16
- package/library/skills/procedural-animation/resource.yaml +1 -1
- package/library/skills/prop-model/SKILL.md +48 -19
- package/library/skills/prop-model/resource.yaml +1 -1
- package/library/skills/psx-retro-rendering/resource.yaml +1 -0
- package/library/skills/publish-your-game/SKILL.md +43 -6
- package/library/skills/publish-your-game/resource.yaml +3 -3
- package/library/skills/realtime-wet-surfaces/resource.yaml +1 -0
- package/library/skills/release-readiness/SKILL.md +13 -1
- package/library/skills/release-readiness/resource.yaml +1 -1
- package/library/skills/remote-deploy/SKILL.md +15 -1
- package/library/skills/remote-deploy/resource.yaml +1 -1
- package/library/skills/retarget/SKILL.md +43 -20
- package/library/skills/retarget/resource.yaml +1 -1
- package/library/skills/running-in-the-cloud/SKILL.md +11 -1
- package/library/skills/running-in-the-cloud/resource.yaml +1 -1
- package/library/skills/save-load/SKILL.md +16 -1
- package/library/skills/save-load/resource.yaml +1 -1
- package/library/skills/scene-composition/SKILL.md +18 -1
- package/library/skills/scene-composition/resource.yaml +1 -1
- package/library/skills/scene-hierarchy-design/SKILL.md +26 -2
- package/library/skills/scene-hierarchy-design/resource.yaml +1 -1
- package/library/skills/scene-scripting/SKILL.md +96 -636
- package/library/skills/scene-scripting/references/ctx-api.md +184 -0
- package/library/skills/scene-scripting/references/recipes-2d-ui.md +193 -0
- package/library/skills/scene-scripting/references/recipes-3d.md +280 -0
- package/library/skills/scene-scripting/resource.yaml +4 -4
- package/library/skills/scene-to-level/SKILL.md +24 -2
- package/library/skills/scene-to-level/resource.yaml +1 -1
- package/library/skills/skill-create/resource.yaml +1 -0
- package/library/skills/skill-improve/resource.yaml +1 -0
- package/library/skills/skill-test/SKILL.md +12 -2
- package/library/skills/skill-test/resource.yaml +1 -0
- package/library/skills/skintokens-auto-rigging/resource.yaml +1 -0
- package/library/skills/skybox-panorama/SKILL.md +47 -21
- package/library/skills/skybox-panorama/resource.yaml +1 -1
- package/library/skills/sound-effect/SKILL.md +52 -20
- package/library/skills/sound-effect/resource.yaml +1 -1
- package/library/skills/spatial-placement/SKILL.md +44 -9
- package/library/skills/spatial-placement/resource.yaml +1 -1
- package/library/skills/sprite-sheet/SKILL.md +55 -27
- package/library/skills/sprite-sheet/resource.yaml +1 -1
- package/library/skills/store-art/SKILL.md +14 -3
- package/library/skills/store-art/resource.yaml +2 -2
- package/library/skills/store-listing/SKILL.md +13 -3
- package/library/skills/store-listing/resource.yaml +2 -2
- package/library/skills/summer-analytics/SKILL.md +22 -5
- package/library/skills/summer-analytics/resource.yaml +2 -2
- package/library/skills/summer-apps/SKILL.md +77 -32
- package/library/skills/summer-apps/manifest.md +1 -1
- package/library/skills/summer-apps/minimal-app.md +7 -7
- package/library/skills/summer-apps/resource.yaml +1 -1
- package/library/skills/summer-apps/sdk-reference.md +5 -5
- package/library/skills/summer-apps-design/SKILL.md +1 -1
- package/library/skills/summer-apps-design/resource.yaml +1 -1
- package/library/skills/summer-assets/SKILL.md +86 -0
- package/library/skills/summer-assets/resource.yaml +34 -0
- package/library/skills/summer-cli/SKILL.md +133 -0
- package/library/skills/summer-cli/resource.yaml +31 -0
- package/library/skills/summer-friends/SKILL.md +14 -0
- package/library/skills/summer-leaderboards/SKILL.md +16 -0
- package/library/skills/summer-match-results/SKILL.md +17 -0
- package/library/skills/summer-matchmaking/SKILL.md +17 -0
- package/library/skills/summer-parties/SKILL.md +14 -0
- package/library/skills/summer-player-data/SKILL.md +14 -0
- package/library/skills/summer-store/SKILL.md +16 -1
- package/library/skills/summer-world-chat/SKILL.md +14 -0
- package/library/skills/summer-world-saves/SKILL.md +14 -0
- package/library/skills/text-to-motion/SKILL.md +45 -23
- package/library/skills/text-to-motion/prompts-and-controls.md +5 -5
- package/library/skills/text-to-motion/resource.yaml +1 -1
- package/library/skills/text-to-motion/rigging-for-text-motion.md +2 -2
- package/library/skills/tileable-texture/SKILL.md +37 -15
- package/library/skills/tileable-texture/resource.yaml +1 -1
- package/library/skills/trailer-shot/SKILL.md +46 -24
- package/library/skills/trailer-shot/resource.yaml +1 -1
- package/library/skills/tune-performance/SKILL.md +32 -6
- package/library/skills/tune-performance/resource.yaml +1 -1
- package/library/skills/ui-basics/SKILL.md +55 -36
- package/library/skills/ui-basics/resource.yaml +1 -1
- package/library/skills/ui-graphics/SKILL.md +64 -38
- package/library/skills/ui-graphics/resource.yaml +1 -1
- package/library/skills/use-widget-asset/SKILL.md +15 -1
- package/library/skills/use-widget-asset/resource.yaml +1 -1
- package/library/skills/using-summer/SKILL.md +32 -5
- package/library/skills/using-summer/resource.yaml +3 -2
- package/library/skills/vehicle-model/SKILL.md +92 -57
- package/library/skills/vehicle-model/resource.yaml +1 -1
- package/library/skills/verification-before-completion/SKILL.md +1 -1
- package/library/skills/verification-before-completion/resource.yaml +1 -1
- package/library/skills/verifying-scenes/SKILL.md +31 -2
- package/library/skills/verifying-scenes/resource.yaml +1 -1
- package/library/skills/vfx-dissolve/SKILL.md +21 -2
- package/library/skills/vfx-dissolve/resource.yaml +1 -1
- package/library/skills/vfx-fire/SKILL.md +41 -41
- package/library/skills/vfx-fire/resource.yaml +1 -1
- package/library/skills/vfx-hit-spark/SKILL.md +24 -1
- package/library/skills/vfx-hit-spark/resource.yaml +1 -1
- package/library/skills/vfx-lightning/SKILL.md +30 -16
- package/library/skills/vfx-lightning/resource.yaml +1 -1
- package/library/skills/vfx-magic-glow/SKILL.md +46 -32
- package/library/skills/vfx-magic-glow/resource.yaml +1 -1
- package/library/skills/vfx-muzzle-flash/SKILL.md +43 -35
- package/library/skills/vfx-muzzle-flash/resource.yaml +1 -1
- package/library/skills/vfx-smoke/SKILL.md +39 -31
- package/library/skills/vfx-smoke/resource.yaml +1 -1
- package/library/skills/vfx-water-ripple/SKILL.md +35 -31
- package/library/skills/vfx-water-ripple/resource.yaml +1 -1
- package/library/skills/voice-line/SKILL.md +87 -40
- package/library/skills/voice-line/resource.yaml +1 -1
- package/library/skills/web-and-touch-input/SKILL.md +20 -1
- package/library/skills/web-and-touch-input/resource.yaml +1 -1
- package/library/skills/web-compatibility-look/SKILL.md +21 -1
- package/library/skills/web-compatibility-look/resource.yaml +1 -1
- package/library/skills/world-building-3d/SKILL.md +29 -1
- package/library/skills/world-building-3d/resource.yaml +1 -1
- package/library/skills/writing-skills/resource.yaml +1 -0
- package/library/tools/add-node/GUIDE.md +14 -0
- package/library/tools/align-distribute-3d/GUIDE.md +7 -0
- package/library/tools/app-call/resource.yaml +1 -1
- package/library/tools/app-guide/resource.yaml +2 -2
- package/library/tools/app-page/resource.yaml +1 -1
- package/library/tools/app-screenshot/resource.yaml +19 -1
- package/library/tools/app-tools/resource.yaml +1 -1
- package/library/tools/attach-to-surface/GUIDE.md +15 -0
- package/library/tools/batch/GUIDE.md +27 -0
- package/library/tools/camera-bookmark/GUIDE.md +12 -0
- package/library/tools/capture-gameplay/GUIDE.md +3 -0
- package/library/tools/capture-gameplay/resource.yaml +3 -3
- package/library/tools/check-job/resource.yaml +1 -1
- package/library/tools/clear-console/GUIDE.md +3 -0
- package/library/tools/connect-ports/GUIDE.md +9 -0
- package/library/tools/connect-signal/GUIDE.md +14 -0
- package/library/tools/create-debug-report/GUIDE.md +10 -0
- package/library/tools/create-scene/GUIDE.md +10 -0
- package/library/tools/debug-views/GUIDE.md +7 -0
- package/library/tools/enable-plugin/GUIDE.md +3 -0
- package/library/tools/export-game/GUIDE.md +3 -0
- package/library/tools/export-game/resource.yaml +3 -3
- package/library/tools/export-templates/GUIDE.md +3 -0
- package/library/tools/fabricate-3d/GUIDE.md +19 -0
- package/library/tools/frame-nodes/GUIDE.md +9 -0
- package/library/tools/frame-shot/GUIDE.md +9 -0
- package/library/tools/game-control/GUIDE.md +9 -0
- package/library/tools/game-input/GUIDE.md +9 -0
- package/library/tools/game-probe/GUIDE.md +9 -0
- package/library/tools/generate-3d/resource.yaml +3 -3
- package/library/tools/generate-motion/resource.yaml +2 -2
- package/library/tools/get-console/GUIDE.md +9 -0
- package/library/tools/get-console/resource.yaml +5 -0
- package/library/tools/get-debugger-errors/GUIDE.md +7 -0
- package/library/tools/get-debugger-errors/resource.yaml +5 -0
- package/library/tools/get-debugger-warnings/GUIDE.md +7 -0
- package/library/tools/get-debugger-warnings/resource.yaml +5 -0
- package/library/tools/get-diagnostics/GUIDE.md +13 -0
- package/library/tools/get-project-context/GUIDE.md +25 -0
- package/library/tools/get-runtime-tree/GUIDE.md +7 -0
- package/library/tools/get-runtime-tree/resource.yaml +5 -0
- package/library/tools/get-scene-tree/GUIDE.md +11 -0
- package/library/tools/get-scene-tree/resource.yaml +5 -0
- package/library/tools/get-script-errors/GUIDE.md +5 -0
- package/library/tools/grep/GUIDE.md +11 -0
- package/library/tools/import-asset/GUIDE.md +8 -0
- package/library/tools/import-asset-by-id/GUIDE.md +12 -0
- package/library/tools/import-from-url/GUIDE.md +10 -0
- package/library/tools/import-from-url-batch/GUIDE.md +3 -0
- package/library/tools/import-hdri/GUIDE.md +16 -0
- package/library/tools/input-map-bind/GUIDE.md +11 -0
- package/library/tools/inspect-asset/GUIDE.md +14 -0
- package/library/tools/inspect-asset/resource.yaml +5 -0
- package/library/tools/inspect-node/GUIDE.md +11 -0
- package/library/tools/inspect-node/resource.yaml +5 -0
- package/library/tools/inspect-resource/GUIDE.md +7 -0
- package/library/tools/inspect-resource/resource.yaml +5 -0
- package/library/tools/inspect-runtime-node/GUIDE.md +7 -0
- package/library/tools/inspect-runtime-node/resource.yaml +5 -0
- package/library/tools/instantiate-scene/GUIDE.md +12 -0
- package/library/tools/is-running/GUIDE.md +3 -0
- package/library/tools/measure/GUIDE.md +8 -0
- package/library/tools/navigation-probe/GUIDE.md +9 -0
- package/library/tools/open/resource.yaml +2 -2
- package/library/tools/open-main-scene/GUIDE.md +6 -0
- package/library/tools/open-scene/GUIDE.md +8 -0
- package/library/tools/place-adjacent/GUIDE.md +7 -0
- package/library/tools/play/GUIDE.md +13 -0
- package/library/tools/project-setting/GUIDE.md +9 -0
- package/library/tools/publish-build/resource.yaml +6 -6
- package/library/tools/raycast/GUIDE.md +7 -0
- package/library/tools/read-file/GUIDE.md +10 -0
- package/library/tools/read-library/resource.yaml +5 -0
- package/library/tools/recent-events/GUIDE.md +7 -0
- package/library/tools/remove-node/GUIDE.md +3 -0
- package/library/tools/repeat-along/GUIDE.md +5 -0
- package/library/tools/replace-node/GUIDE.md +9 -0
- package/library/tools/replace-text/GUIDE.md +5 -0
- package/library/tools/run-editor-script/GUIDE.md +16 -0
- package/library/tools/run-script/GUIDE.md +30 -0
- package/library/tools/run-script/resource.yaml +6 -3
- package/library/tools/runtime-animate/GUIDE.md +7 -0
- package/library/tools/runtime-call/GUIDE.md +7 -0
- package/library/tools/runtime-set/GUIDE.md +9 -0
- package/library/tools/runtime-spawn/GUIDE.md +9 -0
- package/library/tools/save-scene/GUIDE.md +3 -0
- package/library/tools/scene-audit/GUIDE.md +29 -0
- package/library/tools/screenshot/GUIDE.md +17 -0
- package/library/tools/select-node/GUIDE.md +3 -0
- package/library/tools/set-prop/GUIDE.md +23 -0
- package/library/tools/set-resource-property/GUIDE.md +8 -0
- package/library/tools/shot-sheet/GUIDE.md +7 -0
- package/library/tools/snap-to-surface/GUIDE.md +17 -0
- package/library/tools/snapshot-diff/GUIDE.md +7 -0
- package/library/tools/starcast/GUIDE.md +12 -0
- package/library/tools/stop/GUIDE.md +3 -0
- package/library/tools/test-placement/GUIDE.md +7 -0
- package/library/tools/ui-actions/GUIDE.md +12 -0
- package/library/tools/ui-activate/GUIDE.md +11 -0
- package/library/tools/ui-screenshot/GUIDE.md +9 -0
- package/library/tools/ui-tree/GUIDE.md +10 -0
- package/library/tools/wait-for-event/GUIDE.md +11 -0
- package/library/tools/world-snapshot/GUIDE.md +9 -0
- package/library/tools/write-file/GUIDE.md +5 -0
- package/library/tools/zoom/GUIDE.md +5 -0
- package/package.json +8 -5
- package/registry/generated/counts.json +2 -2
- package/registry/generated/gemini-extension.json +6 -13
- package/registry/generated/index.json +482 -349
- package/registry/generated/marketplace.claude.json +2 -13
- package/registry/generated/plugin.claude-directory.json +168 -0
- package/registry/generated/plugin.claude.json +24 -22
- package/registry/generated/plugin.codex.json +18 -22
- package/registry/generated/plugin.cursor.json +8 -14
- package/registry/generated/plugin.factory.json +6 -13
- package/registry/generated/server.json +43 -0
- package/registry/generated/skills-index.md +121 -118
- package/registry/generated/skills-registry.json +167 -115
- package/registry/operations/fixtures/invalid-deprecated-without-replacement.json +60 -0
- package/registry/operations/fixtures/invalid-name.json +60 -0
- package/registry/operations/fixtures/invalid-publish-without-owner.json +82 -0
- package/registry/operations/fixtures/invalid-spend-without-estimate.json +42 -0
- package/registry/operations/fixtures/invalid-unknown-field.json +61 -0
- package/registry/operations/fixtures/valid-player-facing.json +82 -0
- package/registry/operations/fixtures/valid-read.json +60 -0
- package/registry/operations/fixtures/valid-spend.json +43 -0
- package/registry/operations/legacy-names.json +1241 -0
- package/registry/operations/public-catalog.json +33160 -0
- package/registry/schemas/operation.schema.json +318 -0
- package/registry/schemas/skill.schema.json +4 -0
- package/CLAUDE.md +0 -7
|
@@ -284,3 +284,20 @@ clients stay connected until they leave.
|
|
|
284
284
|
- `summer-leaderboards` — ratings and `authority_v1` rating moves
|
|
285
285
|
- `summer-world-saves` — persistent Worlds that outlive a match
|
|
286
286
|
- `multiplayer-testing` — running bots through a whole match
|
|
287
|
+
|
|
288
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
289
|
+
## From a shell
|
|
290
|
+
|
|
291
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
292
|
+
|
|
293
|
+
| In this skill | Command |
|
|
294
|
+
|---|---|
|
|
295
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
296
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
297
|
+
| `summer_play` | `summer engine play` |
|
|
298
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
299
|
+
| `summer_read_file` | `summer engine read-file` |
|
|
300
|
+
| `summer_replace_text` | `summer engine replace-text` |
|
|
301
|
+
| `summer_stop` | `summer engine stop` |
|
|
302
|
+
| `summer_write_file` | `summer engine write-file` |
|
|
303
|
+
<!-- /shell-commands -->
|
|
@@ -299,3 +299,20 @@ Test the accept prompt and rating-based grouping on a hosted staging build.
|
|
|
299
299
|
- `summer-leaderboards` — ratings and leaderboards for rated queues
|
|
300
300
|
- `summer-parties` — friends entering a queue together
|
|
301
301
|
- `multiplayer-testing` — Local Play options and bots
|
|
302
|
+
|
|
303
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
304
|
+
## From a shell
|
|
305
|
+
|
|
306
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
307
|
+
|
|
308
|
+
| In this skill | Command |
|
|
309
|
+
|---|---|
|
|
310
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
311
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
312
|
+
| `summer_play` | `summer engine play` |
|
|
313
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
314
|
+
| `summer_read_file` | `summer engine read-file` |
|
|
315
|
+
| `summer_replace_text` | `summer engine replace-text` |
|
|
316
|
+
| `summer_stop` | `summer engine stop` |
|
|
317
|
+
| `summer_write_file` | `summer engine write-file` |
|
|
318
|
+
<!-- /shell-commands -->
|
|
@@ -251,3 +251,17 @@ summer_stop
|
|
|
251
251
|
- `summer-friends`: friends list, profiles and messages
|
|
252
252
|
- `multiplayer-project`: the client entry scene this extends
|
|
253
253
|
- `multiplayer-testing`: Local Play, and what needs staging
|
|
254
|
+
|
|
255
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
256
|
+
## From a shell
|
|
257
|
+
|
|
258
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
259
|
+
|
|
260
|
+
| In this skill | Command |
|
|
261
|
+
|---|---|
|
|
262
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
263
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
264
|
+
| `summer_play` | `summer engine play` |
|
|
265
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
266
|
+
| `summer_stop` | `summer engine stop` |
|
|
267
|
+
<!-- /shell-commands -->
|
|
@@ -320,3 +320,17 @@ folder to start over.
|
|
|
320
320
|
- `summer-world-saves` — saving a whole persistent World instead of one player
|
|
321
321
|
- `multiplayer-testing` — bots and repeated Local Play runs
|
|
322
322
|
- `summer-leaderboards` — scores other players can see
|
|
323
|
+
|
|
324
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
325
|
+
## From a shell
|
|
326
|
+
|
|
327
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
328
|
+
|
|
329
|
+
| In this skill | Command |
|
|
330
|
+
|---|---|
|
|
331
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
332
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
333
|
+
| `summer_play` | `summer engine play` |
|
|
334
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
335
|
+
| `summer_stop` | `summer engine stop` |
|
|
336
|
+
<!-- /shell-commands -->
|
|
@@ -42,7 +42,7 @@ proves nothing.
|
|
|
42
42
|
| Local Play | `unavailable` | Works from a fixture: empty unless `.summer/test-users.json` lists item templates (step 5) |
|
|
43
43
|
| Guests, older Summer apps | Readiness reports `unavailable` | Readiness reports `unavailable` |
|
|
44
44
|
|
|
45
|
-
Items and offers are created in your game's Studio pages (`
|
|
45
|
+
Items and offers are created in your game's Studio pages (`studio.open` target
|
|
46
46
|
`game`). Code never creates items.
|
|
47
47
|
|
|
48
48
|
This skill extends the Courtyard game from `multiplayer-project` and
|
|
@@ -269,3 +269,18 @@ Walk through every outcome:
|
|
|
269
269
|
- `multiplayer-testing`: Local Play fixtures and personas
|
|
270
270
|
- `summer-player-data`: saving a player's loadout between matches
|
|
271
271
|
- `summer-analytics`: measuring the shop
|
|
272
|
+
|
|
273
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
274
|
+
## From a shell
|
|
275
|
+
|
|
276
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
277
|
+
|
|
278
|
+
| In this skill | Command |
|
|
279
|
+
|---|---|
|
|
280
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
281
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
282
|
+
| `summer_play` | `summer engine play` |
|
|
283
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
284
|
+
| `summer_stop` | `summer engine stop` |
|
|
285
|
+
| `studio.open` | `summer studio open` |
|
|
286
|
+
<!-- /shell-commands -->
|
|
@@ -193,3 +193,17 @@ Then test real chat on Summer staging with two accounts in one match.
|
|
|
193
193
|
- `summer-friends`: direct messages with friends
|
|
194
194
|
- `summer-parties`: party chat lives in the Summer app
|
|
195
195
|
- `multiplayer-testing`: what Local Play can and can't test
|
|
196
|
+
|
|
197
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
198
|
+
## From a shell
|
|
199
|
+
|
|
200
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
201
|
+
|
|
202
|
+
| In this skill | Command |
|
|
203
|
+
|---|---|
|
|
204
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
205
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
206
|
+
| `summer_play` | `summer engine play` |
|
|
207
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
208
|
+
| `summer_stop` | `summer engine stop` |
|
|
209
|
+
<!-- /shell-commands -->
|
|
@@ -282,3 +282,17 @@ Restoring after a real restart can only be proven hosted.
|
|
|
282
282
|
- `multiplayer-state` — the shared document this skill saves
|
|
283
283
|
- `multiplayer-project` — `world.json` and the authority scene
|
|
284
284
|
- `multiplayer-testing` — Local Play runs and markers
|
|
285
|
+
|
|
286
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
287
|
+
## From a shell
|
|
288
|
+
|
|
289
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
290
|
+
|
|
291
|
+
| In this skill | Command |
|
|
292
|
+
|---|---|
|
|
293
|
+
| `summer_get_diagnostics` | `summer engine get-diagnostics` |
|
|
294
|
+
| `summer_get_script_errors` | `summer engine get-script-errors` |
|
|
295
|
+
| `summer_play` | `summer engine play` |
|
|
296
|
+
| `summer_project_setting` | `summer engine project-setting` |
|
|
297
|
+
| `summer_stop` | `summer engine stop` |
|
|
298
|
+
<!-- /shell-commands -->
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: text-to-motion
|
|
3
|
-
description: "
|
|
3
|
+
description: "Make custom 2-second animation clips from text on the user's own rigged models: people, animals, props."
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
6
6
|
category: animation
|
|
7
7
|
user-invocable: false
|
|
8
|
-
allowed-tools: Read
|
|
8
|
+
allowed-tools: Read summer_assets_search summer_assets_generate_motion summer_jobs_wait summer_assets_get summer_import_asset_by_id summer_call
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Text to Motion
|
|
@@ -14,8 +14,8 @@ Summer-hosted text-to-motion turns a text prompt into a 2-second (60 frames) ske
|
|
|
14
14
|
clip for the user's **own** rigged model. One model covers every skeleton with 5-70 bones:
|
|
15
15
|
humanoids, animals, creatures, cartoon plants, turrets, props.
|
|
16
16
|
|
|
17
|
-
The
|
|
18
|
-
|
|
17
|
+
The operation is `assets.generate_motion` with `backend: "text-to-motion"`. It answers at
|
|
18
|
+
once with a job; `jobs.wait` follows it. The finished job's `result.assets` lists one `animation`
|
|
19
19
|
asset per prompt x take (`id`, `fileUrl`, `animationName`, `prompt`, `take`); each is a GLB
|
|
20
20
|
of the whole model carrying one animation named after its prompt.
|
|
21
21
|
|
|
@@ -37,28 +37,28 @@ doesn't have that move", any animation request for a non-humanoid rig.
|
|
|
37
37
|
## The order
|
|
38
38
|
|
|
39
39
|
1. **Confirm the rig.** The asset must be the user's own `3d_model` GLB/FBX with one
|
|
40
|
-
skinned armature and 5-70 bones (`
|
|
40
|
+
skinned armature and 5-70 bones (`assets.search({ scope: "mine", assetType: "3d_model" })` / `assets.get`). If it
|
|
41
41
|
is unrigged or has odd bone names, read `rigging-for-text-motion.md` in this directory.
|
|
42
|
-
2. **Agree the clip list and cost.** Each prompt x take is one billed clip.
|
|
43
|
-
|
|
42
|
+
2. **Agree the clip list and cost.** Each prompt x take is one billed clip. Run the call
|
|
43
|
+
below with `dryRun: true` first: it checks the rig and returns `estimate.credits`. Show
|
|
44
|
+
the list and the credits and wait for the user's OK before submitting.
|
|
44
45
|
3. **Submit once.** Up to 8 prompts per call, `takes` 1-4. For rooted characters pass
|
|
45
46
|
`lockJoints` with the base bones:
|
|
46
47
|
|
|
47
48
|
```
|
|
48
|
-
|
|
49
|
+
assets.generate_motion({
|
|
49
50
|
rigAssetId: "<id>",
|
|
50
51
|
backend: "text-to-motion",
|
|
51
52
|
prompts: ["nods happily", "waves hello with the right leaf"],
|
|
52
53
|
lockJoints: ["Hips", "Spine"], // rooted flower; omit for characters that move
|
|
53
|
-
cfgScale: 5
|
|
54
|
-
|
|
55
|
-
)
|
|
54
|
+
cfgScale: 5 // default 3; 5 for clearer gestures on stylized rigs
|
|
55
|
+
})
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
Pass a stable `idempotencyKey` if you might retry the same request. Prompt writing and
|
|
59
59
|
every control: `prompts-and-controls.md` in this directory.
|
|
60
|
-
4. **
|
|
61
|
-
|
|
60
|
+
4. **Wait for the job.** `jobs.wait({ jobId: "<job.id>", timeoutSeconds: 50 })`, again until
|
|
61
|
+
`finished` is true. A job takes about 1-2 minutes. Do not resubmit while it runs.
|
|
62
62
|
5. **Review, then import.** Import the chosen clip assets with
|
|
63
63
|
`summer_import_asset_by_id(assetId, parent, scenePath)`. Offer to regenerate weak takes
|
|
64
64
|
with a rephrased prompt or a higher `cfgScale`; keep the good ones.
|
|
@@ -74,26 +74,48 @@ doesn't have that move", any animation request for a non-humanoid rig.
|
|
|
74
74
|
- **Report failures with their code.** Job failures starting `text_motion:` (no skinned
|
|
75
75
|
armature, too many or too few joints, multiple armatures, unknown lock joint) are input
|
|
76
76
|
problems and the charge is refunded. Fix the rig or the request; do not retry unchanged.
|
|
77
|
-
-
|
|
77
|
+
- **A `backend` without `text-to-motion` means it is not enabled on this server yet.** Fall
|
|
78
78
|
back to `generate-motion` (meshy-library) for humanoid clips and say so; do not retry.
|
|
79
79
|
- **Do not promise facial animation, finger detail or lip sync.** The model animates the
|
|
80
80
|
skeleton only; blendshapes stay untouched (`facial-and-lipsync` covers faces).
|
|
81
81
|
|
|
82
82
|
## Request errors
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
Refusals answer the one error shape: `error.code` with one `next` step, and
|
|
85
|
+
`error.details.was` naming the reason below.
|
|
86
|
+
|
|
87
|
+
| `code` / `details.was` | Meaning | Do |
|
|
85
88
|
| --- | --- | --- |
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
88
|
-
| `invalid_takes` | `takes` outside 1-4 | Fix and resubmit |
|
|
89
|
-
| `invalid_cfg_scale` | `cfgScale` outside 1.5-8 | Fix and resubmit |
|
|
90
|
-
| `invalid_lock_joints` | Bone names wrong | Use bone names that exist in the rig |
|
|
91
|
-
| `rig_asset_not_found` | Not the caller's asset | Find the user's own asset id |
|
|
92
|
-
| `rig_asset_invalid` | Not a rigged GLB/FBX `3d_model` | Rig it first |
|
|
93
|
-
| `
|
|
89
|
+
| `invalid_input` on `backend` | Text-to-motion is off on this server (`backend` lists only `meshy-library`) | Use `generate-motion`; do not retry |
|
|
90
|
+
| `invalid_input` on `prompts` | No prompt | Pass `prompts` (1-8, each 1-300 chars) |
|
|
91
|
+
| `invalid_input` / `invalid_takes` | `takes` outside 1-4 | Fix and resubmit |
|
|
92
|
+
| `invalid_input` / `invalid_cfg_scale` | `cfgScale` outside 1.5-8 | Fix and resubmit |
|
|
93
|
+
| `invalid_input` / `invalid_lock_joints` | Bone names wrong | Use bone names that exist in the rig |
|
|
94
|
+
| `not_found` / `rig_asset_not_found` | Not the caller's asset | Find the user's own asset id |
|
|
95
|
+
| `invalid_input` / `rig_asset_invalid` | Not a rigged GLB/FBX `3d_model` | Rig it first |
|
|
96
|
+
| `no_credits` | Not enough credits | Fewer prompts/takes, or the person adds credits (`next` has the link) |
|
|
97
|
+
|
|
98
|
+
## Without Summer Engine
|
|
99
|
+
|
|
100
|
+
In a session without Summer Engine tools (the assets profile; the `summer-assets` skill has the whole loop), follow the order up to the review in step 5 and skip the import. Save the file where the person asked with `out` (the `summer-assets` skill says how), and tell them the path and format. Keep the good takes and name each file after its prompt.
|
|
94
101
|
|
|
95
102
|
## Do not stop early
|
|
96
103
|
|
|
97
104
|
Done means the chosen clips are imported and playing on the model in the scene. For a
|
|
98
105
|
playable character continue with `character-animation-wiring`; for state machines,
|
|
99
106
|
`animation-tree`.
|
|
107
|
+
|
|
108
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
109
|
+
## From a shell
|
|
110
|
+
|
|
111
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
112
|
+
|
|
113
|
+
| In this skill | Command |
|
|
114
|
+
|---|---|
|
|
115
|
+
| `assets.generate_3d` | `summer assets generate-3d` |
|
|
116
|
+
| `assets.generate_motion`, `summer_assets_generate_motion` | `summer assets generate-motion` |
|
|
117
|
+
| `assets.get`, `summer_assets_get` | `summer assets get` |
|
|
118
|
+
| `assets.search`, `summer_assets_search` | `summer assets search` |
|
|
119
|
+
| `summer_import_asset_by_id` | `summer engine import-asset-by-id` |
|
|
120
|
+
| `jobs.wait`, `summer_jobs_wait` | `summer jobs wait` |
|
|
121
|
+
<!-- /shell-commands -->
|
|
@@ -11,19 +11,19 @@
|
|
|
11
11
|
- Style words that map to motion work ("happily", "slowly", "tiredly"); story or
|
|
12
12
|
appearance words do not.
|
|
13
13
|
|
|
14
|
-
## Controls (`
|
|
14
|
+
## Controls (`assets.generate_motion`, `backend: "text-to-motion"`)
|
|
15
15
|
|
|
16
16
|
| Field | Default | Use |
|
|
17
17
|
| --- | --- | --- |
|
|
18
|
-
| `
|
|
18
|
+
| `prompts` | - | 1-8 actions (each 1-300 chars); one clip each |
|
|
19
19
|
| `takes` | 1 | 1-4; 2-3 when choosing a hero clip. Every take is billed |
|
|
20
20
|
| `cfgScale` | 3 | 1.5-8; 5 for bigger, clearer gestures on stylized rigs; above 6 gets unstable |
|
|
21
21
|
| `lockJoints` | none | Base bones of rooted characters (plants, turrets, statues), e.g. `["Hips","Spine"]` |
|
|
22
22
|
| `idempotencyKey` | none | Stable key so a retried request is not billed twice |
|
|
23
|
-
| `
|
|
23
|
+
| `dryRun` | false | `true` checks the rig and returns the `estimate` (credits) without making anything |
|
|
24
24
|
|
|
25
|
-
Clip count = prompts x takes; each clip is billed. The
|
|
26
|
-
`
|
|
25
|
+
Clip count = prompts x takes; each clip is billed. The call answers with a job at once;
|
|
26
|
+
`jobs.wait` follows it to the finished clips.
|
|
27
27
|
|
|
28
28
|
## Judging results
|
|
29
29
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/text-to-motion
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
summary: "
|
|
4
|
+
summary: "Make custom 2-second animation clips from text on the user's own rigged models: people, animals, props."
|
|
5
5
|
use_when:
|
|
6
6
|
- a custom action the curated motion library lacks — nod, bow, shrug, wave with a specific arm, an emotional gesture
|
|
7
7
|
- animating a non-humanoid rig — a talking flower, animal, creature, turret or prop
|
|
@@ -43,8 +43,8 @@ clips; keep the package's canonical idle/walk/run/jump from `generate-motion`.
|
|
|
43
43
|
|
|
44
44
|
## Rigging an unrigged mesh
|
|
45
45
|
|
|
46
|
-
- Humanoid: the Summer auto-rig (`character-model`, `
|
|
47
|
-
`
|
|
46
|
+
- Humanoid: the Summer auto-rig (`character-model`, `assets.generate_3d` with
|
|
47
|
+
`rig: true`).
|
|
48
48
|
- Other body plans: rig in the user's own Blender (`fabricating-assets`) or offline
|
|
49
49
|
(`skintokens-auto-rigging`), using the human bone names above where the body plan allows
|
|
50
50
|
(stem as spine, leaves as arms).
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: tileable-texture
|
|
3
|
-
description: "Generate a seamless tileable texture for walls, floors
|
|
3
|
+
description: "Generate a seamless tileable texture for walls, floors or terrain, wired as a StandardMaterial3D albedo."
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
6
6
|
category: 2d-assets
|
|
7
7
|
user-invocable: true
|
|
8
|
-
allowed-tools: Read Grep Glob Write Edit
|
|
8
|
+
allowed-tools: Read Grep Glob Write Edit summer_assets_generate_image summer_assets_search summer_import_from_url summer_set_resource_property summer_add_node summer_set_prop summer_inspect_node summer_call
|
|
9
9
|
paths: ["assets/**", "art/textures/**", "materials/**"]
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -35,7 +35,7 @@ The hard part is "seamless." Most diffusion models violate edge continuity by de
|
|
|
35
35
|
### 1. Search for an existing texture
|
|
36
36
|
|
|
37
37
|
```
|
|
38
|
-
|
|
38
|
+
assets.search({ query: "<material> tileable", assetType: "2d_image", scope: "all" })
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
Texture libraries (AmbientCG, Polyhaven) often have free PBR sets that beat AI generation for realism. If the user wants photorealistic tiling, pause and suggest those.
|
|
@@ -59,16 +59,16 @@ The load-bearing phrases are:
|
|
|
59
59
|
### 3. Generate
|
|
60
60
|
|
|
61
61
|
```
|
|
62
|
-
|
|
63
|
-
prompt
|
|
64
|
-
model
|
|
65
|
-
style
|
|
66
|
-
)
|
|
62
|
+
assets.generate_image({
|
|
63
|
+
prompt: "weathered red brick wall, seamless tileable texture, top-down view, uniform lighting, no perspective, no shadows, no specific objects, square format, photographic detail. No vanishing point, no directional shadow, no vignette, no single standout feature, no scene context, no sky, no sun.",
|
|
64
|
+
model: "nano-banana-2",
|
|
65
|
+
style: "realistic"
|
|
66
|
+
})
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
Two things about the arguments:
|
|
70
70
|
|
|
71
|
-
- **There is no `image_size` and no `negative_prompt`.** `
|
|
71
|
+
- **There is no `image_size` and no `negative_prompt`.** `assets.generate_image` takes `prompt`, `model`, `style`, `aspectRatio`, `width`, `height`, `numImages`, `referenceImageUrl`, `removeBackground`, `seed` and `title`; a field it does not list does nothing, so the call looks like it worked. Put the negations in the prompt text. Leave `aspectRatio` at its `1:1` default, which is exactly what a tileable texture wants; for a larger tile, leave `model` out and pass `width` and `height`: a model that reaches the size is picked, or the answer names the models that can.
|
|
72
72
|
- **`style: "realistic"` is a no-op.** Only `cartoon` and `anime` append anything to the prompt; `realistic` and `none` append nothing, and any other value is coerced to `none`. The photographic look has to come from the prompt (`photographic detail`). Switching to `"none"` for stylized work likewise changes nothing on its own — change the prompt.
|
|
73
73
|
|
|
74
74
|
### 4. Import to project
|
|
@@ -178,16 +178,20 @@ Then attach the same material with `uv1_scale` tuned to wall dimensions.
|
|
|
178
178
|
- **User wants animated water / lava texture.** Generate a still tileable texture and use a `ShaderMaterial` with UV scrolling to animate. Don't try to generate frames.
|
|
179
179
|
- **Visible seam after generation.** Run through GIMP `Filters → Map → Make Seamless` or open in Aseprite, set Tiled mode, paint over the seam manually. AI-generated tileables often need a 5-minute touch-up.
|
|
180
180
|
|
|
181
|
+
## Without Summer Engine
|
|
182
|
+
|
|
183
|
+
In a session without Summer Engine tools (the assets profile; the `summer-assets` skill has the whole loop), do steps 1-3 and the seam check in step 5 by eye on the image (tile it 2x2 in an image viewer); skip step 4 and step 6 (import, wiring onto geometry). Pass `out` with the person's folder so the PNG lands there (the `summer-assets` skill says how), and tell them to set the texture to repeat.
|
|
184
|
+
|
|
181
185
|
## Fallback (no MCP)
|
|
182
186
|
|
|
183
187
|
Print the call:
|
|
184
188
|
|
|
185
189
|
```
|
|
186
|
-
|
|
187
|
-
prompt
|
|
188
|
-
model
|
|
189
|
-
style
|
|
190
|
-
)
|
|
190
|
+
assets.generate_image({
|
|
191
|
+
prompt: "<material> seamless tileable texture, top-down view, uniform lighting, no perspective, no shadows, no specific objects, square. No directional shadow, no single standout feature, no scene context.",
|
|
192
|
+
model: "nano-banana-2",
|
|
193
|
+
style: "realistic"
|
|
194
|
+
})
|
|
191
195
|
```
|
|
192
196
|
|
|
193
197
|
Tell the user to run via the Summer dashboard, then `summer_import_from_url` to `res://art/textures/<name>.png`, set `Repeat: Enabled`, and tune `uv1_scale` to physical size.
|
|
@@ -208,4 +212,22 @@ After the texture is wired:
|
|
|
208
212
|
- `asset-strategy` — meta-router and 3D pipeline.
|
|
209
213
|
- `skybox-panorama` — sky/environment counterpart.
|
|
210
214
|
- `scene-composition` — applying textures to CSG and MeshInstance3D.
|
|
211
|
-
-
|
|
215
|
+
- `summer_docs_read` id `reference/mcp-tools-reference` — how to call `assets.generate_image`.
|
|
216
|
+
|
|
217
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
218
|
+
## From a shell
|
|
219
|
+
|
|
220
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
221
|
+
|
|
222
|
+
| In this skill | Command |
|
|
223
|
+
|---|---|
|
|
224
|
+
| `assets.generate_image`, `summer_assets_generate_image` | `summer assets generate-image` |
|
|
225
|
+
| `summer_assets_search` | `summer assets search` |
|
|
226
|
+
| `summer_docs_read` | `summer docs read` |
|
|
227
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
228
|
+
| `summer_import_from_url` | `summer engine import-from-url` |
|
|
229
|
+
| `summer_inspect_node` | `summer engine inspect-node` |
|
|
230
|
+
| `summer_save_scene` | `summer engine save-scene` |
|
|
231
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
232
|
+
| `summer_set_resource_property` | `summer engine set-resource-property` |
|
|
233
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/tileable-texture
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.4
|
|
4
|
-
summary: Generate a seamless tileable texture for walls, floors
|
|
4
|
+
summary: "Generate a seamless tileable texture for walls, floors or terrain, wired as a StandardMaterial3D albedo."
|
|
5
5
|
use_when:
|
|
6
6
|
- generating a seamless tileable texture for walls, floors, terrain, or ceilings — a square tile that repeats cleanly on all four edges
|
|
7
7
|
- a wall, floor, or terrain material shows visible seams or repetition and needs a texture that tiles cleanly
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: trailer-shot
|
|
3
|
-
description: "Generate
|
|
3
|
+
description: "Generate trailer footage: slow-mo combat, establishing shots, hero beats, splash screens, 5-10 seconds."
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: [Cursor, Claude Code, Windsurf, Codex]
|
|
6
6
|
category: video
|
|
7
7
|
user-invocable: true
|
|
8
|
-
allowed-tools: Read Grep Glob Write Edit
|
|
8
|
+
allowed-tools: Read Grep Glob Write Edit summer_assets_generate_video summer_jobs_wait summer_assets_generate_image summer_assets_search summer_import_from_url summer_add_node summer_set_prop summer_call
|
|
9
9
|
paths: ["assets/video/**", "trailers/**", "marketing/**"]
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -55,25 +55,25 @@ State the archetype and composition out loud before generating: "I'll do a low-a
|
|
|
55
55
|
For shots featuring a specific character, weapon, or environment, generate a reference still first and pass it as `imageUrl`. Without it, the boss in your trailer looks different from the boss in the game.
|
|
56
56
|
|
|
57
57
|
```
|
|
58
|
-
|
|
59
|
-
prompt
|
|
60
|
-
model
|
|
61
|
-
|
|
58
|
+
assets.generate_image({
|
|
59
|
+
prompt: "<subject>, <archetype-driven framing>, cinematic, dramatic lighting, film still, wide framing",
|
|
60
|
+
model: "nano-banana-2",
|
|
61
|
+
aspectRatio: "16:9"
|
|
62
|
+
})
|
|
62
63
|
```
|
|
63
64
|
|
|
64
|
-
`
|
|
65
|
+
Set `aspectRatio` to the platform's framing (`16:9`, `9:16` for vertical social, `1:1` for square). Since image-to-video inherits the reference's framing, a square reference gives you a square trailer shot.
|
|
65
66
|
|
|
66
67
|
For pure environment / abstract / VFX shots, you can skip this and prompt text-to-video directly — that also unlocks `aspectRatio`, `kling-turbo`, and `veo3`.
|
|
67
68
|
|
|
68
69
|
### 3. Pick the model
|
|
69
70
|
|
|
70
|
-
The available models depend on whether you pass `imageUrl`. With a reference image (step 2) the call goes to the image-to-video route
|
|
71
|
+
The available models depend on whether you pass `imageUrl`. With a reference image (step 2) the call goes to the image-to-video route; `kling-turbo` and `veo3` exist on the text-to-video route only, and pairing either with an `imageUrl` is a 400 `invalid_model`.
|
|
71
72
|
|
|
72
73
|
| Model | Text-to-video | Image-to-video | Speed | When |
|
|
73
74
|
|---|---|---|---|---|
|
|
74
75
|
| `kling` | yes | yes | 2-4 min | Default for trailer hero shots — best motion + composition |
|
|
75
76
|
| `ltx` | yes | yes | ~30s | Cheapest. B-roll, throwaway tests, blocking the composition before committing |
|
|
76
|
-
| `minimax` | yes | yes | 2-3 min | Anime / stylized trailer looks |
|
|
77
77
|
| `kling-turbo` | yes | **no** | 1-2 min | Same look as kling, faster, slight quality dip — but you lose `imageUrl` |
|
|
78
78
|
| `veo3` | yes | **no** | 3-5 min | Most expensive. Pitch deck for investors, the one shot that has to be perfect — but you lose `imageUrl` |
|
|
79
79
|
|
|
@@ -82,20 +82,20 @@ Default: **`ltx` first to block the composition, then `kling` for the final**. F
|
|
|
82
82
|
### 4. Generate the shot
|
|
83
83
|
|
|
84
84
|
```
|
|
85
|
-
|
|
86
|
-
prompt
|
|
87
|
-
model
|
|
88
|
-
imageUrl
|
|
89
|
-
duration
|
|
90
|
-
aspectRatio
|
|
91
|
-
)
|
|
85
|
+
assets.generate_video({
|
|
86
|
+
prompt: "<archetype framing>, <subject>, <action>, <camera move>, <lighting>, <film grain / lens / stylistic anchor>",
|
|
87
|
+
model: "kling",
|
|
88
|
+
imageUrl: "<optional reference URL from step 2>",
|
|
89
|
+
duration: 5,
|
|
90
|
+
aspectRatio: "16:9"
|
|
91
|
+
})
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
`duration`
|
|
94
|
+
On `ltx` and `kling`, `duration` is 5 or 10 — anything else renders 5. `dryRun: true` returns the shot's `estimate` (credits, balance, enough) without rendering.
|
|
95
95
|
|
|
96
|
-
The call
|
|
96
|
+
The call answers at once with `{ status: "running", job: { id } }` and **no URL**. Call `jobs.wait({ jobId: "<job.id>", timeoutSeconds: 50 })` until `finished` is true, before showing the user anything or claiming the shot is done.
|
|
97
97
|
|
|
98
|
-
`aspectRatio` (`16:9`, `9:16`, `1:1`, ...) is applied on the **text-to-video path only**. The moment you pass `imageUrl` it is ignored and the clip inherits the reference image's framing — so vertical social needs a genuinely 9:16 reference, and square needs a square one
|
|
98
|
+
`aspectRatio` (`16:9`, `9:16`, `1:1`, ...) is applied on the **text-to-video path only**. The moment you pass `imageUrl` it is ignored and the clip inherits the reference image's framing — so vertical social needs a genuinely 9:16 reference, and square needs a square one: generate the reference with that `aspectRatio`.
|
|
99
99
|
|
|
100
100
|
### 5. Review against trailer logic
|
|
101
101
|
|
|
@@ -150,7 +150,7 @@ Pattern: `<archetype framing> + <subject> + <action verb> + <camera move> + <lig
|
|
|
150
150
|
| Vertical social hero | `kling` | `vertical close-up of a young witch raising hands, magical wind, hair flowing, candle-warm key, cinematic, framed for 9:16` | 5s |
|
|
151
151
|
| Pitch-deck premium shot | `veo3` | `wide cinematic of a fleet of airships emerging through cloud cover at dawn, slow truck forward, golden god-rays, soaring orchestral cinematic` | 5s |
|
|
152
152
|
| Cheap B-roll iteration | `ltx` | `mid shot of a knight walking through fog, slow truck backward, dawn light, cinematic` | 5s |
|
|
153
|
-
| Anime style hero | `
|
|
153
|
+
| Anime style hero | `kling` | `anime-style hero girl draws a katana in slow motion, sakura petals swirling, dramatic side-light, dynamic camera, Ghibli painterly` | 5s |
|
|
154
154
|
|
|
155
155
|
### Bad prompts and why
|
|
156
156
|
|
|
@@ -169,7 +169,7 @@ Pattern: `<archetype framing> + <subject> + <action verb> + <camera move> + <lig
|
|
|
169
169
|
- **Using `veo3` for B-roll.** Use `ltx` for blocking and B-roll; reserve `veo3` for the one shot that has to be perfect.
|
|
170
170
|
- **Generating shots without composing the trailer first.** Make a 6-shot list before generating shot 1. Otherwise you'll generate shots that don't intercut.
|
|
171
171
|
- **Assuming `aspectRatio="9:16"` reframed an image-to-video call.** It is ignored whenever `imageUrl` is set — the reference image decides the framing. Pillarboxed 16:9 on TikTok / Reels / Shorts reads as a desktop YouTube embed and gets demoted by the algorithm, so fix the reference, not the argument.
|
|
172
|
-
- **Treating `
|
|
172
|
+
- **Treating `assets.generate_video` as finished.** It answers `{ status: "running", job }` and no URL. Wait with `jobs.wait` before handing the user a link.
|
|
173
173
|
- **Forgetting that Studio doesn't cut video.** The user has to take the shots into an NLE. Tell them, don't pretend Studio can stitch.
|
|
174
174
|
- **Asking for "the camera does X then Y then Z".** Pick one camera move per shot.
|
|
175
175
|
|
|
@@ -178,8 +178,12 @@ Pattern: `<archetype framing> + <subject> + <action verb> + <camera move> + <lig
|
|
|
178
178
|
- **Steam capsule animated header (Steam asset).** Steam wants `.webm` at 616x353 or 1920x1080, ≤6s, 30fps, no audio, ≤4MB. Generate at 16:9, transcode in DaVinci, export `.webm` with VP9. The video model gives you the source; format conversion is on you.
|
|
179
179
|
- **Pitch deck for investors.** One shot, `veo3`, money composition (low-angle hero or wide establishing).
|
|
180
180
|
- **Vertical for TikTok / Shorts.** The reference image must genuinely be portrait — `aspectRatio` is ignored once `imageUrl` is set. Frame the subject in the upper-middle so titles can sit at the bottom.
|
|
181
|
-
- **Subject is a UGC environment the player built.** Take a screenshot of the in-engine view, run it through `
|
|
182
|
-
- **Logo splash with motion graphics.** Generate a static logo card
|
|
181
|
+
- **Subject is a UGC environment the player built.** Take a screenshot of the in-engine view, run it through `assets.generate_image` as `referenceImageUrl` to "upgrade" the look, then use that as the video reference. The model can stylize a screenshot; it can't invent the user's level.
|
|
182
|
+
- **Logo splash with motion graphics.** Generate a static logo card with `assets.generate_image` (or use the user's existing logo PNG), then prompt video as `static composition of <logo>, only background particles drifting, cinematic, room for title text` — keep the foreground motionless.
|
|
183
|
+
|
|
184
|
+
## Without Summer Engine
|
|
185
|
+
|
|
186
|
+
In a session without Summer Engine tools (the assets profile; the `summer-assets` skill has the whole loop), do steps 1-5 and 7 and skip step 6 (import for archive). Save the file where the person asked with `out` (the `summer-assets` skill says how), and tell them the path and format. The MP4 goes straight into the person's video editor.
|
|
183
187
|
|
|
184
188
|
## Fallback (no MCP)
|
|
185
189
|
|
|
@@ -209,4 +213,22 @@ Once the shots are generated:
|
|
|
209
213
|
- `music-track` — trailer score.
|
|
210
214
|
- `sound-effect` — cut SFX (whooshes, impacts, stingers).
|
|
211
215
|
- `concept-art` — generate the reference image axis when no asset exists yet.
|
|
212
|
-
-
|
|
216
|
+
- `summer_docs_read` id `reference/mcp-tools-reference` — how to call `assets.generate_video`; `summer_search` returns its exact input.
|
|
217
|
+
|
|
218
|
+
<!-- shell-commands: generated from the operation catalog by npm run generate:registry; do not edit by hand -->
|
|
219
|
+
## From a shell
|
|
220
|
+
|
|
221
|
+
No Summer MCP tools in this session? Run each one as a command; when `summer --version` is missing or below 4.0, use `npx -y summer-engine@latest` in place of `summer`. Fields are flags in kebab-case (`--scene-path res://main.tscn`) or one `--input '<json>'`, and `summer ops describe <op>` prints the exact input. The `summer-cli` skill has the rest.
|
|
222
|
+
|
|
223
|
+
| In this skill | Command |
|
|
224
|
+
|---|---|
|
|
225
|
+
| `assets.generate_image`, `summer_assets_generate_image` | `summer assets generate-image` |
|
|
226
|
+
| `assets.generate_video`, `summer_assets_generate_video` | `summer assets generate-video` |
|
|
227
|
+
| `summer_assets_search` | `summer assets search` |
|
|
228
|
+
| `summer_docs_read` | `summer docs read` |
|
|
229
|
+
| `summer_add_node` | `summer engine add-node` |
|
|
230
|
+
| `summer_import_from_url` | `summer engine import-from-url` |
|
|
231
|
+
| `summer_set_prop` | `summer engine set-prop` |
|
|
232
|
+
| `jobs.wait`, `summer_jobs_wait` | `summer jobs wait` |
|
|
233
|
+
| `summer_search` | `summer ops search "<what you want>"` |
|
|
234
|
+
<!-- /shell-commands -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
id: skill/trailer-shot
|
|
2
2
|
kind: skill
|
|
3
3
|
version: 1.0.4
|
|
4
|
-
summary: Generate
|
|
4
|
+
summary: "Generate trailer footage: slow-mo combat, establishing shots, hero beats, splash screens, 5-10 seconds."
|
|
5
5
|
use_when:
|
|
6
6
|
- generating marketing or trailer footage — slow-mo combat, dramatic establishing shots, hero beats, splash screens, pitch-deck B-roll
|
|
7
7
|
- producing a store page, pitch deck, or social clip that shows the game at its most dramatic in seconds
|