@playdrop/playdrop-cli 0.16.12 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/config/client-meta.json +4 -4
  2. package/dist/apiClient.d.ts +1 -2
  3. package/dist/apiClient.js +1 -16
  4. package/dist/appUrls.js +4 -0
  5. package/dist/apps/build.d.ts +12 -4
  6. package/dist/apps/build.js +55 -22
  7. package/dist/apps/index.d.ts +2 -1
  8. package/dist/apps/index.js +4 -1
  9. package/dist/apps/loadCheck.d.ts +5 -1
  10. package/dist/apps/loadCheck.js +52 -18
  11. package/dist/apps/serverBuild.d.ts +17 -0
  12. package/dist/apps/serverBuild.js +155 -0
  13. package/dist/apps/staticHtml.d.ts +1 -0
  14. package/dist/apps/staticHtml.js +19 -10
  15. package/dist/apps/upload.d.ts +12 -2
  16. package/dist/apps/upload.js +127 -46
  17. package/dist/catalogue.d.ts +23 -1
  18. package/dist/catalogue.js +126 -100
  19. package/dist/commandContext.d.ts +6 -3
  20. package/dist/commandContext.js +108 -18
  21. package/dist/commands/build.js +0 -7
  22. package/dist/commands/captureListing.d.ts +3 -0
  23. package/dist/commands/captureListing.js +48 -4
  24. package/dist/commands/chat.d.ts +4 -7
  25. package/dist/commands/chat.js +165 -77
  26. package/dist/commands/check.js +34 -1
  27. package/dist/commands/create.js +30 -263
  28. package/dist/commands/dev.js +37 -3
  29. package/dist/commands/devBrowser.js +2 -2
  30. package/dist/commands/devGameServer.d.ts +16 -0
  31. package/dist/commands/devGameServer.js +237 -0
  32. package/dist/commands/devRuntimeAssets.d.ts +1 -0
  33. package/dist/commands/devRuntimeAssets.js +2 -0
  34. package/dist/commands/devServer.d.ts +3 -0
  35. package/dist/commands/devServer.js +111 -5
  36. package/dist/commands/generation.d.ts +33 -4
  37. package/dist/commands/generation.js +304 -115
  38. package/dist/commands/login.js +23 -7
  39. package/dist/commands/review.d.ts +1 -1
  40. package/dist/commands/review.js +68 -95
  41. package/dist/commands/source.d.ts +19 -0
  42. package/dist/commands/source.js +142 -0
  43. package/dist/commands/tweaks.js +5 -11
  44. package/dist/commands/upload-content.d.ts +1 -1
  45. package/dist/commands/upload-content.js +16 -12
  46. package/dist/commands/upload.d.ts +17 -1
  47. package/dist/commands/upload.js +47 -10
  48. package/dist/commands/worker/archive-staging.d.ts +1 -0
  49. package/dist/commands/worker/archive-staging.js +13 -2
  50. package/dist/commands/worker/e2e-fixtures.d.ts +32 -0
  51. package/dist/commands/worker/e2e-fixtures.js +466 -0
  52. package/dist/commands/worker/game-server-infra.d.ts +80 -0
  53. package/dist/commands/worker/game-server-infra.js +595 -0
  54. package/dist/commands/worker/game-source-git.d.ts +126 -0
  55. package/dist/commands/worker/game-source-git.js +780 -0
  56. package/dist/commands/worker/generation.d.ts +94 -0
  57. package/dist/commands/worker/generation.js +1458 -0
  58. package/dist/commands/worker/provider-telemetry.js +1 -1
  59. package/dist/commands/worker/runtime.d.ts +8 -10
  60. package/dist/commands/worker/runtime.js +53 -48
  61. package/dist/commands/worker.d.ts +79 -19
  62. package/dist/commands/worker.js +1796 -419
  63. package/dist/config.d.ts +2 -0
  64. package/dist/config.js +16 -3
  65. package/dist/environment.d.ts +0 -1
  66. package/dist/environment.js +0 -8
  67. package/dist/index.js +92 -22
  68. package/dist/workerAppProject.d.ts +1 -1
  69. package/dist/workerAppProject.js +15 -2
  70. package/node_modules/@playdrop/api-client/dist/client.d.ts +143 -39
  71. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  72. package/node_modules/@playdrop/api-client/dist/client.js +33 -0
  73. package/node_modules/@playdrop/api-client/dist/core/request.d.ts +1 -0
  74. package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -1
  75. package/node_modules/@playdrop/api-client/dist/core/request.js +17 -11
  76. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts +51 -6
  77. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts.map +1 -1
  78. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.js +338 -41
  79. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts +24 -1
  80. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts.map +1 -1
  81. package/node_modules/@playdrop/api-client/dist/domains/ai.js +20 -0
  82. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +13 -8
  83. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
  84. package/node_modules/@playdrop/api-client/dist/domains/apps.js +158 -90
  85. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +4 -0
  86. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
  87. package/node_modules/@playdrop/api-client/dist/domains/assets.js +27 -0
  88. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts +152 -21
  89. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts.map +1 -1
  90. package/node_modules/@playdrop/api-client/dist/domains/chat.js +477 -100
  91. package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts +2 -1
  92. package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts.map +1 -1
  93. package/node_modules/@playdrop/api-client/dist/domains/player-meta.js +9 -0
  94. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts +1 -2
  95. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts.map +1 -1
  96. package/node_modules/@playdrop/api-client/dist/domains/playtrade.js +0 -11
  97. package/node_modules/@playdrop/api-client/dist/domains/social.d.ts +29 -0
  98. package/node_modules/@playdrop/api-client/dist/domains/social.d.ts.map +1 -0
  99. package/node_modules/@playdrop/api-client/dist/domains/social.js +79 -0
  100. package/node_modules/@playdrop/api-client/dist/index.d.ts +81 -30
  101. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  102. package/node_modules/@playdrop/api-client/dist/index.js +217 -56
  103. package/node_modules/@playdrop/api-client/dist/runtime.d.ts +18 -0
  104. package/node_modules/@playdrop/api-client/dist/runtime.d.ts.map +1 -0
  105. package/node_modules/@playdrop/api-client/dist/runtime.js +54 -0
  106. package/node_modules/@playdrop/api-client/package.json +7 -0
  107. package/node_modules/@playdrop/config/client-meta.json +4 -4
  108. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts +11 -0
  109. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts.map +1 -1
  110. package/node_modules/@playdrop/config/dist/src/creator-plans.js +13 -1
  111. package/node_modules/@playdrop/config/dist/src/deployment.d.ts +0 -1
  112. package/node_modules/@playdrop/config/dist/src/deployment.d.ts.map +1 -1
  113. package/node_modules/@playdrop/config/dist/src/deployment.js +0 -8
  114. package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts +0 -1
  115. package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts.map +1 -1
  116. package/node_modules/@playdrop/config/dist/src/public-deployment.js +0 -8
  117. package/node_modules/@playdrop/config/dist/src/runtime-service-origins.d.ts +1 -1
  118. package/node_modules/@playdrop/config/dist/src/runtime-service-origins.js +2 -2
  119. package/node_modules/@playdrop/config/dist/src/server/logging.d.ts.map +1 -1
  120. package/node_modules/@playdrop/config/dist/src/server/logging.js +31 -2
  121. package/node_modules/@playdrop/config/dist/test/creator-plans.test.js +10 -0
  122. package/node_modules/@playdrop/config/dist/test/deployment.test.js +0 -4
  123. package/node_modules/@playdrop/config/dist/test/runtime-service-origins.test.js +2 -0
  124. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  125. package/node_modules/@playdrop/config/package.json +6 -0
  126. package/node_modules/@playdrop/game-source-git/dist/src/archive.d.ts +9 -0
  127. package/node_modules/@playdrop/game-source-git/dist/src/archive.d.ts.map +1 -0
  128. package/node_modules/@playdrop/game-source-git/dist/src/archive.js +107 -0
  129. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.d.ts +29 -0
  130. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.d.ts.map +1 -0
  131. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.js +64 -0
  132. package/node_modules/@playdrop/game-source-git/dist/src/export.d.ts +8 -0
  133. package/node_modules/@playdrop/game-source-git/dist/src/export.d.ts.map +1 -0
  134. package/node_modules/@playdrop/game-source-git/dist/src/export.js +25 -0
  135. package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts +39 -0
  136. package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts.map +1 -0
  137. package/node_modules/@playdrop/game-source-git/dist/src/git.js +195 -0
  138. package/node_modules/@playdrop/game-source-git/dist/src/ignore.d.ts +6 -0
  139. package/node_modules/@playdrop/game-source-git/dist/src/ignore.d.ts.map +1 -0
  140. package/node_modules/@playdrop/game-source-git/dist/src/ignore.js +51 -0
  141. package/node_modules/@playdrop/game-source-git/dist/src/index.d.ts +10 -0
  142. package/node_modules/@playdrop/game-source-git/dist/src/index.d.ts.map +1 -0
  143. package/node_modules/@playdrop/{boxel-core/dist/src/humanoid/r15 → game-source-git/dist/src}/index.js +9 -4
  144. package/node_modules/@playdrop/game-source-git/dist/src/lock.d.ts +17 -0
  145. package/node_modules/@playdrop/game-source-git/dist/src/lock.d.ts.map +1 -0
  146. package/node_modules/@playdrop/game-source-git/dist/src/lock.js +72 -0
  147. package/node_modules/@playdrop/game-source-git/dist/src/materialize.d.ts +10 -0
  148. package/node_modules/@playdrop/game-source-git/dist/src/materialize.d.ts.map +1 -0
  149. package/node_modules/@playdrop/game-source-git/dist/src/materialize.js +99 -0
  150. package/node_modules/@playdrop/game-source-git/dist/src/paths.d.ts +24 -0
  151. package/node_modules/@playdrop/game-source-git/dist/src/paths.d.ts.map +1 -0
  152. package/node_modules/@playdrop/game-source-git/dist/src/paths.js +207 -0
  153. package/node_modules/@playdrop/game-source-git/dist/src/repository.d.ts +66 -0
  154. package/node_modules/@playdrop/game-source-git/dist/src/repository.d.ts.map +1 -0
  155. package/node_modules/@playdrop/game-source-git/dist/src/repository.js +213 -0
  156. package/node_modules/@playdrop/game-source-git/dist/test/core.test.d.ts +2 -0
  157. package/node_modules/@playdrop/game-source-git/dist/test/core.test.d.ts.map +1 -0
  158. package/node_modules/@playdrop/game-source-git/dist/test/core.test.js +441 -0
  159. package/node_modules/@playdrop/game-source-git/dist/tsconfig.tsbuildinfo +1 -0
  160. package/node_modules/@playdrop/game-source-git/package.json +28 -0
  161. package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts +2 -2
  162. package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts.map +1 -1
  163. package/node_modules/@playdrop/types/dist/agent-task-terminal.js +15 -9
  164. package/node_modules/@playdrop/types/dist/api.d.ts +730 -166
  165. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  166. package/node_modules/@playdrop/types/dist/api.js +65 -18
  167. package/node_modules/@playdrop/types/dist/asset-pack.d.ts +2 -0
  168. package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
  169. package/node_modules/@playdrop/types/dist/asset.d.ts +22 -8
  170. package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
  171. package/node_modules/@playdrop/types/dist/asset.js +26 -26
  172. package/node_modules/@playdrop/types/dist/chat.d.ts +273 -31
  173. package/node_modules/@playdrop/types/dist/chat.d.ts.map +1 -1
  174. package/node_modules/@playdrop/types/dist/chat.js +38 -4
  175. package/node_modules/@playdrop/types/dist/index.d.ts +3 -0
  176. package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
  177. package/node_modules/@playdrop/types/dist/index.js +7 -1
  178. package/node_modules/@playdrop/types/dist/public-cache-tags.d.ts +11 -0
  179. package/node_modules/@playdrop/types/dist/public-cache-tags.d.ts.map +1 -0
  180. package/node_modules/@playdrop/types/dist/public-cache-tags.js +78 -0
  181. package/node_modules/@playdrop/types/dist/realtime.d.ts +3 -15
  182. package/node_modules/@playdrop/types/dist/realtime.d.ts.map +1 -1
  183. package/node_modules/@playdrop/types/dist/social.d.ts +64 -0
  184. package/node_modules/@playdrop/types/dist/social.d.ts.map +1 -0
  185. package/node_modules/@playdrop/{boxel-three/dist/src/types.js → types/dist/social.js} +14 -2
  186. package/node_modules/@playdrop/types/dist/spritesheet.d.ts +51 -0
  187. package/node_modules/@playdrop/types/dist/spritesheet.d.ts.map +1 -0
  188. package/node_modules/@playdrop/types/dist/spritesheet.js +73 -0
  189. package/node_modules/@playdrop/types/dist/version.d.ts +86 -58
  190. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  191. package/node_modules/@playdrop/types/dist/version.js +111 -0
  192. package/node_modules/@playdrop/types/package.json +14 -0
  193. package/node_modules/@playdrop/vox-three/dist/src/index.d.ts +1 -1
  194. package/node_modules/@playdrop/vox-three/dist/src/index.js +1 -1
  195. package/node_modules/@playdrop/vox-three/dist/src/index.js.map +1 -1
  196. package/node_modules/@playdrop/vox-three/dist/src/vox.d.ts +0 -3
  197. package/node_modules/@playdrop/vox-three/dist/src/vox.js +0 -110
  198. package/node_modules/@playdrop/vox-three/dist/src/vox.js.map +1 -1
  199. package/node_modules/@playdrop/vox-three/dist/test/vox.test.js +0 -18
  200. package/node_modules/@playdrop/vox-three/dist/test/vox.test.js.map +1 -1
  201. package/node_modules/@playdrop/vox-three/package.json +8 -4
  202. package/package.json +9 -11
  203. package/dist/assets/model-artifacts.d.ts +0 -8
  204. package/dist/assets/model-artifacts.js +0 -382
  205. package/dist/assets/model-worker.d.ts +0 -22
  206. package/dist/assets/model-worker.js +0 -123
  207. package/node_modules/@playdrop/ai-client/dist/index.d.ts +0 -441
  208. package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +0 -1
  209. package/node_modules/@playdrop/ai-client/dist/index.js +0 -499
  210. package/node_modules/@playdrop/ai-client/package.json +0 -22
  211. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.d.ts +0 -13
  212. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js +0 -141
  213. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js.map +0 -1
  214. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.d.ts +0 -47
  215. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js +0 -313
  216. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js.map +0 -1
  217. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.d.ts +0 -3
  218. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js +0 -36
  219. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js.map +0 -1
  220. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.d.ts +0 -23
  221. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js +0 -11
  222. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js.map +0 -1
  223. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.d.ts +0 -4
  224. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js +0 -21
  225. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js.map +0 -1
  226. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.d.ts +0 -4
  227. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js +0 -24
  228. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js.map +0 -1
  229. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.d.ts +0 -3
  230. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.js.map +0 -1
  231. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.d.ts +0 -3
  232. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js +0 -387
  233. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js.map +0 -1
  234. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.d.ts +0 -6
  235. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js +0 -3
  236. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js.map +0 -1
  237. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.d.ts +0 -3
  238. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js +0 -373
  239. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js.map +0 -1
  240. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.d.ts +0 -12
  241. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js +0 -215
  242. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js.map +0 -1
  243. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.d.ts +0 -4
  244. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js +0 -18
  245. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js.map +0 -1
  246. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.d.ts +0 -42
  247. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js +0 -145
  248. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js.map +0 -1
  249. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.d.ts +0 -26
  250. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js +0 -65
  251. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js.map +0 -1
  252. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.d.ts +0 -33
  253. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js +0 -175
  254. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js.map +0 -1
  255. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r15.json +0 -1517
  256. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r6.json +0 -61
  257. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.d.ts +0 -10
  258. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js +0 -23
  259. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js.map +0 -1
  260. package/node_modules/@playdrop/boxel-core/dist/src/index.d.ts +0 -19
  261. package/node_modules/@playdrop/boxel-core/dist/src/index.js +0 -36
  262. package/node_modules/@playdrop/boxel-core/dist/src/index.js.map +0 -1
  263. package/node_modules/@playdrop/boxel-core/dist/src/materials.d.ts +0 -26
  264. package/node_modules/@playdrop/boxel-core/dist/src/materials.js +0 -184
  265. package/node_modules/@playdrop/boxel-core/dist/src/materials.js.map +0 -1
  266. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.d.ts +0 -68
  267. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js +0 -488
  268. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js.map +0 -1
  269. package/node_modules/@playdrop/boxel-core/dist/src/serialization.d.ts +0 -4
  270. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js +0 -380
  271. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js.map +0 -1
  272. package/node_modules/@playdrop/boxel-core/dist/src/textures.d.ts +0 -29
  273. package/node_modules/@playdrop/boxel-core/dist/src/textures.js +0 -208
  274. package/node_modules/@playdrop/boxel-core/dist/src/textures.js.map +0 -1
  275. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.d.ts +0 -9
  276. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js +0 -312
  277. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js.map +0 -1
  278. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.d.ts +0 -9
  279. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js +0 -154
  280. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js.map +0 -1
  281. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +0 -2
  282. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js +0 -121
  283. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +0 -1
  284. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.d.ts +0 -20
  285. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js +0 -389
  286. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js.map +0 -1
  287. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.d.ts +0 -3
  288. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js +0 -206
  289. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js.map +0 -1
  290. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.d.ts +0 -12
  291. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js +0 -81
  292. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js.map +0 -1
  293. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.d.ts +0 -12
  294. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js +0 -318
  295. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js.map +0 -1
  296. package/node_modules/@playdrop/boxel-core/dist/src/types.d.ts +0 -168
  297. package/node_modules/@playdrop/boxel-core/dist/src/types.js +0 -3
  298. package/node_modules/@playdrop/boxel-core/dist/src/types.js.map +0 -1
  299. package/node_modules/@playdrop/boxel-core/dist/src/validation.d.ts +0 -24
  300. package/node_modules/@playdrop/boxel-core/dist/src/validation.js +0 -620
  301. package/node_modules/@playdrop/boxel-core/dist/src/validation.js.map +0 -1
  302. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.d.ts +0 -11
  303. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js +0 -135
  304. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js.map +0 -1
  305. package/node_modules/@playdrop/boxel-core/dist/src/voxels.d.ts +0 -23
  306. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js +0 -52
  307. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js.map +0 -1
  308. package/node_modules/@playdrop/boxel-core/package.json +0 -19
  309. package/node_modules/@playdrop/boxel-three/dist/src/animations.d.ts +0 -4
  310. package/node_modules/@playdrop/boxel-three/dist/src/animations.js +0 -92
  311. package/node_modules/@playdrop/boxel-three/dist/src/builders.d.ts +0 -8
  312. package/node_modules/@playdrop/boxel-three/dist/src/builders.js +0 -363
  313. package/node_modules/@playdrop/boxel-three/dist/src/context.d.ts +0 -24
  314. package/node_modules/@playdrop/boxel-three/dist/src/context.js +0 -58
  315. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.d.ts +0 -100
  316. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.js +0 -927
  317. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.d.ts +0 -18
  318. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.js +0 -294
  319. package/node_modules/@playdrop/boxel-three/dist/src/index.d.ts +0 -17
  320. package/node_modules/@playdrop/boxel-three/dist/src/index.js +0 -64
  321. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.d.ts +0 -40
  322. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.js +0 -96
  323. package/node_modules/@playdrop/boxel-three/dist/src/nodes.d.ts +0 -8
  324. package/node_modules/@playdrop/boxel-three/dist/src/nodes.js +0 -88
  325. package/node_modules/@playdrop/boxel-three/dist/src/overlays.d.ts +0 -7
  326. package/node_modules/@playdrop/boxel-three/dist/src/overlays.js +0 -123
  327. package/node_modules/@playdrop/boxel-three/dist/src/primitives.d.ts +0 -4
  328. package/node_modules/@playdrop/boxel-three/dist/src/primitives.js +0 -48
  329. package/node_modules/@playdrop/boxel-three/dist/src/scene.d.ts +0 -3
  330. package/node_modules/@playdrop/boxel-three/dist/src/scene.js +0 -168
  331. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.d.ts +0 -29
  332. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.js +0 -623
  333. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.d.ts +0 -13
  334. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.js +0 -133
  335. package/node_modules/@playdrop/boxel-three/dist/src/textures.d.ts +0 -17
  336. package/node_modules/@playdrop/boxel-three/dist/src/textures.js +0 -216
  337. package/node_modules/@playdrop/boxel-three/dist/src/types.d.ts +0 -112
  338. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.d.ts +0 -28
  339. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.js +0 -344
  340. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.d.ts +0 -24
  341. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.js +0 -113
  342. package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.d.ts +0 -1
  343. package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.js +0 -137
  344. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.d.ts +0 -20
  345. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.js +0 -85
  346. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.d.ts +0 -1
  347. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.js +0 -104
  348. package/node_modules/@playdrop/boxel-three/dist/test/index.test.d.ts +0 -1
  349. package/node_modules/@playdrop/boxel-three/dist/test/index.test.js +0 -30
  350. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.d.ts +0 -1
  351. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.js +0 -88
  352. package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.d.ts +0 -1
  353. package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.js +0 -42
  354. package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.d.ts +0 -1
  355. package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.js +0 -73
  356. package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.d.ts +0 -1
  357. package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.js +0 -85
  358. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.d.ts +0 -1
  359. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.js +0 -73
  360. package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.d.ts +0 -1
  361. package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.js +0 -136
  362. package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.d.ts +0 -1
  363. package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.js +0 -42
  364. package/node_modules/@playdrop/boxel-three/package.json +0 -28
@@ -1,382 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.isGeneratedModel3DAssetTask = isGeneratedModel3DAssetTask;
40
- exports.assertGeneratedModel3DAssetRoles = assertGeneratedModel3DAssetRoles;
41
- exports.prepareModel3DAssetArtifacts = prepareModel3DAssetArtifacts;
42
- const node_fs_1 = require("node:fs");
43
- const promises_1 = require("node:fs/promises");
44
- const node_path_1 = __importDefault(require("node:path"));
45
- const boxel_core_1 = require("@playdrop/boxel-core");
46
- const vox_three_1 = require("@playdrop/vox-three");
47
- const types_1 = require("@playdrop/types");
48
- const playwright_1 = require("../playwright");
49
- const GENERATED_MODEL_3D_FORMATS = new Set(["PLAYDROP_BOXEL_JSON", "VOX"]);
50
- const BOXEL_REQUIRED_FILE_ROLES = ["primary", "mesh", "preview"];
51
- const VOX_REQUIRED_FILE_ROLES = ["primary", "boxel", "mesh", "preview"];
52
- const DEFAULT_PRESET = {
53
- meshMode: "merged",
54
- previewMode: "merged",
55
- previewDirection: "preview",
56
- width: 1024,
57
- height: 1024,
58
- };
59
- const MODEL_PRESET_BY_SUBCATEGORY = {
60
- avatar: {
61
- meshMode: "skinned",
62
- previewMode: "skinned",
63
- previewDirection: "headshot",
64
- width: 1024,
65
- height: 1024,
66
- },
67
- humanoid: {
68
- meshMode: "skinned",
69
- previewMode: "skinned",
70
- previewDirection: "headshot",
71
- width: 1024,
72
- height: 1024,
73
- },
74
- creature: {
75
- meshMode: "skinned",
76
- previewMode: "skinned",
77
- previewDirection: "headshot",
78
- width: 1024,
79
- height: 1024,
80
- },
81
- block: {
82
- meshMode: "merged",
83
- previewMode: "merged",
84
- previewDirection: "preview",
85
- width: 1024,
86
- height: 1024,
87
- },
88
- generic: {
89
- meshMode: "merged",
90
- previewMode: "merged",
91
- previewDirection: "preview",
92
- width: 1024,
93
- height: 1024,
94
- },
95
- };
96
- const TOOL_NAME = "playdrop";
97
- const WORKER_ENTRY_BASENAMES = ["model-worker.ts", "model-worker.js"];
98
- let workerBundlePromise = null;
99
- function normalizeRole(role) {
100
- return role.trim().toLowerCase();
101
- }
102
- function resolveTaskLabel(task) {
103
- if ("kind" in task && task.kind === "owned-asset") {
104
- return `${task.appName}:${task.name}`;
105
- }
106
- return task.name;
107
- }
108
- function getRolePath(task, role) {
109
- for (const [entryRole, filePath] of Object.entries(task.filePaths)) {
110
- if (normalizeRole(entryRole) === role && typeof filePath === "string" && filePath.trim().length > 0) {
111
- return filePath;
112
- }
113
- }
114
- return null;
115
- }
116
- function inferGeneratedModel3DFormat(task, explicitFormat) {
117
- const normalizedFormat = typeof explicitFormat === "string" ? explicitFormat.trim().toUpperCase() : "";
118
- if (GENERATED_MODEL_3D_FORMATS.has(normalizedFormat)) {
119
- return normalizedFormat;
120
- }
121
- const primaryPath = getRolePath(task, "primary");
122
- if (!primaryPath) {
123
- return null;
124
- }
125
- const normalizedPath = primaryPath.trim().toLowerCase();
126
- if (normalizedPath.endsWith(".boxel.json")) {
127
- return "PLAYDROP_BOXEL_JSON";
128
- }
129
- if (normalizedPath.endsWith(".vox")) {
130
- return "VOX";
131
- }
132
- return null;
133
- }
134
- function getRequiredFileRoles(format) {
135
- return format === "VOX" ? VOX_REQUIRED_FILE_ROLES : BOXEL_REQUIRED_FILE_ROLES;
136
- }
137
- function getMissingRequiredRoles(task, format) {
138
- const normalizedRoles = new Set(Object.keys(task.filePaths).map((role) => normalizeRole(role)));
139
- return getRequiredFileRoles(format).filter((role) => !normalizedRoles.has(role));
140
- }
141
- function resolveWorkerEntryPath() {
142
- for (const basename of WORKER_ENTRY_BASENAMES) {
143
- const candidate = node_path_1.default.join(__dirname, basename);
144
- if ((0, node_fs_1.existsSync)(candidate)) {
145
- return candidate;
146
- }
147
- }
148
- throw new Error(`[${TOOL_NAME}] Boxel worker entry file not found from ${__dirname}.`);
149
- }
150
- async function loadEsbuild() {
151
- const module = await Promise.resolve().then(() => __importStar(require("esbuild")));
152
- return module.build;
153
- }
154
- async function getWorkerBundle() {
155
- if (!workerBundlePromise) {
156
- workerBundlePromise = (async () => {
157
- const build = await loadEsbuild();
158
- const result = await build({
159
- entryPoints: [resolveWorkerEntryPath()],
160
- bundle: true,
161
- platform: "browser",
162
- format: "esm",
163
- target: "es2022",
164
- write: false,
165
- sourcemap: false,
166
- logLevel: "silent",
167
- });
168
- const output = result.outputFiles?.[0]?.text;
169
- if (!output) {
170
- throw new Error(`[${TOOL_NAME}] Failed to bundle boxel worker.`);
171
- }
172
- return output;
173
- })();
174
- }
175
- return workerBundlePromise;
176
- }
177
- async function withModelWorkerPage(callback, viewport) {
178
- return (0, playwright_1.withChromiumPage)(async ({ page }) => {
179
- const consoleErrors = [];
180
- page.on("console", (message) => {
181
- if (message.type() === "error") {
182
- consoleErrors.push(message.text());
183
- }
184
- });
185
- page.on("pageerror", (error) => {
186
- consoleErrors.push(error?.message ?? String(error));
187
- });
188
- await page.setContent('<canvas id="viewport"></canvas>', { waitUntil: "domcontentloaded" });
189
- const bundle = await getWorkerBundle();
190
- await page.addScriptTag({ type: "module", content: bundle });
191
- await page.waitForFunction(() => typeof window.playdropBoxelWorker !== "undefined");
192
- const result = await callback(page);
193
- if (consoleErrors.length > 0) {
194
- throw new Error(consoleErrors.join("\n"));
195
- }
196
- return result;
197
- }, { viewport });
198
- }
199
- async function exportBoxelWithWorker(boxel, mode) {
200
- try {
201
- const base64 = await withModelWorkerPage((page) => page.evaluate(({ model, exportMode }) => window.playdropBoxelWorker.exportBoxel(model, { mode: exportMode }), {
202
- model: boxel,
203
- exportMode: mode,
204
- }), { width: 1024, height: 1024 });
205
- if (typeof base64 !== "string" || base64.length === 0) {
206
- throw new Error("Model exporter did not return GLB data.");
207
- }
208
- return Buffer.from(base64, "base64");
209
- }
210
- catch (error) {
211
- throw (0, playwright_1.createPlaywrightLaunchError)(TOOL_NAME, error);
212
- }
213
- }
214
- async function renderPreviewWithWorker(boxel, options) {
215
- try {
216
- const dataUrl = await withModelWorkerPage((page) => page.evaluate(({ model, renderOptions }) => window.playdropBoxelWorker.renderBoxel(model, renderOptions), {
217
- model: boxel,
218
- renderOptions: {
219
- mode: options.mode,
220
- direction: options.direction,
221
- width: options.width,
222
- height: options.height,
223
- },
224
- }), { width: options.width, height: options.height });
225
- if (typeof dataUrl !== "string" || !dataUrl.startsWith("data:image/png;base64,")) {
226
- throw new Error("Model renderer did not return PNG data.");
227
- }
228
- return Buffer.from(dataUrl.slice("data:image/png;base64,".length), "base64");
229
- }
230
- catch (error) {
231
- throw (0, playwright_1.createPlaywrightLaunchError)(TOOL_NAME, error);
232
- }
233
- }
234
- async function renderVoxPreviewWithWorker(voxBuffer, options) {
235
- try {
236
- const dataUrl = await withModelWorkerPage((page) => page.evaluate(({ voxBase64, renderOptions }) => window.playdropBoxelWorker.renderVox(voxBase64, renderOptions), {
237
- voxBase64: voxBuffer.toString("base64"),
238
- renderOptions: {
239
- width: options.width,
240
- height: options.height,
241
- },
242
- }), { width: options.width, height: options.height });
243
- if (typeof dataUrl !== "string" || !dataUrl.startsWith("data:image/png;base64,")) {
244
- throw new Error("VOX preview renderer did not return PNG data.");
245
- }
246
- return Buffer.from(dataUrl.slice("data:image/png;base64,".length), "base64");
247
- }
248
- catch (error) {
249
- throw (0, playwright_1.createPlaywrightLaunchError)(TOOL_NAME, error);
250
- }
251
- }
252
- function parseAndValidateBoxel(raw, label) {
253
- let parsed;
254
- try {
255
- parsed = (0, boxel_core_1.parseBoxel)(JSON.parse(raw));
256
- }
257
- catch (error) {
258
- const reason = error instanceof Error ? error.message : String(error);
259
- throw new Error(`Asset "${label}" has invalid files.primary Boxel JSON: ${reason}`);
260
- }
261
- const validation = (0, boxel_core_1.validateBoxel)(parsed);
262
- if (!validation.boxel || validation.issues.length > 0) {
263
- const summary = validation.issues
264
- .slice(0, 3)
265
- .map((issue) => `${issue.path}: ${issue.message}`)
266
- .join("; ");
267
- throw new Error(`Asset "${label}" files.primary failed boxel validation${summary ? `: ${summary}` : ""}`);
268
- }
269
- return validation.boxel;
270
- }
271
- function resolvePreset(subcategory) {
272
- const normalized = subcategory.trim().toLowerCase();
273
- return MODEL_PRESET_BY_SUBCATEGORY[normalized] ?? DEFAULT_PRESET;
274
- }
275
- function isGeneratedModel3DAssetTask(task, format) {
276
- const category = typeof task.category === "string" ? task.category.trim().toUpperCase() : "";
277
- const subcategory = typeof task.subcategory === "string" ? task.subcategory.trim() : "";
278
- if (category !== "MODEL_3D" || !(0, types_1.isModel3DAssetSubcategory)("MODEL_3D", subcategory)) {
279
- return false;
280
- }
281
- return inferGeneratedModel3DFormat(task, format) !== null;
282
- }
283
- function assertGeneratedModel3DAssetRoles(task, format) {
284
- const generatedFormat = inferGeneratedModel3DFormat(task, format);
285
- if (!generatedFormat) {
286
- return;
287
- }
288
- const missing = getMissingRequiredRoles(task, generatedFormat);
289
- if (missing.length > 0) {
290
- const label = resolveTaskLabel(task);
291
- throw new Error(`Asset "${label}" requires files.${missing.join(", files.")} for format "${generatedFormat}".`);
292
- }
293
- }
294
- async function ensureExistingFile(filePath, label, role) {
295
- let fileStats;
296
- try {
297
- fileStats = await (0, promises_1.stat)(filePath);
298
- }
299
- catch (error) {
300
- const reason = error instanceof Error ? error.message : String(error);
301
- throw new Error(`Asset "${label}" files.${role} was not found at ${filePath}: ${reason}`);
302
- }
303
- if (!fileStats.isFile()) {
304
- throw new Error(`Asset "${label}" files.${role} path must be a file: ${filePath}`);
305
- }
306
- }
307
- async function loadBoxelFromPrimary(task, label) {
308
- const primaryPath = getRolePath(task, "primary");
309
- if (!primaryPath) {
310
- throw new Error(`Asset "${label}" is missing files.primary.`);
311
- }
312
- await ensureExistingFile(primaryPath, label, "primary");
313
- const raw = await (0, promises_1.readFile)(primaryPath, "utf8");
314
- return parseAndValidateBoxel(raw, label);
315
- }
316
- async function loadValidatedVoxBuffer(task, label) {
317
- const primaryPath = getRolePath(task, "primary");
318
- if (!primaryPath) {
319
- throw new Error(`Asset "${label}" is missing files.primary.`);
320
- }
321
- await ensureExistingFile(primaryPath, label, "primary");
322
- const buffer = await (0, promises_1.readFile)(primaryPath);
323
- try {
324
- (0, vox_three_1.assertValidVoxBuffer)(buffer);
325
- }
326
- catch (error) {
327
- const reason = error instanceof Error ? error.message : String(error);
328
- throw new Error(`Asset "${label}" files.primary is not a valid .vox file: ${reason}`);
329
- }
330
- return buffer;
331
- }
332
- async function prepareModel3DAssetArtifacts(task, options = {}) {
333
- const generatedFormat = inferGeneratedModel3DFormat(task, task.format);
334
- if (!generatedFormat) {
335
- return false;
336
- }
337
- assertGeneratedModel3DAssetRoles(task, task.format);
338
- const label = resolveTaskLabel(task);
339
- const meshPath = getRolePath(task, "mesh");
340
- const previewPath = getRolePath(task, "preview");
341
- if (!meshPath || !previewPath) {
342
- throw new Error(`Asset "${label}" is missing required generated 3D file paths.`);
343
- }
344
- const voxBuffer = generatedFormat === "VOX" ? await loadValidatedVoxBuffer(task, label) : null;
345
- const boxel = generatedFormat === "VOX"
346
- ? await (0, vox_three_1.convertVoxToBoxel)(voxBuffer, task.name)
347
- : await loadBoxelFromPrimary(task, label);
348
- if (options.dryRun) {
349
- return true;
350
- }
351
- if (typeof task.subcategory !== "string" || task.subcategory.trim().length === 0) {
352
- throw new Error(`Asset "${label}" is missing a model subcategory.`);
353
- }
354
- const preset = resolvePreset(task.subcategory);
355
- const [meshBuffer, previewBuffer] = await Promise.all([
356
- exportBoxelWithWorker(boxel, preset.meshMode),
357
- generatedFormat === "VOX"
358
- ? renderVoxPreviewWithWorker(voxBuffer, {
359
- width: preset.width,
360
- height: preset.height,
361
- })
362
- : renderPreviewWithWorker(boxel, {
363
- mode: preset.previewMode,
364
- direction: preset.previewDirection,
365
- width: preset.width,
366
- height: preset.height,
367
- }),
368
- ]);
369
- await (0, promises_1.mkdir)(node_path_1.default.dirname(meshPath), { recursive: true });
370
- await (0, promises_1.mkdir)(node_path_1.default.dirname(previewPath), { recursive: true });
371
- await (0, promises_1.writeFile)(meshPath, meshBuffer);
372
- await (0, promises_1.writeFile)(previewPath, previewBuffer);
373
- if (generatedFormat === "VOX") {
374
- const boxelPath = getRolePath(task, "boxel");
375
- if (!boxelPath) {
376
- throw new Error(`Asset "${label}" is missing files.boxel.`);
377
- }
378
- await (0, promises_1.mkdir)(node_path_1.default.dirname(boxelPath), { recursive: true });
379
- await (0, promises_1.writeFile)(boxelPath, `${(0, boxel_core_1.formatBoxel)(boxel)}\n`, "utf8");
380
- }
381
- return true;
382
- }
@@ -1,22 +0,0 @@
1
- import { type ExportMode } from "@playdrop/boxel-three";
2
- type ExportEntityOptions = {
3
- mode?: ExportMode;
4
- animationIds?: string[] | null;
5
- };
6
- type RenderEntityOptions = ExportEntityOptions & {
7
- width?: number;
8
- height?: number;
9
- direction?: string;
10
- background?: number | string | null;
11
- animationId?: string | null;
12
- };
13
- declare global {
14
- interface Window {
15
- playdropBoxelWorker?: {
16
- exportBoxel(modelJson: unknown, options?: ExportEntityOptions): Promise<string>;
17
- renderBoxel(modelJson: unknown, options?: RenderEntityOptions): Promise<string>;
18
- renderVox(voxBase64: string, options?: RenderEntityOptions): Promise<string>;
19
- };
20
- }
21
- }
22
- export {};
@@ -1,123 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- const THREE = __importStar(require("three"));
37
- const GLTFExporter_js_1 = require("three/examples/jsm/exporters/GLTFExporter.js");
38
- const boxel_three_1 = require("@playdrop/boxel-three");
39
- const boxel_core_1 = require("@playdrop/boxel-core");
40
- const vox_three_1 = require("@playdrop/vox-three");
41
- function arrayBufferToBase64(buffer) {
42
- const bytes = new Uint8Array(buffer);
43
- const chunkSize = 0x8000;
44
- let binary = "";
45
- for (let index = 0; index < bytes.length; index += chunkSize) {
46
- const chunk = bytes.subarray(index, index + chunkSize);
47
- binary += String.fromCharCode(...chunk);
48
- }
49
- return btoa(binary);
50
- }
51
- let cachedRenderer = null;
52
- function getOrCreateRenderer() {
53
- if (cachedRenderer) {
54
- return cachedRenderer;
55
- }
56
- const canvas = document.getElementById("viewport");
57
- if (!canvas) {
58
- throw new Error("render_canvas_unavailable");
59
- }
60
- cachedRenderer = new THREE.WebGLRenderer({
61
- canvas,
62
- antialias: true,
63
- preserveDrawingBuffer: true,
64
- alpha: true,
65
- });
66
- return cachedRenderer;
67
- }
68
- function base64ToArrayBuffer(value) {
69
- const binary = atob(value);
70
- const bytes = new Uint8Array(binary.length);
71
- for (let index = 0; index < binary.length; index += 1) {
72
- bytes[index] = binary.charCodeAt(index);
73
- }
74
- return bytes.buffer;
75
- }
76
- async function exportBoxel(modelJson, options) {
77
- const model = (0, boxel_core_1.parseBoxel)(modelJson);
78
- const blob = await (0, boxel_three_1.exportModelToGLB)({
79
- THREE,
80
- GLTFExporterCtor: GLTFExporter_js_1.GLTFExporter,
81
- model,
82
- mode: options?.mode,
83
- animationIds: options?.animationIds,
84
- });
85
- const arrayBuffer = await blob.arrayBuffer();
86
- return arrayBufferToBase64(arrayBuffer);
87
- }
88
- async function renderBoxel(modelJson, options) {
89
- const model = (0, boxel_core_1.parseBoxel)(modelJson);
90
- const renderer = getOrCreateRenderer();
91
- renderer.setPixelRatio(1);
92
- return (0, boxel_three_1.renderBoxelToDataURL)({
93
- THREE,
94
- renderer,
95
- entity: model,
96
- mode: options?.mode ?? "hierarchical",
97
- animationIds: options?.animationIds,
98
- animationId: options?.animationId ?? undefined,
99
- width: options?.width,
100
- height: options?.height,
101
- direction: options?.direction,
102
- background: options?.background ?? null,
103
- });
104
- }
105
- async function renderVox(voxBase64, options) {
106
- if (typeof voxBase64 !== "string" || voxBase64.length === 0) {
107
- throw new Error("vox_preview_input_missing");
108
- }
109
- const renderer = getOrCreateRenderer();
110
- renderer.setPixelRatio(1);
111
- return (0, vox_three_1.renderVoxToDataURL)({
112
- THREE,
113
- renderer,
114
- input: base64ToArrayBuffer(voxBase64),
115
- width: options?.width,
116
- height: options?.height,
117
- });
118
- }
119
- window.playdropBoxelWorker = {
120
- exportBoxel,
121
- renderBoxel,
122
- renderVox,
123
- };