@funpixel/tools 0.1.0 → 0.1.1
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/bench/handlers/bake_emissive.py +2 -2
- package/bench/handlers/decimate.py +2 -2
- package/bench/handlers/fracture.py +1 -1
- package/bench/handlers/normalize_transform.py +3 -3
- package/bench/handlers/render_views.py +2 -2
- package/bench/handlers/views.py +6 -6
- package/dist/cli.js +8 -9
- package/dist/commands/feedback.js +5 -5
- package/dist/commands/init.js +1 -1
- package/dist/direct/read.js +1 -1
- package/dist/doctor/unity-checks.js +5 -5
- package/dist/doctor/unity-history.js +17 -33
- package/dist/feedback/ab.js +0 -40
- package/dist/gen/unity.js +3 -3
- package/dist/mcp/server.js +2 -1
- package/dist/pipeline/pipeline.js +6 -6
- package/dist/playtest/moments.js +1 -1
- package/dist/playtest/report.js +1 -1
- package/dist/production/mirror.js +2 -2
- package/dist/sim/curve.js +3 -3
- package/dist/spec/scaffold.js +1 -1
- package/dist/studio/pitch.js +1 -1
- package/dist/unity/probe/install.js +1 -1
- package/dist/vendor/verify/src/page/actors.js +2 -2
- package/dist/vendor/verify/src/page/capture_view.js +2 -2
- package/dist/vendor/verify/src/page/dressing.js +1 -1
- package/dist/vendor/verify/src/page/frame_honesty.js +1 -1
- package/dist/vendor/verify/src/page/front_door.js +2 -2
- package/dist/vendor/verify/src/page/grounding.js +3 -3
- package/dist/vendor/verify/src/page/hud.js +3 -3
- package/dist/vendor/verify/src/page/layout.js +5 -5
- package/dist/vendor/verify/src/page/life_anim.js +6 -6
- package/dist/vendor/verify/src/page/mechanic_check.js +1 -1
- package/dist/vendor/verify/src/page/phone_check.js +2 -2
- package/dist/vendor/verify/src/page/recorder.js +2 -2
- package/dist/vendor/verify/src/page/surfaces.js +2 -2
- package/dist/vendor/verify/src/page/world_actors.js +3 -3
- package/package.json +2 -2
- package/plugins/README.md +16 -0
- package/plugins/claude/README.md +2 -3
- package/plugins/claude/agents/art-director.md +2 -2
- package/plugins/claude/commands/playtest.md +2 -2
- package/plugins/claude/hooks/brief.md +1 -1
- package/plugins/claude/hooks/guidance.json +1 -1
- package/plugins/claude/hooks/vendor/pipeline/pipeline.mjs +6 -6
- package/plugins/claude/hooks/vendor/studio/pitch.mjs +1 -1
- package/plugins/claude/skills/3d/references/bake-off.md +3 -3
- package/plugins/claude/skills/3d/references/characters.md +1 -1
- package/plugins/claude/skills/3d/references/hero-route.md +5 -5
- package/plugins/claude/skills/3d/references/level-spec.md +1 -1
- package/plugins/claude/skills/3d/references/levels.md +3 -3
- package/plugins/claude/skills/3d/references/light-and-places.md +3 -3
- package/plugins/claude/skills/3d/references/painted-target.md +7 -7
- package/plugins/claude/skills/3d/references/three-loading.md +4 -4
- package/plugins/claude/skills/3d/references/unity.md +13 -13
- package/plugins/claude/skills/art/references/animation.md +1 -1
- package/plugins/claude/skills/art/references/cast.md +3 -3
- package/plugins/claude/skills/art/references/effects.md +2 -2
- package/plugins/claude/skills/art/references/frames.md +6 -6
- package/plugins/claude/skills/art/references/judging-frames.md +8 -8
- package/plugins/claude/skills/art/references/look.md +4 -4
- package/plugins/claude/skills/art/references/pipeline.md +2 -2
- package/plugins/claude/skills/art/references/prompts.md +4 -4
- package/plugins/claude/skills/art/references/ui.md +15 -15
- package/plugins/claude/skills/art/references/unity.md +14 -14
- package/plugins/claude/skills/audio/references/adaptive-music.md +4 -4
- package/plugins/claude/skills/audio/references/engine.md +2 -2
- package/plugins/claude/skills/audio/references/measure.md +1 -1
- package/plugins/claude/skills/audio/references/unity.md +20 -19
- package/plugins/claude/skills/game-feel/SKILL.md +4 -4
- package/plugins/claude/skills/game-feel/references/contact.md +6 -6
- package/plugins/claude/skills/game-feel/references/unity.md +18 -23
- package/plugins/claude/skills/game-logic/SKILL.md +3 -3
- package/plugins/claude/skills/game-logic/references/balance.md +2 -2
- package/plugins/claude/skills/game-logic/references/depth.md +2 -2
- package/plugins/claude/skills/game-logic/references/escalation.md +5 -5
- package/plugins/claude/skills/game-logic/references/probes.md +10 -10
- package/plugins/claude/skills/game-logic/references/unity.md +28 -28
- package/plugins/claude/skills/game-spine/SKILL.md +1 -1
- package/plugins/claude/skills/game-spine/references/performance.md +2 -2
- package/plugins/claude/skills/game-spine/references/replay.md +11 -11
- package/plugins/claude/skills/game-spine/references/room-api.md +1 -1
- package/plugins/claude/skills/game-spine/references/sdk.md +1 -1
- package/plugins/claude/skills/gdd/SKILL.md +2 -2
- package/plugins/claude/skills/gdd/references/as-built.md +2 -2
- package/plugins/claude/skills/gdd/references/design-measures.md +2 -2
- package/plugins/claude/skills/gdd/references/design-note.md +1 -1
- package/plugins/claude/skills/gdd/references/first-look.md +1 -1
- package/plugins/claude/skills/gdd/references/floors.md +2 -2
- package/plugins/claude/skills/gdd/references/gameplay-contract.md +1 -1
- package/plugins/claude/skills/gdd/references/genre-puzzle.md +4 -4
- package/plugins/claude/skills/gdd/references/genre-racing.md +2 -2
- package/plugins/claude/skills/gdd/references/genre-rpg.md +2 -2
- package/plugins/claude/skills/gdd/references/genre-shooter.md +2 -2
- package/plugins/claude/skills/gdd/references/genre-survival.md +2 -2
- package/plugins/claude/skills/gdd/references/invent-first.md +3 -3
- package/plugins/claude/skills/gdd/references/level-and-fun.md +11 -11
- package/plugins/claude/skills/gdd/references/pages.md +2 -5
- package/plugins/claude/skills/gdd/references/plan-at-size.md +5 -5
- package/plugins/claude/skills/gdd/references/production-tiers.md +11 -11
- package/plugins/claude/skills/gdd/references/sections.md +7 -7
- package/plugins/claude/skills/gdd/references/spec-folder.md +3 -3
- package/plugins/claude/skills/gdd/references/the-path.md +3 -4
- package/plugins/claude/skills/gdd/references/world-and-identity.md +4 -4
- package/plugins/claude/skills/gdd/references/worth.md +4 -4
- package/plugins/claude/skills/mobile-ui/SKILL.md +3 -3
- package/plugins/claude/skills/mobile-ui/references/hud-and-title.md +3 -3
- package/plugins/claude/skills/mobile-ui/references/phone-check.md +1 -1
- package/plugins/claude/skills/mobile-ui/references/recipes.md +1 -1
- package/plugins/claude/skills/mobile-ui/references/restyle-ui.md +11 -11
- package/plugins/claude/skills/mobile-ui/references/unity.md +23 -23
- package/plugins/claude/skills/publishing/references/compose.md +1 -1
- package/plugins/claude/skills/publishing/references/server-build.md +1 -1
- package/plugins/claude/skills/store/SKILL.md +3 -3
- package/plugins/claude/skills/store/references/app-store.md +1 -1
- package/plugins/claude/skills/store/references/google-play.md +2 -2
- package/plugins/claude/skills/store/references/ios-release.md +19 -20
- package/plugins/claude/skills/store/references/money.md +2 -2
- package/plugins/claude/skills/store/references/purchases-and-review.md +18 -18
- package/plugins/claude/skills/store/references/readiness-page.md +1 -1
- package/plugins/claude/skills/store/references/readiness.md +3 -3
- package/plugins/claude/skills/store/references/unity-store.md +9 -12
- package/plugins/claude/skills/unity-game/SKILL.md +28 -35
- package/plugins/claude/skills/unity-game/references/agent-ops.md +9 -9
- package/plugins/claude/skills/unity-game/references/fixes.md +21 -21
- package/plugins/claude/skills/unity-game/references/from-a-web-game.md +17 -17
- package/plugins/claude/skills/unity-game/references/handing-off.md +4 -4
- package/plugins/claude/skills/unity-game/references/performance.md +10 -14
- package/plugins/claude/skills/unity-game/references/probe.md +4 -4
- package/plugins/claude/skills/unity-game/references/shared-mac.md +1 -1
- package/plugins/claude/skills/unity-game/references/traps.md +13 -14
- package/plugins/claude/skills/verifying/references/bar.md +1 -1
- package/plugins/claude/skills/verifying/references/fidelity.md +11 -11
- package/plugins/claude/skills/verifying/references/mobile-qa.md +10 -10
- package/plugins/claude/skills/verifying/references/playtest.md +14 -14
- package/plugins/claude/skills/verifying/references/unity.md +11 -11
- package/plugins/claude/skills/world-and-story/SKILL.md +1 -1
- package/plugins/claude/skills/world-and-story/references/atmosphere.md +4 -4
- package/plugins/claude/skills/world-and-story/references/living-world.md +2 -2
- package/plugins/claude/skills/world-and-story/references/opening-and-chapters.md +1 -1
- package/plugins/claude/skills/world-and-story/references/story-at-size.md +2 -2
- package/plugins/claude/skills/world-and-story/references/voice.md +1 -1
- package/plugins/codex/AGENTS.md +1 -1
- package/plugins/codex/README.md +1 -1
- package/plugins/codex/hooks/brief.md +1 -1
- package/plugins/codex/hooks/guidance.json +1 -1
- package/plugins/codex/hooks/host.md +1 -1
- package/plugins/codex/hooks/vendor/pipeline/pipeline.mjs +6 -6
- package/plugins/codex/hooks/vendor/studio/pitch.mjs +1 -1
- package/plugins/codex/skills/fp-art-director/SKILL.md +2 -2
- package/plugins/codex/skills/fp-art-director/references/codex.md +1 -1
- package/plugins/codex/skills/fp-audio-director/references/codex.md +1 -1
- package/plugins/codex/skills/fp-critic/references/codex.md +1 -1
- package/plugins/codex/skills/fp-lane/references/codex.md +1 -1
- package/plugins/codex/skills/fp-level-designer/references/codex.md +1 -1
- package/plugins/codex/skills/fp-mobile-qa-seat/references/codex.md +1 -1
- package/plugins/codex/skills/fp-player/references/codex.md +1 -1
- package/plugins/codex/skills/fp-playtest/SKILL.md +2 -2
- package/plugins/codex/skills/fp-qa-lead/references/codex.md +1 -1
- package/plugins/codex/skills/fp-studio/SKILL.md +1 -1
- package/plugins/codex/skills/funpixel-3d/references/bake-off.md +3 -3
- package/plugins/codex/skills/funpixel-3d/references/characters.md +1 -1
- package/plugins/codex/skills/funpixel-3d/references/hero-route.md +5 -5
- package/plugins/codex/skills/funpixel-3d/references/level-spec.md +1 -1
- package/plugins/codex/skills/funpixel-3d/references/levels.md +3 -3
- package/plugins/codex/skills/funpixel-3d/references/light-and-places.md +3 -3
- package/plugins/codex/skills/funpixel-3d/references/painted-target.md +7 -7
- package/plugins/codex/skills/funpixel-3d/references/three-loading.md +4 -4
- package/plugins/codex/skills/funpixel-3d/references/unity.md +13 -13
- package/plugins/codex/skills/funpixel-art/references/animation.md +1 -1
- package/plugins/codex/skills/funpixel-art/references/cast.md +3 -3
- package/plugins/codex/skills/funpixel-art/references/effects.md +2 -2
- package/plugins/codex/skills/funpixel-art/references/frames.md +6 -6
- package/plugins/codex/skills/funpixel-art/references/judging-frames.md +8 -8
- package/plugins/codex/skills/funpixel-art/references/look.md +4 -4
- package/plugins/codex/skills/funpixel-art/references/pipeline.md +2 -2
- package/plugins/codex/skills/funpixel-art/references/prompts.md +4 -4
- package/plugins/codex/skills/funpixel-art/references/ui.md +15 -15
- package/plugins/codex/skills/funpixel-art/references/unity.md +14 -14
- package/plugins/codex/skills/funpixel-audio/references/adaptive-music.md +4 -4
- package/plugins/codex/skills/funpixel-audio/references/engine.md +2 -2
- package/plugins/codex/skills/funpixel-audio/references/measure.md +1 -1
- package/plugins/codex/skills/funpixel-audio/references/unity.md +20 -19
- package/plugins/codex/skills/funpixel-game-feel/SKILL.md +4 -4
- package/plugins/codex/skills/funpixel-game-feel/references/contact.md +6 -6
- package/plugins/codex/skills/funpixel-game-feel/references/unity.md +18 -23
- package/plugins/codex/skills/funpixel-game-logic/SKILL.md +3 -3
- package/plugins/codex/skills/funpixel-game-logic/references/balance.md +2 -2
- package/plugins/codex/skills/funpixel-game-logic/references/depth.md +2 -2
- package/plugins/codex/skills/funpixel-game-logic/references/escalation.md +5 -5
- package/plugins/codex/skills/funpixel-game-logic/references/probes.md +10 -10
- package/plugins/codex/skills/funpixel-game-logic/references/unity.md +28 -28
- package/plugins/codex/skills/funpixel-game-spine/SKILL.md +1 -1
- package/plugins/codex/skills/funpixel-game-spine/references/performance.md +2 -2
- package/plugins/codex/skills/funpixel-game-spine/references/replay.md +11 -11
- package/plugins/codex/skills/funpixel-game-spine/references/room-api.md +1 -1
- package/plugins/codex/skills/funpixel-game-spine/references/sdk.md +1 -1
- package/plugins/codex/skills/funpixel-gdd/SKILL.md +2 -2
- package/plugins/codex/skills/funpixel-gdd/references/as-built.md +2 -2
- package/plugins/codex/skills/funpixel-gdd/references/design-measures.md +2 -2
- package/plugins/codex/skills/funpixel-gdd/references/design-note.md +1 -1
- package/plugins/codex/skills/funpixel-gdd/references/first-look.md +1 -1
- package/plugins/codex/skills/funpixel-gdd/references/floors.md +2 -2
- package/plugins/codex/skills/funpixel-gdd/references/gameplay-contract.md +1 -1
- package/plugins/codex/skills/funpixel-gdd/references/genre-puzzle.md +4 -4
- package/plugins/codex/skills/funpixel-gdd/references/genre-racing.md +2 -2
- package/plugins/codex/skills/funpixel-gdd/references/genre-rpg.md +2 -2
- package/plugins/codex/skills/funpixel-gdd/references/genre-shooter.md +2 -2
- package/plugins/codex/skills/funpixel-gdd/references/genre-survival.md +2 -2
- package/plugins/codex/skills/funpixel-gdd/references/invent-first.md +3 -3
- package/plugins/codex/skills/funpixel-gdd/references/level-and-fun.md +11 -11
- package/plugins/codex/skills/funpixel-gdd/references/pages.md +2 -5
- package/plugins/codex/skills/funpixel-gdd/references/plan-at-size.md +5 -5
- package/plugins/codex/skills/funpixel-gdd/references/production-tiers.md +11 -11
- package/plugins/codex/skills/funpixel-gdd/references/sections.md +7 -7
- package/plugins/codex/skills/funpixel-gdd/references/spec-folder.md +3 -3
- package/plugins/codex/skills/funpixel-gdd/references/the-path.md +3 -4
- package/plugins/codex/skills/funpixel-gdd/references/world-and-identity.md +4 -4
- package/plugins/codex/skills/funpixel-gdd/references/worth.md +4 -4
- package/plugins/codex/skills/funpixel-mobile-ui/SKILL.md +3 -3
- package/plugins/codex/skills/funpixel-mobile-ui/references/hud-and-title.md +3 -3
- package/plugins/codex/skills/funpixel-mobile-ui/references/phone-check.md +1 -1
- package/plugins/codex/skills/funpixel-mobile-ui/references/recipes.md +1 -1
- package/plugins/codex/skills/funpixel-mobile-ui/references/restyle-ui.md +11 -11
- package/plugins/codex/skills/funpixel-mobile-ui/references/unity.md +23 -23
- package/plugins/codex/skills/funpixel-publish/references/compose.md +1 -1
- package/plugins/codex/skills/funpixel-publish/references/server-build.md +1 -1
- package/plugins/codex/skills/funpixel-store/SKILL.md +3 -3
- package/plugins/codex/skills/funpixel-store/references/app-store.md +1 -1
- package/plugins/codex/skills/funpixel-store/references/google-play.md +2 -2
- package/plugins/codex/skills/funpixel-store/references/ios-release.md +19 -20
- package/plugins/codex/skills/funpixel-store/references/money.md +2 -2
- package/plugins/codex/skills/funpixel-store/references/purchases-and-review.md +18 -18
- package/plugins/codex/skills/funpixel-store/references/readiness-page.md +1 -1
- package/plugins/codex/skills/funpixel-store/references/readiness.md +3 -3
- package/plugins/codex/skills/funpixel-store/references/unity-store.md +9 -12
- package/plugins/codex/skills/funpixel-unity-game/SKILL.md +28 -35
- package/plugins/codex/skills/funpixel-unity-game/references/agent-ops.md +9 -9
- package/plugins/codex/skills/funpixel-unity-game/references/fixes.md +21 -21
- package/plugins/codex/skills/funpixel-unity-game/references/from-a-web-game.md +17 -17
- package/plugins/codex/skills/funpixel-unity-game/references/handing-off.md +4 -4
- package/plugins/codex/skills/funpixel-unity-game/references/performance.md +10 -14
- package/plugins/codex/skills/funpixel-unity-game/references/probe.md +4 -4
- package/plugins/codex/skills/funpixel-unity-game/references/shared-mac.md +1 -1
- package/plugins/codex/skills/funpixel-unity-game/references/traps.md +13 -14
- package/plugins/codex/skills/funpixel-verify/references/bar.md +1 -1
- package/plugins/codex/skills/funpixel-verify/references/fidelity.md +11 -11
- package/plugins/codex/skills/funpixel-verify/references/mobile-qa.md +10 -10
- package/plugins/codex/skills/funpixel-verify/references/playtest.md +14 -14
- package/plugins/codex/skills/funpixel-verify/references/unity.md +11 -11
- package/plugins/codex/skills/funpixel-world-and-story/SKILL.md +1 -1
- package/plugins/codex/skills/funpixel-world-and-story/references/atmosphere.md +4 -4
- package/plugins/codex/skills/funpixel-world-and-story/references/living-world.md +2 -2
- package/plugins/codex/skills/funpixel-world-and-story/references/opening-and-chapters.md +1 -1
- package/plugins/codex/skills/funpixel-world-and-story/references/story-at-size.md +2 -2
- package/plugins/codex/skills/funpixel-world-and-story/references/voice.md +1 -1
- package/plugins/cursor/README.md +1 -1
- package/plugins/cursor/agents/art-director.md +2 -2
- package/plugins/cursor/commands/playtest.md +2 -2
- package/plugins/cursor/hooks/brief.md +1 -1
- package/plugins/cursor/hooks/guidance.json +1 -1
- package/plugins/cursor/hooks/vendor/pipeline/pipeline.mjs +6 -6
- package/plugins/cursor/hooks/vendor/studio/pitch.mjs +1 -1
- package/plugins/cursor/rules/funpixel-brief.mdc +1 -1
- package/plugins/cursor/skills/funpixel-3d/references/bake-off.md +3 -3
- package/plugins/cursor/skills/funpixel-3d/references/characters.md +1 -1
- package/plugins/cursor/skills/funpixel-3d/references/hero-route.md +5 -5
- package/plugins/cursor/skills/funpixel-3d/references/level-spec.md +1 -1
- package/plugins/cursor/skills/funpixel-3d/references/levels.md +3 -3
- package/plugins/cursor/skills/funpixel-3d/references/light-and-places.md +3 -3
- package/plugins/cursor/skills/funpixel-3d/references/painted-target.md +7 -7
- package/plugins/cursor/skills/funpixel-3d/references/three-loading.md +4 -4
- package/plugins/cursor/skills/funpixel-3d/references/unity.md +13 -13
- package/plugins/cursor/skills/funpixel-art/references/animation.md +1 -1
- package/plugins/cursor/skills/funpixel-art/references/cast.md +3 -3
- package/plugins/cursor/skills/funpixel-art/references/effects.md +2 -2
- package/plugins/cursor/skills/funpixel-art/references/frames.md +6 -6
- package/plugins/cursor/skills/funpixel-art/references/judging-frames.md +8 -8
- package/plugins/cursor/skills/funpixel-art/references/look.md +4 -4
- package/plugins/cursor/skills/funpixel-art/references/pipeline.md +2 -2
- package/plugins/cursor/skills/funpixel-art/references/prompts.md +4 -4
- package/plugins/cursor/skills/funpixel-art/references/ui.md +15 -15
- package/plugins/cursor/skills/funpixel-art/references/unity.md +14 -14
- package/plugins/cursor/skills/funpixel-audio/references/adaptive-music.md +4 -4
- package/plugins/cursor/skills/funpixel-audio/references/engine.md +2 -2
- package/plugins/cursor/skills/funpixel-audio/references/measure.md +1 -1
- package/plugins/cursor/skills/funpixel-audio/references/unity.md +20 -19
- package/plugins/cursor/skills/funpixel-game-feel/SKILL.md +4 -4
- package/plugins/cursor/skills/funpixel-game-feel/references/contact.md +6 -6
- package/plugins/cursor/skills/funpixel-game-feel/references/unity.md +18 -23
- package/plugins/cursor/skills/funpixel-game-logic/SKILL.md +3 -3
- package/plugins/cursor/skills/funpixel-game-logic/references/balance.md +2 -2
- package/plugins/cursor/skills/funpixel-game-logic/references/depth.md +2 -2
- package/plugins/cursor/skills/funpixel-game-logic/references/escalation.md +5 -5
- package/plugins/cursor/skills/funpixel-game-logic/references/probes.md +10 -10
- package/plugins/cursor/skills/funpixel-game-logic/references/unity.md +28 -28
- package/plugins/cursor/skills/funpixel-game-spine/SKILL.md +1 -1
- package/plugins/cursor/skills/funpixel-game-spine/references/performance.md +2 -2
- package/plugins/cursor/skills/funpixel-game-spine/references/replay.md +11 -11
- package/plugins/cursor/skills/funpixel-game-spine/references/room-api.md +1 -1
- package/plugins/cursor/skills/funpixel-game-spine/references/sdk.md +1 -1
- package/plugins/cursor/skills/funpixel-gdd/SKILL.md +2 -2
- package/plugins/cursor/skills/funpixel-gdd/references/as-built.md +2 -2
- package/plugins/cursor/skills/funpixel-gdd/references/design-measures.md +2 -2
- package/plugins/cursor/skills/funpixel-gdd/references/design-note.md +1 -1
- package/plugins/cursor/skills/funpixel-gdd/references/first-look.md +1 -1
- package/plugins/cursor/skills/funpixel-gdd/references/floors.md +2 -2
- package/plugins/cursor/skills/funpixel-gdd/references/gameplay-contract.md +1 -1
- package/plugins/cursor/skills/funpixel-gdd/references/genre-puzzle.md +4 -4
- package/plugins/cursor/skills/funpixel-gdd/references/genre-racing.md +2 -2
- package/plugins/cursor/skills/funpixel-gdd/references/genre-rpg.md +2 -2
- package/plugins/cursor/skills/funpixel-gdd/references/genre-shooter.md +2 -2
- package/plugins/cursor/skills/funpixel-gdd/references/genre-survival.md +2 -2
- package/plugins/cursor/skills/funpixel-gdd/references/invent-first.md +3 -3
- package/plugins/cursor/skills/funpixel-gdd/references/level-and-fun.md +11 -11
- package/plugins/cursor/skills/funpixel-gdd/references/pages.md +2 -5
- package/plugins/cursor/skills/funpixel-gdd/references/plan-at-size.md +5 -5
- package/plugins/cursor/skills/funpixel-gdd/references/production-tiers.md +11 -11
- package/plugins/cursor/skills/funpixel-gdd/references/sections.md +7 -7
- package/plugins/cursor/skills/funpixel-gdd/references/spec-folder.md +3 -3
- package/plugins/cursor/skills/funpixel-gdd/references/the-path.md +3 -4
- package/plugins/cursor/skills/funpixel-gdd/references/world-and-identity.md +4 -4
- package/plugins/cursor/skills/funpixel-gdd/references/worth.md +4 -4
- package/plugins/cursor/skills/funpixel-mobile-ui/SKILL.md +3 -3
- package/plugins/cursor/skills/funpixel-mobile-ui/references/hud-and-title.md +3 -3
- package/plugins/cursor/skills/funpixel-mobile-ui/references/phone-check.md +1 -1
- package/plugins/cursor/skills/funpixel-mobile-ui/references/recipes.md +1 -1
- package/plugins/cursor/skills/funpixel-mobile-ui/references/restyle-ui.md +11 -11
- package/plugins/cursor/skills/funpixel-mobile-ui/references/unity.md +23 -23
- package/plugins/cursor/skills/funpixel-publish/references/compose.md +1 -1
- package/plugins/cursor/skills/funpixel-publish/references/server-build.md +1 -1
- package/plugins/cursor/skills/funpixel-store/SKILL.md +3 -3
- package/plugins/cursor/skills/funpixel-store/references/app-store.md +1 -1
- package/plugins/cursor/skills/funpixel-store/references/google-play.md +2 -2
- package/plugins/cursor/skills/funpixel-store/references/ios-release.md +19 -20
- package/plugins/cursor/skills/funpixel-store/references/money.md +2 -2
- package/plugins/cursor/skills/funpixel-store/references/purchases-and-review.md +18 -18
- package/plugins/cursor/skills/funpixel-store/references/readiness-page.md +1 -1
- package/plugins/cursor/skills/funpixel-store/references/readiness.md +3 -3
- package/plugins/cursor/skills/funpixel-store/references/unity-store.md +9 -12
- package/plugins/cursor/skills/funpixel-unity-game/SKILL.md +28 -35
- package/plugins/cursor/skills/funpixel-unity-game/references/agent-ops.md +9 -9
- package/plugins/cursor/skills/funpixel-unity-game/references/fixes.md +21 -21
- package/plugins/cursor/skills/funpixel-unity-game/references/from-a-web-game.md +17 -17
- package/plugins/cursor/skills/funpixel-unity-game/references/handing-off.md +4 -4
- package/plugins/cursor/skills/funpixel-unity-game/references/performance.md +10 -14
- package/plugins/cursor/skills/funpixel-unity-game/references/probe.md +4 -4
- package/plugins/cursor/skills/funpixel-unity-game/references/shared-mac.md +1 -1
- package/plugins/cursor/skills/funpixel-unity-game/references/traps.md +13 -14
- package/plugins/cursor/skills/funpixel-verify/references/bar.md +1 -1
- package/plugins/cursor/skills/funpixel-verify/references/fidelity.md +11 -11
- package/plugins/cursor/skills/funpixel-verify/references/mobile-qa.md +10 -10
- package/plugins/cursor/skills/funpixel-verify/references/playtest.md +14 -14
- package/plugins/cursor/skills/funpixel-verify/references/unity.md +11 -11
- package/plugins/cursor/skills/funpixel-world-and-story/SKILL.md +1 -1
- package/plugins/cursor/skills/funpixel-world-and-story/references/atmosphere.md +4 -4
- package/plugins/cursor/skills/funpixel-world-and-story/references/living-world.md +2 -2
- package/plugins/cursor/skills/funpixel-world-and-story/references/opening-and-chapters.md +1 -1
- package/plugins/cursor/skills/funpixel-world-and-story/references/story-at-size.md +2 -2
- package/plugins/cursor/skills/funpixel-world-and-story/references/voice.md +1 -1
- package/plugins/kiro/AGENTS.md +1 -1
- package/plugins/kiro/README.md +1 -1
- package/plugins/kiro/hooks/brief.md +1 -1
- package/plugins/kiro/hooks/guidance.json +1 -1
- package/plugins/kiro/hooks/vendor/pipeline/pipeline.mjs +6 -6
- package/plugins/kiro/hooks/vendor/studio/pitch.mjs +1 -1
- package/plugins/kiro/skills/fp-art-director/SKILL.md +2 -2
- package/plugins/kiro/skills/fp-playtest/SKILL.md +2 -2
- package/plugins/kiro/skills/funpixel-3d/references/bake-off.md +3 -3
- package/plugins/kiro/skills/funpixel-3d/references/characters.md +1 -1
- package/plugins/kiro/skills/funpixel-3d/references/hero-route.md +5 -5
- package/plugins/kiro/skills/funpixel-3d/references/level-spec.md +1 -1
- package/plugins/kiro/skills/funpixel-3d/references/levels.md +3 -3
- package/plugins/kiro/skills/funpixel-3d/references/light-and-places.md +3 -3
- package/plugins/kiro/skills/funpixel-3d/references/painted-target.md +7 -7
- package/plugins/kiro/skills/funpixel-3d/references/three-loading.md +4 -4
- package/plugins/kiro/skills/funpixel-3d/references/unity.md +13 -13
- package/plugins/kiro/skills/funpixel-art/references/animation.md +1 -1
- package/plugins/kiro/skills/funpixel-art/references/cast.md +3 -3
- package/plugins/kiro/skills/funpixel-art/references/effects.md +2 -2
- package/plugins/kiro/skills/funpixel-art/references/frames.md +6 -6
- package/plugins/kiro/skills/funpixel-art/references/judging-frames.md +8 -8
- package/plugins/kiro/skills/funpixel-art/references/look.md +4 -4
- package/plugins/kiro/skills/funpixel-art/references/pipeline.md +2 -2
- package/plugins/kiro/skills/funpixel-art/references/prompts.md +4 -4
- package/plugins/kiro/skills/funpixel-art/references/ui.md +15 -15
- package/plugins/kiro/skills/funpixel-art/references/unity.md +14 -14
- package/plugins/kiro/skills/funpixel-audio/references/adaptive-music.md +4 -4
- package/plugins/kiro/skills/funpixel-audio/references/engine.md +2 -2
- package/plugins/kiro/skills/funpixel-audio/references/measure.md +1 -1
- package/plugins/kiro/skills/funpixel-audio/references/unity.md +20 -19
- package/plugins/kiro/skills/funpixel-game-feel/SKILL.md +4 -4
- package/plugins/kiro/skills/funpixel-game-feel/references/contact.md +6 -6
- package/plugins/kiro/skills/funpixel-game-feel/references/unity.md +18 -23
- package/plugins/kiro/skills/funpixel-game-logic/SKILL.md +3 -3
- package/plugins/kiro/skills/funpixel-game-logic/references/balance.md +2 -2
- package/plugins/kiro/skills/funpixel-game-logic/references/depth.md +2 -2
- package/plugins/kiro/skills/funpixel-game-logic/references/escalation.md +5 -5
- package/plugins/kiro/skills/funpixel-game-logic/references/probes.md +10 -10
- package/plugins/kiro/skills/funpixel-game-logic/references/unity.md +28 -28
- package/plugins/kiro/skills/funpixel-game-spine/SKILL.md +1 -1
- package/plugins/kiro/skills/funpixel-game-spine/references/performance.md +2 -2
- package/plugins/kiro/skills/funpixel-game-spine/references/replay.md +11 -11
- package/plugins/kiro/skills/funpixel-game-spine/references/room-api.md +1 -1
- package/plugins/kiro/skills/funpixel-game-spine/references/sdk.md +1 -1
- package/plugins/kiro/skills/funpixel-gdd/SKILL.md +2 -2
- package/plugins/kiro/skills/funpixel-gdd/references/as-built.md +2 -2
- package/plugins/kiro/skills/funpixel-gdd/references/design-measures.md +2 -2
- package/plugins/kiro/skills/funpixel-gdd/references/design-note.md +1 -1
- package/plugins/kiro/skills/funpixel-gdd/references/first-look.md +1 -1
- package/plugins/kiro/skills/funpixel-gdd/references/floors.md +2 -2
- package/plugins/kiro/skills/funpixel-gdd/references/gameplay-contract.md +1 -1
- package/plugins/kiro/skills/funpixel-gdd/references/genre-puzzle.md +4 -4
- package/plugins/kiro/skills/funpixel-gdd/references/genre-racing.md +2 -2
- package/plugins/kiro/skills/funpixel-gdd/references/genre-rpg.md +2 -2
- package/plugins/kiro/skills/funpixel-gdd/references/genre-shooter.md +2 -2
- package/plugins/kiro/skills/funpixel-gdd/references/genre-survival.md +2 -2
- package/plugins/kiro/skills/funpixel-gdd/references/invent-first.md +3 -3
- package/plugins/kiro/skills/funpixel-gdd/references/level-and-fun.md +11 -11
- package/plugins/kiro/skills/funpixel-gdd/references/pages.md +2 -5
- package/plugins/kiro/skills/funpixel-gdd/references/plan-at-size.md +5 -5
- package/plugins/kiro/skills/funpixel-gdd/references/production-tiers.md +11 -11
- package/plugins/kiro/skills/funpixel-gdd/references/sections.md +7 -7
- package/plugins/kiro/skills/funpixel-gdd/references/spec-folder.md +3 -3
- package/plugins/kiro/skills/funpixel-gdd/references/the-path.md +3 -4
- package/plugins/kiro/skills/funpixel-gdd/references/world-and-identity.md +4 -4
- package/plugins/kiro/skills/funpixel-gdd/references/worth.md +4 -4
- package/plugins/kiro/skills/funpixel-mobile-ui/SKILL.md +3 -3
- package/plugins/kiro/skills/funpixel-mobile-ui/references/hud-and-title.md +3 -3
- package/plugins/kiro/skills/funpixel-mobile-ui/references/phone-check.md +1 -1
- package/plugins/kiro/skills/funpixel-mobile-ui/references/recipes.md +1 -1
- package/plugins/kiro/skills/funpixel-mobile-ui/references/restyle-ui.md +11 -11
- package/plugins/kiro/skills/funpixel-mobile-ui/references/unity.md +23 -23
- package/plugins/kiro/skills/funpixel-publish/references/compose.md +1 -1
- package/plugins/kiro/skills/funpixel-publish/references/server-build.md +1 -1
- package/plugins/kiro/skills/funpixel-store/SKILL.md +3 -3
- package/plugins/kiro/skills/funpixel-store/references/app-store.md +1 -1
- package/plugins/kiro/skills/funpixel-store/references/google-play.md +2 -2
- package/plugins/kiro/skills/funpixel-store/references/ios-release.md +19 -20
- package/plugins/kiro/skills/funpixel-store/references/money.md +2 -2
- package/plugins/kiro/skills/funpixel-store/references/purchases-and-review.md +18 -18
- package/plugins/kiro/skills/funpixel-store/references/readiness-page.md +1 -1
- package/plugins/kiro/skills/funpixel-store/references/readiness.md +3 -3
- package/plugins/kiro/skills/funpixel-store/references/unity-store.md +9 -12
- package/plugins/kiro/skills/funpixel-unity-game/SKILL.md +28 -35
- package/plugins/kiro/skills/funpixel-unity-game/references/agent-ops.md +9 -9
- package/plugins/kiro/skills/funpixel-unity-game/references/fixes.md +21 -21
- package/plugins/kiro/skills/funpixel-unity-game/references/from-a-web-game.md +17 -17
- package/plugins/kiro/skills/funpixel-unity-game/references/handing-off.md +4 -4
- package/plugins/kiro/skills/funpixel-unity-game/references/performance.md +10 -14
- package/plugins/kiro/skills/funpixel-unity-game/references/probe.md +4 -4
- package/plugins/kiro/skills/funpixel-unity-game/references/shared-mac.md +1 -1
- package/plugins/kiro/skills/funpixel-unity-game/references/traps.md +13 -14
- package/plugins/kiro/skills/funpixel-verify/references/bar.md +1 -1
- package/plugins/kiro/skills/funpixel-verify/references/fidelity.md +11 -11
- package/plugins/kiro/skills/funpixel-verify/references/mobile-qa.md +10 -10
- package/plugins/kiro/skills/funpixel-verify/references/playtest.md +14 -14
- package/plugins/kiro/skills/funpixel-verify/references/unity.md +11 -11
- package/plugins/kiro/skills/funpixel-world-and-story/SKILL.md +1 -1
- package/plugins/kiro/skills/funpixel-world-and-story/references/atmosphere.md +4 -4
- package/plugins/kiro/skills/funpixel-world-and-story/references/living-world.md +2 -2
- package/plugins/kiro/skills/funpixel-world-and-story/references/opening-and-chapters.md +1 -1
- package/plugins/kiro/skills/funpixel-world-and-story/references/story-at-size.md +2 -2
- package/plugins/kiro/skills/funpixel-world-and-story/references/voice.md +1 -1
- package/plugins/robin/README.md +1 -1
- package/plugins/robin/claude/README.md +2 -3
- package/plugins/robin/claude/agents/art-director.md +2 -2
- package/plugins/robin/claude/commands/playtest.md +2 -2
- package/plugins/robin/claude/hooks/brief.md +1 -1
- package/plugins/robin/claude/hooks/guidance.json +1 -1
- package/plugins/robin/claude/hooks/vendor/pipeline/pipeline.mjs +6 -6
- package/plugins/robin/claude/hooks/vendor/studio/pitch.mjs +1 -1
- package/plugins/robin/claude/skills/3d/references/bake-off.md +3 -3
- package/plugins/robin/claude/skills/3d/references/characters.md +1 -1
- package/plugins/robin/claude/skills/3d/references/hero-route.md +5 -5
- package/plugins/robin/claude/skills/3d/references/level-spec.md +1 -1
- package/plugins/robin/claude/skills/3d/references/levels.md +3 -3
- package/plugins/robin/claude/skills/3d/references/light-and-places.md +3 -3
- package/plugins/robin/claude/skills/3d/references/painted-target.md +7 -7
- package/plugins/robin/claude/skills/3d/references/three-loading.md +4 -4
- package/plugins/robin/claude/skills/3d/references/unity.md +13 -13
- package/plugins/robin/claude/skills/art/references/animation.md +1 -1
- package/plugins/robin/claude/skills/art/references/cast.md +3 -3
- package/plugins/robin/claude/skills/art/references/effects.md +2 -2
- package/plugins/robin/claude/skills/art/references/frames.md +6 -6
- package/plugins/robin/claude/skills/art/references/judging-frames.md +8 -8
- package/plugins/robin/claude/skills/art/references/look.md +4 -4
- package/plugins/robin/claude/skills/art/references/pipeline.md +2 -2
- package/plugins/robin/claude/skills/art/references/prompts.md +4 -4
- package/plugins/robin/claude/skills/art/references/ui.md +15 -15
- package/plugins/robin/claude/skills/art/references/unity.md +14 -14
- package/plugins/robin/claude/skills/audio/references/adaptive-music.md +4 -4
- package/plugins/robin/claude/skills/audio/references/engine.md +2 -2
- package/plugins/robin/claude/skills/audio/references/measure.md +1 -1
- package/plugins/robin/claude/skills/audio/references/unity.md +20 -19
- package/plugins/robin/claude/skills/game-feel/SKILL.md +4 -4
- package/plugins/robin/claude/skills/game-feel/references/contact.md +6 -6
- package/plugins/robin/claude/skills/game-feel/references/unity.md +18 -23
- package/plugins/robin/claude/skills/game-logic/SKILL.md +3 -3
- package/plugins/robin/claude/skills/game-logic/references/balance.md +2 -2
- package/plugins/robin/claude/skills/game-logic/references/depth.md +2 -2
- package/plugins/robin/claude/skills/game-logic/references/escalation.md +5 -5
- package/plugins/robin/claude/skills/game-logic/references/probes.md +10 -10
- package/plugins/robin/claude/skills/game-logic/references/unity.md +28 -28
- package/plugins/robin/claude/skills/game-spine/SKILL.md +1 -1
- package/plugins/robin/claude/skills/game-spine/references/performance.md +2 -2
- package/plugins/robin/claude/skills/game-spine/references/replay.md +11 -11
- package/plugins/robin/claude/skills/game-spine/references/room-api.md +1 -1
- package/plugins/robin/claude/skills/game-spine/references/sdk.md +1 -1
- package/plugins/robin/claude/skills/gdd/SKILL.md +2 -2
- package/plugins/robin/claude/skills/gdd/references/as-built.md +2 -2
- package/plugins/robin/claude/skills/gdd/references/design-measures.md +2 -2
- package/plugins/robin/claude/skills/gdd/references/design-note.md +1 -1
- package/plugins/robin/claude/skills/gdd/references/first-look.md +1 -1
- package/plugins/robin/claude/skills/gdd/references/floors.md +2 -2
- package/plugins/robin/claude/skills/gdd/references/gameplay-contract.md +1 -1
- package/plugins/robin/claude/skills/gdd/references/genre-puzzle.md +4 -4
- package/plugins/robin/claude/skills/gdd/references/genre-racing.md +2 -2
- package/plugins/robin/claude/skills/gdd/references/genre-rpg.md +2 -2
- package/plugins/robin/claude/skills/gdd/references/genre-shooter.md +2 -2
- package/plugins/robin/claude/skills/gdd/references/genre-survival.md +2 -2
- package/plugins/robin/claude/skills/gdd/references/invent-first.md +3 -3
- package/plugins/robin/claude/skills/gdd/references/level-and-fun.md +11 -11
- package/plugins/robin/claude/skills/gdd/references/pages.md +2 -5
- package/plugins/robin/claude/skills/gdd/references/plan-at-size.md +5 -5
- package/plugins/robin/claude/skills/gdd/references/production-tiers.md +11 -11
- package/plugins/robin/claude/skills/gdd/references/sections.md +7 -7
- package/plugins/robin/claude/skills/gdd/references/spec-folder.md +3 -3
- package/plugins/robin/claude/skills/gdd/references/the-path.md +3 -4
- package/plugins/robin/claude/skills/gdd/references/world-and-identity.md +4 -4
- package/plugins/robin/claude/skills/gdd/references/worth.md +4 -4
- package/plugins/robin/claude/skills/mobile-ui/SKILL.md +3 -3
- package/plugins/robin/claude/skills/mobile-ui/references/hud-and-title.md +3 -3
- package/plugins/robin/claude/skills/mobile-ui/references/phone-check.md +1 -1
- package/plugins/robin/claude/skills/mobile-ui/references/recipes.md +1 -1
- package/plugins/robin/claude/skills/mobile-ui/references/restyle-ui.md +11 -11
- package/plugins/robin/claude/skills/mobile-ui/references/unity.md +23 -23
- package/plugins/robin/claude/skills/publishing/references/compose.md +1 -1
- package/plugins/robin/claude/skills/publishing/references/server-build.md +1 -1
- package/plugins/robin/claude/skills/store/SKILL.md +3 -3
- package/plugins/robin/claude/skills/store/references/app-store.md +1 -1
- package/plugins/robin/claude/skills/store/references/google-play.md +2 -2
- package/plugins/robin/claude/skills/store/references/ios-release.md +19 -20
- package/plugins/robin/claude/skills/store/references/money.md +2 -2
- package/plugins/robin/claude/skills/store/references/purchases-and-review.md +18 -18
- package/plugins/robin/claude/skills/store/references/readiness-page.md +1 -1
- package/plugins/robin/claude/skills/store/references/readiness.md +3 -3
- package/plugins/robin/claude/skills/store/references/unity-store.md +9 -12
- package/plugins/robin/claude/skills/unity-game/SKILL.md +28 -35
- package/plugins/robin/claude/skills/unity-game/references/agent-ops.md +9 -9
- package/plugins/robin/claude/skills/unity-game/references/fixes.md +21 -21
- package/plugins/robin/claude/skills/unity-game/references/from-a-web-game.md +17 -17
- package/plugins/robin/claude/skills/unity-game/references/handing-off.md +4 -4
- package/plugins/robin/claude/skills/unity-game/references/performance.md +10 -14
- package/plugins/robin/claude/skills/unity-game/references/probe.md +4 -4
- package/plugins/robin/claude/skills/unity-game/references/shared-mac.md +1 -1
- package/plugins/robin/claude/skills/unity-game/references/traps.md +13 -14
- package/plugins/robin/claude/skills/verifying/references/bar.md +1 -1
- package/plugins/robin/claude/skills/verifying/references/fidelity.md +11 -11
- package/plugins/robin/claude/skills/verifying/references/mobile-qa.md +10 -10
- package/plugins/robin/claude/skills/verifying/references/playtest.md +14 -14
- package/plugins/robin/claude/skills/verifying/references/unity.md +11 -11
- package/plugins/robin/claude/skills/world-and-story/SKILL.md +1 -1
- package/plugins/robin/claude/skills/world-and-story/references/atmosphere.md +4 -4
- package/plugins/robin/claude/skills/world-and-story/references/living-world.md +2 -2
- package/plugins/robin/claude/skills/world-and-story/references/opening-and-chapters.md +1 -1
- package/plugins/robin/claude/skills/world-and-story/references/story-at-size.md +2 -2
- package/plugins/robin/claude/skills/world-and-story/references/voice.md +1 -1
- package/plugins/robin/skills/fp-playtest/SKILL.md +2 -2
- package/plugins/robin/skills/funpixel-3d/references/bake-off.md +3 -3
- package/plugins/robin/skills/funpixel-3d/references/characters.md +1 -1
- package/plugins/robin/skills/funpixel-3d/references/hero-route.md +5 -5
- package/plugins/robin/skills/funpixel-3d/references/level-spec.md +1 -1
- package/plugins/robin/skills/funpixel-3d/references/levels.md +3 -3
- package/plugins/robin/skills/funpixel-3d/references/light-and-places.md +3 -3
- package/plugins/robin/skills/funpixel-3d/references/painted-target.md +7 -7
- package/plugins/robin/skills/funpixel-3d/references/three-loading.md +4 -4
- package/plugins/robin/skills/funpixel-3d/references/unity.md +13 -13
- package/plugins/robin/skills/funpixel-art/references/animation.md +1 -1
- package/plugins/robin/skills/funpixel-art/references/cast.md +3 -3
- package/plugins/robin/skills/funpixel-art/references/effects.md +2 -2
- package/plugins/robin/skills/funpixel-art/references/frames.md +6 -6
- package/plugins/robin/skills/funpixel-art/references/judging-frames.md +8 -8
- package/plugins/robin/skills/funpixel-art/references/look.md +4 -4
- package/plugins/robin/skills/funpixel-art/references/pipeline.md +2 -2
- package/plugins/robin/skills/funpixel-art/references/prompts.md +4 -4
- package/plugins/robin/skills/funpixel-art/references/ui.md +15 -15
- package/plugins/robin/skills/funpixel-art/references/unity.md +14 -14
- package/plugins/robin/skills/funpixel-audio/references/adaptive-music.md +4 -4
- package/plugins/robin/skills/funpixel-audio/references/engine.md +2 -2
- package/plugins/robin/skills/funpixel-audio/references/measure.md +1 -1
- package/plugins/robin/skills/funpixel-audio/references/unity.md +20 -19
- package/plugins/robin/skills/funpixel-brief/SKILL.md +1 -1
- package/plugins/robin/skills/funpixel-game-feel/SKILL.md +4 -4
- package/plugins/robin/skills/funpixel-game-feel/references/contact.md +6 -6
- package/plugins/robin/skills/funpixel-game-feel/references/unity.md +18 -23
- package/plugins/robin/skills/funpixel-game-logic/SKILL.md +3 -3
- package/plugins/robin/skills/funpixel-game-logic/references/balance.md +2 -2
- package/plugins/robin/skills/funpixel-game-logic/references/depth.md +2 -2
- package/plugins/robin/skills/funpixel-game-logic/references/escalation.md +5 -5
- package/plugins/robin/skills/funpixel-game-logic/references/probes.md +10 -10
- package/plugins/robin/skills/funpixel-game-logic/references/unity.md +28 -28
- package/plugins/robin/skills/funpixel-game-spine/SKILL.md +1 -1
- package/plugins/robin/skills/funpixel-game-spine/references/performance.md +2 -2
- package/plugins/robin/skills/funpixel-game-spine/references/replay.md +11 -11
- package/plugins/robin/skills/funpixel-game-spine/references/room-api.md +1 -1
- package/plugins/robin/skills/funpixel-game-spine/references/sdk.md +1 -1
- package/plugins/robin/skills/funpixel-gdd/SKILL.md +2 -2
- package/plugins/robin/skills/funpixel-gdd/references/as-built.md +2 -2
- package/plugins/robin/skills/funpixel-gdd/references/design-measures.md +2 -2
- package/plugins/robin/skills/funpixel-gdd/references/design-note.md +1 -1
- package/plugins/robin/skills/funpixel-gdd/references/first-look.md +1 -1
- package/plugins/robin/skills/funpixel-gdd/references/floors.md +2 -2
- package/plugins/robin/skills/funpixel-gdd/references/gameplay-contract.md +1 -1
- package/plugins/robin/skills/funpixel-gdd/references/genre-puzzle.md +4 -4
- package/plugins/robin/skills/funpixel-gdd/references/genre-racing.md +2 -2
- package/plugins/robin/skills/funpixel-gdd/references/genre-rpg.md +2 -2
- package/plugins/robin/skills/funpixel-gdd/references/genre-shooter.md +2 -2
- package/plugins/robin/skills/funpixel-gdd/references/genre-survival.md +2 -2
- package/plugins/robin/skills/funpixel-gdd/references/invent-first.md +3 -3
- package/plugins/robin/skills/funpixel-gdd/references/level-and-fun.md +11 -11
- package/plugins/robin/skills/funpixel-gdd/references/pages.md +2 -5
- package/plugins/robin/skills/funpixel-gdd/references/plan-at-size.md +5 -5
- package/plugins/robin/skills/funpixel-gdd/references/production-tiers.md +11 -11
- package/plugins/robin/skills/funpixel-gdd/references/sections.md +7 -7
- package/plugins/robin/skills/funpixel-gdd/references/spec-folder.md +3 -3
- package/plugins/robin/skills/funpixel-gdd/references/the-path.md +3 -4
- package/plugins/robin/skills/funpixel-gdd/references/world-and-identity.md +4 -4
- package/plugins/robin/skills/funpixel-gdd/references/worth.md +4 -4
- package/plugins/robin/skills/funpixel-mobile-ui/SKILL.md +3 -3
- package/plugins/robin/skills/funpixel-mobile-ui/references/hud-and-title.md +3 -3
- package/plugins/robin/skills/funpixel-mobile-ui/references/phone-check.md +1 -1
- package/plugins/robin/skills/funpixel-mobile-ui/references/recipes.md +1 -1
- package/plugins/robin/skills/funpixel-mobile-ui/references/restyle-ui.md +11 -11
- package/plugins/robin/skills/funpixel-mobile-ui/references/unity.md +23 -23
- package/plugins/robin/skills/funpixel-publish/references/compose.md +1 -1
- package/plugins/robin/skills/funpixel-publish/references/server-build.md +1 -1
- package/plugins/robin/skills/funpixel-store/SKILL.md +3 -3
- package/plugins/robin/skills/funpixel-store/references/app-store.md +1 -1
- package/plugins/robin/skills/funpixel-store/references/google-play.md +2 -2
- package/plugins/robin/skills/funpixel-store/references/ios-release.md +19 -20
- package/plugins/robin/skills/funpixel-store/references/money.md +2 -2
- package/plugins/robin/skills/funpixel-store/references/purchases-and-review.md +18 -18
- package/plugins/robin/skills/funpixel-store/references/readiness-page.md +1 -1
- package/plugins/robin/skills/funpixel-store/references/readiness.md +3 -3
- package/plugins/robin/skills/funpixel-store/references/unity-store.md +9 -12
- package/plugins/robin/skills/funpixel-unity-game/SKILL.md +28 -35
- package/plugins/robin/skills/funpixel-unity-game/references/agent-ops.md +9 -9
- package/plugins/robin/skills/funpixel-unity-game/references/fixes.md +21 -21
- package/plugins/robin/skills/funpixel-unity-game/references/from-a-web-game.md +17 -17
- package/plugins/robin/skills/funpixel-unity-game/references/handing-off.md +4 -4
- package/plugins/robin/skills/funpixel-unity-game/references/performance.md +10 -14
- package/plugins/robin/skills/funpixel-unity-game/references/probe.md +4 -4
- package/plugins/robin/skills/funpixel-unity-game/references/shared-mac.md +1 -1
- package/plugins/robin/skills/funpixel-unity-game/references/traps.md +13 -14
- package/plugins/robin/skills/funpixel-verify/references/bar.md +1 -1
- package/plugins/robin/skills/funpixel-verify/references/fidelity.md +11 -11
- package/plugins/robin/skills/funpixel-verify/references/mobile-qa.md +10 -10
- package/plugins/robin/skills/funpixel-verify/references/playtest.md +14 -14
- package/plugins/robin/skills/funpixel-verify/references/unity.md +11 -11
- package/plugins/robin/skills/funpixel-world-and-story/SKILL.md +1 -1
- package/plugins/robin/skills/funpixel-world-and-story/references/atmosphere.md +4 -4
- package/plugins/robin/skills/funpixel-world-and-story/references/living-world.md +2 -2
- package/plugins/robin/skills/funpixel-world-and-story/references/opening-and-chapters.md +1 -1
- package/plugins/robin/skills/funpixel-world-and-story/references/story-at-size.md +2 -2
- package/plugins/robin/skills/funpixel-world-and-story/references/voice.md +1 -1
- package/templates/common/.agents/skills/funpixel-3d/references/bake-off.md +3 -3
- package/templates/common/.agents/skills/funpixel-3d/references/characters.md +1 -1
- package/templates/common/.agents/skills/funpixel-3d/references/hero-route.md +5 -5
- package/templates/common/.agents/skills/funpixel-3d/references/level-spec.md +1 -1
- package/templates/common/.agents/skills/funpixel-3d/references/levels.md +3 -3
- package/templates/common/.agents/skills/funpixel-3d/references/light-and-places.md +3 -3
- package/templates/common/.agents/skills/funpixel-3d/references/painted-target.md +7 -7
- package/templates/common/.agents/skills/funpixel-3d/references/three-loading.md +4 -4
- package/templates/common/.agents/skills/funpixel-3d/references/unity.md +13 -13
- package/templates/common/.agents/skills/funpixel-art/references/animation.md +1 -1
- package/templates/common/.agents/skills/funpixel-art/references/cast.md +3 -3
- package/templates/common/.agents/skills/funpixel-art/references/effects.md +2 -2
- package/templates/common/.agents/skills/funpixel-art/references/frames.md +6 -6
- package/templates/common/.agents/skills/funpixel-art/references/judging-frames.md +8 -8
- package/templates/common/.agents/skills/funpixel-art/references/look.md +4 -4
- package/templates/common/.agents/skills/funpixel-art/references/pipeline.md +2 -2
- package/templates/common/.agents/skills/funpixel-art/references/prompts.md +4 -4
- package/templates/common/.agents/skills/funpixel-art/references/ui.md +15 -15
- package/templates/common/.agents/skills/funpixel-art/references/unity.md +14 -14
- package/templates/common/.agents/skills/funpixel-audio/references/adaptive-music.md +4 -4
- package/templates/common/.agents/skills/funpixel-audio/references/engine.md +2 -2
- package/templates/common/.agents/skills/funpixel-audio/references/measure.md +1 -1
- package/templates/common/.agents/skills/funpixel-audio/references/unity.md +20 -19
- package/templates/common/.agents/skills/funpixel-game-feel/SKILL.md +4 -4
- package/templates/common/.agents/skills/funpixel-game-feel/references/contact.md +6 -6
- package/templates/common/.agents/skills/funpixel-game-feel/references/unity.md +18 -23
- package/templates/common/.agents/skills/funpixel-game-logic/SKILL.md +3 -3
- package/templates/common/.agents/skills/funpixel-game-logic/references/balance.md +2 -2
- package/templates/common/.agents/skills/funpixel-game-logic/references/depth.md +2 -2
- package/templates/common/.agents/skills/funpixel-game-logic/references/escalation.md +5 -5
- package/templates/common/.agents/skills/funpixel-game-logic/references/probes.md +10 -10
- package/templates/common/.agents/skills/funpixel-game-logic/references/unity.md +28 -28
- package/templates/common/.agents/skills/funpixel-game-spine/SKILL.md +1 -1
- package/templates/common/.agents/skills/funpixel-game-spine/references/performance.md +2 -2
- package/templates/common/.agents/skills/funpixel-game-spine/references/replay.md +11 -11
- package/templates/common/.agents/skills/funpixel-game-spine/references/room-api.md +1 -1
- package/templates/common/.agents/skills/funpixel-game-spine/references/sdk.md +1 -1
- package/templates/common/.agents/skills/funpixel-gdd/SKILL.md +2 -2
- package/templates/common/.agents/skills/funpixel-gdd/references/as-built.md +2 -2
- package/templates/common/.agents/skills/funpixel-gdd/references/design-measures.md +2 -2
- package/templates/common/.agents/skills/funpixel-gdd/references/design-note.md +1 -1
- package/templates/common/.agents/skills/funpixel-gdd/references/first-look.md +1 -1
- package/templates/common/.agents/skills/funpixel-gdd/references/floors.md +2 -2
- package/templates/common/.agents/skills/funpixel-gdd/references/gameplay-contract.md +1 -1
- package/templates/common/.agents/skills/funpixel-gdd/references/genre-puzzle.md +4 -4
- package/templates/common/.agents/skills/funpixel-gdd/references/genre-racing.md +2 -2
- package/templates/common/.agents/skills/funpixel-gdd/references/genre-rpg.md +2 -2
- package/templates/common/.agents/skills/funpixel-gdd/references/genre-shooter.md +2 -2
- package/templates/common/.agents/skills/funpixel-gdd/references/genre-survival.md +2 -2
- package/templates/common/.agents/skills/funpixel-gdd/references/invent-first.md +3 -3
- package/templates/common/.agents/skills/funpixel-gdd/references/level-and-fun.md +11 -11
- package/templates/common/.agents/skills/funpixel-gdd/references/pages.md +2 -5
- package/templates/common/.agents/skills/funpixel-gdd/references/plan-at-size.md +5 -5
- package/templates/common/.agents/skills/funpixel-gdd/references/production-tiers.md +11 -11
- package/templates/common/.agents/skills/funpixel-gdd/references/sections.md +7 -7
- package/templates/common/.agents/skills/funpixel-gdd/references/spec-folder.md +3 -3
- package/templates/common/.agents/skills/funpixel-gdd/references/the-path.md +3 -4
- package/templates/common/.agents/skills/funpixel-gdd/references/world-and-identity.md +4 -4
- package/templates/common/.agents/skills/funpixel-gdd/references/worth.md +4 -4
- package/templates/common/.agents/skills/funpixel-mobile-ui/SKILL.md +3 -3
- package/templates/common/.agents/skills/funpixel-mobile-ui/references/hud-and-title.md +3 -3
- package/templates/common/.agents/skills/funpixel-mobile-ui/references/phone-check.md +1 -1
- package/templates/common/.agents/skills/funpixel-mobile-ui/references/recipes.md +1 -1
- package/templates/common/.agents/skills/funpixel-mobile-ui/references/restyle-ui.md +11 -11
- package/templates/common/.agents/skills/funpixel-mobile-ui/references/unity.md +23 -23
- package/templates/common/.agents/skills/funpixel-publish/references/compose.md +1 -1
- package/templates/common/.agents/skills/funpixel-publish/references/server-build.md +1 -1
- package/templates/common/.agents/skills/funpixel-store/SKILL.md +3 -3
- package/templates/common/.agents/skills/funpixel-store/references/app-store.md +1 -1
- package/templates/common/.agents/skills/funpixel-store/references/google-play.md +2 -2
- package/templates/common/.agents/skills/funpixel-store/references/ios-release.md +19 -20
- package/templates/common/.agents/skills/funpixel-store/references/money.md +2 -2
- package/templates/common/.agents/skills/funpixel-store/references/purchases-and-review.md +18 -18
- package/templates/common/.agents/skills/funpixel-store/references/readiness-page.md +1 -1
- package/templates/common/.agents/skills/funpixel-store/references/readiness.md +3 -3
- package/templates/common/.agents/skills/funpixel-store/references/unity-store.md +9 -12
- package/templates/common/.agents/skills/funpixel-unity-game/SKILL.md +28 -35
- package/templates/common/.agents/skills/funpixel-unity-game/references/agent-ops.md +9 -9
- package/templates/common/.agents/skills/funpixel-unity-game/references/fixes.md +21 -21
- package/templates/common/.agents/skills/funpixel-unity-game/references/from-a-web-game.md +17 -17
- package/templates/common/.agents/skills/funpixel-unity-game/references/handing-off.md +4 -4
- package/templates/common/.agents/skills/funpixel-unity-game/references/performance.md +10 -14
- package/templates/common/.agents/skills/funpixel-unity-game/references/probe.md +4 -4
- package/templates/common/.agents/skills/funpixel-unity-game/references/shared-mac.md +1 -1
- package/templates/common/.agents/skills/funpixel-unity-game/references/traps.md +13 -14
- package/templates/common/.agents/skills/funpixel-verify/references/bar.md +1 -1
- package/templates/common/.agents/skills/funpixel-verify/references/fidelity.md +11 -11
- package/templates/common/.agents/skills/funpixel-verify/references/mobile-qa.md +10 -10
- package/templates/common/.agents/skills/funpixel-verify/references/playtest.md +14 -14
- package/templates/common/.agents/skills/funpixel-verify/references/unity.md +11 -11
- package/templates/common/.agents/skills/funpixel-world-and-story/SKILL.md +1 -1
- package/templates/common/.agents/skills/funpixel-world-and-story/references/atmosphere.md +4 -4
- package/templates/common/.agents/skills/funpixel-world-and-story/references/living-world.md +2 -2
- package/templates/common/.agents/skills/funpixel-world-and-story/references/opening-and-chapters.md +1 -1
- package/templates/common/.agents/skills/funpixel-world-and-story/references/story-at-size.md +2 -2
- package/templates/common/.agents/skills/funpixel-world-and-story/references/voice.md +1 -1
- package/templates/common/AGENTS.md +1 -1
- package/templates/common/src/platform.ts +1 -1
- package/templates/common/src/probe-human.ts +3 -3
- package/templates/common/src/save.ts +1 -1
- package/templates/common/test/platform.test.ts +1 -1
- package/templates/three-world/src/budget.ts +1 -1
- package/templates/three-world/src/cutouts.ts +2 -2
- package/templates/three-world/src/game.ts +1 -1
- package/templates/three-world/src/models.ts +1 -1
- package/unity/com.funpixel.probe/Runtime/Player/Args.cs +1 -1
- package/unity/com.funpixel.probe/Runtime/Player/Bridge.cs +2 -2
- package/unity/com.funpixel.probe/Runtime/Player/Capture.cs +2 -2
- package/unity/com.funpixel.probe/Runtime/Player/Inject.cs +1 -2
- package/unity/com.funpixel.probe/Runtime/Player/Probe.cs +2 -2
- package/unity/com.funpixel.probe/Runtime/Player/UiTargets.cs +1 -1
- package/plugins/claude/skills/unity-game/references/studio-packages.md +0 -127
- package/plugins/codex/skills/funpixel-unity-game/references/studio-packages.md +0 -127
- package/plugins/cursor/skills/funpixel-unity-game/references/studio-packages.md +0 -127
- package/plugins/kiro/skills/funpixel-unity-game/references/studio-packages.md +0 -127
- package/plugins/robin/claude/skills/unity-game/references/studio-packages.md +0 -127
- package/plugins/robin/skills/funpixel-unity-game/references/studio-packages.md +0 -127
- package/templates/common/.agents/skills/funpixel-unity-game/references/studio-packages.md +0 -127
|
@@ -39,7 +39,7 @@ the skeptic."). Each seat scores the same seven axes and overall; the persona de
|
|
|
39
39
|
**Blind** means each seat gets what the calibrated panel gets: the frames, a store description, the
|
|
40
40
|
five AD rules, the screen audit's numbers and its own previous verdict, and nothing else: no design
|
|
41
41
|
note, no target frame, no verify summary, no builder's explanation, no other seat's scores, no code.
|
|
42
|
-
On the same
|
|
42
|
+
On the same frames of one game, seats briefed with the note and the builder's summary scored 7.10 where
|
|
43
43
|
blind seats scored 6.90 (Sonnet, one panel each), and the whole in-loop panel ran 0.6 above the
|
|
44
44
|
calibrated anchored one, which also saw the payoff frame.
|
|
45
45
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Plan fidelity: what was planned against what was built
|
|
2
2
|
|
|
3
|
-
The critic panel never sees the plan, so it cannot see that the game drifted from it.
|
|
4
|
-
third-person horror chapter
|
|
3
|
+
The critic panel never sees the plan, so it cannot see that the game drifted from it. A
|
|
4
|
+
third-person horror chapter (29 Sep 2026) scored 6.55 overall and 7.62 on look
|
|
5
5
|
from the panel; a blind judge holding the same build against its own GDD gave art direction 4 and
|
|
6
6
|
creative direction 3, and named what the panel could not: the thesis frame's fingers missing from
|
|
7
7
|
the seam, the first walker at arm's length instead of far down the corridor, a stencil colour that
|
|
@@ -42,18 +42,18 @@ the reason, never scored.
|
|
|
42
42
|
drew, the splice as it completes, the merge at its pop. A view whose `enter()` replays a recorded run
|
|
43
43
|
to that beat (the playtest reference's `game.replay.seek('first-walker')`), or a journey mark placed
|
|
44
44
|
at it, lands there on every build; a clock time drifts the first time the level changes. Two of our
|
|
45
|
-
own fallback pairs show the cost:
|
|
46
|
-
seat could only say the target's pile and squish were missing;
|
|
45
|
+
own fallback pairs show the cost: one game's play view was captured with an empty basket, so the
|
|
46
|
+
seat could only say the target's pile and squish were missing; another's was captured before
|
|
47
47
|
any sneeze, so the flowers the target promises were not on the ground.
|
|
48
48
|
|
|
49
49
|
**Or pin it to a time on the saved route, and name both.** From the first playtest on, the blind
|
|
50
50
|
player's steps are kept as the route (`test/journeys/playtest-route.json`) and every playtest replays
|
|
51
51
|
it with the same viewport and seed. A game frame `at 1:00` (or a moment written `1:00 the first
|
|
52
52
|
walker`) is the route's frame at that time on the script's own clock: like with like every round,
|
|
53
|
-
as
|
|
53
|
+
as the horror chapter's films were (0:10, 1:00, 2:00, 3:00, 5:00). A row that names both, `at 1:00, view
|
|
54
54
|
firstWalker`, is judged on the played frame, and the view stays beside it as the staged frame. When
|
|
55
55
|
the played route never reaches what a staged view or a lane's file shows (no moment, screen or beat
|
|
56
|
-
by that name in play), the report says so:
|
|
56
|
+
by that name in play), the report says so: the horror chapter's diver was showcase art in its lane's frame
|
|
57
57
|
and "a few coral points" in play. A moment past the route's end is play that never got there. Keep
|
|
58
58
|
the route while the level holds; when the level changes, record a new one (`journey record
|
|
59
59
|
playtest-route --force`) and read the history's next column as a new baseline, which the report marks.
|
|
@@ -77,8 +77,8 @@ Borrowed, with credit, from Scenario's quality skills (MIT; research 06 §2.2–
|
|
|
77
77
|
|
|
78
78
|
## The plan's interface: UI and UX as imagined or not
|
|
79
79
|
|
|
80
|
-
The owner's second question, from
|
|
81
|
-
|
|
80
|
+
The owner's second question, from that game's lane: is the interface the one the plan designed?
|
|
81
|
+
Its GDD draws its phone HUD and its message screen as HTML at 852 × 393, each element
|
|
82
82
|
numbered with a line of spec ("1 collar ring: health, five cyan lights"; "nothing sits in the middle
|
|
83
83
|
of the screen"). When a GDD has such mockups (a `.phone` or `[data-mockup]` element in any page under
|
|
84
84
|
`design/`, the first look's `hud.html` first), `funtools playtest` renders each as an element
|
|
@@ -102,7 +102,7 @@ a dodge never taught). Per screen it scores ui (layout, what sits on the charact
|
|
|
102
102
|
glass, sizes, the visual language) and ux (does it work as intended); each numbered element held,
|
|
103
103
|
partly or missing; what the game adds that the plan does not have, and whether each serves or fights
|
|
104
104
|
the plan's rules; then UI and UX fidelity and five changes. The report puts them beside the art
|
|
105
|
-
seat's scores and ranks the changes, a missing planned element first. On
|
|
105
|
+
seat's scores and ranks the changes, a missing planned element first. On that game's two mockups
|
|
106
106
|
it gave UI 5 and UX 4: of 15 planned elements 3 held, 8 partly and 4 missing, and four additions
|
|
107
107
|
(a tutorial line at top centre, a permanent minimap) fought "nothing sits in the middle".
|
|
108
108
|
|
|
@@ -112,8 +112,8 @@ The report puts art direction and creative direction beside the last round, each
|
|
|
112
112
|
ranks the seat's changes among the next steps (a broken rule first). A low creative score with a
|
|
113
113
|
held look usually means the moment was shot at the wrong time or the frame's subject is missing;
|
|
114
114
|
fix the view or the moment before the art. When three of our games were judged against their
|
|
115
|
-
single target frame,
|
|
116
|
-
lanterns and the visible chain (creative 6);
|
|
115
|
+
single target frame, one kept its palette and lantern design (art 8) but lost the wheel of
|
|
116
|
+
lanterns and the visible chain (creative 6); another built the target's set but not its round felt
|
|
117
117
|
critters or the squish (5 and 3, AD-1 broken).
|
|
118
118
|
|
|
119
119
|
## After a greenlight lock: reference-match rounds
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Mobile QA: is it native to a phone?
|
|
2
2
|
|
|
3
3
|
The critic panel scores stills (each seat re-reading the phone captures), and the blind player plays by touch.
|
|
4
|
-
Neither asks whether the game was made for the phone it runs on.
|
|
4
|
+
Neither asks whether the game was made for the phone it runs on. An ice-slide puzzle (round 3,
|
|
5
5
|
29 Sep 2026) scored mobile 7 and up from the panel and passed its blind phone round, and the owner
|
|
6
6
|
opened it on an iPhone simulator and saw desktop thinking: the board under half the screen, four
|
|
7
7
|
large on-screen arrows repeating the swipe the board already took, Undo/Restart/Hint panels in the
|
|
@@ -95,24 +95,24 @@ showed once, plainly, and prefixes one only some showed with them, "[iOS Safari
|
|
|
95
95
|
|
|
96
96
|
## Calibration (29 Sep 2026)
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
An ice puzzle's round 3 (read-only copy) and Drift, a scratch swipe puzzle made phone-first for this (swipe
|
|
99
99
|
anywhere, board 75% of the screen, one undo button bottom-left, pause top-right), each through one
|
|
100
100
|
seat, real Mobile Safari in both orientations:
|
|
101
101
|
|
|
102
102
|
| Game | Seat | Phone-native | High findings |
|
|
103
103
|
|---|---|---|---|
|
|
104
|
-
|
|
|
105
|
-
|
|
|
106
|
-
|
|
|
107
|
-
|
|
|
104
|
+
| Ice puzzle R3 | Opus-class | 5 | controls (four arrows repeat the swipe), play-share (board ~48%) |
|
|
105
|
+
| Ice puzzle R3 | Opus-class, second run | 6 | controls (arrows repeat the swipe; board ~37% of the screen) |
|
|
106
|
+
| Ice puzzle R3 | Sonnet-class | 4 | controls, play-share (board ~40%) |
|
|
107
|
+
| Ice puzzle R3 | Opus-class, with the window sweep | 6 | controls (arrows repeat the swipe; board ~44%) |
|
|
108
108
|
| Drift | Opus-class | 8 | none (landscape board small: medium) |
|
|
109
109
|
| Drift | Sonnet-class | 7 | none |
|
|
110
|
-
|
|
|
110
|
+
| Basket game R3 | Opus-class, with the window sweep | 6 | none; medium: left/right/Drop buttons beside a drag the basket takes, the basket ~35% of the Mobile Safari page, landscape a squeezed sidebar |
|
|
111
111
|
|
|
112
|
-
The first-paint times of the window sweep ran 2.5–7.7 s for
|
|
112
|
+
The first-paint times of the window sweep ran 2.5–7.7 s for the ice puzzle on a machine at load 50–60: read
|
|
113
113
|
them against runs made the same way, as the profile's numbers.
|
|
114
114
|
|
|
115
|
-
The funtools scaffold is gesture-first since
|
|
115
|
+
The funtools scaffold is gesture-first since one game's phone round: a swipe on the play steps,
|
|
116
116
|
a tap or swipe up hops, and its on-screen buttons are a setting, off by default.
|
|
117
117
|
|
|
118
118
|
## Sources
|
|
@@ -120,4 +120,4 @@ a tap or swipe up hops, and its on-screen buttons are a setting, off by default.
|
|
|
120
120
|
- The harness's mobile reviewer: `mobile_review.txt` (severity discipline, plan as intent),
|
|
121
121
|
`quirks_mobile.txt` (thumb zones, targets, safe areas), `sections/base/mobile.txt`.
|
|
122
122
|
- Skill `fp:mobile-ui`, `references/phone-check.md`: the 28 phone fixes and the four looks.
|
|
123
|
-
-
|
|
123
|
+
- The ice puzzle's round 3 and the owner's look at it on an iPhone simulator.
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
A playtest is the mirror held up between creator rounds: free measurements, three blind critics and
|
|
4
4
|
a blind phone player look at the same build, and a short ranked list says what stands between this
|
|
5
|
-
round and the next. It applies nothing. This page is what
|
|
5
|
+
round and the next. It applies nothing. This page is what one game's lane learned running that
|
|
6
6
|
loop on a survival-horror chapter in Three.js (29 Sep 2026): what made the evidence trustworthy,
|
|
7
7
|
what misled once, and what the person read. Take what fits your game.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
That game, round by round, same panel words and bar:
|
|
10
10
|
|
|
11
11
|
| Round | Overall | Look and feel | What happened |
|
|
12
12
|
|---|---|---|---|
|
|
@@ -33,12 +33,12 @@ does scores it kinder (0.2 in the calibration): the separation is the instrument
|
|
|
33
33
|
|---|---|---|
|
|
34
34
|
| free measures | the build | numbers nobody argues with: HUD cover, text size, contrast, ΔE, frame time, verb timings |
|
|
35
35
|
| three critic seats | premise, frames, facts | three personas notice different things; each re-reads the phone captures (no mobile seat) |
|
|
36
|
-
| blind phone player | premise, the screen, touch | the only seat that plays: it finds what stills cannot (
|
|
36
|
+
| blind phone player | premise, the screen, touch | the only seat that plays: it finds what stills cannot (one game: the camera entering walls, a tell too short to see on a muted phone, a tap that cut nothing and showed nothing) |
|
|
37
37
|
| report | all of the above | ranks what blocks a new player first, then what several seats asked for, weighted by where the game trails its genre hit most, so one loud seat does not set the agenda |
|
|
38
38
|
|
|
39
39
|
## The loop, round after round (the default)
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
That game's v1 → v4 pages were worth reading because the instrument stayed the same; `playtest`
|
|
42
42
|
runs that loop by default, and a round can run less.
|
|
43
43
|
|
|
44
44
|
- **One route, one camera.** The first blind round's steps become the saved route; later playtests
|
|
@@ -54,7 +54,7 @@ runs that loop by default, and a round can run less.
|
|
|
54
54
|
|
|
55
55
|
## Look at the captures before you trust a score
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
Its first v2 round scored 4.9, and the seats were right about what they were shown. When the
|
|
58
58
|
game was split into modules, the capture hooks reached the game through a loose cast; the replay
|
|
59
59
|
cursor and the intro timer had moved, the cast hid it, and every view's fast-forward silently left
|
|
60
60
|
the game at t = 0 behind the opening shot. Twenty frames of the title card's camera, scored as a
|
|
@@ -91,27 +91,27 @@ export function views(game: Game) {
|
|
|
91
91
|
- **Name the actors so the instruments find them.** `look --read` measures the player and the
|
|
92
92
|
threats against the ground around them. Name each actor's root node `player-…` or `threat-…`
|
|
93
93
|
(or set `userData.role`); once a scene tags a role, only tagged nodes play it. Without tags it
|
|
94
|
-
falls back to the usual words, which in
|
|
94
|
+
falls back to the usual words, which in that game took a prop, `hazard_barrier`, as a threat, and
|
|
95
95
|
the seats read "threat ΔE 0.7, weakest hazard_barrier at ΔE 0.5". Read the line `look --read` prints per role (how it found the
|
|
96
96
|
role, the nodes it took) before reading its number.
|
|
97
97
|
- **Wire `feel` early.** Expose `hero { x, y, grounded, unit, vx, state, invulnerable }`,
|
|
98
98
|
`threats [{ id, phase }]` with a tell and a strike phase, `dead` and `control` in `__FPX_STATE__`,
|
|
99
|
-
and write `test/feel.json` (skill `fp:game-feel`, references/measure.md). It read
|
|
100
|
-
|
|
99
|
+
and write `test/feel.json` (skill `fp:game-feel`, references/measure.md). It read one
|
|
100
|
+
game's dodge back from real key presses: 1.92 m in 0.30 s against the design's 2.0 m in 0.26 s,
|
|
101
101
|
untouchable for 0.217 s against 0.21. Its script never reached a walker, so the tell, the death
|
|
102
102
|
beat and the restart stayed "not measured": a script that walks to the first threat is what
|
|
103
103
|
measures the fight.
|
|
104
104
|
- **Run `feel` twice.** The first run's long frame (a warm-up shader compile) moved the wall-clock
|
|
105
105
|
windows; one run's dodge hit the rail. Two runs that agree are a measurement; one is an anecdote.
|
|
106
106
|
- **Faded screens.** The HUD judge and the phone audit skip what a faded or hidden ancestor hides.
|
|
107
|
-
|
|
107
|
+
One game's chapter card, faded to opacity 0 but still on the page, once counted as HUD all
|
|
108
108
|
chapter (41% of the play); taking faded layers out of the page after their fade also keeps them
|
|
109
109
|
from screen readers.
|
|
110
110
|
|
|
111
111
|
## Films that show the game
|
|
112
112
|
|
|
113
113
|
A still cannot carry a fight, so the review page leads with one filmed run: a bot on the real
|
|
114
|
-
controls, nothing staged. Bots that only walk the route make films with no combat:
|
|
114
|
+
controls, nothing staged. Bots that only walk the route make films with no combat: one game's
|
|
115
115
|
route bots never fired the driver or used the knife, so no film showed the weapons the owner asked
|
|
116
116
|
for. A film-only `fighter` bot style that plays the verbs a keen player would fixed it, while the
|
|
117
117
|
tests keep the median bot, because tests measure a typical player and a film shows what the game
|
|
@@ -122,7 +122,7 @@ rebuild partway through a round leaves late steps on newer code (say so when it
|
|
|
122
122
|
## What the review page carries
|
|
123
123
|
|
|
124
124
|
`playtest report` writes `report.md`: the ranked steps, this round against the last and the genre
|
|
125
|
-
hit, what each seat said, the measures and the cost. The page
|
|
125
|
+
hit, what each seat said, the measures and the cost. The page that game's owner read added what
|
|
126
126
|
only the creator can assemble, and each part earned its place:
|
|
127
127
|
|
|
128
128
|
1. **The score against the last round**, overall and look-and-feel, the seats' scores, each
|
|
@@ -139,8 +139,8 @@ only the creator can assemble, and each part earned its place:
|
|
|
139
139
|
(a script that never reached a walker is a finding about the script, not a pass).
|
|
140
140
|
8. **Target frames against the game**: each GDD target frame beside the same beat in the game,
|
|
141
141
|
one line each, "Close" or "Right idea", then what is missing.
|
|
142
|
-
9. **A pillar audit against the GDD**: each pillar graded, what matches, what still drifts.
|
|
143
|
-
|
|
142
|
+
9. **A pillar audit against the GDD**: each pillar graded, what matches, what still drifts. One game
|
|
143
|
+
found requests made mid-build ("add guns", "make her faster") had quietly broken stated
|
|
144
144
|
pillars; re-reading the pillars after each request folded them back in.
|
|
145
145
|
10. **The critics in their own words**: each seat's one-line quote and its overall.
|
|
146
146
|
11. **The blind round**: the steps where it struggled, as frames, its verdict and the caveats.
|
|
@@ -153,7 +153,7 @@ The kit does not build this page yet: `report.json` holds the numbers, `frames/`
|
|
|
153
153
|
|
|
154
154
|
## When the numbers disagree with your eyes
|
|
155
155
|
|
|
156
|
-
Trust neither alone.
|
|
156
|
+
Trust neither alone. One game's threat read ΔE 0.7 on the phone, part of it measured on a prop, and
|
|
157
157
|
the critics independently called the walkers hard to read in the dark; the step stood on the
|
|
158
158
|
critics and the frames: light the dark a notch. When a
|
|
159
159
|
number says pass and the frames look wrong, the instrument may be measuring the wrong thing (the
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# Proving a Unity build plays
|
|
2
2
|
|
|
3
|
-
This skill is the order of checks that shows a build boots, plays to a win and a loss, and logs no exception. The failure it prevents is trusting what a capture shows:
|
|
3
|
+
This skill is the order of checks that shows a build boots, plays to a win and a loss, and logs no exception. The failure it prevents is trusting what a capture shows: one game's tour log held 321 exceptions while every screenshot looked fine, and another's first TestFlight build drew every moving platform frozen after the first level, behind 1,118 green tests. A check sees only the path it runs, so these steps run the paths players take.
|
|
4
4
|
|
|
5
5
|
## Tools
|
|
6
6
|
|
|
7
7
|
Not shipped by the kit: the Unity starter, its one `check` command (exit codes 0 pass, 1 fail, 2 not observed, 3 error), the checks below and the studio scripts they were learned with (`unity_check.py`, `unity_sim.sh`, `smoke_sim.sh`, `pcplay.py`, `testflight.sh`'s pre-flight, per-game smoke, remote-play and perf scripts) are proposed. Until the starter ships, run each step with what exists:
|
|
8
8
|
|
|
9
|
-
- Compile and test: `dotnet build` and `dotnet test` on the engine-free core (its `CoreTests~` project; Unity ships a `dotnet` under `Contents/Resources/Scripting/DotNetSdk/`), and Unity's test runner for the rest: `funtools unity run -- -nographics -runTests -testPlatform EditMode -testResults results.xml` (the machine-wide queue: one run per project across agents; never with `-quit`: the test runner exits by itself). Play Mode tests run the same way with `-testPlatform PlayMode`;
|
|
10
|
-
- Build for the Simulator with the
|
|
9
|
+
- Compile and test: `dotnet build` and `dotnet test` on the engine-free core (its `CoreTests~` project; Unity ships a `dotnet` under `Contents/Resources/Scripting/DotNetSdk/`), and Unity's test runner for the rest: `funtools unity run -- -nographics -runTests -testPlatform EditMode -testResults results.xml` (the machine-wide queue: one run per project across agents; never with `-quit`: the test runner exits by itself). Play Mode tests run the same way with `-testPlatform PlayMode`; one game's `unity/build.sh test` runs Edit Mode then Play Mode and reads the NUnit XML, the only project that does.
|
|
10
|
+
- Build for the Simulator with the game's own build method: `funtools unity run -- -nographics -buildTarget iOS -executeMethod Setup.BuildSimulatorDev` (a development build: its dev flags and test ads work; keep a stripped release Simulator build beside it), then `xcodebuild -project Unity-iPhone.xcodeproj -scheme Unity-iPhone -sdk iphonesimulator build`; install and launch on a Simulator of your own (`udid=$(funtools sim lease)`) with `xcrun simctl install $udid <app>` and `xcrun simctl launch --console-pty $udid <bundle id> -smoke`, never `booted` (it may be another agent's), and `funtools sim release $udid` at the end. About 5–10 minutes a round.
|
|
11
11
|
- A smoke run: a dev-only launch flag in your game that plays from the title to an ending and writes `smoke.txt` to the app's Documents; read it with `xcrun simctl get_app_container $udid <bundle id> data`.
|
|
12
|
-
- Dev flags: launch arguments for dev builds that jump to a state or start a bot (the games used `-autoplay -startlevel N`, `-
|
|
13
|
-
- Hand play from a script: `npx @funpixel/tools unity play start`, then `play tap`, `drag`, `key`, `pad`, `state`, `ui`, `shot`, `record` and `end` (the kit's `com.funpixel.probe`, lifted from
|
|
12
|
+
- Dev flags: launch arguments for dev builds that jump to a state or start a bot (the games used `-autoplay -startlevel N`, `-seed 7 -autoplay`, and a tour flag that writes every menu to PNG), read natively (Mono never sees `simctl launch` arguments) behind the game's own dev gate, with telemetry muted while a flag is on.
|
|
13
|
+
- Hand play from a script: `npx @funpixel/tools unity play start`, then `play tap`, `drag`, `key`, `pad`, `state`, `ui`, `shot`, `record` and `end` (the kit's `com.funpixel.probe`, lifted from one game's remote play: real Input System device state, in the game's own upright coordinates). `unity probe --path path.json` plays a scripted path and measures it; `unity capture --all` shoots every registered view (fp:unity-game, `references/probe.md`).
|
|
14
14
|
- Screens: `funtools sim shot $udid --out shot.png`, upright in the game's orientation; `funtools sim tap $udid x y` presses a point of that picture.
|
|
15
15
|
|
|
16
16
|
## Checks
|
|
@@ -47,14 +47,14 @@ A person still checks feel on a real phone and audio by ear.
|
|
|
47
47
|
|
|
48
48
|
## Worked example
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
A three.js port with 26 levels. Build 1 went to TestFlight behind 1,118 green tests, and every level after the first of a session drew its movers frozen: a warm-up had left the views bound to a throwaway sim. Every audit had started levels fresh at boot, so none saw it. Once fixed, the audit's frozen category went from 219 to 0. A production gate (fresh install, every level through real flows, 7 kill-and-relaunch cycles, every setting persisted) found 4 more bugs behind 1,377 green tests. Hand play through the game's remote-play server found what bots had passed: fans that looked walkable, the smallest hero drawn as a speck, and threats under the buttons.
|
|
51
51
|
|
|
52
52
|
## Common mistakes
|
|
53
53
|
|
|
54
|
-
- Launching with dev flags every time.
|
|
55
|
-
- A smoke that asserts only "no errors".
|
|
56
|
-
- Reading screenshots and skipping the log. In
|
|
54
|
+
- Launching with dev flags every time. One game's dev flags muted telemetry, so a Firebase crash path first ran when the owner launched normally.
|
|
55
|
+
- A smoke that asserts only "no errors". One game's bot failed to beat the boss for 11 minutes, then stood holding USE; the run now uses a god-mode flag, `DebugBossHit` and a walk-to-lever script.
|
|
56
|
+
- Reading screenshots and skipping the log. In one game a NullReferenceException in `Hud.Pad` hung a demo match silently.
|
|
57
57
|
- Trusting benches for boot. A static cache declared after the colours it used threw a TypeInitializationException and no build booted for about 7 h; which game is not in the report.
|
|
58
|
-
- Hand-written `.csproj` files left ignored by git.
|
|
59
|
-
- A regression test that passes on the old code, as
|
|
58
|
+
- Hand-written `.csproj` files left ignored by git. One game's tests could not run from a fresh clone.
|
|
59
|
+
- A regression test that passes on the old code, as one game's cheat test did.
|
|
60
60
|
- Shipping without the audio check. All four first games reached TestFlight silent, because a camera made in code has no AudioListener (`funtools doctor` warns before the build).
|
|
@@ -96,4 +96,4 @@ clear, a ring round the tower, in 3 draw calls. The opening: title
|
|
|
96
96
|
- A strange number never explained. Voices placed by room and deed, cards that name what happened:
|
|
97
97
|
[references/opening-and-chapters.md](references/opening-and-chapters.md#a-radio-placed-rather-than-narrated).
|
|
98
98
|
|
|
99
|
-
Where this comes from: the hits (research 18), Crayon's GDD (research 19),
|
|
99
|
+
Where this comes from: the hits (research 18), Crayon's GDD (research 19), our own games, our lab.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Atmosphere: a world that notices the player
|
|
2
2
|
|
|
3
|
-
A place feels alive when things in it move on their own and answer what the player does.
|
|
4
|
-
|
|
3
|
+
A place feels alive when things in it move on their own and answer what the player does. Our
|
|
4
|
+
racer (29 Sep) played well and still read as "a game of shapes": no one in the stands, nothing
|
|
5
5
|
at the trackside, no moment at the finish. The owner's words: "environment and crowd cheers were
|
|
6
6
|
missing". This page is a shelf of patterns per genre and the cheap code under them. Pick what the
|
|
7
7
|
brief wants; a puzzle in an empty white room may want none of it, on purpose.
|
|
@@ -175,7 +175,7 @@ The end of a race or a round is the moment players remember, so stage it like th
|
|
|
175
175
|
2. The crowd at its loudest, a sting, the stand on its feet.
|
|
176
176
|
3. Light: flashbulbs (small white sprites flickering at random in the stands for 1.5 s), a burst of
|
|
177
177
|
confetti in the team colours, fireworks at night (particles: skill `fp:art`).
|
|
178
|
-
4. Someone says something: the announcer ("And it's
|
|
178
|
+
4. Someone says something: the announcer ("And it's the blue boat by a nose!"), a rival's line, the
|
|
179
179
|
coach. One line, on screen and voiced if you have voice (see [voice.md](voice.md)).
|
|
180
180
|
5. Then the result card over the still-cheering world, not over a black screen.
|
|
181
181
|
|
|
@@ -187,7 +187,7 @@ erupts, and declare the view `moment: true` so capture shoots it as a burst.
|
|
|
187
187
|
Horror inverts the pattern: the world reacts by going quiet. Keep the bed low and let it drop out
|
|
188
188
|
entirely about a second before a threat appears, so the silence is the warning. Space distant
|
|
189
189
|
sounds unevenly (8–25 s apart, never on a timer the player can learn), pan them, and put one
|
|
190
|
-
sound close and behind at the worst moment.
|
|
190
|
+
sound close and behind at the worst moment. One horror game's hum rising under the last recorder line is
|
|
191
191
|
the model: the world answers the story, not the player's score.
|
|
192
192
|
|
|
193
193
|
## Budget and cost
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# A living world: people, creatures and a place that moves
|
|
2
2
|
|
|
3
|
-
The owner's verdict after three rounds of one game built two ways (
|
|
3
|
+
The owner's verdict after three rounds of one game built two ways (Oct 2026): "both
|
|
4
4
|
did nice work, some in environment, some in dynamics... models static, NPCs static: it has to be a
|
|
5
5
|
living environment." The build that lost on dynamics had 28 townsfolk animated in place (none
|
|
6
6
|
walked anywhere), kites that slid, a still hound and one person standing inside a container. The
|
|
@@ -171,7 +171,7 @@ mesh.geometry.attributes.aAnim.needsUpdate = true;
|
|
|
171
171
|
## Technique 4: painted cut-outs that animate (Pixi, and billboards in Three)
|
|
172
172
|
|
|
173
173
|
A picture moved is motion, not animation: a crab sprite slid along the ground, a goat card that bobs
|
|
174
|
-
or flips, a kite that drifts and pulses its opacity all read as stones (fresh
|
|
174
|
+
or flips, a kite that drifts and pulses its opacity all read as stones (a fresh build of that game, 3 Oct).
|
|
175
175
|
A cut-out lives by one of four means. **Frames by distance:** a walker gets 6+ frames, the hero
|
|
176
176
|
8–12 (contact, down, passing, up for each foot), and the frame advances by ground covered, one
|
|
177
177
|
cycle per about 0.8 body heights (1.4 m at 1.75 m), so it never treadmills when standing or skates
|
|
@@ -157,7 +157,7 @@ story.start(save.data.chapter ?? 0, save.data.step ?? 0);
|
|
|
157
157
|
|
|
158
158
|
## A radio, placed rather than narrated
|
|
159
159
|
|
|
160
|
-
|
|
160
|
+
One three.js horror game (29 Sep 2026) told its story through two sources with different
|
|
161
161
|
voices, both in the world: the station speaks only in readouts (who is behind a door, open water,
|
|
162
162
|
lift power, the nearest dead relay when she is lost), and a recorder plays fragments of the crew's
|
|
163
163
|
last night, timestamped, with the enemies' hum rising under them until the last line ends in
|
|
@@ -34,7 +34,7 @@ words, it is the voice, the timing and the testing of each one.
|
|
|
34
34
|
## The outer story, at 10 minutes and up
|
|
35
35
|
|
|
36
36
|
A want inside the hero is not enough past ten minutes; the player needs something to point at.
|
|
37
|
-
Five lines in the GDD, each something the player sees or does.
|
|
37
|
+
Five lines in the GDD, each something the player sees or does. One of our games lacked all five.
|
|
38
38
|
|
|
39
39
|
| Line | What it is | From |
|
|
40
40
|
|---|---|---|
|
|
@@ -137,7 +137,7 @@ player does not hear the opening twice.
|
|
|
137
137
|
|
|
138
138
|
## Staged versus played
|
|
139
139
|
|
|
140
|
-
A beat that exists only in a staged view is not in the game.
|
|
140
|
+
A beat that exists only in a staged view is not in the game. One game's playtest caught a
|
|
141
141
|
showcase frame play never reached; the same happens to story. Three places see it:
|
|
142
142
|
|
|
143
143
|
- `funtools depth` reads the `## Story` table and the `beat` field in real play logs (blind
|
|
@@ -19,7 +19,7 @@ So for real words, four honest options: the platform's voice, then three cheaper
|
|
|
19
19
|
|
|
20
20
|
**A story game offers voice by default** (the Silt bar S3:
|
|
21
21
|
at least one voiced line before first control, every line voiced and captioned, a line advancing on
|
|
22
|
-
its clip's end). Silt voiced 57 lines heard by objective 33;
|
|
22
|
+
its clip's end). Silt voiced 57 lines heard by objective 33; one of our games typed its radio lines and
|
|
23
23
|
lost on it. So for a game with a story, characters who speak or a cold open, the plan's Art budget
|
|
24
24
|
lists the voiced lines with their price as the default, and the creator picks voice, one of the
|
|
25
25
|
cheaper options below, or none: still priced, still the creator's choice, never made unasked. For an
|
package/plugins/codex/AGENTS.md
CHANGED
|
@@ -87,7 +87,7 @@ the demo with your game (`rules.ts`, `session.ts`, `game.ts`, `feel.ts`, `hud.ts
|
|
|
87
87
|
paths, an environment map (they render flat grey without one), and `mixer.update(dt)` every frame.
|
|
88
88
|
- Pixi: every display object gets a `.label`; `window.__PIXI_APP__ = app` after `app.init()`.
|
|
89
89
|
- Room codes, share codes and seeds carry `data-funpixel-selectable` (else they cannot be copied).
|
|
90
|
-
- `@funpixel/sdk` is pinned exactly (`"0.
|
|
90
|
+
- `@funpixel/sdk` is pinned exactly (`"0.7.0"`). Import the root only for `setupGameResize`;
|
|
91
91
|
everything else from a subpath. Multiplayer is `Room.autoJoin(getGameKey(), …)`, never a raw
|
|
92
92
|
WebSocket (skill `funpixel-game-spine`).
|
|
93
93
|
- A performance fix changes how a frame is made (pooling, atlases, instancing), never what it shows.
|
package/plugins/codex/README.md
CHANGED
|
@@ -14,4 +14,4 @@ Copy `AGENTS.md` into a game that has none (`funtools init` writes one). The sha
|
|
|
14
14
|
|
|
15
15
|
See `skills/fp-studio/SKILL.md` for the exact review evidence format. A real clean-host game run remains the acceptance test.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
This folder is built from Funpixel's source and published as is: changes made here are replaced by the next release.
|
|
@@ -87,7 +87,7 @@ the demo with your game (`rules.ts`, `session.ts`, `game.ts`, `feel.ts`, `hud.ts
|
|
|
87
87
|
paths, an environment map (they render flat grey without one), and `mixer.update(dt)` every frame.
|
|
88
88
|
- Pixi: every display object gets a `.label`; `window.__PIXI_APP__ = app` after `app.init()`.
|
|
89
89
|
- Room codes, share codes and seeds carry `data-funpixel-selectable` (else they cannot be copied).
|
|
90
|
-
- `@funpixel/sdk` is pinned exactly (`"0.
|
|
90
|
+
- `@funpixel/sdk` is pinned exactly (`"0.7.0"`). Import the root only for `setupGameResize`;
|
|
91
91
|
everything else from a subpath. Multiplayer is `Room.autoJoin(getGameKey(), …)`, never a raw
|
|
92
92
|
WebSocket (skill `funpixel-game-spine`).
|
|
93
93
|
- A performance fix changes how a frame is made (pooling, atlases, instancing), never what it shows.
|
|
@@ -15,7 +15,7 @@ description, AD rules, screen measurements and their own previous verdict; anoth
|
|
|
15
15
|
or the builder's code pull them toward it.
|
|
16
16
|
|
|
17
17
|
Run each critic seat separately, and let all four finish before handing back: a seat left running
|
|
18
|
-
in the background answered after one session had ended (
|
|
18
|
+
in the background answered after one session had ended (one game's third session). Codex's SubagentStop
|
|
19
19
|
hook records their final messages, including asynchronous completions. If the host cannot
|
|
20
20
|
provide isolated agents or trusted hooks, report that acceptance step as unverified. The gate
|
|
21
21
|
cannot tell a verdict file the builder wrote from a seat's, so the files are the seats' alone. Role skills express access rules; they do not implement a host permission
|
|
@@ -16,7 +16,7 @@ export const PANEL_DEFAULT = 7.3;
|
|
|
16
16
|
export const CATALOGUE = {
|
|
17
17
|
pitch: {
|
|
18
18
|
title: 'Invent and pitch',
|
|
19
|
-
why: 'a game whose answers are generic loses to one that invented something (
|
|
19
|
+
why: 'a game whose answers are generic loses to one that invented something (an A/B, 3 of 3 seats)',
|
|
20
20
|
gates: [{ kind: 'gdd', headings: ['The invention'] }, { kind: 'studio' }, { kind: 'worth' }],
|
|
21
21
|
rules: [
|
|
22
22
|
'Answer the six forcing questions for THIS game in the GDD\'s `## The invention`: what the core object means, why the verb exists in this world, who wants what (names), what the twist costs, the one system that lives, what only this game has. A generic answer means the idea is not there yet.',
|
|
@@ -71,20 +71,20 @@ export const CATALOGUE = {
|
|
|
71
71
|
},
|
|
72
72
|
'first-look': {
|
|
73
73
|
title: 'First look',
|
|
74
|
-
why: 'identity drifts between frames unless it is locked first (
|
|
74
|
+
why: 'identity drifts between frames unless it is locked first (one game: 7 of 7 redraws on-model with reference sheets)',
|
|
75
75
|
gates: [{ kind: 'refs', min: 1 }, { kind: 'targets', min: 4 }, { kind: 'kit' }, { kind: 'set' }],
|
|
76
76
|
rules: [
|
|
77
77
|
`The whole game, not a few frames (owner, 4 Oct, asked twice): key art; every screen (the title as the play world, pause, the end; past small settings, results, a level select); the HUD on the phone and the desktop; a frame per place, each tied to a story beat; a living-world sheet; an animation board; a juice board; the sound list; the fun page. \`${T} firstlook\` lists what is missing; places and the living world only for a world game.`,
|
|
78
78
|
'Reference sheets (identity lock) BEFORE moment frames; every recurring design drawn with its references and one verbatim style block.',
|
|
79
79
|
'A target frame per hook moment at the play framing (desktop 1280x720, phone held sideways 852x393).',
|
|
80
|
-
`The world's kit beside the hero: sheets of its made parts (structures, ground, props, the living cast), cut into pieces before the slice (\`${T} cut\`); the slice is built from them, never from plain shapes (a fresh
|
|
80
|
+
`The world's kit beside the hero: sheets of its made parts (structures, ground, props, the living cast), cut into pieces before the slice (\`${T} cut\`); the slice is built from them, never from plain shapes (a fresh build shipped code-drawn primitives until the owner's note).`,
|
|
81
81
|
'A picture of every place; no two places alike in shape, material, era and light.',
|
|
82
82
|
'The HUD mockup drawn over a target frame.',
|
|
83
83
|
],
|
|
84
84
|
},
|
|
85
85
|
'core-test': {
|
|
86
86
|
title: 'Core test (A1): the game bites',
|
|
87
|
-
why: 'both
|
|
87
|
+
why: 'both builds of one game spent their rounds on looks and the challenge never bit ("no challenges at all")',
|
|
88
88
|
gates: [{ kind: 'tests' }, { kind: 'sim' }],
|
|
89
89
|
rules: [
|
|
90
90
|
`The GDD's named bots play the REAL level (\`${T} sim\`): an engine-free, fixed-step, seeded sim, plus a replay test.`,
|
|
@@ -119,7 +119,7 @@ export const CATALOGUE = {
|
|
|
119
119
|
},
|
|
120
120
|
expand: {
|
|
121
121
|
title: 'Expand, room by room',
|
|
122
|
-
why: 'our real games are 10 to 18 minutes of designed play, grown room by room from a slice that passed (
|
|
122
|
+
why: 'our real games are 10 to 18 minutes of designed play, grown room by room from a slice that passed (one plan: "nothing in Rooms 2-6 starts until the slice passes its gates")',
|
|
123
123
|
gates: [{ kind: 'rooms' }],
|
|
124
124
|
rules: [
|
|
125
125
|
`Slice first: a room is opened for building only once the room before it passes (\`${T} rooms open <id>\`); the owner alone releases one early (\`--by owner\`).`,
|
|
@@ -162,7 +162,7 @@ export const CATALOGUE = {
|
|
|
162
162
|
},
|
|
163
163
|
'blind-play': {
|
|
164
164
|
title: 'Blind play from the title',
|
|
165
|
-
why: 'blind players from the title found the blockers no panel could
|
|
165
|
+
why: 'blind players from the title found the blockers no panel could',
|
|
166
166
|
gates: [{ kind: 'play' }, { kind: 'sim' }],
|
|
167
167
|
rules: [
|
|
168
168
|
`A blind player from the title, no instructions (\`${T} play\`): a stall counts as blocking.`,
|
|
@@ -51,7 +51,7 @@ export const CATALOGUE = [
|
|
|
51
51
|
{ id: 'cutscenes', label: 'Cutscenes', why: 'one earned cinematic (the ending, a reveal), skippable', cost: '$1–3 each, plus a scene to stage' },
|
|
52
52
|
{ id: 'photo', label: 'Photo mode', why: 'players share the wow moments; the share card carries the game', cost: 'a free camera, a frame and a share sheet: about a day' },
|
|
53
53
|
{ id: 'multiplayer', label: 'Multiplayer', why: 'friends in one room through the relay', cost: 'doubles the test work; the host owns the world state' },
|
|
54
|
-
{ id: 'two-takes', label: 'Two takes', why: 'for a deep game: two parallel builds of the same locked plan, each winning different areas (one the environment, one the dynamics); `funtools compare-takes` plays both from the title and writes a best-of-both table, and the mix beats both (
|
|
54
|
+
{ id: 'two-takes', label: 'Two takes', why: 'for a deep game: two parallel builds of the same locked plan, each winning different areas (one the environment, one the dynamics); `funtools compare-takes` plays both from the title and writes a best-of-both table, and the mix beats both (one game, 3 rounds)', cost: 'twice the build sessions, plus a merge round' },
|
|
55
55
|
{ id: 'none', label: 'None', why: 'everything goes into the core' },
|
|
56
56
|
],
|
|
57
57
|
},
|
|
@@ -22,8 +22,8 @@ whole-game target creation belongs to an unresolved or new-game direction.
|
|
|
22
22
|
comfort (match the targets' quality, not their density), and framing numbers left to the owner
|
|
23
23
|
(`funpixel-art`, references/judging-frames.md).
|
|
24
24
|
3. **Generated assets.** The words live in `assets/style.json`: the medium sentence, the palette
|
|
25
|
-
roles, one isolation clause per asset family. Sets drift when each prompt is free text (
|
|
26
|
-
|
|
25
|
+
roles, one isolation clause per asset family. Sets drift when each prompt is free text (one game
|
|
26
|
+
shipped a whole family at 0% chroma), so a new asset changes the subject or the
|
|
27
27
|
repair and keeps the rest of the words.
|
|
28
28
|
4. **Asset specs.** Before generation, list the assets this task needs and settle the choices that
|
|
29
29
|
change the result. For each: family, role size, the reference it uses, the one-line prompt
|
|
@@ -15,7 +15,7 @@ description, AD rules, screen measurements and their own previous verdict; anoth
|
|
|
15
15
|
or the builder's code pull them toward it.
|
|
16
16
|
|
|
17
17
|
Run each critic seat separately, and let all four finish before handing back: a seat left running
|
|
18
|
-
in the background answered after one session had ended (
|
|
18
|
+
in the background answered after one session had ended (one game's third session). Codex's SubagentStop
|
|
19
19
|
hook records their final messages, including asynchronous completions. If the host cannot
|
|
20
20
|
provide isolated agents or trusted hooks, report that acceptance step as unverified. The gate
|
|
21
21
|
cannot tell a verdict file the builder wrote from a seat's, so the files are the seats' alone. Role skills express access rules; they do not implement a host permission
|
|
@@ -15,7 +15,7 @@ description, AD rules, screen measurements and their own previous verdict; anoth
|
|
|
15
15
|
or the builder's code pull them toward it.
|
|
16
16
|
|
|
17
17
|
Run each critic seat separately, and let all four finish before handing back: a seat left running
|
|
18
|
-
in the background answered after one session had ended (
|
|
18
|
+
in the background answered after one session had ended (one game's third session). Codex's SubagentStop
|
|
19
19
|
hook records their final messages, including asynchronous completions. If the host cannot
|
|
20
20
|
provide isolated agents or trusted hooks, report that acceptance step as unverified. The gate
|
|
21
21
|
cannot tell a verdict file the builder wrote from a seat's, so the files are the seats' alone. Role skills express access rules; they do not implement a host permission
|
|
@@ -15,7 +15,7 @@ description, AD rules, screen measurements and their own previous verdict; anoth
|
|
|
15
15
|
or the builder's code pull them toward it.
|
|
16
16
|
|
|
17
17
|
Run each critic seat separately, and let all four finish before handing back: a seat left running
|
|
18
|
-
in the background answered after one session had ended (
|
|
18
|
+
in the background answered after one session had ended (one game's third session). Codex's SubagentStop
|
|
19
19
|
hook records their final messages, including asynchronous completions. If the host cannot
|
|
20
20
|
provide isolated agents or trusted hooks, report that acceptance step as unverified. The gate
|
|
21
21
|
cannot tell a verdict file the builder wrote from a seat's, so the files are the seats' alone. Role skills express access rules; they do not implement a host permission
|
|
@@ -15,7 +15,7 @@ description, AD rules, screen measurements and their own previous verdict; anoth
|
|
|
15
15
|
or the builder's code pull them toward it.
|
|
16
16
|
|
|
17
17
|
Run each critic seat separately, and let all four finish before handing back: a seat left running
|
|
18
|
-
in the background answered after one session had ended (
|
|
18
|
+
in the background answered after one session had ended (one game's third session). Codex's SubagentStop
|
|
19
19
|
hook records their final messages, including asynchronous completions. If the host cannot
|
|
20
20
|
provide isolated agents or trusted hooks, report that acceptance step as unverified. The gate
|
|
21
21
|
cannot tell a verdict file the builder wrote from a seat's, so the files are the seats' alone. Role skills express access rules; they do not implement a host permission
|
|
@@ -15,7 +15,7 @@ description, AD rules, screen measurements and their own previous verdict; anoth
|
|
|
15
15
|
or the builder's code pull them toward it.
|
|
16
16
|
|
|
17
17
|
Run each critic seat separately, and let all four finish before handing back: a seat left running
|
|
18
|
-
in the background answered after one session had ended (
|
|
18
|
+
in the background answered after one session had ended (one game's third session). Codex's SubagentStop
|
|
19
19
|
hook records their final messages, including asynchronous completions. If the host cannot
|
|
20
20
|
provide isolated agents or trusted hooks, report that acceptance step as unverified. The gate
|
|
21
21
|
cannot tell a verdict file the builder wrote from a seat's, so the files are the seats' alone. Role skills express access rules; they do not implement a host permission
|
|
@@ -15,7 +15,7 @@ description, AD rules, screen measurements and their own previous verdict; anoth
|
|
|
15
15
|
or the builder's code pull them toward it.
|
|
16
16
|
|
|
17
17
|
Run each critic seat separately, and let all four finish before handing back: a seat left running
|
|
18
|
-
in the background answered after one session had ended (
|
|
18
|
+
in the background answered after one session had ended (one game's third session). Codex's SubagentStop
|
|
19
19
|
hook records their final messages, including asynchronous completions. If the host cannot
|
|
20
20
|
provide isolated agents or trusted hooks, report that acceptance step as unverified. The gate
|
|
21
21
|
cannot tell a verdict file the builder wrote from a seat's, so the files are the seats' alone. Role skills express access rules; they do not implement a host permission
|
|
@@ -15,7 +15,7 @@ description, AD rules, screen measurements and their own previous verdict; anoth
|
|
|
15
15
|
or the builder's code pull them toward it.
|
|
16
16
|
|
|
17
17
|
Run each critic seat separately, and let all four finish before handing back: a seat left running
|
|
18
|
-
in the background answered after one session had ended (
|
|
18
|
+
in the background answered after one session had ended (one game's third session). Codex's SubagentStop
|
|
19
19
|
hook records their final messages, including asynchronous completions. If the host cannot
|
|
20
20
|
provide isolated agents or trusted hooks, report that acceptance step as unverified. The gate
|
|
21
21
|
cannot tell a verdict file the builder wrote from a seat's, so the files are the seats' alone. Role skills express access rules; they do not implement a host permission
|
|
@@ -21,7 +21,7 @@ person: it changes nothing in the game, and its steps are suggestions they pick
|
|
|
21
21
|
seat. Each prompt carries those numbers as facts F1, F2, … to read before the frames (Scenario's
|
|
22
22
|
numbers first, then eyes); the report says which facts each seat cited.
|
|
23
23
|
4. Run every seat now, in parallel in the foreground (a background seat answered after a session
|
|
24
|
-
had already ended,
|
|
24
|
+
had already ended, in one game's third session), each as a fresh agent given only the contents of its prompt
|
|
25
25
|
file: one per `seats/<name>.md`, per `versus/<name>.md` and `fidelity/fidelity.md` when printed (and `fidelity/ui.md` from step 5), each a general-purpose
|
|
26
26
|
agent (the `critic` agent's own format would override the prompt's), and the `player` agent with
|
|
27
27
|
`player.md` at phone size. The Mobile QA seat (`mobile/mobile-qa.md`, the `mobile-qa` agent: is
|
|
@@ -45,7 +45,7 @@ person: it changes nothing in the game, and its steps are suggestions they pick
|
|
|
45
45
|
(`.funtools/playtest/history.json`: panel axes, the experience bar, the blind player, minutes of
|
|
46
46
|
real play, fidelity per moment and the AD lines, every round), with each drop marked. When it
|
|
47
47
|
opens with "Look at the captures first", open those frames before trusting any score: a view
|
|
48
|
-
that never reached its beat is scored as the wrong game (
|
|
48
|
+
that never reached its beat is scored as the wrong game (one game scored 4.9 on views stuck at
|
|
49
49
|
the opening shot, 6.55 once they reached their beats). A thing on the list that is lost is a
|
|
50
50
|
regression: the report leads with it and exits 1, the flow makes putting it back the round's first
|
|
51
51
|
step, and only the owner takes an item off (`playtest keep --drop K<n> --by owner "<their words>"`).
|