@playdrop/playdrop-cli 0.3.1-build.1 → 0.3.4-build.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 (268) hide show
  1. package/README.md +1 -0
  2. package/config/client-meta.json +5 -5
  3. package/dist/apps/build.js +90 -114
  4. package/dist/apps/upload.js +30 -8
  5. package/dist/apps/validate.js +61 -0
  6. package/dist/assets/model-artifacts.d.ts +8 -0
  7. package/dist/assets/model-artifacts.js +375 -0
  8. package/dist/assets/model-worker.d.ts +22 -0
  9. package/dist/assets/model-worker.js +123 -0
  10. package/dist/catalogue.d.ts +4 -4
  11. package/dist/catalogue.js +234 -44
  12. package/dist/commands/build.js +15 -2
  13. package/dist/commands/dev.js +2 -0
  14. package/dist/commands/devServer.js +88 -9
  15. package/dist/commands/generation.js +130 -6
  16. package/dist/commands/migrateCatalogueV2.js +4 -4
  17. package/dist/commands/upload.js +63 -18
  18. package/dist/index.js +6 -5
  19. package/dist/playwright.js +9 -1
  20. package/node_modules/@playdrop/ai-client/dist/index.d.ts +1 -1
  21. package/node_modules/@playdrop/ai-client/dist/index.d.ts.map +1 -1
  22. package/node_modules/@playdrop/api-client/dist/client.d.ts +39 -17
  23. package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
  24. package/node_modules/@playdrop/api-client/dist/client.js +236 -42
  25. package/node_modules/@playdrop/api-client/dist/index.d.ts +27 -5
  26. package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
  27. package/node_modules/@playdrop/api-client/dist/index.js +39 -9
  28. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/entity-cleaner.d.ts +3 -3
  29. package/node_modules/@playdrop/boxel-core/dist/src/entity-cleaner.js.map +1 -0
  30. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/entity-utils.d.ts +8 -8
  31. package/node_modules/@playdrop/boxel-core/dist/src/entity-utils.js.map +1 -0
  32. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/common.d.ts +2 -2
  33. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/common.js.map +1 -1
  34. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/textured-builder.d.ts +2 -2
  35. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/textured-builder.js.map +1 -0
  36. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/types.d.ts +6 -0
  37. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/voxel-builder.d.ts +2 -2
  38. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r15/voxel-builder.js.map +1 -0
  39. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/builder.d.ts +3 -3
  40. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/r6/builder.js.map +1 -0
  41. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/templates/index.d.ts +4 -4
  42. package/node_modules/@playdrop/boxel-core/dist/src/humanoid/templates/index.js.map +1 -0
  43. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/palette_tools.d.ts +4 -4
  44. package/node_modules/@playdrop/boxel-core/dist/src/palette_tools.js.map +1 -0
  45. package/node_modules/@playdrop/boxel-core/dist/src/serialization.d.ts +4 -0
  46. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/serialization.js +10 -10
  47. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/serialization.js.map +1 -1
  48. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/textures.d.ts +5 -5
  49. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/textures.js.map +1 -1
  50. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/textured-boxes/infer-face.d.ts +2 -2
  51. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/infer-face.js.map +1 -0
  52. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/textured-boxes/layer-mode.d.ts +2 -2
  53. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/textured-boxes/layer-mode.js +1 -1
  54. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/layer-mode.js.map +1 -0
  55. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +2 -0
  56. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +1 -0
  57. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/textured-boxes/slice.d.ts +2 -2
  58. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/textured-boxes/slice.js +1 -1
  59. package/node_modules/@playdrop/boxel-core/dist/src/transforms/textured-boxes/slice.js.map +1 -0
  60. package/node_modules/@playdrop/boxel-core/dist/src/transforms/upscale.d.ts +3 -0
  61. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/upscale.js +1 -1
  62. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/upscale.js.map +1 -1
  63. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/voxels/slice.d.ts +2 -2
  64. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/voxels/slice.js.map +1 -1
  65. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/types.d.ts +3 -3
  66. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/validation.d.ts +10 -10
  67. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/validation.js +36 -36
  68. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/validation.js.map +1 -1
  69. package/node_modules/@playdrop/boxel-core/dist/test/entity-utils.test.js.map +1 -0
  70. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/index.test.js +2 -2
  71. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/index.test.js.map +1 -1
  72. package/node_modules/@playdrop/boxel-core/dist/test/layer-mode.test.js.map +1 -0
  73. package/node_modules/@playdrop/boxel-core/dist/test/palette-tools.test.js.map +1 -0
  74. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/serialization.test.js +6 -6
  75. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/serialization.test.js.map +1 -1
  76. package/node_modules/@playdrop/boxel-core/dist/test/textures.test.js.map +1 -0
  77. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/types.test.js +1 -1
  78. package/node_modules/@playdrop/boxel-core/dist/test/types.test.js.map +1 -0
  79. package/node_modules/@playdrop/boxel-core/dist/test/upscale.test.js.map +1 -0
  80. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/validation.test.js +11 -11
  81. package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/validation.test.js.map +1 -1
  82. package/node_modules/@playdrop/{entity-core → boxel-core}/package.json +2 -2
  83. package/node_modules/@playdrop/boxel-three/dist/src/animations.d.ts +4 -0
  84. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/animations.js +1 -1
  85. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/builders.d.ts +1 -1
  86. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/builders.js +3 -3
  87. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/context.d.ts +3 -3
  88. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/exporters/glb.d.ts +9 -9
  89. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/exporters/glb.js +4 -4
  90. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/exporters/image.d.ts +4 -4
  91. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/exporters/image.js +5 -5
  92. package/node_modules/@playdrop/boxel-three/dist/src/index.d.ts +17 -0
  93. package/node_modules/@playdrop/boxel-three/dist/src/index.js +15 -0
  94. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/instantiate.d.ts +4 -4
  95. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/instantiate.js +4 -4
  96. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/nodes.d.ts +1 -1
  97. package/node_modules/@playdrop/boxel-three/dist/src/overlays.d.ts +7 -0
  98. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/overlays.js +1 -1
  99. package/node_modules/@playdrop/boxel-three/dist/src/scene.d.ts +3 -0
  100. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/scene.js +6 -6
  101. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/skinned-mesh.d.ts +2 -2
  102. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/textures.d.ts +1 -1
  103. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/textures.js +2 -2
  104. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/types.d.ts +15 -15
  105. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/voxels/faces.d.ts +1 -1
  106. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/voxels/mesher.d.ts +1 -1
  107. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/voxels/mesher.js +1 -1
  108. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/export-image.playwright.test.js +4 -4
  109. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/fixtures/render-worker.d.ts +3 -3
  110. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/fixtures/render-worker.js +10 -10
  111. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/glb-skinned.test.js +5 -5
  112. package/node_modules/@playdrop/boxel-three/dist/test/index.test.js +8 -0
  113. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/instantiate.test.js +2 -2
  114. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/overlays.test.js +3 -3
  115. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/scene-filter.test.js +5 -5
  116. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/scene-smoke.test.js +3 -3
  117. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/skinned-mesh.test.js +2 -2
  118. package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/textured-overlay.test.js +3 -3
  119. package/node_modules/@playdrop/{entity-three → boxel-three}/package.json +3 -3
  120. package/node_modules/@playdrop/config/client-meta.json +5 -5
  121. package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
  122. package/node_modules/@playdrop/types/dist/api.d.ts +155 -52
  123. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  124. package/node_modules/@playdrop/types/dist/api.js +27 -0
  125. package/node_modules/@playdrop/types/dist/asset-pack.d.ts +1 -0
  126. package/node_modules/@playdrop/types/dist/asset-pack.d.ts.map +1 -1
  127. package/node_modules/@playdrop/types/dist/asset.d.ts +20 -4
  128. package/node_modules/@playdrop/types/dist/asset.d.ts.map +1 -1
  129. package/node_modules/@playdrop/types/dist/asset.js +43 -37
  130. package/node_modules/@playdrop/types/dist/entity.d.ts +2 -2
  131. package/node_modules/@playdrop/types/dist/entity.d.ts.map +1 -1
  132. package/node_modules/@playdrop/types/dist/entity.js +2 -2
  133. package/node_modules/@playdrop/types/dist/realtime.d.ts +1 -0
  134. package/node_modules/@playdrop/types/dist/realtime.d.ts.map +1 -1
  135. package/package.json +10 -7
  136. package/node_modules/@playdrop/entity-core/dist/src/entity-cleaner.js.map +0 -1
  137. package/node_modules/@playdrop/entity-core/dist/src/entity-utils.js.map +0 -1
  138. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/textured-builder.js.map +0 -1
  139. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/types.d.ts +0 -6
  140. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r15/voxel-builder.js.map +0 -1
  141. package/node_modules/@playdrop/entity-core/dist/src/humanoid/r6/builder.js.map +0 -1
  142. package/node_modules/@playdrop/entity-core/dist/src/humanoid/templates/index.js.map +0 -1
  143. package/node_modules/@playdrop/entity-core/dist/src/palette_tools.js.map +0 -1
  144. package/node_modules/@playdrop/entity-core/dist/src/serialization.d.ts +0 -4
  145. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/infer-face.js.map +0 -1
  146. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/layer-mode.js.map +0 -1
  147. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/merge-overlay.d.ts +0 -2
  148. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/merge-overlay.js.map +0 -1
  149. package/node_modules/@playdrop/entity-core/dist/src/transforms/textured-boxes/slice.js.map +0 -1
  150. package/node_modules/@playdrop/entity-core/dist/src/transforms/upscale.d.ts +0 -3
  151. package/node_modules/@playdrop/entity-core/dist/test/entity-utils.test.js.map +0 -1
  152. package/node_modules/@playdrop/entity-core/dist/test/layer-mode.test.js.map +0 -1
  153. package/node_modules/@playdrop/entity-core/dist/test/palette-tools.test.js.map +0 -1
  154. package/node_modules/@playdrop/entity-core/dist/test/textures.test.js.map +0 -1
  155. package/node_modules/@playdrop/entity-core/dist/test/types.test.js.map +0 -1
  156. package/node_modules/@playdrop/entity-core/dist/test/upscale.test.js.map +0 -1
  157. package/node_modules/@playdrop/entity-three/dist/src/animations.d.ts +0 -4
  158. package/node_modules/@playdrop/entity-three/dist/src/index.d.ts +0 -17
  159. package/node_modules/@playdrop/entity-three/dist/src/index.js +0 -15
  160. package/node_modules/@playdrop/entity-three/dist/src/overlays.d.ts +0 -7
  161. package/node_modules/@playdrop/entity-three/dist/src/scene.d.ts +0 -3
  162. package/node_modules/@playdrop/entity-three/dist/test/index.test.js +0 -8
  163. package/node_modules/@playdrop/types/dist/profile-asset-semantics.d.ts +0 -22
  164. package/node_modules/@playdrop/types/dist/profile-asset-semantics.d.ts.map +0 -1
  165. package/node_modules/@playdrop/types/dist/profile-asset-semantics.js +0 -105
  166. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/entity-cleaner.js +0 -0
  167. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/entity-utils.js +0 -0
  168. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/format-utils.d.ts +0 -0
  169. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/format-utils.js +0 -0
  170. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/format-utils.js.map +0 -0
  171. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/geometry.d.ts +0 -0
  172. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/geometry.js +0 -0
  173. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/geometry.js.map +0 -0
  174. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/index.d.ts +0 -0
  175. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/index.js +0 -0
  176. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/index.js.map +0 -0
  177. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/common.js +0 -0
  178. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/index.d.ts +0 -0
  179. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/index.js +0 -0
  180. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/index.js.map +0 -0
  181. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/textured-builder.js +0 -0
  182. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/types.js +0 -0
  183. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/types.js.map +0 -0
  184. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r15/voxel-builder.js +0 -0
  185. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/builder.js +0 -0
  186. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/index.d.ts +0 -0
  187. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/index.js +0 -0
  188. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/index.js.map +0 -0
  189. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/scanner.d.ts +0 -0
  190. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/scanner.js +0 -0
  191. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/scanner.js.map +0 -0
  192. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/textures/artifacts.d.ts +0 -0
  193. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/textures/artifacts.js +0 -0
  194. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/textures/artifacts.js.map +0 -0
  195. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/textures/face-map.d.ts +0 -0
  196. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/textures/face-map.js +0 -0
  197. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/r6/textures/face-map.js.map +0 -0
  198. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/templates/humanoid_r15.json +0 -0
  199. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/templates/humanoid_r6.json +0 -0
  200. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/humanoid/templates/index.js +0 -0
  201. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/index.d.ts +0 -0
  202. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/index.js +0 -0
  203. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/index.js.map +0 -0
  204. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/materials.d.ts +0 -0
  205. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/materials.js +0 -0
  206. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/materials.js.map +0 -0
  207. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/palette_tools.js +0 -0
  208. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/textures.js +0 -0
  209. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/textured-boxes/infer-face.js +0 -0
  210. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/textured-boxes/merge-overlay.js +0 -0
  211. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/voxels/slice.js +0 -0
  212. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/voxels/textured-to-voxel.d.ts +0 -0
  213. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/voxels/textured-to-voxel.js +0 -0
  214. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/transforms/voxels/textured-to-voxel.js.map +0 -0
  215. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/types.js +0 -0
  216. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/types.js.map +0 -0
  217. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/voxels/greedy-mesher.d.ts +0 -0
  218. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/voxels/greedy-mesher.js +0 -0
  219. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/voxels/greedy-mesher.js.map +0 -0
  220. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/voxels.d.ts +0 -0
  221. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/voxels.js +0 -0
  222. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/src/voxels.js.map +0 -0
  223. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/entity-utils.test.d.ts +0 -0
  224. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/entity-utils.test.js +0 -0
  225. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/greedy-mesher.test.d.ts +0 -0
  226. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/greedy-mesher.test.js +0 -0
  227. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/greedy-mesher.test.js.map +0 -0
  228. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/humanoid/humanoid-builders.test.d.ts +0 -0
  229. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/humanoid/humanoid-builders.test.js +0 -0
  230. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/humanoid/humanoid-builders.test.js.map +0 -0
  231. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/index.test.d.ts +0 -0
  232. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/layer-mode.test.d.ts +0 -0
  233. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/layer-mode.test.js +0 -0
  234. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/materials.test.d.ts +0 -0
  235. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/materials.test.js +0 -0
  236. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/materials.test.js.map +0 -0
  237. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/palette-tools.test.d.ts +0 -0
  238. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/palette-tools.test.js +0 -0
  239. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/serialization.test.d.ts +0 -0
  240. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/textures.test.d.ts +0 -0
  241. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/textures.test.js +0 -0
  242. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/types.test.d.ts +0 -0
  243. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/upscale.test.d.ts +0 -0
  244. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/upscale.test.js +0 -0
  245. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/validation.test.d.ts +0 -0
  246. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/voxels.test.d.ts +0 -0
  247. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/voxels.test.js +0 -0
  248. /package/node_modules/@playdrop/{entity-core → boxel-core}/dist/test/voxels.test.js.map +0 -0
  249. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/context.js +0 -0
  250. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/nodes.js +0 -0
  251. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/primitives.d.ts +0 -0
  252. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/primitives.js +0 -0
  253. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/skinned-mesh.js +0 -0
  254. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/texture-atlas.d.ts +0 -0
  255. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/texture-atlas.js +0 -0
  256. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/types.js +0 -0
  257. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/src/voxels/faces.js +0 -0
  258. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/export-image.playwright.test.d.ts +0 -0
  259. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/glb-skinned.test.d.ts +0 -0
  260. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/index.test.d.ts +0 -0
  261. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/instantiate.test.d.ts +0 -0
  262. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/overlays.test.d.ts +0 -0
  263. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/scene-filter.test.d.ts +0 -0
  264. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/scene-smoke.test.d.ts +0 -0
  265. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/skinned-mesh.test.d.ts +0 -0
  266. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/textured-overlay.test.d.ts +0 -0
  267. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/voxels.test.d.ts +0 -0
  268. /package/node_modules/@playdrop/{entity-three → boxel-three}/dist/test/voxels.test.js +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityValidationError = void 0;
3
+ exports.BoxelValidationError = void 0;
4
4
  exports.isTupleOfNumbers = isTupleOfNumbers;
5
5
  exports.assertVec3 = assertVec3;
6
6
  exports.assertVec2 = assertVec2;
@@ -10,22 +10,22 @@ exports.assertTexture = assertTexture;
10
10
  exports.assertPrimitive = assertPrimitive;
11
11
  exports.assertAnimation = assertAnimation;
12
12
  exports.assertTexturedBoxFaceSizes = assertTexturedBoxFaceSizes;
13
- exports.validateEntity = validateEntity;
14
- exports.assertEntity = assertEntity;
15
- exports.collectEntityValidationIssues = collectEntityValidationIssues;
13
+ exports.validateBoxel = validateBoxel;
14
+ exports.assertBoxel = assertBoxel;
15
+ exports.collectBoxelValidationIssues = collectBoxelValidationIssues;
16
16
  const textures_1 = require("./textures");
17
17
  const VEC2_LENGTH = 2;
18
18
  const VEC3_LENGTH = 3;
19
19
  const CONNECT_MODES = ['none', 'child', 'parent', 'both'];
20
20
  const isConnectMode = (value) => typeof value === 'string' && CONNECT_MODES.includes(value);
21
- class EntityValidationError extends Error {
21
+ class BoxelValidationError extends Error {
22
22
  constructor(message, issues) {
23
23
  super(message);
24
24
  this.issues = issues;
25
- this.name = 'EntityValidationError';
25
+ this.name = 'BoxelValidationError';
26
26
  }
27
27
  }
28
- exports.EntityValidationError = EntityValidationError;
28
+ exports.BoxelValidationError = BoxelValidationError;
29
29
  const sanitizeMessage = (error) => {
30
30
  if (!error)
31
31
  return 'Unknown validation error';
@@ -459,11 +459,11 @@ function assertAnimationChannels(animation, nodeIds) {
459
459
  });
460
460
  });
461
461
  }
462
- function validateEntity(candidate) {
462
+ function validateBoxel(candidate) {
463
463
  const issues = [];
464
464
  if (!candidate || typeof candidate !== 'object') {
465
- pushIssue(issues, 'entity', 'Entity must be an object');
466
- return { entity: null, issues };
465
+ pushIssue(issues, 'boxel', 'BoxelDefinition must be an object');
466
+ return { boxel: null, issues };
467
467
  }
468
468
  const raw = candidate;
469
469
  let id = null;
@@ -471,12 +471,12 @@ function validateEntity(candidate) {
471
471
  id = raw.id;
472
472
  }
473
473
  else {
474
- pushIssue(issues, 'entity.id', 'Entity id must be a non-empty string');
474
+ pushIssue(issues, 'boxel.id', 'BoxelDefinition id must be a non-empty string');
475
475
  }
476
476
  const primitives = [];
477
477
  const primitiveLookup = new Map();
478
478
  if (!Array.isArray(raw.primitives)) {
479
- pushIssue(issues, 'entity.primitives', 'Entity primitives must be an array');
479
+ pushIssue(issues, 'boxel.primitives', 'BoxelDefinition primitives must be an array');
480
480
  }
481
481
  else {
482
482
  raw.primitives.forEach((primitive, index) => {
@@ -486,22 +486,22 @@ function validateEntity(candidate) {
486
486
  primitiveLookup.set(primitive.id, primitive);
487
487
  }
488
488
  catch (error) {
489
- pushIssue(issues, `entity.primitives[${index}]`, error);
489
+ pushIssue(issues, `boxel.primitives[${index}]`, error);
490
490
  }
491
491
  });
492
492
  }
493
493
  let geometry = null;
494
494
  const geometryNodeIds = new Set();
495
495
  if (!raw.geometry || typeof raw.geometry !== 'object') {
496
- pushIssue(issues, 'entity.geometry', 'Entity geometry is missing or invalid');
496
+ pushIssue(issues, 'boxel.geometry', 'BoxelDefinition geometry is missing or invalid');
497
497
  }
498
498
  else {
499
499
  const geo = raw.geometry;
500
500
  if (typeof geo.id !== 'string') {
501
- pushIssue(issues, 'entity.geometry.id', 'Geometry id must be a string');
501
+ pushIssue(issues, 'boxel.geometry.id', 'Geometry id must be a string');
502
502
  }
503
503
  else if (!geo.root) {
504
- pushIssue(issues, 'entity.geometry.root', 'Geometry root is missing');
504
+ pushIssue(issues, 'boxel.geometry.root', 'Geometry root is missing');
505
505
  }
506
506
  else {
507
507
  try {
@@ -510,14 +510,14 @@ function validateEntity(candidate) {
510
510
  collectNodeIds(geo.root, geometryNodeIds);
511
511
  }
512
512
  catch (error) {
513
- pushIssue(issues, 'entity.geometry.root', error);
513
+ pushIssue(issues, 'boxel.geometry.root', error);
514
514
  }
515
515
  }
516
516
  }
517
517
  const patterns = [];
518
518
  const patternLookup = new Map();
519
519
  if (!Array.isArray(raw.patterns)) {
520
- pushIssue(issues, 'entity.patterns', 'Entity patterns must be an array');
520
+ pushIssue(issues, 'boxel.patterns', 'BoxelDefinition patterns must be an array');
521
521
  }
522
522
  else {
523
523
  raw.patterns.forEach((pattern, index) => {
@@ -527,14 +527,14 @@ function validateEntity(candidate) {
527
527
  patternLookup.set(pattern.id, pattern);
528
528
  }
529
529
  catch (error) {
530
- pushIssue(issues, `entity.patterns[${index}]`, error);
530
+ pushIssue(issues, `boxel.patterns[${index}]`, error);
531
531
  }
532
532
  });
533
533
  }
534
534
  const materials = [];
535
535
  const materialLookup = new Map();
536
536
  if (!Array.isArray(raw.materials)) {
537
- pushIssue(issues, 'entity.materials', 'Entity materials must be an array');
537
+ pushIssue(issues, 'boxel.materials', 'BoxelDefinition materials must be an array');
538
538
  }
539
539
  else {
540
540
  raw.materials.forEach((material, index) => {
@@ -544,14 +544,14 @@ function validateEntity(candidate) {
544
544
  materialLookup.set(material.id, material);
545
545
  }
546
546
  catch (error) {
547
- pushIssue(issues, `entity.materials[${index}]`, error);
547
+ pushIssue(issues, `boxel.materials[${index}]`, error);
548
548
  }
549
549
  });
550
550
  }
551
551
  const textures = [];
552
552
  const textureLookup = new Map();
553
553
  if (!Array.isArray(raw.textures)) {
554
- pushIssue(issues, 'entity.textures', 'Entity textures must be an array');
554
+ pushIssue(issues, 'boxel.textures', 'BoxelDefinition textures must be an array');
555
555
  }
556
556
  else {
557
557
  raw.textures.forEach((texture, index) => {
@@ -578,7 +578,7 @@ function validateEntity(candidate) {
578
578
  textureLookup.set(typed.id, typed);
579
579
  }
580
580
  catch (error) {
581
- pushIssue(issues, `entity.textures[${index}]`, error);
581
+ pushIssue(issues, `boxel.textures[${index}]`, error);
582
582
  }
583
583
  });
584
584
  }
@@ -590,14 +590,14 @@ function validateEntity(candidate) {
590
590
  assertTexturedBoxFaceSizes(primitive, textureLookup, patternLookup, materialLookup);
591
591
  }
592
592
  catch (error) {
593
- pushIssue(issues, `entity.primitives[${primitive.id}]`, error);
593
+ pushIssue(issues, `boxel.primitives[${primitive.id}]`, error);
594
594
  }
595
595
  });
596
596
  }
597
597
  const animations = [];
598
598
  if (!Array.isArray(raw.animations)) {
599
599
  if (raw.animations !== undefined) {
600
- pushIssue(issues, 'entity.animations', 'Entity animations must be an array');
600
+ pushIssue(issues, 'boxel.animations', 'BoxelDefinition animations must be an array');
601
601
  }
602
602
  }
603
603
  else {
@@ -610,14 +610,14 @@ function validateEntity(candidate) {
610
610
  animations.push(animation);
611
611
  }
612
612
  catch (error) {
613
- pushIssue(issues, `entity.animations[${index}]`, error);
613
+ pushIssue(issues, `boxel.animations[${index}]`, error);
614
614
  }
615
615
  });
616
616
  }
617
617
  if (id === null || !geometry) {
618
- return { entity: null, issues };
618
+ return { boxel: null, issues };
619
619
  }
620
- const entity = {
620
+ const boxel = {
621
621
  id,
622
622
  geometry,
623
623
  patterns,
@@ -626,16 +626,16 @@ function validateEntity(candidate) {
626
626
  primitives,
627
627
  animations,
628
628
  };
629
- return { entity: issues.length === 0 ? entity : null, issues };
629
+ return { boxel: issues.length === 0 ? boxel : null, issues };
630
630
  }
631
- function assertEntity(candidate) {
632
- const { entity, issues } = validateEntity(candidate);
633
- if (entity) {
634
- return entity;
631
+ function assertBoxel(candidate) {
632
+ const { boxel, issues } = validateBoxel(candidate);
633
+ if (boxel) {
634
+ return boxel;
635
635
  }
636
- throw new EntityValidationError('Entity validation failed', issues);
636
+ throw new BoxelValidationError('BoxelDefinition validation failed', issues);
637
637
  }
638
- function collectEntityValidationIssues(candidate) {
639
- return validateEntity(candidate).issues;
638
+ function collectBoxelValidationIssues(candidate) {
639
+ return validateBoxel(candidate).issues;
640
640
  }
641
641
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":";;;AAuDA,4CAEC;AAED,gCAIC;AAED,gCAIC;AAsBD,sCAqBC;AAED,wCAmBC;AAED,sCAiBC;AA6ED,0CAkCC;AA8BD,0CAeC;AAoBD,gEAwHC;AAmGD,sCAsKC;AAED,kCAMC;AAED,oEAEC;AArsBD,yCAAsG;AAEtG,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,MAAM,aAAa,GAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEzE,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAoB,CAAC,CAAC;AAO1I,MAAa,oBAAqB,SAAQ,KAAK;IAG7C,YAAY,OAAe,EAAE,MAA8B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AARD,oDAQC;AAED,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,0BAA0B,CAAC;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACpD,MAAM,SAAS,GAAI,KAA+B,CAAC,OAAO,CAAC;QAC3D,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC;IAChF,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,MAA8B,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE;IACjF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,SAAgB,gBAAgB,CAAC,KAAc,EAAE,cAAsB;IACrE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3I,CAAC;AAED,SAAgB,UAAU,CAAC,KAAc,EAAE,OAAe;IACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,KAAc,EAAE,OAAe;IACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,OAAe,EAAE,MAA8B,EAAE,IAAY,EAAe,EAAE;IAC9G,IAAI,CAAC;QACH,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3B,OAAO,KAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,OAAe,EAAE,MAA8B,EAAE,IAAY,EAAe,EAAE;IAC9G,IAAI,CAAC;QACH,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3B,OAAO,KAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,SAAgB,aAAa,CAAC,KAAc,EAAE,KAAa;IACzD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,oBAAoB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,KAAyB,CAAC;IAC1C,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,OAAO,CAAC,IAAe,EAAE,WAAW,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAwB,CAAC;IAErD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;QACrG,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,iDAAiD,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,gBAAgB,OAAO,CAAC,IAAI,CAAC,MAAM,iCAAiC,cAAc,EAAE,CAAC,CAAC;IAC7H,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc,EAAE,KAAa;IAC1D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,oBAAoB,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAG,KAA0B,CAAC;IAC5C,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU,CAAC,QAAQ,CAAC,SAAoB,EAAE,YAAY,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;IAE/E,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACzC,UAAU,CAAC,QAAQ,CAAC,aAAwB,EAAE,YAAY,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACnH,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,EAAE,kCAAkC,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,KAAc,EAAE,KAAa;IACzD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,oBAAoB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,KAAyB,CAAC;IAC1C,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,wCAAwC,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,SAAoB,EAAE,OAAe;IAC3D,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,0BAA0B,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAQ,SAAoC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,4BAA4B,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAoB,EAAE,OAAe;IAC9D,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,6BAA6B,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,SAAS,GAAG,SAAwB,CAAC;IAC3C,MAAM,KAAK,GAA6B,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5G,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,SAAS,IAAI,sBAAsB,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,SAAoB,EAAE,OAAe;IAC3D,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,0BAA0B,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,SAAS,GAAG,SAAqB,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,qCAAqC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YACtG,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,2CAA2C,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAI,SAAsB,CAAC,IAAI,CAAC;IAC1C,UAAU,CAAC,IAAe,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,4CAA4C,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,kBAAkB,SAAS,CAAC,MAAM,CAAC,MAAM,gCAAgC,QAAQ,EAAE,CAAC,CAAC;IACjH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,SAAoB,EAAE,OAAe;IAC3D,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,0BAA0B,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,SAAS,GAAG,SAAqB,CAAC;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,yBAAyB,CAAC,CAAC;IACvD,CAAC;IAED,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACpC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,SAAS,GAAG,oBAAoB,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,MAAM,GAAI,IAAyB,CAAC,EAAE,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,SAAS,GAAG,oCAAoC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,SAAS,GAAG,6BAA6B,CAAC,CAAC;QACvE,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,MAAiB,EAAE,GAAG,OAAO,SAAS,GAAG,SAAS,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,eAAe,CAAC,KAAc,EAAE,KAAa;IAC3D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,oBAAoB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,SAAS,GAAG,KAAkB,CAAC;IACrC,IAAI,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;IACjC,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,aAAa,WAAW,sCAAsC,CAAC,CAAC;IAClF,CAAC;IAED,UAAU,CAAC,SAAS,CAAC,IAAe,EAAE,aAAa,WAAW,OAAO,CAAC,CAAC;IAEvE,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;QACvB,KAAK,WAAW;YACd,cAAc,CAAC,SAAS,EAAE,aAAa,WAAW,EAAE,CAAC,CAAC;YACtD,MAAM;QACR,KAAK,cAAc;YACjB,iBAAiB,CAAC,SAAS,EAAE,aAAa,WAAW,EAAE,CAAC,CAAC;YACzD,MAAM;QACR,KAAK,WAAW;YACd,cAAc,CAAC,SAAS,EAAE,aAAa,WAAW,EAAE,CAAC,CAAC;YACtD,MAAM;QACR,KAAK,WAAW;YACd,cAAc,CAAC,SAAS,EAAE,aAAa,WAAW,EAAE,CAAC,CAAC;YACtD,MAAM;QACR;YACE,MAAM,WAAW,GAAI,KAA4B,CAAC,IAAI,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,WAAW,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;IAClG,CAAC;AACH,CAAC;AAED,MAAM,mBAAmB,GAAmC,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAE9F,SAAS,sBAAsB,CAAC,KAAc,EAAE,OAAe;IAC7D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,4BAA4B,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,OAAO,GAAG,KAAkC,CAAC;IACnD,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,gCAAgC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAwC,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,oCAAoC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,6BAA6B,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QAC1C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,aAAa,GAAG,oBAAoB,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,SAAS,GAAG,QAAiD,CAAC;QACpE,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjG,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,aAAa,GAAG,qCAAqC,CAAC,CAAC;QACnF,CAAC;QACD,UAAU,CAAC,SAAS,CAAC,KAAgB,EAAE,GAAG,OAAO,aAAa,GAAG,QAAQ,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,eAAe,CAAC,KAAc,EAAE,KAAa;IAC3D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,oBAAoB,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,SAAS,GAAG,KAA2B,CAAC;IAC9C,IAAI,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC7G,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,CAAC,EAAE,gDAAgD,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,CAAC,EAAE,4BAA4B,CAAC,CAAC;IACzE,CAAC;IACD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,aAAa,SAAS,CAAC,EAAE,YAAY,YAAY,EAAE,CAAC,CAAC,CAAC;AAC9I,CAAC;AAED,MAAM,eAAe,GAAuH;IAC1I,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAClB,CAAC;AAEF,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,0BAA0B,CACxC,GAAgB,EAChB,aAAmC,EACnC,aAAmC,EACnC,cAAqC;IAErC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAY,CAAC;IAC9B,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IACnC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,mBAAmB,GAAG,sCAAsC,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAS;QAC3B,kBAAkB,CAAC,KAAK,CAAC;QACzB,kBAAkB,CAAC,KAAK,CAAC;QACzB,kBAAkB,CAAC,KAAK,CAAC;KAC1B,CAAC;IAEF,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,4DAA4D,CAAC,CAAC;IACnG,CAAC;IAEA,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC5E,MAAM,SAAS,GAAG,IAAA,+BAAoB,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,SAAS,IAAI,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,4BAA4B,GAAG,CAAC,EAAE,SAAS,IAAI,uBAAuB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAChI,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,wCAAwC,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAwB,CAAC;QAChD,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACjH,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,mCAAmC,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;QACpF,MAAM,aAAa,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAE7D,IAAI,YAAY,KAAK,aAAa,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CACb,aAAa,GAAG,CAAC,EAAE,SAAS,IAAI,yBAAyB,aAAa,IAAI,cAAc,gBAAgB,SAAS,YAAY,OAAO,CAAC,EAAE,OAAO,YAAY,IAAI,aAAa,EAAE,CAC9K,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEF,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC5E,MAAM,SAAS,GAAG,IAAA,sCAA2B,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,iBAAiB,IAAI,+BAA+B,SAAS,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,CAAC,EAAE,4BAA4B,GAAG,CAAC,EAAE,iBAAiB,IAAI,uBAAuB,OAAO,CAAC,OAAO,EAAE,CACrH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,wCAAwC,GAAG,CAAC,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC9G,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAwB,CAAC;QAChD,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,YAAY,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACjH,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAC,EAAE,mCAAmC,GAAG,CAAC,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;QACzG,CAAC;QAED,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;QACpF,MAAM,aAAa,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAE7D,IAAI,YAAY,KAAK,aAAa,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CACb,aAAa,GAAG,CAAC,EAAE,iBAAiB,IAAI,yBAAyB,aAAa,IAAI,cAAc,gBAAgB,SAAS,YAAY,OAAO,CAAC,EAAE,OAAO,YAAY,IAAI,aAAa,EAAE,CACtL,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC;IACvC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,2BAA2B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,gCAAqB,EAAC,GAAG,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACvD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,sEAAsE,CAAC,CAAC;IAC7G,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,IAAY,EAAE,eAAuC;IACvF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,oBAAoB,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,GAAG,KAAsB,CAAC;IACpC,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,gBAAgB,CAAC,CAAC;IAChD,CAAC;IAED,UAAU,CAAC,IAAI,CAAC,QAAmB,EAAE,QAAQ,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,QAAmB,EAAE,QAAQ,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,CAAC,IAAI,CAAC,KAAgB,EAAE,QAAQ,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,UAAU,CAAC,IAAI,CAAC,IAAe,EAAE,QAAQ,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,MAAiB,EAAE,QAAQ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAkB,CAAC;QAC7C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;aAAM,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC5C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,2BAA2B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,0CAA0C,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,iCAAiC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,cAAc,CAAC,IAAU,EAAE,GAAgB;IAClD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAoB,EAAE,OAAoB;IACzE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;QACnD,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,CAAC,EAAE,YAAY,YAAY,oBAAoB,OAAO,CAAC,IAAI,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpI,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,CAAC,EAAE,YAAY,YAAY,4BAA4B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/G,CAAC;QAED,IAAI,YAAY,GAAG,CAAC,QAAQ,CAAC;QAC7B,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE;YACpD,IAAI,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,GAAG,OAAO,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CACb,aAAa,SAAS,CAAC,EAAE,YAAY,YAAY,aAAa,aAAa,SAAS,QAAQ,CAAC,IAAI,qBAAqB,SAAS,CAAC,QAAQ,EAAE,CAC3I,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,GAAG,OAAO,GAAG,YAAY,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACb,aAAa,SAAS,CAAC,EAAE,YAAY,YAAY,qDAAqD,QAAQ,CAAC,IAAI,UAAU,YAAY,GAAG,CAC7I,CAAC;YACJ,CAAC;YACD,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,aAAa,CAAC,SAAkB;IAC9C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,mCAAmC,CAAC,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,GAAG,GAAG,SAAqC,CAAC;IAElD,IAAI,EAAE,GAAkB,IAAI,CAAC;IAC7B,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,+CAA+C,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAqB,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,6CAA6C,CAAC,CAAC;IACvF,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YAC1C,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,SAAsB,CAAC,CAAC;gBACxC,eAAe,CAAC,GAAG,CAAE,SAAuB,CAAC,EAAE,EAAE,SAAsB,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,EAAE,oBAAoB,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,GAAuC,IAAI,CAAC;IACxD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtD,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,gDAAgD,CAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,GAAG,CAAC,QAAuC,CAAC;QACxD,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC/B,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,8BAA8B,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACrB,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;gBAC9C,QAAQ,GAAG,GAAG,CAAC;gBACf,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,2CAA2C,CAAC,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,OAAkB,CAAC,CAAC;gBAClC,aAAa,CAAC,GAAG,CAAE,OAAmB,CAAC,EAAE,EAAE,OAAkB,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,EAAE,kBAAkB,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,4CAA4C,CAAC,CAAC;IACrF,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YACxC,IAAI,CAAC;gBACH,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAChC,SAAS,CAAC,IAAI,CAAC,QAAoB,CAAC,CAAC;gBACrC,cAAc,CAAC,GAAG,CAAE,QAAqB,CAAC,EAAE,EAAE,QAAoB,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,EAAE,mBAAmB,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,2CAA2C,CAAC,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,OAAkB,CAAC;gBACjC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,EAAE,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrF,CAAC;gBACD,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACnC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBACpC,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,EAAE,gCAAgC,UAAU,EAAE,CAAC,CAAC;oBACnF,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC9B,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;wBACzB,MAAM,IAAI,KAAK,CACb,WAAW,KAAK,CAAC,EAAE,kBAAkB,KAAK,yBAAyB,WAAW,aAAa,OAAO,CAAC,EAAE,GAAG,CACzG,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,EAAE,kBAAkB,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,UAAU;aACP,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC;aACtD,OAAO,CAAC,SAAS,CAAC,EAAE;YACnB,IAAI,CAAC;gBACH,0BAA0B,CAAC,SAAwB,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;YACrG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,EAAE,oBAAoB,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACjC,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,6CAA6C,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YAC1C,IAAI,CAAC;gBACH,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAClC,IAAI,QAAQ,EAAE,CAAC;oBACb,uBAAuB,CAAC,SAAsB,EAAE,eAAe,CAAC,CAAC;gBACnE,CAAC;gBACD,UAAU,CAAC,IAAI,CAAC,SAAsB,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,EAAE,oBAAoB,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAoB;QAC7B,EAAE;QACF,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;KACX,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/D,CAAC;AAED,SAAgB,WAAW,CAAC,SAAkB;IAC5C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,oBAAoB,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,4BAA4B,CAAC,SAAkB;IAC7D,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-utils.test.js","sourceRoot":"","sources":["../../test/entity-utils.test.ts"],"names":[],"mappings":"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"}
@@ -40,8 +40,8 @@ const strict_1 = __importDefault(require("node:assert/strict"));
40
40
  const node_test_1 = __importDefault(require("node:test"));
41
41
  const EntityCore = __importStar(require("../src"));
42
42
  (0, node_test_1.default)('barrel exports key utilities', () => {
43
- strict_1.default.equal(typeof EntityCore.parseEntity, 'function');
44
- strict_1.default.equal(typeof EntityCore.formatEntity, 'function');
43
+ strict_1.default.equal(typeof EntityCore.parseBoxel, 'function');
44
+ strict_1.default.equal(typeof EntityCore.formatBoxel, 'function');
45
45
  strict_1.default.equal(typeof EntityCore.uvToCanvasPixel, 'function');
46
46
  strict_1.default.equal(typeof EntityCore.createFilledVoxelData, 'function');
47
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../test/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAwC;AACxC,0DAA6B;AAC7B,mDAAqC;AAErC,IAAA,mBAAI,EAAC,8BAA8B,EAAE,GAAG,EAAE;IACxC,gBAAM,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACxD,gBAAM,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACzD,gBAAM,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC5D,gBAAM,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../test/index.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAwC;AACxC,0DAA6B;AAC7B,mDAAqC;AAErC,IAAA,mBAAI,EAAC,8BAA8B,EAAE,GAAG,EAAE;IACxC,gBAAM,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvD,gBAAM,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACxD,gBAAM,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC5D,gBAAM,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer-mode.test.js","sourceRoot":"","sources":["../../test/layer-mode.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette-tools.test.js","sourceRoot":"","sources":["../../test/palette-tools.test.ts"],"names":[],"mappings":"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"}
@@ -12,21 +12,21 @@ const FIXTURES_DIR = node_path_1.default.resolve(process.cwd(), 'test/fixtures')
12
12
  const readFixture = async (name) => {
13
13
  return (0, promises_1.readFile)(node_path_1.default.join(FIXTURES_DIR, name), 'utf8');
14
14
  };
15
- (0, node_test_1.default)('formatEntity preserves structure for known fixture', async () => {
15
+ (0, node_test_1.default)('formatBoxel preserves structure for known fixture', async () => {
16
16
  const raw = await readFixture('box_grass.json');
17
- const entity = (0, src_1.parseEntityJson)(raw);
18
- const formatted = (0, src_1.formatEntity)(entity);
17
+ const entity = (0, src_1.parseBoxelJson)(raw);
18
+ const formatted = (0, src_1.formatBoxel)(entity);
19
19
  const reparsed = JSON.parse(formatted);
20
20
  strict_1.default.deepEqual(reparsed, JSON.parse(raw));
21
21
  });
22
- (0, node_test_1.default)('parseEntityJson surfaces validation issues for malformed payloads', () => {
22
+ (0, node_test_1.default)('parseBoxelJson surfaces validation issues for malformed payloads', () => {
23
23
  const malformed = '{"id":123,"geometry":{}}';
24
24
  try {
25
- (0, src_1.parseEntityJson)(malformed);
25
+ (0, src_1.parseBoxelJson)(malformed);
26
26
  strict_1.default.fail('Expected parse to throw');
27
27
  }
28
28
  catch (error) {
29
- strict_1.default.ok(error instanceof src_1.EntityValidationError);
29
+ strict_1.default.ok(error instanceof src_1.BoxelValidationError);
30
30
  strict_1.default.ok(error.issues.length >= 1);
31
31
  const paths = error.issues.map(issue => issue.path);
32
32
  strict_1.default.ok(paths.some(path => path.includes('entity.geometry')));
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["../../test/serialization.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AACxC,+CAA4C;AAC5C,0DAA6B;AAC7B,0DAA6B;AAC7B,gCAA8E;AAE9E,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;AAElE,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;IAC1D,OAAO,IAAA,mBAAQ,EAAC,mBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,IAAA,mBAAI,EAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;IACpE,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAA,qBAAe,EAAC,GAAG,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,IAAA,kBAAY,EAAC,MAAM,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvC,gBAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,mEAAmE,EAAE,GAAG,EAAE;IAC7E,MAAM,SAAS,GAAG,0BAA0B,CAAC;IAC7C,IAAI,CAAC;QACH,IAAA,qBAAe,EAAC,SAAS,CAAC,CAAC;QAC3B,gBAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAM,CAAC,EAAE,CAAC,KAAK,YAAY,2BAAqB,CAAC,CAAC;QAClD,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["../../test/serialization.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AACxC,+CAA4C;AAC5C,0DAA6B;AAC7B,0DAA6B;AAC7B,gCAA2E;AAE3E,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;AAElE,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;IAC1D,OAAO,IAAA,mBAAQ,EAAC,mBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,IAAA,mBAAI,EAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;IACnE,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAA,oBAAc,EAAC,GAAG,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAA,iBAAW,EAAC,MAAM,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvC,gBAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,kEAAkE,EAAE,GAAG,EAAE;IAC5E,MAAM,SAAS,GAAG,0BAA0B,CAAC;IAC7C,IAAI,CAAC;QACH,IAAA,oBAAc,EAAC,SAAS,CAAC,CAAC;QAC1B,gBAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAM,CAAC,EAAE,CAAC,KAAK,YAAY,0BAAoB,CAAC,CAAC;QACjD,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textures.test.js","sourceRoot":"","sources":["../../test/textures.test.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const node_test_1 = __importDefault(require("node:test"));
9
9
  const kinds = ['plain_box', 'textured_box', 'voxel_box', 'combo_box'];
10
10
  strict_1.default.equal(new Set(kinds).size, 4);
11
11
  });
12
- (0, node_test_1.default)('Entity type describes minimal empty entity shape', () => {
12
+ (0, node_test_1.default)('BoxelDefinition type describes minimal empty entity shape', () => {
13
13
  const entity = {
14
14
  id: 'test-entity',
15
15
  geometry: {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../test/types.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AACxC,0DAA6B;AAG7B,IAAA,mBAAI,EAAC,sDAAsD,EAAE,GAAG,EAAE;IAChE,MAAM,KAAK,GAAoB,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACvF,gBAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,2DAA2D,EAAE,GAAG,EAAE;IACrE,MAAM,MAAM,GAAoB;QAC9B,EAAE,EAAE,aAAa;QACjB,QAAQ,EAAE;YACR,EAAE,EAAE,KAAK;YACT,IAAI,EAAE;gBACJ,EAAE,EAAE,MAAM;gBACV,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnB,QAAQ,EAAE,EAAE;aACb;SACF;QACD,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9C,gBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upscale.test.js","sourceRoot":"","sources":["../../test/upscale.test.ts"],"names":[],"mappings":"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"}
@@ -13,14 +13,14 @@ const loadEntity = async (file) => {
13
13
  const raw = await (0, promises_1.readFile)(node_path_1.default.join(FIXTURES_DIR, file), 'utf8');
14
14
  return JSON.parse(raw);
15
15
  };
16
- (0, node_test_1.default)('validateEntity returns parsed entity for valid fixture', async () => {
16
+ (0, node_test_1.default)('validateBoxel returns parsed boxel for valid fixture', async () => {
17
17
  const candidate = await loadEntity('box_grass.json');
18
- const { entity, issues } = (0, src_1.validateEntity)(candidate);
19
- strict_1.default.ok(entity, 'expected entity to validate');
18
+ const { boxel, issues } = (0, src_1.validateBoxel)(candidate);
19
+ strict_1.default.ok(boxel, 'expected boxel to validate');
20
20
  strict_1.default.equal(issues.length, 0);
21
- strict_1.default.equal(entity?.patterns.length, 3);
21
+ strict_1.default.equal(boxel?.patterns.length, 3);
22
22
  });
23
- (0, node_test_1.default)('assertEntity throws with aggregated issues for invalid payloads', () => {
23
+ (0, node_test_1.default)('assertBoxel throws with aggregated issues for invalid payloads', () => {
24
24
  const invalid = {
25
25
  id: '',
26
26
  geometry: {
@@ -38,24 +38,24 @@ const loadEntity = async (file) => {
38
38
  animations: [],
39
39
  };
40
40
  try {
41
- (0, src_1.assertEntity)(invalid);
41
+ (0, src_1.assertBoxel)(invalid);
42
42
  strict_1.default.fail('Expected validation to throw');
43
43
  }
44
44
  catch (error) {
45
- strict_1.default.ok(error instanceof src_1.EntityValidationError);
45
+ strict_1.default.ok(error instanceof src_1.BoxelValidationError);
46
46
  strict_1.default.ok(error.issues.length >= 3, 'should surface multiple issues');
47
47
  const paths = error.issues.map(issue => issue.path);
48
- strict_1.default.ok(paths.some(path => path.includes('entity.id')));
48
+ strict_1.default.ok(paths.some(path => path.includes('boxel.id')));
49
49
  }
50
50
  });
51
- (0, node_test_1.default)('collectEntityValidationIssues mirrors validateEntity diagnostics', async () => {
51
+ (0, node_test_1.default)('collectBoxelValidationIssues mirrors validateBoxel diagnostics', async () => {
52
52
  const invalid = await loadEntity('box_grass.json');
53
53
  // remove primitive reference to trigger issues
54
54
  if (typeof invalid === 'object' && invalid && 'geometry' in invalid) {
55
55
  invalid.geometry.root.mesh = 'missing';
56
56
  }
57
- const issues = (0, src_1.collectEntityValidationIssues)(invalid);
57
+ const issues = (0, src_1.collectBoxelValidationIssues)(invalid);
58
58
  strict_1.default.ok(issues.length >= 1);
59
- strict_1.default.ok(issues[0].path.includes('entity.geometry'));
59
+ strict_1.default.ok(issues[0].path.includes('boxel.geometry'));
60
60
  });
61
61
  //# sourceMappingURL=validation.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.test.js","sourceRoot":"","sources":["../../test/validation.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.test.js","sourceRoot":"","sources":["../../test/validation.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "@playdrop/entity-core",
2
+ "name": "@playdrop/boxel-core",
3
3
  "version": "1.0.0",
4
- "description": "Shared domain utilities for normalized Playdrop entities",
4
+ "description": "Shared domain utilities for Playdrop boxel definitions",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
7
7
  "scripts": {
@@ -0,0 +1,4 @@
1
+ import type * as THREEType from 'three';
2
+ import type { BoxelDefinition } from '@playdrop/boxel-core';
3
+ import type { BoxelSceneAnimation } from './types.js';
4
+ export declare function buildAnimations(THREE: typeof THREEType, entity: BoxelDefinition, nodeLookup: Map<string, THREEType.Object3D>): BoxelSceneAnimation[];
@@ -1,7 +1,7 @@
1
1
  function createKeyframeTrack(THREE, channel, nodeLookup) {
2
2
  const object = nodeLookup.get(channel.node);
3
3
  if (!object) {
4
- console.warn('[entity-three] animation channel references missing node', channel.node);
4
+ console.warn('[boxel-three] animation channel references missing node', channel.node);
5
5
  return null;
6
6
  }
7
7
  const times = channel.keyframes.map(keyframe => keyframe.time);
@@ -1,5 +1,5 @@
1
1
  import type * as THREEType from 'three';
2
- import type { Primitive } from '@playdrop/entity-core';
2
+ import type { Primitive } from '@playdrop/boxel-core';
3
3
  import type { PrimitiveBuilderContext } from './context.js';
4
4
  export declare const DEFAULT_COLOR = 3900150;
5
5
  export declare const DEFAULT_OPACITY = 0.45;
@@ -1,4 +1,4 @@
1
- import { resolveFaceTextureId, resolveOverlayFaceTextureId } from '@playdrop/entity-core';
1
+ import { resolveFaceTextureId, resolveOverlayFaceTextureId } from '@playdrop/boxel-core';
2
2
  import { createBoxGeometry } from './primitives.js';
3
3
  import { createTextureMaterial, toThreeColorRGB } from './textures.js';
4
4
  import { buildVoxelMesh } from './voxels/mesher.js';
@@ -233,7 +233,7 @@ function createComboObject(context, primitive, alignment, visited) {
233
233
  primitive.slots.forEach(slot => {
234
234
  const childPrimitive = context.primitivesById.get(slot.primitive);
235
235
  if (!childPrimitive) {
236
- console.warn('[entity-three] combo slot references missing primitive', slot.primitive);
236
+ console.warn('[boxel-three] combo slot references missing primitive', slot.primitive);
237
237
  return;
238
238
  }
239
239
  const object = createPrimitiveObject(context, childPrimitive, alignment, new Set(visited));
@@ -311,7 +311,7 @@ function createComboObject(context, primitive, alignment, visited) {
311
311
  }
312
312
  export function createPrimitiveObject(context, primitive, alignment, visited = new Set()) {
313
313
  if (visited.has(primitive.id)) {
314
- console.warn('[entity-three] detected recursive primitive reference', primitive.id);
314
+ console.warn('[boxel-three] detected recursive primitive reference', primitive.id);
315
315
  return null;
316
316
  }
317
317
  visited.add(primitive.id);