@playdrop/playdrop-cli 0.16.16 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) 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 -0
  25. package/dist/commands/chat.js +133 -8
  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 +782 -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/runtime.d.ts +8 -10
  59. package/dist/commands/worker/runtime.js +51 -45
  60. package/dist/commands/worker.d.ts +79 -19
  61. package/dist/commands/worker.js +1796 -419
  62. package/dist/config.d.ts +2 -0
  63. package/dist/config.js +16 -3
  64. package/dist/environment.d.ts +0 -1
  65. package/dist/environment.js +0 -8
  66. package/dist/index.js +92 -13
  67. package/dist/workerAppProject.d.ts +1 -1
  68. package/dist/workerAppProject.js +15 -2
  69. package/node_modules/@playdrop/api-client/dist/client.d.ts +72 -25
  70. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  71. package/node_modules/@playdrop/api-client/dist/client.js +33 -0
  72. package/node_modules/@playdrop/api-client/dist/core/request.d.ts +1 -0
  73. package/node_modules/@playdrop/api-client/dist/core/request.d.ts.map +1 -1
  74. package/node_modules/@playdrop/api-client/dist/core/request.js +17 -11
  75. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts +51 -6
  76. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.d.ts.map +1 -1
  77. package/node_modules/@playdrop/api-client/dist/domains/agent-tasks.js +338 -41
  78. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts +24 -1
  79. package/node_modules/@playdrop/api-client/dist/domains/ai.d.ts.map +1 -1
  80. package/node_modules/@playdrop/api-client/dist/domains/ai.js +20 -0
  81. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts +13 -8
  82. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
  83. package/node_modules/@playdrop/api-client/dist/domains/apps.js +158 -90
  84. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts +4 -0
  85. package/node_modules/@playdrop/api-client/dist/domains/assets.d.ts.map +1 -1
  86. package/node_modules/@playdrop/api-client/dist/domains/assets.js +27 -0
  87. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts +35 -3
  88. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts.map +1 -1
  89. package/node_modules/@playdrop/api-client/dist/domains/chat.js +89 -7
  90. package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts +2 -1
  91. package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts.map +1 -1
  92. package/node_modules/@playdrop/api-client/dist/domains/player-meta.js +9 -0
  93. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts +1 -2
  94. package/node_modules/@playdrop/api-client/dist/domains/playtrade.d.ts.map +1 -1
  95. package/node_modules/@playdrop/api-client/dist/domains/playtrade.js +0 -11
  96. package/node_modules/@playdrop/api-client/dist/domains/social.d.ts +29 -0
  97. package/node_modules/@playdrop/api-client/dist/domains/social.d.ts.map +1 -0
  98. package/node_modules/@playdrop/api-client/dist/domains/social.js +79 -0
  99. package/node_modules/@playdrop/api-client/dist/index.d.ts +80 -29
  100. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  101. package/node_modules/@playdrop/api-client/dist/index.js +217 -56
  102. package/node_modules/@playdrop/api-client/dist/runtime.d.ts +18 -0
  103. package/node_modules/@playdrop/api-client/dist/runtime.d.ts.map +1 -0
  104. package/node_modules/@playdrop/api-client/dist/runtime.js +54 -0
  105. package/node_modules/@playdrop/api-client/package.json +7 -0
  106. package/node_modules/@playdrop/config/client-meta.json +4 -4
  107. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts +11 -0
  108. package/node_modules/@playdrop/config/dist/src/creator-plans.d.ts.map +1 -1
  109. package/node_modules/@playdrop/config/dist/src/creator-plans.js +13 -1
  110. package/node_modules/@playdrop/config/dist/src/deployment.d.ts +0 -1
  111. package/node_modules/@playdrop/config/dist/src/deployment.d.ts.map +1 -1
  112. package/node_modules/@playdrop/config/dist/src/deployment.js +0 -8
  113. package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts +0 -1
  114. package/node_modules/@playdrop/config/dist/src/public-deployment.d.ts.map +1 -1
  115. package/node_modules/@playdrop/config/dist/src/public-deployment.js +0 -8
  116. package/node_modules/@playdrop/config/dist/src/runtime-service-origins.d.ts +1 -1
  117. package/node_modules/@playdrop/config/dist/src/runtime-service-origins.js +2 -2
  118. package/node_modules/@playdrop/config/dist/src/server/logging.d.ts.map +1 -1
  119. package/node_modules/@playdrop/config/dist/src/server/logging.js +31 -2
  120. package/node_modules/@playdrop/config/dist/test/creator-plans.test.js +10 -0
  121. package/node_modules/@playdrop/config/dist/test/deployment.test.js +0 -4
  122. package/node_modules/@playdrop/config/dist/test/runtime-service-origins.test.js +2 -0
  123. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  124. package/node_modules/@playdrop/config/package.json +6 -0
  125. package/node_modules/@playdrop/game-source-git/dist/src/archive.d.ts +9 -0
  126. package/node_modules/@playdrop/game-source-git/dist/src/archive.d.ts.map +1 -0
  127. package/node_modules/@playdrop/game-source-git/dist/src/archive.js +107 -0
  128. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.d.ts +29 -0
  129. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.d.ts.map +1 -0
  130. package/node_modules/@playdrop/game-source-git/dist/src/bundle-storage.js +64 -0
  131. package/node_modules/@playdrop/game-source-git/dist/src/export.d.ts +8 -0
  132. package/node_modules/@playdrop/game-source-git/dist/src/export.d.ts.map +1 -0
  133. package/node_modules/@playdrop/game-source-git/dist/src/export.js +25 -0
  134. package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts +39 -0
  135. package/node_modules/@playdrop/game-source-git/dist/src/git.d.ts.map +1 -0
  136. package/node_modules/@playdrop/game-source-git/dist/src/git.js +195 -0
  137. package/node_modules/@playdrop/game-source-git/dist/src/ignore.d.ts +6 -0
  138. package/node_modules/@playdrop/game-source-git/dist/src/ignore.d.ts.map +1 -0
  139. package/node_modules/@playdrop/game-source-git/dist/src/ignore.js +51 -0
  140. package/node_modules/@playdrop/game-source-git/dist/src/index.d.ts +10 -0
  141. package/node_modules/@playdrop/game-source-git/dist/src/index.d.ts.map +1 -0
  142. package/node_modules/@playdrop/{boxel-core/dist/src/humanoid/r15 → game-source-git/dist/src}/index.js +9 -4
  143. package/node_modules/@playdrop/game-source-git/dist/src/lock.d.ts +17 -0
  144. package/node_modules/@playdrop/game-source-git/dist/src/lock.d.ts.map +1 -0
  145. package/node_modules/@playdrop/game-source-git/dist/src/lock.js +72 -0
  146. package/node_modules/@playdrop/game-source-git/dist/src/materialize.d.ts +10 -0
  147. package/node_modules/@playdrop/game-source-git/dist/src/materialize.d.ts.map +1 -0
  148. package/node_modules/@playdrop/game-source-git/dist/src/materialize.js +99 -0
  149. package/node_modules/@playdrop/game-source-git/dist/src/paths.d.ts +24 -0
  150. package/node_modules/@playdrop/game-source-git/dist/src/paths.d.ts.map +1 -0
  151. package/node_modules/@playdrop/game-source-git/dist/src/paths.js +207 -0
  152. package/node_modules/@playdrop/game-source-git/dist/src/repository.d.ts +66 -0
  153. package/node_modules/@playdrop/game-source-git/dist/src/repository.d.ts.map +1 -0
  154. package/node_modules/@playdrop/game-source-git/dist/src/repository.js +213 -0
  155. package/node_modules/@playdrop/game-source-git/dist/test/core.test.d.ts +2 -0
  156. package/node_modules/@playdrop/game-source-git/dist/test/core.test.d.ts.map +1 -0
  157. package/node_modules/@playdrop/game-source-git/dist/test/core.test.js +441 -0
  158. package/node_modules/@playdrop/game-source-git/dist/tsconfig.tsbuildinfo +1 -0
  159. package/node_modules/@playdrop/game-source-git/package.json +28 -0
  160. package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts +2 -2
  161. package/node_modules/@playdrop/types/dist/agent-task-terminal.d.ts.map +1 -1
  162. package/node_modules/@playdrop/types/dist/agent-task-terminal.js +15 -9
  163. package/node_modules/@playdrop/types/dist/api.d.ts +728 -164
  164. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  165. package/node_modules/@playdrop/types/dist/api.js +60 -11
  166. package/node_modules/@playdrop/types/dist/asset-pack.d.ts +2 -0
  167. package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
  168. package/node_modules/@playdrop/types/dist/asset.d.ts +22 -8
  169. package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
  170. package/node_modules/@playdrop/types/dist/asset.js +26 -26
  171. package/node_modules/@playdrop/types/dist/chat.d.ts +107 -3
  172. package/node_modules/@playdrop/types/dist/chat.d.ts.map +1 -1
  173. package/node_modules/@playdrop/types/dist/chat.js +33 -4
  174. package/node_modules/@playdrop/types/dist/index.d.ts +3 -0
  175. package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
  176. package/node_modules/@playdrop/types/dist/index.js +7 -1
  177. package/node_modules/@playdrop/types/dist/public-cache-tags.d.ts +11 -0
  178. package/node_modules/@playdrop/types/dist/public-cache-tags.d.ts.map +1 -0
  179. package/node_modules/@playdrop/types/dist/public-cache-tags.js +78 -0
  180. package/node_modules/@playdrop/types/dist/realtime.d.ts +3 -15
  181. package/node_modules/@playdrop/types/dist/realtime.d.ts.map +1 -1
  182. package/node_modules/@playdrop/types/dist/social.d.ts +64 -0
  183. package/node_modules/@playdrop/types/dist/social.d.ts.map +1 -0
  184. package/node_modules/@playdrop/{boxel-three/dist/src/types.js → types/dist/social.js} +14 -2
  185. package/node_modules/@playdrop/types/dist/spritesheet.d.ts +51 -0
  186. package/node_modules/@playdrop/types/dist/spritesheet.d.ts.map +1 -0
  187. package/node_modules/@playdrop/types/dist/spritesheet.js +73 -0
  188. package/node_modules/@playdrop/types/dist/version.d.ts +86 -58
  189. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  190. package/node_modules/@playdrop/types/dist/version.js +111 -0
  191. package/node_modules/@playdrop/types/package.json +14 -0
  192. package/node_modules/@playdrop/vox-three/dist/src/index.d.ts +1 -1
  193. package/node_modules/@playdrop/vox-three/dist/src/index.js +1 -1
  194. package/node_modules/@playdrop/vox-three/dist/src/index.js.map +1 -1
  195. package/node_modules/@playdrop/vox-three/dist/src/vox.d.ts +0 -3
  196. package/node_modules/@playdrop/vox-three/dist/src/vox.js +0 -110
  197. package/node_modules/@playdrop/vox-three/dist/src/vox.js.map +1 -1
  198. package/node_modules/@playdrop/vox-three/dist/test/vox.test.js +0 -18
  199. package/node_modules/@playdrop/vox-three/dist/test/vox.test.js.map +1 -1
  200. package/node_modules/@playdrop/vox-three/package.json +8 -4
  201. package/node_modules/@playwright/mcp/node_modules/fsevents/LICENSE +22 -0
  202. package/node_modules/@playwright/mcp/node_modules/fsevents/README.md +83 -0
  203. package/node_modules/@playwright/mcp/node_modules/fsevents/fsevents.d.ts +46 -0
  204. package/node_modules/@playwright/mcp/node_modules/fsevents/fsevents.js +82 -0
  205. package/node_modules/@playwright/mcp/node_modules/fsevents/fsevents.node +0 -0
  206. package/node_modules/@playwright/mcp/node_modules/fsevents/package.json +62 -0
  207. package/package.json +9 -11
  208. package/dist/assets/model-artifacts.d.ts +0 -8
  209. package/dist/assets/model-artifacts.js +0 -382
  210. package/dist/assets/model-worker.d.ts +0 -22
  211. package/dist/assets/model-worker.js +0 -123
  212. package/node_modules/@playdrop/ai-client/dist/index.d.ts +0 -441
  213. package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +0 -1
  214. package/node_modules/@playdrop/ai-client/dist/index.js +0 -499
  215. package/node_modules/@playdrop/ai-client/package.json +0 -22
  216. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.d.ts +0 -13
  217. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js +0 -141
  218. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js.map +0 -1
  219. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.d.ts +0 -47
  220. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js +0 -313
  221. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js.map +0 -1
  222. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.d.ts +0 -3
  223. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js +0 -36
  224. package/node_modules/@playdrop/boxel-core/dist/src/format-utils.js.map +0 -1
  225. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.d.ts +0 -23
  226. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js +0 -11
  227. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/geometry.js.map +0 -1
  228. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.d.ts +0 -4
  229. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js +0 -21
  230. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/index.js.map +0 -1
  231. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.d.ts +0 -4
  232. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js +0 -24
  233. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/common.js.map +0 -1
  234. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.d.ts +0 -3
  235. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/index.js.map +0 -1
  236. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.d.ts +0 -3
  237. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js +0 -387
  238. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js.map +0 -1
  239. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.d.ts +0 -6
  240. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js +0 -3
  241. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.js.map +0 -1
  242. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.d.ts +0 -3
  243. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js +0 -373
  244. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js.map +0 -1
  245. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.d.ts +0 -12
  246. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js +0 -215
  247. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js.map +0 -1
  248. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.d.ts +0 -4
  249. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js +0 -18
  250. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/index.js.map +0 -1
  251. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.d.ts +0 -42
  252. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js +0 -145
  253. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/scanner.js.map +0 -1
  254. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.d.ts +0 -26
  255. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js +0 -65
  256. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/artifacts.js.map +0 -1
  257. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.d.ts +0 -33
  258. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js +0 -175
  259. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/textures/face-map.js.map +0 -1
  260. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r15.json +0 -1517
  261. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/humanoid_r6.json +0 -61
  262. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.d.ts +0 -10
  263. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js +0 -23
  264. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js.map +0 -1
  265. package/node_modules/@playdrop/boxel-core/dist/src/index.d.ts +0 -19
  266. package/node_modules/@playdrop/boxel-core/dist/src/index.js +0 -36
  267. package/node_modules/@playdrop/boxel-core/dist/src/index.js.map +0 -1
  268. package/node_modules/@playdrop/boxel-core/dist/src/materials.d.ts +0 -26
  269. package/node_modules/@playdrop/boxel-core/dist/src/materials.js +0 -184
  270. package/node_modules/@playdrop/boxel-core/dist/src/materials.js.map +0 -1
  271. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.d.ts +0 -68
  272. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js +0 -488
  273. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js.map +0 -1
  274. package/node_modules/@playdrop/boxel-core/dist/src/serialization.d.ts +0 -4
  275. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js +0 -380
  276. package/node_modules/@playdrop/boxel-core/dist/src/serialization.js.map +0 -1
  277. package/node_modules/@playdrop/boxel-core/dist/src/textures.d.ts +0 -29
  278. package/node_modules/@playdrop/boxel-core/dist/src/textures.js +0 -208
  279. package/node_modules/@playdrop/boxel-core/dist/src/textures.js.map +0 -1
  280. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.d.ts +0 -9
  281. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js +0 -312
  282. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js.map +0 -1
  283. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.d.ts +0 -9
  284. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js +0 -154
  285. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js.map +0 -1
  286. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +0 -2
  287. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js +0 -121
  288. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +0 -1
  289. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.d.ts +0 -20
  290. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js +0 -389
  291. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js.map +0 -1
  292. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.d.ts +0 -3
  293. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js +0 -206
  294. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.js.map +0 -1
  295. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.d.ts +0 -12
  296. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js +0 -81
  297. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/slice.js.map +0 -1
  298. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.d.ts +0 -12
  299. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js +0 -318
  300. package/node_modules/@playdrop/boxel-core/dist/src/transforms/voxels/textured-to-voxel.js.map +0 -1
  301. package/node_modules/@playdrop/boxel-core/dist/src/types.d.ts +0 -168
  302. package/node_modules/@playdrop/boxel-core/dist/src/types.js +0 -3
  303. package/node_modules/@playdrop/boxel-core/dist/src/types.js.map +0 -1
  304. package/node_modules/@playdrop/boxel-core/dist/src/validation.d.ts +0 -24
  305. package/node_modules/@playdrop/boxel-core/dist/src/validation.js +0 -620
  306. package/node_modules/@playdrop/boxel-core/dist/src/validation.js.map +0 -1
  307. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.d.ts +0 -11
  308. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js +0 -135
  309. package/node_modules/@playdrop/boxel-core/dist/src/voxels/greedy-mesher.js.map +0 -1
  310. package/node_modules/@playdrop/boxel-core/dist/src/voxels.d.ts +0 -23
  311. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js +0 -52
  312. package/node_modules/@playdrop/boxel-core/dist/src/voxels.js.map +0 -1
  313. package/node_modules/@playdrop/boxel-core/package.json +0 -19
  314. package/node_modules/@playdrop/boxel-three/dist/src/animations.d.ts +0 -4
  315. package/node_modules/@playdrop/boxel-three/dist/src/animations.js +0 -92
  316. package/node_modules/@playdrop/boxel-three/dist/src/builders.d.ts +0 -8
  317. package/node_modules/@playdrop/boxel-three/dist/src/builders.js +0 -363
  318. package/node_modules/@playdrop/boxel-three/dist/src/context.d.ts +0 -24
  319. package/node_modules/@playdrop/boxel-three/dist/src/context.js +0 -58
  320. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.d.ts +0 -100
  321. package/node_modules/@playdrop/boxel-three/dist/src/exporters/glb.js +0 -927
  322. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.d.ts +0 -18
  323. package/node_modules/@playdrop/boxel-three/dist/src/exporters/image.js +0 -294
  324. package/node_modules/@playdrop/boxel-three/dist/src/index.d.ts +0 -17
  325. package/node_modules/@playdrop/boxel-three/dist/src/index.js +0 -64
  326. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.d.ts +0 -40
  327. package/node_modules/@playdrop/boxel-three/dist/src/instantiate.js +0 -96
  328. package/node_modules/@playdrop/boxel-three/dist/src/nodes.d.ts +0 -8
  329. package/node_modules/@playdrop/boxel-three/dist/src/nodes.js +0 -88
  330. package/node_modules/@playdrop/boxel-three/dist/src/overlays.d.ts +0 -7
  331. package/node_modules/@playdrop/boxel-three/dist/src/overlays.js +0 -123
  332. package/node_modules/@playdrop/boxel-three/dist/src/primitives.d.ts +0 -4
  333. package/node_modules/@playdrop/boxel-three/dist/src/primitives.js +0 -48
  334. package/node_modules/@playdrop/boxel-three/dist/src/scene.d.ts +0 -3
  335. package/node_modules/@playdrop/boxel-three/dist/src/scene.js +0 -168
  336. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.d.ts +0 -29
  337. package/node_modules/@playdrop/boxel-three/dist/src/skinned-mesh.js +0 -623
  338. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.d.ts +0 -13
  339. package/node_modules/@playdrop/boxel-three/dist/src/texture-atlas.js +0 -133
  340. package/node_modules/@playdrop/boxel-three/dist/src/textures.d.ts +0 -17
  341. package/node_modules/@playdrop/boxel-three/dist/src/textures.js +0 -216
  342. package/node_modules/@playdrop/boxel-three/dist/src/types.d.ts +0 -112
  343. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.d.ts +0 -28
  344. package/node_modules/@playdrop/boxel-three/dist/src/voxels/faces.js +0 -344
  345. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.d.ts +0 -24
  346. package/node_modules/@playdrop/boxel-three/dist/src/voxels/mesher.js +0 -113
  347. package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.d.ts +0 -1
  348. package/node_modules/@playdrop/boxel-three/dist/test/export-image.playwright.test.js +0 -137
  349. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.d.ts +0 -20
  350. package/node_modules/@playdrop/boxel-three/dist/test/fixtures/render-worker.js +0 -85
  351. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.d.ts +0 -1
  352. package/node_modules/@playdrop/boxel-three/dist/test/glb-skinned.test.js +0 -104
  353. package/node_modules/@playdrop/boxel-three/dist/test/index.test.d.ts +0 -1
  354. package/node_modules/@playdrop/boxel-three/dist/test/index.test.js +0 -30
  355. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.d.ts +0 -1
  356. package/node_modules/@playdrop/boxel-three/dist/test/instantiate.test.js +0 -88
  357. package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.d.ts +0 -1
  358. package/node_modules/@playdrop/boxel-three/dist/test/overlays.test.js +0 -42
  359. package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.d.ts +0 -1
  360. package/node_modules/@playdrop/boxel-three/dist/test/scene-filter.test.js +0 -73
  361. package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.d.ts +0 -1
  362. package/node_modules/@playdrop/boxel-three/dist/test/scene-smoke.test.js +0 -85
  363. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.d.ts +0 -1
  364. package/node_modules/@playdrop/boxel-three/dist/test/skinned-mesh.test.js +0 -73
  365. package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.d.ts +0 -1
  366. package/node_modules/@playdrop/boxel-three/dist/test/textured-overlay.test.js +0 -136
  367. package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.d.ts +0 -1
  368. package/node_modules/@playdrop/boxel-three/dist/test/voxels.test.js +0 -42
  369. package/node_modules/@playdrop/boxel-three/package.json +0 -28
@@ -1 +1 @@
1
- export * from "./vox.js";
1
+ export * from "./vox";
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./vox.js"), exports);
17
+ __exportStar(require("./vox"), exports);
18
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB"}
@@ -1,5 +1,4 @@
1
1
  import type * as THREEType from "three";
2
- import type { BoxelDefinition } from "@playdrop/boxel-core";
3
2
  export type VoxChunk = {
4
3
  palette: number[];
5
4
  size: {
@@ -19,8 +18,6 @@ export interface RenderVoxImageOptions {
19
18
  export declare function assertValidVoxBuffer(input: ArrayBuffer | ArrayBufferView): ArrayBuffer;
20
19
  export declare function extractVoxChunks(result: unknown): VoxChunk[];
21
20
  export declare function parseVoxChunks(input: ArrayBuffer | ArrayBufferView): Promise<VoxChunk[]>;
22
- export declare function convertVoxChunksToBoxel(chunks: VoxChunk[], id?: string): BoxelDefinition;
23
- export declare function convertVoxToBoxel(input: ArrayBuffer | ArrayBufferView, id?: string): Promise<BoxelDefinition>;
24
21
  export declare function buildVoxGroupFromChunks(chunks: VoxChunk[], three: typeof THREEType): THREEType.Group;
25
22
  export declare function buildVoxGroup(input: ArrayBuffer | ArrayBufferView, three?: typeof THREEType): Promise<THREEType.Group<THREEType.Object3DEventMap>>;
26
23
  export declare function renderVoxToDataURL(options: RenderVoxImageOptions): Promise<string>;
@@ -36,8 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.assertValidVoxBuffer = assertValidVoxBuffer;
37
37
  exports.extractVoxChunks = extractVoxChunks;
38
38
  exports.parseVoxChunks = parseVoxChunks;
39
- exports.convertVoxChunksToBoxel = convertVoxChunksToBoxel;
40
- exports.convertVoxToBoxel = convertVoxToBoxel;
41
39
  exports.buildVoxGroupFromChunks = buildVoxGroupFromChunks;
42
40
  exports.buildVoxGroup = buildVoxGroup;
43
41
  exports.renderVoxToDataURL = renderVoxToDataURL;
@@ -105,114 +103,6 @@ async function parseVoxChunks(input) {
105
103
  const loader = new loaderModule.VOXLoader();
106
104
  return extractVoxChunks(loader.parse(buffer));
107
105
  }
108
- function paletteHexToMaterial(hex, id) {
109
- const red = hex & 0xff;
110
- const green = (hex >> 8) & 0xff;
111
- const blue = (hex >> 16) & 0xff;
112
- const alpha = (hex >> 24) & 0xff;
113
- const material = {
114
- id,
115
- baseColor: [red, green, blue],
116
- };
117
- if (alpha >= 0 && alpha < 255) {
118
- material.opacity = Number((alpha / 255).toFixed(4));
119
- }
120
- return material;
121
- }
122
- function buildPrimitiveFromChunk(chunk, index, materialsByHex, materials) {
123
- const size = [chunk.size.x, chunk.size.y, chunk.size.z];
124
- const total = size[0] * size[1] * size[2];
125
- const voxels = new Array(total).fill(0);
126
- const paletteColorIndices = new Set();
127
- for (let offset = 0; offset < chunk.data.length; offset += 4) {
128
- paletteColorIndices.add(chunk.data[offset + 3] ?? 0);
129
- }
130
- const sortedColorIndices = Array.from(paletteColorIndices)
131
- .filter((value) => value > 0)
132
- .sort((left, right) => left - right);
133
- const paletteLookup = new Map();
134
- const palette = [];
135
- sortedColorIndices.forEach((colorIndex, paletteIndex) => {
136
- const hex = chunk.palette[colorIndex] ?? 0xffffffff;
137
- let materialId = materialsByHex.get(hex);
138
- if (!materialId) {
139
- materialId = `vox_material_${hex.toString(16).padStart(8, "0")}`;
140
- materialsByHex.set(hex, materialId);
141
- materials.push(paletteHexToMaterial(hex, materialId));
142
- }
143
- palette.push(materialId);
144
- paletteLookup.set(colorIndex, paletteIndex);
145
- });
146
- for (let offset = 0; offset < chunk.data.length; offset += 4) {
147
- const x = chunk.data[offset] ?? 0;
148
- const y = chunk.data[offset + 1] ?? 0;
149
- const z = chunk.data[offset + 2] ?? 0;
150
- const colorIndex = chunk.data[offset + 3] ?? 0;
151
- const paletteIndex = paletteLookup.get(colorIndex);
152
- if (paletteIndex === undefined) {
153
- continue;
154
- }
155
- const voxelIndex = x + y * size[0] + z * size[0] * size[1];
156
- voxels[voxelIndex] = paletteIndex + 1;
157
- }
158
- const primitiveId = `vox_primitive_${index + 1}`;
159
- return {
160
- primitive: {
161
- id: primitiveId,
162
- kind: "voxel_box",
163
- size,
164
- voxels,
165
- palette,
166
- },
167
- node: {
168
- id: `vox_node_${index + 1}`,
169
- position: [0, 0, 0],
170
- size,
171
- mesh: primitiveId,
172
- children: [],
173
- },
174
- };
175
- }
176
- function convertVoxChunksToBoxel(chunks, id = "vox_boxel") {
177
- if (!Array.isArray(chunks) || chunks.length === 0) {
178
- throw new Error("vox_chunks_required");
179
- }
180
- const materials = [];
181
- const materialsByHex = new Map();
182
- const primitives = [];
183
- const nodes = [];
184
- chunks.forEach((chunk, index) => {
185
- const { primitive, node } = buildPrimitiveFromChunk(chunk, index, materialsByHex, materials);
186
- primitives.push(primitive);
187
- nodes.push(node);
188
- });
189
- const rootNode = nodes.length === 1
190
- ? {
191
- ...nodes[0],
192
- id: `${id}_root`,
193
- }
194
- : {
195
- id: `${id}_root`,
196
- position: [0, 0, 0],
197
- children: nodes,
198
- };
199
- return {
200
- id,
201
- geometry: {
202
- id: `${id}_geometry`,
203
- root: rootNode,
204
- },
205
- patterns: [],
206
- materials,
207
- textures: [],
208
- primitives,
209
- animations: [],
210
- };
211
- }
212
- async function convertVoxToBoxel(input, id) {
213
- const chunks = await parseVoxChunks(input);
214
- return convertVoxChunksToBoxel(chunks, id);
215
- }
216
106
  const FACE_NEGATIVE_X = [0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1];
217
107
  const FACE_POSITIVE_X = [1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0];
218
108
  const FACE_POSITIVE_Y = [0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1];
@@ -1 +1 @@
1
- {"version":3,"file":"vox.js","sourceRoot":"","sources":["../../src/vox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vox.js","sourceRoot":"","sources":["../../src/vox.ts"],"names":[],"mappings":"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"}
@@ -43,24 +43,6 @@ const src_1 = require("../src");
43
43
  (0, node_test_1.default)("assertValidVoxBuffer rejects invalid magic", () => {
44
44
  strict_1.default.throws(() => (0, src_1.assertValidVoxBuffer)(new Uint8Array([0, 1, 2, 3, 150, 0, 0, 0])), /vox_header_invalid/);
45
45
  });
46
- (0, node_test_1.default)("convertVoxChunksToBoxel creates voxel primitive and palette", () => {
47
- const chunk = {
48
- palette: [0, 0xff0000ff, 0xff00ff00],
49
- size: { x: 2, y: 1, z: 1 },
50
- data: new Uint8Array([0, 0, 0, 1, 1, 0, 0, 2]),
51
- };
52
- const boxel = (0, src_1.convertVoxChunksToBoxel)([chunk], "sample_vox");
53
- strict_1.default.equal(boxel.id, "sample_vox");
54
- strict_1.default.equal(boxel.materials.length, 2);
55
- strict_1.default.equal(boxel.primitives.length, 1);
56
- const primitive = boxel.primitives[0];
57
- strict_1.default.equal(primitive.kind, "voxel_box");
58
- if (primitive.kind !== "voxel_box") {
59
- throw new Error("expected voxel_box primitive");
60
- }
61
- strict_1.default.deepEqual(primitive.size, [2, 1, 1]);
62
- strict_1.default.deepEqual(primitive.voxels, [1, 2]);
63
- });
64
46
  (0, node_test_1.default)("buildVoxGroupFromChunks uses the provided Three runtime for materials", () => {
65
47
  const chunk = {
66
48
  palette: [0, 0xff0000ff],
@@ -1 +1 @@
1
- {"version":3,"file":"vox.test.js","sourceRoot":"","sources":["../../test/vox.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,gEAAwC;AACxC,6CAA+B;AAC/B,gCAMgB;AAEhB,IAAA,mBAAI,EAAC,4CAA4C,EAAE,GAAG,EAAE;IACtD,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,0BAAoB,EAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAC9G,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,6DAA6D,EAAE,GAAG,EAAE;IACvE,MAAM,KAAK,GAAa;QACtB,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC;QACpC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1B,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAC/C,CAAC;IACF,MAAM,KAAK,GAAG,IAAA,6BAAuB,EAAC,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC;IAC7D,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACrC,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxC,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACtC,gBAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,gBAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,gBAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,uEAAuE,EAAE,GAAG,EAAE;IACjF,MAAM,KAAK,GAAa;QACtB,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC;QACxB,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1B,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACnC,CAAC;IACF,MAAM,KAAK,GAAG,IAAA,6BAAuB,EAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACtD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAe,CAAC;IAC7C,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,YAAY,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACxE,gBAAM,CAAC,KAAK,CAAE,IAAI,CAAC,QAAuC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,mEAAmE,EAAE,GAAG,EAAE;IAC7E,MAAM,KAAK,GAAa;QACtB,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC;QACxB,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1B,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACnC,CAAC;IACF,gBAAM,CAAC,SAAS,CAAC,IAAA,sBAAgB,EAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,qDAAqD,EAAE,GAAG,EAAE;IAC/D,MAAM,KAAK,GAAa;QACtB,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC;QACxB,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1B,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACnC,CAAC;IACF,gBAAM,CAAC,SAAS,CAAC,IAAA,sBAAgB,EAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"vox.test.js","sourceRoot":"","sources":["../../test/vox.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,gEAAwC;AACxC,6CAA+B;AAC/B,gCAKgB;AAEhB,IAAA,mBAAI,EAAC,4CAA4C,EAAE,GAAG,EAAE;IACtD,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,0BAAoB,EAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;AAC9G,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,uEAAuE,EAAE,GAAG,EAAE;IACjF,MAAM,KAAK,GAAa;QACtB,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC;QACxB,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1B,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACnC,CAAC;IACF,MAAM,KAAK,GAAG,IAAA,6BAAuB,EAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACtD,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAe,CAAC;IAC7C,gBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,YAAY,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACxE,gBAAM,CAAC,KAAK,CAAE,IAAI,CAAC,QAAuC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,mEAAmE,EAAE,GAAG,EAAE;IAC7E,MAAM,KAAK,GAAa;QACtB,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC;QACxB,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1B,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACnC,CAAC;IACF,gBAAM,CAAC,SAAS,CAAC,IAAA,sBAAgB,EAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,qDAAqD,EAAE,GAAG,EAAE;IAC/D,MAAM,KAAK,GAAa;QACtB,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC;QACxB,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC1B,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACnC,CAAC;IACF,gBAAM,CAAC,SAAS,CAAC,IAAA,sBAAgB,EAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC"}
@@ -1,18 +1,22 @@
1
1
  {
2
2
  "name": "@playdrop/vox-three",
3
3
  "version": "0.7.2",
4
- "description": "Three.js and boxel helpers for MagicaVoxel .vox assets",
4
+ "description": "Three.js helpers for MagicaVoxel .vox assets",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "development": "./src/index.ts",
10
+ "types": "./dist/src/index.d.ts",
11
+ "default": "./dist/src/index.js"
12
+ }
13
+ },
7
14
  "scripts": {
8
15
  "build": "tsc",
9
16
  "test": "node --test --import tsx test/*.test.ts",
10
17
  "dev": "tsc --watch",
11
18
  "clean": "rm -rf dist"
12
19
  },
13
- "dependencies": {
14
- "@playdrop/boxel-core": "file:../boxel-core"
15
- },
16
20
  "peerDependencies": {
17
21
  "three": "^0.183.2"
18
22
  },
@@ -0,0 +1,22 @@
1
+ MIT License
2
+ -----------
3
+
4
+ Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in
14
+ all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ THE SOFTWARE.
@@ -0,0 +1,83 @@
1
+ # fsevents [![NPM](https://nodei.co/npm/fsevents.png)](https://nodei.co/npm/fsevents/)
2
+
3
+ Native access to MacOS FSEvents in [Node.js](https://nodejs.org/)
4
+
5
+ The FSEvents API in MacOS allows applications to register for notifications of
6
+ changes to a given directory tree. It is a very fast and lightweight alternative
7
+ to kqueue.
8
+
9
+ This is a low-level library. For a cross-platform file watching module that
10
+ uses fsevents, check out [Chokidar](https://github.com/paulmillr/chokidar).
11
+
12
+ ## Installation
13
+
14
+ Supports only **Node.js v8.16 and higher**.
15
+
16
+ ```sh
17
+ npm install fsevents
18
+ ```
19
+
20
+ ## Usage
21
+
22
+ ```js
23
+ const fsevents = require('fsevents');
24
+ const stop = fsevents.watch(__dirname, (path, flags, id) => {
25
+ const info = fsevents.getInfo(path, flags, id);
26
+ }); // To start observation
27
+ stop(); // To end observation
28
+ ```
29
+
30
+ The callback passed as the second parameter to `.watch` get's called whenever the operating system detects a
31
+ a change in the file system. It takes three arguments:
32
+
33
+ ###### `fsevents.watch(dirname: string, (path: string, flags: number, id: string) => void): () => Promise<undefined>`
34
+
35
+ * `path: string` - the item in the filesystem that have been changed
36
+ * `flags: number` - a numeric value describing what the change was
37
+ * `id: string` - an unique-id identifying this specific event
38
+
39
+ Returns closer callback which when called returns a Promise resolving when the watcher process has been shut down.
40
+
41
+ ###### `fsevents.getInfo(path: string, flags: number, id: string): FsEventInfo`
42
+
43
+ The `getInfo` function takes the `path`, `flags` and `id` arguments and converts those parameters into a structure
44
+ that is easier to digest to determine what the change was.
45
+
46
+ The `FsEventsInfo` has the following shape:
47
+
48
+ ```js
49
+ /**
50
+ * @typedef {'created'|'modified'|'deleted'|'moved'|'root-changed'|'cloned'|'unknown'} FsEventsEvent
51
+ * @typedef {'file'|'directory'|'symlink'} FsEventsType
52
+ */
53
+ {
54
+ "event": "created", // {FsEventsEvent}
55
+ "path": "file.txt",
56
+ "type": "file", // {FsEventsType}
57
+ "changes": {
58
+ "inode": true, // Had iNode Meta-Information changed
59
+ "finder": false, // Had Finder Meta-Data changed
60
+ "access": false, // Had access permissions changed
61
+ "xattrs": false // Had xAttributes changed
62
+ },
63
+ "flags": 0x100000000
64
+ }
65
+ ```
66
+
67
+ ## Changelog
68
+
69
+ - v2.3 supports Apple Silicon ARM CPUs
70
+ - v2 supports node 8.16+ and reduces package size massively
71
+ - v1.2.8 supports node 6+
72
+ - v1.2.7 supports node 4+
73
+
74
+ ## Troubleshooting
75
+
76
+ - I'm getting `EBADPLATFORM` `Unsupported platform for fsevents` error.
77
+ - It's fine, nothing is broken. fsevents is macos-only. Other platforms are skipped. If you want to hide this warning, report a bug to NPM bugtracker asking them to hide ebadplatform warnings by default.
78
+
79
+ ## License
80
+
81
+ The MIT License Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller — see LICENSE file.
82
+
83
+ Visit our [GitHub page](https://github.com/fsevents/fsevents) and [NPM Page](https://npmjs.org/package/fsevents)
@@ -0,0 +1,46 @@
1
+ declare type Event = "created" | "cloned" | "modified" | "deleted" | "moved" | "root-changed" | "unknown";
2
+ declare type Type = "file" | "directory" | "symlink";
3
+ declare type FileChanges = {
4
+ inode: boolean;
5
+ finder: boolean;
6
+ access: boolean;
7
+ xattrs: boolean;
8
+ };
9
+ declare type Info = {
10
+ event: Event;
11
+ path: string;
12
+ type: Type;
13
+ changes: FileChanges;
14
+ flags: number;
15
+ };
16
+ declare type WatchHandler = (path: string, flags: number, id: string) => void;
17
+ export declare function watch(path: string, handler: WatchHandler): () => Promise<void>;
18
+ export declare function watch(path: string, since: number, handler: WatchHandler): () => Promise<void>;
19
+ export declare function getInfo(path: string, flags: number): Info;
20
+ export declare const constants: {
21
+ None: 0x00000000;
22
+ MustScanSubDirs: 0x00000001;
23
+ UserDropped: 0x00000002;
24
+ KernelDropped: 0x00000004;
25
+ EventIdsWrapped: 0x00000008;
26
+ HistoryDone: 0x00000010;
27
+ RootChanged: 0x00000020;
28
+ Mount: 0x00000040;
29
+ Unmount: 0x00000080;
30
+ ItemCreated: 0x00000100;
31
+ ItemRemoved: 0x00000200;
32
+ ItemInodeMetaMod: 0x00000400;
33
+ ItemRenamed: 0x00000800;
34
+ ItemModified: 0x00001000;
35
+ ItemFinderInfoMod: 0x00002000;
36
+ ItemChangeOwner: 0x00004000;
37
+ ItemXattrMod: 0x00008000;
38
+ ItemIsFile: 0x00010000;
39
+ ItemIsDir: 0x00020000;
40
+ ItemIsSymlink: 0x00040000;
41
+ ItemIsHardlink: 0x00100000;
42
+ ItemIsLastHardlink: 0x00200000;
43
+ OwnEvent: 0x00080000;
44
+ ItemCloned: 0x00400000;
45
+ };
46
+ export {};
@@ -0,0 +1,82 @@
1
+ /*
2
+ ** © 2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
3
+ ** Licensed under MIT License.
4
+ */
5
+
6
+ /* jshint node:true */
7
+ "use strict";
8
+
9
+ if (process.platform !== "darwin") {
10
+ throw new Error(`Module 'fsevents' is not compatible with platform '${process.platform}'`);
11
+ }
12
+
13
+ const Native = require("./fsevents.node");
14
+ const events = Native.constants;
15
+
16
+ function watch(path, since, handler) {
17
+ if (typeof path !== "string") {
18
+ throw new TypeError(`fsevents argument 1 must be a string and not a ${typeof path}`);
19
+ }
20
+ if ("function" === typeof since && "undefined" === typeof handler) {
21
+ handler = since;
22
+ since = Native.flags.SinceNow;
23
+ }
24
+ if (typeof since !== "number") {
25
+ throw new TypeError(`fsevents argument 2 must be a number and not a ${typeof since}`);
26
+ }
27
+ if (typeof handler !== "function") {
28
+ throw new TypeError(`fsevents argument 3 must be a function and not a ${typeof handler}`);
29
+ }
30
+
31
+ let instance = Native.start(Native.global, path, since, handler);
32
+ if (!instance) throw new Error(`could not watch: ${path}`);
33
+ return () => {
34
+ const result = instance ? Promise.resolve(instance).then(Native.stop) : Promise.resolve(undefined);
35
+ instance = undefined;
36
+ return result;
37
+ };
38
+ }
39
+
40
+ function getInfo(path, flags) {
41
+ return {
42
+ path,
43
+ flags,
44
+ event: getEventType(flags),
45
+ type: getFileType(flags),
46
+ changes: getFileChanges(flags),
47
+ };
48
+ }
49
+
50
+ function getFileType(flags) {
51
+ if (events.ItemIsFile & flags) return "file";
52
+ if (events.ItemIsDir & flags) return "directory";
53
+ if (events.ItemIsSymlink & flags) return "symlink";
54
+ }
55
+ function anyIsTrue(obj) {
56
+ for (let key in obj) {
57
+ if (obj[key]) return true;
58
+ }
59
+ return false;
60
+ }
61
+ function getEventType(flags) {
62
+ if (events.ItemRemoved & flags) return "deleted";
63
+ if (events.ItemRenamed & flags) return "moved";
64
+ if (events.ItemCreated & flags) return "created";
65
+ if (events.ItemModified & flags) return "modified";
66
+ if (events.RootChanged & flags) return "root-changed";
67
+ if (events.ItemCloned & flags) return "cloned";
68
+ if (anyIsTrue(flags)) return "modified";
69
+ return "unknown";
70
+ }
71
+ function getFileChanges(flags) {
72
+ return {
73
+ inode: !!(events.ItemInodeMetaMod & flags),
74
+ finder: !!(events.ItemFinderInfoMod & flags),
75
+ access: !!(events.ItemChangeOwner & flags),
76
+ xattrs: !!(events.ItemXattrMod & flags),
77
+ };
78
+ }
79
+
80
+ exports.watch = watch;
81
+ exports.getInfo = getInfo;
82
+ exports.constants = events;
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "fsevents",
3
+ "version": "2.3.2",
4
+ "description": "Native Access to MacOS FSEvents",
5
+ "main": "fsevents.js",
6
+ "types": "fsevents.d.ts",
7
+ "os": [
8
+ "darwin"
9
+ ],
10
+ "files": [
11
+ "fsevents.d.ts",
12
+ "fsevents.js",
13
+ "fsevents.node"
14
+ ],
15
+ "engines": {
16
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
17
+ },
18
+ "scripts": {
19
+ "clean": "node-gyp clean && rm -f fsevents.node",
20
+ "build": "node-gyp clean && rm -f fsevents.node && node-gyp rebuild && node-gyp clean",
21
+ "test": "/bin/bash ./test.sh 2>/dev/null",
22
+ "prepublishOnly": "npm run build"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/fsevents/fsevents.git"
27
+ },
28
+ "keywords": [
29
+ "fsevents",
30
+ "mac"
31
+ ],
32
+ "contributors": [
33
+ {
34
+ "name": "Philipp Dunkel",
35
+ "email": "pip@pipobscure.com"
36
+ },
37
+ {
38
+ "name": "Ben Noordhuis",
39
+ "email": "info@bnoordhuis.nl"
40
+ },
41
+ {
42
+ "name": "Elan Shankar",
43
+ "email": "elan.shanker@gmail.com"
44
+ },
45
+ {
46
+ "name": "Miroslav Bajtoš",
47
+ "email": "mbajtoss@gmail.com"
48
+ },
49
+ {
50
+ "name": "Paul Miller",
51
+ "url": "https://paulmillr.com"
52
+ }
53
+ ],
54
+ "license": "MIT",
55
+ "bugs": {
56
+ "url": "https://github.com/fsevents/fsevents/issues"
57
+ },
58
+ "homepage": "https://github.com/fsevents/fsevents",
59
+ "devDependencies": {
60
+ "node-gyp": "^6.1.0"
61
+ }
62
+ }