@playcraft/cli 0.1.50-beta → 0.1.51

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.
Files changed (406) hide show
  1. package/README.md +3 -62
  2. package/dist/agent/local-backend.js +1 -1
  3. package/dist/cli-root-help.js +0 -2
  4. package/dist/commands/build-all.js +19 -5
  5. package/dist/commands/build.js +28 -15
  6. package/dist/commands/create.js +33 -26
  7. package/dist/commands/image.js +6 -2
  8. package/dist/commands/login.js +42 -84
  9. package/dist/commands/skills.js +0 -4
  10. package/dist/commands/tools-3d.js +0 -11
  11. package/dist/commands/tools-generation.js +137 -69
  12. package/dist/commands/tools-image-context.js +29 -0
  13. package/dist/commands/tools-utils.js +12 -0
  14. package/dist/commands/tools.js +2 -2
  15. package/dist/config.js +4 -59
  16. package/dist/index.js +3 -40
  17. package/dist/remix/clone.js +0 -2
  18. package/dist/remix/init-template.js +0 -2
  19. package/dist/remix/pull.js +0 -2
  20. package/dist/remix/push.js +1 -21
  21. package/dist/utils/agent-api-client.js +30 -210
  22. package/dist/utils/image-asset-context.js +228 -0
  23. package/dist/utils/playcraft-http-client.js +4 -6
  24. package/package.json +5 -15
  25. package/project-template/.claude/agents/refs/ta-image-generation-detail.md +67 -123
  26. package/project-template/.claude/skills/playcraft-image-generation/SKILL.md +135 -63
  27. package/project-template/.claude/skills/playcraft-image-generation/reference/gen-batch-sprite.template.mjs +42 -33
  28. package/project-template/.claude/skills/playcraft-image-generation/reference/gen-batch.template.mjs +18 -20
  29. package/project-template/.claude/skills/playcraft-image-generation/reference/process-batch.template.mjs +6 -7
  30. package/project-template/.claude/skills/playcraft-image-generation/reference/prompt-cookbook.md +39 -39
  31. package/project-templates/phaser/.claude/agents/refs/ta-image-generation-detail.md +59 -59
  32. package/project-templates/phaser/.claude/skills/playcraft-image-generation/SKILL.md +135 -63
  33. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/gen-batch-sprite.template.mjs +42 -33
  34. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/gen-batch.template.mjs +18 -20
  35. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/process-batch.template.mjs +6 -7
  36. package/project-templates/phaser/.claude/skills/playcraft-image-generation/reference/prompt-cookbook.md +39 -39
  37. package/project-templates/threejs/.claude/agents/refs/ta-image-generation-detail.md +59 -59
  38. package/project-templates/threejs/.claude/skills/playcraft-image-generation/SKILL.md +135 -63
  39. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/gen-batch-sprite.template.mjs +42 -33
  40. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/gen-batch.template.mjs +18 -20
  41. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/process-batch.template.mjs +6 -7
  42. package/project-templates/threejs/.claude/skills/playcraft-image-generation/reference/prompt-cookbook.md +39 -39
  43. package/SKILLS_REGISTRY.md +0 -149
  44. package/dist/auth/account-activation.js +0 -157
  45. package/dist/auth/messages.js +0 -30
  46. package/dist/commands/build-temp.js +0 -26
  47. package/dist/commands/platform-skills.generated.js +0 -19
  48. package/dist/commands/playable.js +0 -53
  49. package/dist/commands/tools-batch.js +0 -113
  50. package/dist/commands/video.js +0 -122
  51. package/dist/commands/workspace-runtime.js +0 -54
  52. package/dist/commands/workspace.js +0 -40
  53. package/dist/project-skills/builtin-import.js +0 -225
  54. package/dist/project-skills/commands.js +0 -77
  55. package/dist/project-skills/lifecycle.js +0 -28
  56. package/dist/project-skills/local-run.js +0 -112
  57. package/dist/project-skills/local-store.js +0 -221
  58. package/dist/project-skills/messages.js +0 -80
  59. package/dist/project-skills/reconcile.js +0 -62
  60. package/dist/project-skills/remote-cache.js +0 -51
  61. package/dist/project-skills/validation.js +0 -19
  62. package/dist/recording/messages.js +0 -40
  63. package/dist/recording/project-digest.js +0 -85
  64. package/dist/recording/recorder.js +0 -293
  65. package/dist/recording/scenario.js +0 -50
  66. package/dist/skill-registry/client.js +0 -345
  67. package/dist/skill-registry/commands.js +0 -180
  68. package/dist/skill-registry/evaluation-client.js +0 -156
  69. package/dist/skill-registry/evaluation-commands.js +0 -174
  70. package/dist/skill-registry/messages.js +0 -177
  71. package/dist/skill-registry/package.js +0 -275
  72. package/dist/skill-registry/platform-package.js +0 -100
  73. package/dist/utils/environment-endpoints.js +0 -17
  74. package/dist/utils/error-diagnostics.js +0 -20
  75. package/dist/utils/tool-operation-journal.js +0 -124
  76. package/dist/utils/video-evidence-git.js +0 -81
  77. package/dist/video-replication/client.js +0 -234
  78. package/dist/video-replication/comparison-evidence.js +0 -149
  79. package/dist/video-replication/comparison-files.js +0 -57
  80. package/dist/video-replication/comparison-log.js +0 -72
  81. package/dist/video-replication/comparison-messages.js +0 -104
  82. package/dist/video-replication/comparison-output.js +0 -63
  83. package/dist/video-replication/comparison-preflight.js +0 -66
  84. package/dist/video-replication/comparison.js +0 -230
  85. package/dist/video-replication/diagnostics.js +0 -41
  86. package/dist/video-replication/evidence.js +0 -165
  87. package/dist/video-replication/media.js +0 -112
  88. package/dist/video-replication/messages.js +0 -97
  89. package/dist/workspace/messages.js +0 -67
  90. package/dist/workspace/transfer-client.js +0 -233
  91. package/dist/workspace/transfer-errors.js +0 -48
  92. package/dist/workspace-runtime/batch/content-changes.js +0 -30
  93. package/dist/workspace-runtime/batch/control.js +0 -86
  94. package/dist/workspace-runtime/batch/deliver.js +0 -173
  95. package/dist/workspace-runtime/batch/freeze.js +0 -101
  96. package/dist/workspace-runtime/batch/generate.js +0 -249
  97. package/dist/workspace-runtime/batch/git.js +0 -40
  98. package/dist/workspace-runtime/batch/occupancy.js +0 -8
  99. package/dist/workspace-runtime/batch/policy.js +0 -70
  100. package/dist/workspace-runtime/batch/prepare.js +0 -317
  101. package/dist/workspace-runtime/batch/processes.js +0 -72
  102. package/dist/workspace-runtime/batch/records.js +0 -113
  103. package/dist/workspace-runtime/batch/routes.js +0 -61
  104. package/dist/workspace-runtime/batch/source-candidate.js +0 -86
  105. package/dist/workspace-runtime/batch/source-capture.js +0 -146
  106. package/dist/workspace-runtime/batch/source-failure.js +0 -43
  107. package/dist/workspace-runtime/batch/source-publish.js +0 -130
  108. package/dist/workspace-runtime/codex/app-server.js +0 -1065
  109. package/dist/workspace-runtime/codex/compact.js +0 -46
  110. package/dist/workspace-runtime/codex/config-toml.js +0 -107
  111. package/dist/workspace-runtime/codex/delivery-tools.js +0 -144
  112. package/dist/workspace-runtime/codex/jsonrpc-stdio.js +0 -145
  113. package/dist/workspace-runtime/codex/launcher-client.js +0 -177
  114. package/dist/workspace-runtime/codex/loopback.js +0 -146
  115. package/dist/workspace-runtime/codex/mcp-config.js +0 -39
  116. package/dist/workspace-runtime/codex/model-broker.js +0 -263
  117. package/dist/workspace-runtime/codex/native-adapter.js +0 -9
  118. package/dist/workspace-runtime/codex/permissions.js +0 -79
  119. package/dist/workspace-runtime/codex/thread-image.js +0 -38
  120. package/dist/workspace-runtime/codex/tool-response.js +0 -10
  121. package/dist/workspace-runtime/codex/ui-instructions.js +0 -4
  122. package/dist/workspace-runtime/codex/ui-tools.js +0 -203
  123. package/dist/workspace-runtime/codex/work-mode.js +0 -15
  124. package/dist/workspace-runtime/main.js +0 -10
  125. package/dist/workspace-runtime/persistence/journal.js +0 -365
  126. package/dist/workspace-runtime/persistence/native-subagents.js +0 -162
  127. package/dist/workspace-runtime/persistence/sqlite-client.js +0 -77
  128. package/dist/workspace-runtime/persistence/sqlite-worker.js +0 -1161
  129. package/dist/workspace-runtime/persistence/stopped-execution.js +0 -77
  130. package/dist/workspace-runtime/previews/diagnostics.js +0 -44
  131. package/dist/workspace-runtime/previews/output.js +0 -36
  132. package/dist/workspace-runtime/previews/publish.js +0 -283
  133. package/dist/workspace-runtime/previews/runtime-preview.js +0 -177
  134. package/dist/workspace-runtime/previews/single-file.js +0 -43
  135. package/dist/workspace-runtime/processes/managed-writes.js +0 -69
  136. package/dist/workspace-runtime/serve.js +0 -441
  137. package/dist/workspace-runtime/server/accept-operation.js +0 -61
  138. package/dist/workspace-runtime/server/asset-transfers.js +0 -63
  139. package/dist/workspace-runtime/server/auth.js +0 -21
  140. package/dist/workspace-runtime/server/connectivity.js +0 -209
  141. package/dist/workspace-runtime/server/desktop-host.js +0 -429
  142. package/dist/workspace-runtime/server/desktop-preview-config.js +0 -81
  143. package/dist/workspace-runtime/server/desktop-preview-service.js +0 -157
  144. package/dist/workspace-runtime/server/desktop-preview-static.js +0 -53
  145. package/dist/workspace-runtime/server/desktop-preview.js +0 -189
  146. package/dist/workspace-runtime/server/dispatch.js +0 -1632
  147. package/dist/workspace-runtime/server/endpoints.js +0 -21
  148. package/dist/workspace-runtime/server/execution-group.js +0 -90
  149. package/dist/workspace-runtime/server/http.js +0 -1340
  150. package/dist/workspace-runtime/server/lock.js +0 -53
  151. package/dist/workspace-runtime/server/operation-record.js +0 -33
  152. package/dist/workspace-runtime/server/rfb-watch-gate.js +0 -168
  153. package/dist/workspace-runtime/server/session-restore.js +0 -84
  154. package/dist/workspace-runtime/server/source-uploader.js +0 -138
  155. package/dist/workspace-runtime/server/submit-operation.js +0 -41
  156. package/dist/workspace-runtime/server/terminal-host.js +0 -366
  157. package/dist/workspace-runtime/server/types.js +0 -1
  158. package/dist/workspace-runtime/server/workspace-transfer.js +0 -168
  159. package/dist/workspace-runtime/verify-artifact.js +0 -59
  160. package/dist/workspace-runtime/workspaces/append-only-log.js +0 -62
  161. package/dist/workspace-runtime/workspaces/archive.js +0 -207
  162. package/dist/workspace-runtime/workspaces/artifact-events.js +0 -55
  163. package/dist/workspace-runtime/workspaces/artifact-files.js +0 -199
  164. package/dist/workspace-runtime/workspaces/artifact-receipts.js +0 -89
  165. package/dist/workspace-runtime/workspaces/artifacts.js +0 -282
  166. package/dist/workspace-runtime/workspaces/asset-library-import.js +0 -366
  167. package/dist/workspace-runtime/workspaces/asset-transfer-dependencies.js +0 -81
  168. package/dist/workspace-runtime/workspaces/asset-transfer-publish.js +0 -434
  169. package/dist/workspace-runtime/workspaces/asset-transfer-storage.js +0 -389
  170. package/dist/workspace-runtime/workspaces/attachment-content.js +0 -73
  171. package/dist/workspace-runtime/workspaces/attachments.js +0 -185
  172. package/dist/workspace-runtime/workspaces/batch-commit.js +0 -142
  173. package/dist/workspace-runtime/workspaces/binary-content.js +0 -65
  174. package/dist/workspace-runtime/workspaces/binary-write.js +0 -112
  175. package/dist/workspace-runtime/workspaces/cli-context.js +0 -23
  176. package/dist/workspace-runtime/workspaces/cli-credentials.js +0 -115
  177. package/dist/workspace-runtime/workspaces/composer-context.js +0 -147
  178. package/dist/workspace-runtime/workspaces/context-error.js +0 -2
  179. package/dist/workspace-runtime/workspaces/delivery-build.js +0 -331
  180. package/dist/workspace-runtime/workspaces/delivery-store.js +0 -168
  181. package/dist/workspace-runtime/workspaces/delivery.js +0 -64
  182. package/dist/workspace-runtime/workspaces/dependencies.js +0 -279
  183. package/dist/workspace-runtime/workspaces/developer-command.js +0 -98
  184. package/dist/workspace-runtime/workspaces/directories.js +0 -132
  185. package/dist/workspace-runtime/workspaces/directory-access.js +0 -37
  186. package/dist/workspace-runtime/workspaces/directory-attachments.js +0 -245
  187. package/dist/workspace-runtime/workspaces/directory-create.js +0 -57
  188. package/dist/workspace-runtime/workspaces/directory-maintenance.js +0 -111
  189. package/dist/workspace-runtime/workspaces/directory-mutations.js +0 -238
  190. package/dist/workspace-runtime/workspaces/directory-revisions.js +0 -56
  191. package/dist/workspace-runtime/workspaces/directory-stats.js +0 -49
  192. package/dist/workspace-runtime/workspaces/disk-snapshot.js +0 -31
  193. package/dist/workspace-runtime/workspaces/empty-template.js +0 -42
  194. package/dist/workspace-runtime/workspaces/file-content.js +0 -48
  195. package/dist/workspace-runtime/workspaces/files-search.js +0 -116
  196. package/dist/workspace-runtime/workspaces/files.js +0 -150
  197. package/dist/workspace-runtime/workspaces/git-credential-broker.js +0 -312
  198. package/dist/workspace-runtime/workspaces/git-credential-helper.js +0 -68
  199. package/dist/workspace-runtime/workspaces/git-direct-store.js +0 -155
  200. package/dist/workspace-runtime/workspaces/git.js +0 -670
  201. package/dist/workspace-runtime/workspaces/instructions.js +0 -56
  202. package/dist/workspace-runtime/workspaces/json5-edit.js +0 -313
  203. package/dist/workspace-runtime/workspaces/library-attachments.js +0 -268
  204. package/dist/workspace-runtime/workspaces/operation-log.js +0 -23
  205. package/dist/workspace-runtime/workspaces/optional-platform-skills.js +0 -14
  206. package/dist/workspace-runtime/workspaces/parameter-agent-inputs.js +0 -87
  207. package/dist/workspace-runtime/workspaces/parameter-agent-protocol.js +0 -29
  208. package/dist/workspace-runtime/workspaces/parameter-agent-store.js +0 -58
  209. package/dist/workspace-runtime/workspaces/parameter-agent.js +0 -282
  210. package/dist/workspace-runtime/workspaces/parameters.js +0 -295
  211. package/dist/workspace-runtime/workspaces/prepare.js +0 -278
  212. package/dist/workspace-runtime/workspaces/registry.js +0 -251
  213. package/dist/workspace-runtime/workspaces/remix-references.js +0 -301
  214. package/dist/workspace-runtime/workspaces/revisions.js +0 -31
  215. package/dist/workspace-runtime/workspaces/session-image.js +0 -104
  216. package/dist/workspace-runtime/workspaces/shared-git.js +0 -40
  217. package/dist/workspace-runtime/workspaces/skill-artifact-loader.js +0 -95
  218. package/dist/workspace-runtime/workspaces/skills.js +0 -191
  219. package/dist/workspace-runtime/workspaces/transfer-quota.js +0 -69
  220. package/dist/workspace-runtime/workspaces/transfer.js +0 -471
  221. package/dist/workspace-runtime/workspaces/turn-changes.js +0 -75
  222. package/dist/workspace-runtime/workspaces/video-attachments.js +0 -49
  223. package/project-template/.claude/skills/playcraft-replica-validation/SKILL.md +0 -25
  224. package/project-template/.claude/skills/playcraft-replica-validation/references/contracts.md +0 -79
  225. package/project-template/.claude/skills/playcraft-video-understanding/SKILL.md +0 -29
  226. package/project-template/.claude/skills/playcraft-video-understanding/references/contracts.md +0 -37
  227. package/project-template-v2/.claude/agents/artist.md +0 -82
  228. package/project-template-v2/.claude/agents/developer.md +0 -153
  229. package/project-template-v2/.claude/agents/game-designer.md +0 -264
  230. package/project-template-v2/.claude/agents/refs/artist-art-style-catalog.md +0 -533
  231. package/project-template-v2/.claude/agents/refs/artist-color-audio-recipes.md +0 -153
  232. package/project-template-v2/.claude/agents/refs/artist-dimension-axis.md +0 -27
  233. package/project-template-v2/.claude/agents/refs/artist-master-composite-recipes.md +0 -208
  234. package/project-template-v2/.claude/agents/refs/atom-skill-library.md +0 -81
  235. package/project-template-v2/.claude/agents/refs/developer-impl-cookbook.md +0 -432
  236. package/project-template-v2/.claude/agents/refs/framework-5-component-filter.md +0 -252
  237. package/project-template-v2/.claude/agents/refs/framework-game-feel-juice.md +0 -266
  238. package/project-template-v2/.claude/agents/refs/framework-mda.md +0 -147
  239. package/project-template-v2/.claude/agents/refs/game-designer-gameplay-sufficiency.md +0 -123
  240. package/project-template-v2/.claude/agents/refs/ta-3d-flip-recipe.md +0 -88
  241. package/project-template-v2/.claude/agents/refs/ta-atlas-deliverable-standard.md +0 -67
  242. package/project-template-v2/.claude/agents/refs/ta-batch-pipeline-recipes.md +0 -120
  243. package/project-template-v2/.claude/agents/refs/ta-image-generation-detail.md +0 -300
  244. package/project-template-v2/.claude/agents/refs/ta-image-ops-reference.md +0 -495
  245. package/project-template-v2/.claude/agents/refs/ta-pipeline-cookbook.md +0 -1141
  246. package/project-template-v2/.claude/agents/refs/ta-tools-reference.md +0 -111
  247. package/project-template-v2/.claude/agents/refs/ta-vfx-preset-catalog.md +0 -365
  248. package/project-template-v2/.claude/agents/refs/threejs-cannon-pitfalls.md +0 -412
  249. package/project-template-v2/.claude/agents/reviewer.md +0 -75
  250. package/project-template-v2/.claude/agents/technical-artist.md +0 -86
  251. package/project-template-v2/.claude/hooks/snapshot-milestone.mjs +0 -243
  252. package/project-template-v2/.claude/hooks/user-prompt.mjs +0 -133
  253. package/project-template-v2/.claude/settings.json +0 -33
  254. package/project-template-v2/.claude/skills/brainstorming/SKILL.md +0 -161
  255. package/project-template-v2/.claude/skills/brainstorming/scripts/frame-template.html +0 -270
  256. package/project-template-v2/.claude/skills/brainstorming/scripts/helper.js +0 -177
  257. package/project-template-v2/.claude/skills/brainstorming/scripts/server.cjs +0 -354
  258. package/project-template-v2/.claude/skills/brainstorming/scripts/start-server.sh +0 -148
  259. package/project-template-v2/.claude/skills/brainstorming/scripts/stop-server.sh +0 -56
  260. package/project-template-v2/.claude/skills/brainstorming/scripts/wait-for-selection.sh +0 -62
  261. package/project-template-v2/.claude/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
  262. package/project-template-v2/.claude/skills/brainstorming/visual-companion.md +0 -309
  263. package/project-template-v2/.claude/skills/playcraft-ad-psychology/SKILL.md +0 -182
  264. package/project-template-v2/.claude/skills/playcraft-art-style-guide/SKILL.md +0 -123
  265. package/project-template-v2/.claude/skills/playcraft-asset-state-sheet/SKILL.md +0 -205
  266. package/project-template-v2/.claude/skills/playcraft-audio-generation/SKILL.md +0 -280
  267. package/project-template-v2/.claude/skills/playcraft-batch-pipeline/SKILL.md +0 -184
  268. package/project-template-v2/.claude/skills/playcraft-build-optimizer/SKILL.md +0 -306
  269. package/project-template-v2/.claude/skills/playcraft-image-generation/SKILL.md +0 -298
  270. package/project-template-v2/.claude/skills/playcraft-image-generation/reference/build-sprite-sheet.template.mjs +0 -123
  271. package/project-template-v2/.claude/skills/playcraft-image-generation/reference/compare-style.template.mjs +0 -254
  272. package/project-template-v2/.claude/skills/playcraft-image-generation/reference/gen-batch-sprite.template.mjs +0 -324
  273. package/project-template-v2/.claude/skills/playcraft-image-generation/reference/gen-batch.template.mjs +0 -97
  274. package/project-template-v2/.claude/skills/playcraft-image-generation/reference/gen-edit-variants.template.mjs +0 -118
  275. package/project-template-v2/.claude/skills/playcraft-image-generation/reference/process-batch.template.mjs +0 -137
  276. package/project-template-v2/.claude/skills/playcraft-image-generation/reference/prompt-cookbook.md +0 -397
  277. package/project-template-v2/.claude/skills/playcraft-image-generation/reference/validate-sprite-sheet.template.mjs +0 -296
  278. package/project-template-v2/.claude/skills/playcraft-image-ops/SKILL.md +0 -122
  279. package/project-template-v2/.claude/skills/playcraft-image-processing/SKILL.md +0 -219
  280. package/project-template-v2/.claude/skills/playcraft-masking/SKILL.md +0 -373
  281. package/project-template-v2/.claude/skills/playcraft-playable-optimization/SKILL.md +0 -161
  282. package/project-template-v2/.claude/skills/playcraft-research/SKILL.md +0 -215
  283. package/project-template-v2/.claude/skills/playcraft-skill-recommender/SKILL.md +0 -382
  284. package/project-template-v2/.claude/skills/playcraft-sprite-generation/SKILL.md +0 -423
  285. package/project-template-v2/.claude/skills/playcraft-sprite-remix/SKILL.md +0 -158
  286. package/project-template-v2/.claude/skills/playcraft-sprite-sheet/SKILL.md +0 -100
  287. package/project-template-v2/.claude/skills/playcraft-storyboard/SKILL.md +0 -167
  288. package/project-template-v2/.claude/skills/playcraft-style-qa/SKILL.md +0 -270
  289. package/project-template-v2/.claude/skills/playcraft-text-rendering/SKILL.md +0 -236
  290. package/project-template-v2/.claude/skills/playcraft-vfx-animation/SKILL.md +0 -130
  291. package/project-template-v2/.claude/skills/playwright-cli/SKILL.md +0 -390
  292. package/project-template-v2/.claude/skills/playwright-cli/references/element-attributes.md +0 -23
  293. package/project-template-v2/.claude/skills/playwright-cli/references/playwright-tests.md +0 -39
  294. package/project-template-v2/.claude/skills/playwright-cli/references/request-mocking.md +0 -87
  295. package/project-template-v2/.claude/skills/playwright-cli/references/running-code.md +0 -240
  296. package/project-template-v2/.claude/skills/playwright-cli/references/session-management.md +0 -226
  297. package/project-template-v2/.claude/skills/playwright-cli/references/spec-driven-testing.md +0 -308
  298. package/project-template-v2/.claude/skills/playwright-cli/references/storage-state.md +0 -275
  299. package/project-template-v2/.claude/skills/playwright-cli/references/test-generation.md +0 -134
  300. package/project-template-v2/.claude/skills/playwright-cli/references/tracing.md +0 -142
  301. package/project-template-v2/.claude/skills/playwright-cli/references/video-recording.md +0 -153
  302. package/project-template-v2/.claude/skills/session-analyzer/SKILL.md +0 -386
  303. package/project-template-v2/.claude/skills/session-analyzer/scripts/execution-breakdown.mjs +0 -182
  304. package/project-template-v2/.claude/skills/session-analyzer/scripts/find-turns.mjs +0 -72
  305. package/project-template-v2/.claude/skills/session-analyzer/scripts/heavy-output.mjs +0 -121
  306. package/project-template-v2/.claude/skills/session-analyzer/scripts/resolve-session.mjs +0 -102
  307. package/project-template-v2/.claude/skills/session-analyzer/scripts/subagent-stats.mjs +0 -127
  308. package/project-template-v2/.claude/skills/session-analyzer/scripts/subagent-tool-timeline.mjs +0 -106
  309. package/project-template-v2/.claude/skills/session-analyzer/scripts/time-gaps.mjs +0 -128
  310. package/project-template-v2/.claude/skills/session-analyzer/scripts/turn-timeline.mjs +0 -67
  311. package/project-template-v2/.claude/snapshot.mjs +0 -263
  312. package/project-template-v2/.playcraft/skills.lock.json +0 -152
  313. package/project-template-v2/CLAUDE.md +0 -146
  314. package/project-template-v2/assets/audio/bgm/.gitkeep +0 -0
  315. package/project-template-v2/assets/audio/sfx/.gitkeep +0 -0
  316. package/project-template-v2/assets/bundles/.gitkeep +0 -0
  317. package/project-template-v2/assets/images/bg/.gitkeep +0 -0
  318. package/project-template-v2/assets/images/reference/.gitkeep +0 -0
  319. package/project-template-v2/assets/images/storyboard/.gitkeep +0 -0
  320. package/project-template-v2/assets/images/tiles/.gitkeep +0 -0
  321. package/project-template-v2/assets/images/ui/.gitkeep +0 -0
  322. package/project-template-v2/assets/images/vfx/.gitkeep +0 -0
  323. package/project-template-v2/assets/models/.gitkeep +0 -0
  324. package/project-template-v2/docs/harness/iteration-1/context-flow.md +0 -254
  325. package/project-template-v2/docs/harness/iteration-1/generate-flow.md +0 -91
  326. package/project-template-v2/docs/harness/iteration-1/ideate-flow.md +0 -214
  327. package/project-template-v2/docs/harness/iteration-1/optimize-flow.md +0 -75
  328. package/project-template-v2/docs/harness/iteration-1/wrapup-flow.md +0 -63
  329. package/project-template-v2/docs/harness/iteration-2/context-flow.md +0 -223
  330. package/project-template-v2/docs/harness/iteration-2/generate-flow.md +0 -129
  331. package/project-template-v2/docs/harness/iteration-2/ideate-flow.md +0 -267
  332. package/project-template-v2/docs/harness/iteration-2/optimize-flow.md +0 -164
  333. package/project-template-v2/docs/harness/iteration-2/wrapup-flow.md +0 -115
  334. package/project-template-v2/docs/harness/orchestrator-flow.md +0 -364
  335. package/project-template-v2/docs/project-state.json +0 -60
  336. package/project-template-v2/docs/project-state.md +0 -72
  337. package/project-template-v2/docs/standards/README.md +0 -225
  338. package/project-template-v2/docs/standards/agent-behavior-standards.md +0 -174
  339. package/project-template-v2/docs/standards/artifacts/design-brief.md +0 -19
  340. package/project-template-v2/docs/standards/artifacts/design.md +0 -22
  341. package/project-template-v2/docs/standards/artifacts/game-code.md +0 -41
  342. package/project-template-v2/docs/standards/artifacts/todo-list.md +0 -41
  343. package/project-template-v2/docs/standards/iter1-agent-behavior-standards.md +0 -343
  344. package/project-template-v2/game/index.ts +0 -18
  345. package/project-template-v2/globals.d.ts +0 -51
  346. package/project-template-v2/index.css +0 -34
  347. package/project-template-v2/index.html +0 -18
  348. package/project-template-v2/main.ts +0 -9
  349. package/project-template-v2/package.json +0 -46
  350. package/project-template-v2/skills/_shared/scripts/dispatch-clear.mjs +0 -31
  351. package/project-template-v2/skills/_shared/scripts/dispatch-set.mjs +0 -86
  352. package/project-template-v2/skills/_shared/scripts/dod-check.mjs +0 -153
  353. package/project-template-v2/skills/_shared/scripts/handoff-append.mjs +0 -70
  354. package/project-template-v2/skills/_shared/scripts/lib/validator-artifacts.mjs +0 -91
  355. package/project-template-v2/skills/_shared/scripts/pipeline/dod-config.mjs +0 -131
  356. package/project-template-v2/skills/_shared/scripts/pipeline/index.mjs +0 -80
  357. package/project-template-v2/skills/_shared/scripts/pipeline/iteration-1-core.mjs +0 -90
  358. package/project-template-v2/skills/_shared/scripts/pipeline/iteration-2-wrap.mjs +0 -93
  359. package/project-template-v2/skills/_shared/scripts/pipeline/iteration-3-visual.mjs +0 -23
  360. package/project-template-v2/skills/_shared/scripts/render-project-state.mjs +0 -230
  361. package/project-template-v2/skills/_shared/scripts/state-advance-stage.mjs +0 -58
  362. package/project-template-v2/skills/_shared/scripts/state-get.mjs +0 -339
  363. package/project-template-v2/skills/_shared/scripts/state-handoff.mjs +0 -39
  364. package/project-template-v2/skills/_shared/scripts/state-set.mjs +0 -94
  365. package/project-template-v2/skills/_shared/scripts/state-store.mjs +0 -783
  366. package/project-template-v2/skills/_shared/scripts/todo-add.mjs +0 -88
  367. package/project-template-v2/skills/_shared/scripts/todo-get.mjs +0 -130
  368. package/project-template-v2/skills/_shared/scripts/todo-remove.mjs +0 -33
  369. package/project-template-v2/skills/_shared/scripts/todo-set.mjs +0 -47
  370. package/project-template-v2/skills/_shared/scripts/verify-asset-code-sync.mjs +0 -268
  371. package/project-template-v2/skills/_shared/scripts/verify-env.mjs +0 -285
  372. package/project-template-v2/skills/_shared/scripts/verify-placeholders.mjs +0 -161
  373. package/project-template-v2/skills/playable-autoplay/SKILL.md +0 -176
  374. package/project-template-v2/skills/playable-autoplay/agents/openai.yaml +0 -4
  375. package/project-template-v2/skills/playable-debug/SKILL.md +0 -116
  376. package/project-template-v2/skills/playable-debug/agents/openai.yaml +0 -4
  377. package/project-template-v2/skills/playable-debug/references/debug-config.md +0 -40
  378. package/project-template-v2/skills/playable-record/SKILL.md +0 -140
  379. package/project-template-v2/skills/playable-record/scripts/lib/dev-server.mjs +0 -104
  380. package/project-template-v2/skills/playable-record/scripts/lib/record-audio-bridge.js +0 -141
  381. package/project-template-v2/skills/playable-record/scripts/record-playable.mjs +0 -425
  382. package/project-template-v2/skills/playable-record/scripts/verify-contract.mjs +0 -261
  383. package/project-template-v2/skills/playable-record/scripts/verify-firstwin.mjs +0 -398
  384. package/project-template-v2/skills/playable-record/scripts/verify-fusion.mjs +0 -322
  385. package/project-template-v2/skills/playable-record/scripts/verify-lifecycle.mjs +0 -105
  386. package/project-template-v2/skills/playable-record/scripts/verify-vlm-video.mjs +0 -230
  387. package/project-template-v2/skills/playable-validate/SKILL.md +0 -61
  388. package/project-template-v2/skills/playable-validate/validation-rules.md +0 -14
  389. package/project-template-v2/skills/playable-verify-ui/SKILL.md +0 -63
  390. package/project-template-v2/skills/playable-verify-ui/scripts/lib/__init__.py +0 -1
  391. package/project-template-v2/skills/playable-verify-ui/scripts/lib/config_expr.js +0 -218
  392. package/project-template-v2/skills/playable-verify-ui/scripts/lib/node_utils.js +0 -51
  393. package/project-template-v2/skills/playable-verify-ui/scripts/lib/profile_loader.py +0 -59
  394. package/project-template-v2/skills/playable-verify-ui/scripts/lib/report.py +0 -106
  395. package/project-template-v2/skills/playable-verify-ui/scripts/lib/runtime_contract.js +0 -116
  396. package/project-template-v2/skills/playable-verify-ui/scripts/verify_fetch_antipatterns.py +0 -59
  397. package/project-template-v2/skills/playable-verify-ui/scripts/verify_hardcoded_layout.js +0 -64
  398. package/project-template-v2/skills/playable-verify-ui/scripts/verify_runtime_contract.js +0 -58
  399. package/project-template-v2/skills/playable-verify-ui/scripts/verify_text_overlap.py +0 -333
  400. package/project-template-v2/ta-workspace/scripts/.gitkeep +0 -0
  401. package/project-template-v2/tsconfig.json +0 -20
  402. package/project-template-v2/vite.config.ts +0 -27
  403. package/project-templates/batch-locks/phaser.yaml +0 -922
  404. package/project-templates/batch-locks/threejs.yaml +0 -978
  405. package/project-templates/empty/AGENTS.md +0 -41
  406. package/project-templates/empty/gitignore +0 -33
@@ -1,122 +0,0 @@
1
- ---
2
- name: playcraft-image-ops
3
- description: TA 图形操作生产上下文指南。按可玩广告流水线阶段(提取/标准化/变换/合成/验证)组织 playcraft image 子命令,说明 WHEN 和 WHY 而非仅 HOW。完整 CLI 参数速查表见 refs/ta-image-ops-reference.md。
4
- triggers: 裁剪,crop,叠图,合成,overlay,扩画布,pad,去白边,trim,旋转,rotate,翻转,flip,模糊,blur,色调,tint,灰度,grayscale,反色,negate,居中裁,等比裁,图层叠加,画布,像素级操作,图形处理,decompose-layers,图层分层,提取,extract
5
- ---
6
-
7
- # PlayCraft 图形操作 — 生产上下文指南
8
-
9
- ## 0. 在流水线中的位置
10
-
11
- 所有命令均为 `playcraft image <子命令>` 格式,基于 sharp 本地处理,无需后端。
12
-
13
- ```
14
- TA Production Pipeline:
15
- Extract (从 Composite/ASR 提取)
16
- -> decompose-layers (302 整图语义分层,Master Composite;见 playcraft-masking skill)
17
- -> crop (ASR 网格 / 已知 bbox 的像素级裁切)
18
- -> segment (SAM3 单对象蒙版,见 playcraft-masking skill)
19
-
20
- Process (标准化处理)
21
- -> trim (去除多余透明边)
22
- -> resize (统一到 assetSpec 尺寸)
23
- -> pad (补齐到等宽画布)
24
- -> remove-background -> 见 playcraft-masking skill
25
-
26
- Transform (变体生成)
27
- -> flip horizontal (左右镜像,节省生成成本)
28
- -> rotate (方向调整)
29
- -> tint (色调变体 / 禁用状态)
30
- -> grayscale (锁定 / 未解锁状态)
31
-
32
- Compose (合成叠加)
33
- -> overlay (多层合成:背景 + 角色 + UI)
34
-
35
- Verify (验证)
36
- -> info (检查尺寸 / 格式 / 文件大小)
37
- -> convert (最终格式转换 -- 生产阶段保持 PNG)
38
- ```
39
-
40
- ---
41
-
42
- ## 1. 按阶段命令速查
43
-
44
- | Stage | Command | One-liner | Key Param |
45
- | --------- | ------------------ | --------------------------------------------------------------------------------- | ---------------------------------- |
46
- | Extract | `decompose-layers` | `playcraft image decompose-layers --input X --output-dir ./layers --num-layers 4` | 后端 302;`--input` 宜为 HTTPS URL |
47
- | Extract | `crop` | `playcraft image crop --input X --output Y --x N --y N --width W --height H` | x,y = 左上角原点 |
48
- | Process | `trim` | `playcraft image trim --input X --output Y --threshold 10` | threshold: 0-255 |
49
- | Process | `resize` | `playcraft image resize --input X --output Y --width W --height H` | 或 `--scale 0.5` |
50
- | Process | `pad` | `playcraft image pad --input X --output Y --all 16` | 或 --top/bottom/left/right |
51
- | Transform | `flip` | `playcraft image flip --input X --output Y --direction horizontal` | horizontal / vertical |
52
- | Transform | `rotate` | `playcraft image rotate --input X --output Y --angle 90` | 角度(顺时针),背景默认透明 |
53
- | Transform | `tint` | `playcraft image tint --input X --output Y --color "#FFD700"` | hex 颜色值 |
54
- | Transform | `grayscale` | `playcraft image grayscale --input X --output Y` | 无额外参数 |
55
- | Compose | `overlay` | `playcraft image overlay --base BG --overlay FG --output Y --gravity center` | 或 --x --y 精确坐标 |
56
- | Verify | `info` | `playcraft image info --input X` | --json 供脚本解析 |
57
- | Verify | `convert` | `playcraft image convert --input X --output Y --format webp --quality 85` | 生产阶段保持 PNG |
58
-
59
- **overlay gravity 值**:center(默认) / north / south / east / west / northeast / northwest / southeast / southwest。
60
- 指定 --x + --y 时 gravity 被忽略,叠加图左上角放置在底图 (x, y) 坐标处。
61
-
62
- ---
63
-
64
- ## 2. 最常用配方
65
-
66
- ### 配方 A:标准化精灵尺寸 (trim -> info -> pad)
67
-
68
- **场景**:AI 生成或分割提取的素材尺寸不一,需要统一到 assetSpec 指定的画布大小。
69
-
70
- ```bash
71
- playcraft image trim --input raw_sprite.png --output /tmp/trimmed.png
72
- playcraft image info --input /tmp/trimmed.png --json
73
- # 根据 info 输出计算 pad 值:top/bottom = (目标高 - 当前高) / 2,left/right 同理
74
- playcraft image pad --input /tmp/trimmed.png --output assets/images/tiles/sprite_128x128.png \
75
- --top 8 --bottom 8 --left 16 --right 16
76
- ```
77
-
78
- **为什么这个顺序**:先 trim 去掉 AI 生成图的冗余透明边,再 pad 到精确尺寸。反过来做会把冗余透明边也算进画布。
79
-
80
- ### 配方 B:多层合成 (overlay chain: bg -> character -> UI)
81
-
82
- **场景**:将背景、角色、UI 元素按层合成为最终画面。Layout Spec 中的 composite 通常需要这个流程。
83
-
84
- ```bash
85
- playcraft image overlay --base assets/images/bg/background.png \
86
- --overlay assets/images/character.png --output /tmp/step1.png --gravity center
87
- playcraft image overlay --base /tmp/step1.png \
88
- --overlay assets/images/ui/cta_button.png --output assets/images/final.png --gravity south
89
- ```
90
-
91
- **为什么逐层叠加**:overlay 每次只接受一个叠加层。从最底层开始,每一步的输出作为下一步的 base,保证 z-order 正确。
92
-
93
- ### 配方 C:镜像动画帧 (flip horizontal)
94
-
95
- **场景**:已有 run_right 动画序列帧,需要 run_left。翻转比重新生成节省时间和 API 调用。
96
-
97
- ```bash
98
- for f in assets/images/character/run_right_*.png; do
99
- name=$(basename "$f" .png)
100
- playcraft image flip --input "$f" \
101
- --output "assets/images/character/${name/right/left}.png" \
102
- --direction horizontal
103
- done
104
- ```
105
-
106
- **为什么用 flip 而不重新生成**:AI 生成的镜像帧可能出现风格不一致,而 flip 保证像素级对称,且零 API 成本。
107
-
108
- ---
109
-
110
- ## 3. 关键注意事项
111
-
112
- - **crop 不支持 batch**:`playcraft image batch --steps` 中 crop 会报 `unsupported command`。批量裁切用 for 循环或 Node.js 脚本。
113
- - **生产阶段保持 PNG**:所有中间产物和最终资产用 PNG。WebP/AVIF 转换交给构建阶段 `playcraft build --convert-webp`。
114
- - **tint 是混合不是替换**:深色图像 tint 效果弱,需要颜色替换时用 overlay + 纯色图层。
115
- - **居中裁公式**:`x = (原图宽 - 目标宽) / 2`,`y = (原图高 - 目标高) / 2`(取整)。
116
-
117
- ---
118
-
119
- ## 4. 完整参考
120
-
121
- 完整 CLI 参数速查表、所有 gravity 值、rotation 选项、滤镜命令(blur / negate)及更多组合配方:
122
- 读取 `refs/ta-image-ops-reference.md`。
@@ -1,219 +0,0 @@
1
- ---
2
- name: playcraft-image-processing
3
- description: 可玩广告流程步骤 6。对生成的图片进行后处理:缩放、裁剪、旋转、翻转、填充、格式转换、滤镜、合成等。所有操作通过 `playcraft image` CLI 命令在沙箱本地执行,无需 backend,速度快。
4
- compatibility: agent,opencode
5
- ---
6
-
7
- ## Skill Definition
8
-
9
- tools:
10
-
11
- - bash
12
- - read
13
- prompt_extension: |
14
- 你是图像处理工程师。不得向 /project/ 写入;所有输出路径必须在 ta-workspace(技术美术角色)。
15
- 通过 bash 工具运行 `playcraft image <command>` CLI 命令进行图片处理,所有操作在沙箱本地执行,无需往返 backend。
16
-
17
- ## 我做什么
18
-
19
- - 对生成的图片进行后处理,使其符合游戏引擎和可玩广告的规格
20
- - 支持:缩放、裁剪、旋转、翻转、填充边距、格式转换、灰度化、模糊、色调叠加、反色、图片合成、像素化、自动裁边
21
-
22
- ## 何时用我
23
-
24
- 当 `playcraft tools generate-image` 生成的图片需要进一步处理时:
25
-
26
- - 尺寸不符合纹理要求(如需 2 的幂次、特定分辨率)
27
- - 需要像素风效果
28
- - 需要旋转/镜像翻转(如左右角色复用同一张图)
29
- - 需要统一多帧尺寸后合并精灵图
30
- - 需要格式转换(png → webp 优化体积)
31
- - 需要裁掉透明边界、叠加合成等
32
-
33
- ## 命令速查
34
-
35
- 所有命令格式:`playcraft image <command> --input <路径> --output <路径> [选项]`
36
-
37
- ### 几何变换
38
-
39
- ```bash
40
- # 缩放(支持比例或指定宽高)
41
- playcraft image resize --input src.png --output out.png --scale 0.5
42
- playcraft image resize --input src.png --output out.png --width 512 --height 512 --fit contain
43
-
44
- # 裁剪(指定区域)
45
- playcraft image crop --input src.png --output out.png --x 0 --y 0 --width 256 --height 256
46
-
47
- # 旋转(任意角度,默认背景透明)
48
- playcraft image rotate --input src.png --output out.png --angle 90
49
- playcraft image rotate --input src.png --output out.png --angle 45 --background "#ffffff"
50
-
51
- # 镜像翻转
52
- playcraft image flip --input src.png --output out.png --direction horizontal
53
- playcraft image flip --input src.png --output out.png --direction vertical
54
-
55
- # 扩展画布/加边距(统一精灵尺寸常用)
56
- playcraft image pad --input src.png --output out.png --all 16
57
- playcraft image pad --input src.png --output out.png --top 8 --bottom 8 --left 0 --right 0
58
-
59
- # 自动裁掉透明/纯色边界
60
- playcraft image trim --input src.png --output out.png --threshold 10
61
- ```
62
-
63
- ### 格式与质量
64
-
65
- ```bash
66
- # 格式转换 + 压缩质量(png/jpg/webp/avif)
67
- playcraft image convert --input src.png --output out.webp --quality 85
68
- playcraft image convert --input src.jpg --output out.png
69
- ```
70
-
71
- ### 滤镜与色彩
72
-
73
- ```bash
74
- # 灰度化
75
- playcraft image grayscale --input src.png --output out.png
76
-
77
- # 高斯模糊(背景虚化等)
78
- playcraft image blur --input src.png --output out.png --sigma 5
79
-
80
- # 色调叠加(做角色不同颜色变体)
81
- playcraft image tint --input src.png --output out.png --color "#ff4400"
82
-
83
- # 反色
84
- playcraft image negate --input src.png --output out.png
85
-
86
- # 像素化(像素风格)
87
- playcraft image pixelate --input src.png --output out.png --pixel-size 8
88
- ```
89
-
90
- ### 合成
91
-
92
- ```bash
93
- # 将一张图叠在另一张图上(居中对齐)
94
- playcraft image overlay --base bg.png --overlay icon.png --output out.png
95
-
96
- # 指定坐标叠加
97
- playcraft image overlay --base bg.png --overlay icon.png --output out.png --x 100 --y 200
98
- ```
99
-
100
- ### 语义分割(SAM3)
101
-
102
- 通过 SAM3(Segment Anything Model 3)对图片进行**开放词汇语义分割**:用文字或框 prompt 精确抠出任意对象,返回 mask 和 RGBA 透明图。
103
- 需要经由 backend 代理,首次冷启动约 15s,热启动约 5-10s。
104
-
105
- ```bash
106
- # ── 单 prompt — 文本 ──
107
- # 找到图中所有"logo"区域,输出 mask + RGBA
108
- playcraft image segment \
109
- --input ta-workspace/banner.png \
110
- --text "logo" \
111
- --output-dir ta-workspace/segment-out
112
-
113
- # ── 单 prompt — 框选区域 ──
114
- # 用 [x1,y1,x2,y2] 绝对像素坐标指定目标区域
115
- playcraft image segment \
116
- --input ta-workspace/banner.png \
117
- --boxes "[[50,100,300,400]]" \
118
- --output-dir ta-workspace/segment-out
119
-
120
- # ── 多 prompt 批量(一次调用,多个目标)──
121
- playcraft image segment \
122
- --input ta-workspace/banner.png \
123
- --prompts '[{"text":"icon"},{"text":"button"},{"text":"logo"}]' \
124
- --output-dir ta-workspace/segment-out
125
-
126
- # ── 调节得分阈值(默认 0.3,越低召回越多)──
127
- playcraft image segment \
128
- --input ta-workspace/hero.png \
129
- --text "character" \
130
- --threshold 0.2 \
131
- --output-dir ta-workspace/segment-out
132
-
133
- # ── 不需要 RGBA 抠图,只要 mask ──
134
- playcraft image segment \
135
- --input ta-workspace/hero.png \
136
- --text "character" \
137
- --no-rgba \
138
- --output-dir ta-workspace/segment-out
139
- ```
140
-
141
- **输出目录结构**:
142
-
143
- ```
144
- segment-out/
145
- prompt_0_logo/
146
- 00_mask.png ← 二值 mask(白色为前景)
147
- 00_rgba.png ← RGBA 透明抠图
148
- 01_mask.png ← 同一 prompt 的第二个实例(若有多个)
149
- 01_rgba.png
150
- prompt_1_button/
151
- 00_mask.png
152
- 00_rgba.png
153
- segment-meta.json ← 汇总:image_size、prompts、instances count、scores、bbox
154
- ```
155
-
156
- **使用要点**:
157
-
158
- - **冷启动**:SAM3 缩容后首次调用约 15s,命令会自动等待,无需手动 ping
159
- - **热启动**:模型就绪后约 5-10s 完成分割
160
- - **抠图直接可用**:`rgba.png` 已是透明背景,可直接用于游戏资产,无需再跑 `remove-background`
161
- - **多实例**:同一 prompt 可能检测到多个对象(如图中有 3 个 logo),每个实例单独输出 `00_`、`01_`…
162
- - **bbox 信息**:`segment-meta.json` 包含每个实例的 bbox 坐标,可用于后续裁切定位
163
-
164
- **与 remove-background 的对比**:
165
-
166
- | 场景 | 推荐方案 |
167
- | -------------------------------------------------- | -------------------------------------- |
168
- | 去除纯色/渐变/棋盘格背景(AI 生成图) | `remove-background --method floodfill` |
169
- | 去除复杂真实照片背景 | `remove-background --method ai` |
170
- | **精确分割特定对象**(如从 UI 截图中提取某个按钮) | `segment --text "button"` |
171
- | **批量提取多个不同对象** | `segment --prompts '[...]'` |
172
- | **需要 mask 做遮罩特效** | `segment`(直接输出 mask.png) |
173
-
174
- ### 背景移除
175
-
176
- 支持两种方法,根据图片类型选择:
177
-
178
- ```bash
179
- # ── floodfill(默认)— 本地执行,AI 生成素材首选 ──
180
- # 从边缘 flood-fill 移除纯色/渐变/棋盘格背景,前景纹理零损失
181
- playcraft image remove-background --input ta-workspace/hero_raw.png --output ta-workspace/hero.png
182
-
183
- # 调节容差(背景与前景颜色接近时增大)
184
- playcraft image remove-background --input ta-workspace/tile.png --output ta-workspace/tile.png --tolerance 40
185
-
186
- # 关闭边缘平滑(需要硬边像素风时)
187
- playcraft image remove-background --input ta-workspace/pixel_art.png --output ta-workspace/pixel_art.png --edge-smooth 0
188
-
189
- # ── ai — 调用 backend AI 模型,复杂背景照片用 ──
190
- playcraft image remove-background --input ta-workspace/photo.jpg --output ta-workspace/photo.png --method ai
191
- ```
192
-
193
- **方法选择指南**:
194
- | 方法 | 适用场景 | 速度 | 纹理保真度 |
195
- |------|---------|------|-----------|
196
- | `floodfill`(默认) | AI 生成的素材(纯色/灰色/棋盘格背景) | <0.5s | 零损失 |
197
- | `ai` | 真实照片、复杂背景 | ~1-3s | 可能褪色 |
198
-
199
- > **注意**:`--method ai` 会调用 backend API(需要沙箱 token);`floodfill` 完全本地执行。
200
-
201
- ## 可玩广告常见规格
202
-
203
- - 纹理尺寸:建议 2 的幂次(256×256、512×512、1024×1024)
204
- - 像素风:`--pixel-size 8` 到 `16` 常见
205
- - WebP 转换:通常比 PNG 小 30–50%,可玩广告体积敏感时优先用 webp
206
- - 统一精灵帧尺寸:先 `resize` → 再 `sprite-sheet` 合并
207
-
208
- ## 典型流程
209
-
210
- ```bash
211
- # 生成图片 → 缩放到规格 → 转 webp 压缩
212
- playcraft tools generate-image --prompt "cute hero character, transparent background" --output ta-workspace/hero_raw.png
213
- playcraft image resize --input ta-workspace/hero_raw.png --output ta-workspace/hero_512.png --width 512 --height 512 --fit contain
214
- playcraft image convert --input ta-workspace/hero_512.png --output ta-workspace/hero_512.webp --quality 85
215
-
216
- # 制作角色颜色变体
217
- playcraft image tint --input ta-workspace/hero_512.png --output ta-workspace/hero_blue.png --color "#0055ff"
218
- playcraft image tint --input ta-workspace/hero_512.png --output ta-workspace/hero_red.png --color "#ff2200"
219
- ```