@cavegiant/cave-world-r3f 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/LICENSE +21 -0
  3. package/README.md +189 -0
  4. package/dist/core/connector-label/readiness.d.ts +11 -0
  5. package/dist/core/connector-label/readiness.d.ts.map +1 -0
  6. package/dist/core/connector-label/readiness.js +31 -0
  7. package/dist/core/connector-label/readiness.js.map +1 -0
  8. package/dist/core/connector-label/types.d.ts +64 -0
  9. package/dist/core/connector-label/types.d.ts.map +1 -0
  10. package/dist/core/connector-label/types.js +47 -0
  11. package/dist/core/connector-label/types.js.map +1 -0
  12. package/dist/core/context/cave-world-context.d.ts +96 -0
  13. package/dist/core/context/cave-world-context.d.ts.map +1 -0
  14. package/dist/core/context/cave-world-context.js +100 -0
  15. package/dist/core/context/cave-world-context.js.map +1 -0
  16. package/dist/core/errors.d.ts +34 -0
  17. package/dist/core/errors.d.ts.map +1 -0
  18. package/dist/core/errors.js +17 -0
  19. package/dist/core/errors.js.map +1 -0
  20. package/dist/core/events/event-bus.d.ts +122 -0
  21. package/dist/core/events/event-bus.d.ts.map +1 -0
  22. package/dist/core/events/event-bus.js +62 -0
  23. package/dist/core/events/event-bus.js.map +1 -0
  24. package/dist/core/hooks/use-cave-event.d.ts +13 -0
  25. package/dist/core/hooks/use-cave-event.d.ts.map +1 -0
  26. package/dist/core/hooks/use-cave-event.js +12 -0
  27. package/dist/core/hooks/use-cave-event.js.map +1 -0
  28. package/dist/core/i18n/messages.d.ts +82 -0
  29. package/dist/core/i18n/messages.d.ts.map +1 -0
  30. package/dist/core/i18n/messages.js +131 -0
  31. package/dist/core/i18n/messages.js.map +1 -0
  32. package/dist/core/index.d.ts +11 -0
  33. package/dist/core/index.d.ts.map +1 -0
  34. package/dist/core/index.js +47 -0
  35. package/dist/core/index.js.map +1 -0
  36. package/dist/core/logging/logger.d.ts +29 -0
  37. package/dist/core/logging/logger.d.ts.map +1 -0
  38. package/dist/core/logging/logger.js +47 -0
  39. package/dist/core/logging/logger.js.map +1 -0
  40. package/dist/core/registry/component-registry.d.ts +41 -0
  41. package/dist/core/registry/component-registry.d.ts.map +1 -0
  42. package/dist/core/registry/component-registry.js +34 -0
  43. package/dist/core/registry/component-registry.js.map +1 -0
  44. package/dist/core/registry/object-registry.d.ts +38 -0
  45. package/dist/core/registry/object-registry.d.ts.map +1 -0
  46. package/dist/core/registry/object-registry.js +32 -0
  47. package/dist/core/registry/object-registry.js.map +1 -0
  48. package/dist/explore/cave-explore.d.ts +85 -0
  49. package/dist/explore/cave-explore.d.ts.map +1 -0
  50. package/dist/explore/cave-explore.js +204 -0
  51. package/dist/explore/cave-explore.js.map +1 -0
  52. package/dist/explore/cave-orbit-viewer.d.ts +76 -0
  53. package/dist/explore/cave-orbit-viewer.d.ts.map +1 -0
  54. package/dist/explore/cave-orbit-viewer.js +123 -0
  55. package/dist/explore/cave-orbit-viewer.js.map +1 -0
  56. package/dist/explore/characters/character-configs.d.ts +38 -0
  57. package/dist/explore/characters/character-configs.d.ts.map +1 -0
  58. package/dist/explore/characters/character-configs.js +45 -0
  59. package/dist/explore/characters/character-configs.js.map +1 -0
  60. package/dist/explore/characters/character-controls.d.ts +44 -0
  61. package/dist/explore/characters/character-controls.d.ts.map +1 -0
  62. package/dist/explore/characters/character-pose.d.ts +19 -0
  63. package/dist/explore/characters/character-pose.d.ts.map +1 -0
  64. package/dist/explore/characters/character-pose.js +13 -0
  65. package/dist/explore/characters/character-pose.js.map +1 -0
  66. package/dist/explore/characters/local-character-model.d.ts +53 -0
  67. package/dist/explore/characters/local-character-model.d.ts.map +1 -0
  68. package/dist/explore/characters/local-character-model.js +36 -0
  69. package/dist/explore/characters/local-character-model.js.map +1 -0
  70. package/dist/explore/characters/mixamo-style-bone-map.d.ts +9 -0
  71. package/dist/explore/characters/mixamo-style-bone-map.d.ts.map +1 -0
  72. package/dist/explore/characters/mixamo-style-bone-map.js +28 -0
  73. package/dist/explore/characters/mixamo-style-bone-map.js.map +1 -0
  74. package/dist/explore/characters/remote-character-controller.d.ts +38 -0
  75. package/dist/explore/characters/remote-character-controller.d.ts.map +1 -0
  76. package/dist/explore/characters/remote-character-controller.js +135 -0
  77. package/dist/explore/characters/remote-character-controller.js.map +1 -0
  78. package/dist/explore/characters/remote-character.d.ts +19 -0
  79. package/dist/explore/characters/remote-character.d.ts.map +1 -0
  80. package/dist/explore/characters/remote-character.js +63 -0
  81. package/dist/explore/characters/remote-character.js.map +1 -0
  82. package/dist/explore/connected-spaces-renderer.d.ts +16 -0
  83. package/dist/explore/connected-spaces-renderer.d.ts.map +1 -0
  84. package/dist/explore/connected-spaces-renderer.js +103 -0
  85. package/dist/explore/connected-spaces-renderer.js.map +1 -0
  86. package/dist/explore/hooks/use-action-shortcuts.d.ts +16 -0
  87. package/dist/explore/hooks/use-action-shortcuts.d.ts.map +1 -0
  88. package/dist/explore/hooks/use-action-shortcuts.js +23 -0
  89. package/dist/explore/hooks/use-action-shortcuts.js.map +1 -0
  90. package/dist/explore/hooks/use-active-space-notify.d.ts +11 -0
  91. package/dist/explore/hooks/use-active-space-notify.d.ts.map +1 -0
  92. package/dist/explore/hooks/use-active-space-notify.js +17 -0
  93. package/dist/explore/hooks/use-active-space-notify.js.map +1 -0
  94. package/dist/explore/hooks/use-character-sync.d.ts +46 -0
  95. package/dist/explore/hooks/use-character-sync.d.ts.map +1 -0
  96. package/dist/explore/hooks/use-character-sync.js +72 -0
  97. package/dist/explore/hooks/use-character-sync.js.map +1 -0
  98. package/dist/explore/hooks/use-connector-preloader.d.ts +20 -0
  99. package/dist/explore/hooks/use-connector-preloader.d.ts.map +1 -0
  100. package/dist/explore/hooks/use-connector-preloader.js +78 -0
  101. package/dist/explore/hooks/use-connector-preloader.js.map +1 -0
  102. package/dist/explore/hooks/use-connector-transitions.d.ts +31 -0
  103. package/dist/explore/hooks/use-connector-transitions.d.ts.map +1 -0
  104. package/dist/explore/hooks/use-connector-transitions.js +63 -0
  105. package/dist/explore/hooks/use-connector-transitions.js.map +1 -0
  106. package/dist/explore/hooks/use-explore-actions.d.ts +17 -0
  107. package/dist/explore/hooks/use-explore-actions.d.ts.map +1 -0
  108. package/dist/explore/hooks/use-explore-actions.js +134 -0
  109. package/dist/explore/hooks/use-explore-actions.js.map +1 -0
  110. package/dist/explore/hooks/use-load-error-notify.d.ts +11 -0
  111. package/dist/explore/hooks/use-load-error-notify.d.ts.map +1 -0
  112. package/dist/explore/hooks/use-load-error-notify.js +18 -0
  113. package/dist/explore/hooks/use-load-error-notify.js.map +1 -0
  114. package/dist/explore/hooks/use-primary-space-loader.d.ts +24 -0
  115. package/dist/explore/hooks/use-primary-space-loader.d.ts.map +1 -0
  116. package/dist/explore/hooks/use-primary-space-loader.js +29 -0
  117. package/dist/explore/hooks/use-primary-space-loader.js.map +1 -0
  118. package/dist/explore/index.d.ts +37 -0
  119. package/dist/explore/index.d.ts.map +1 -0
  120. package/dist/explore/index.js +107 -0
  121. package/dist/explore/index.js.map +1 -0
  122. package/dist/explore/loaders/cave-loader.d.ts +58 -0
  123. package/dist/explore/loaders/cave-loader.d.ts.map +1 -0
  124. package/dist/explore/loaders/cave-loader.js +79 -0
  125. package/dist/explore/loaders/cave-loader.js.map +1 -0
  126. package/dist/explore/math/space-transforms.d.ts +49 -0
  127. package/dist/explore/math/space-transforms.d.ts.map +1 -0
  128. package/dist/explore/math/space-transforms.js +54 -0
  129. package/dist/explore/math/space-transforms.js.map +1 -0
  130. package/dist/explore/overlays/action-bubble.d.ts +8 -0
  131. package/dist/explore/overlays/action-bubble.d.ts.map +1 -0
  132. package/dist/explore/overlays/action-bubble.js +18 -0
  133. package/dist/explore/overlays/action-bubble.js.map +1 -0
  134. package/dist/explore/overlays/action-panel.d.ts +12 -0
  135. package/dist/explore/overlays/action-panel.d.ts.map +1 -0
  136. package/dist/explore/overlays/action-panel.js +69 -0
  137. package/dist/explore/overlays/action-panel.js.map +1 -0
  138. package/dist/explore/overlays/connector-label-beacon.d.ts +11 -0
  139. package/dist/explore/overlays/connector-label-beacon.d.ts.map +1 -0
  140. package/dist/explore/overlays/connector-label-beacon.js +38 -0
  141. package/dist/explore/overlays/connector-label-beacon.js.map +1 -0
  142. package/dist/explore/overlays/connector-label-tag-shell.d.ts +16 -0
  143. package/dist/explore/overlays/connector-label-tag-shell.d.ts.map +1 -0
  144. package/dist/explore/overlays/connector-label-tag-shell.js +18 -0
  145. package/dist/explore/overlays/connector-label-tag-shell.js.map +1 -0
  146. package/dist/explore/overlays/detail-window.d.ts +9 -0
  147. package/dist/explore/overlays/detail-window.d.ts.map +1 -0
  148. package/dist/explore/overlays/detail-window.js +92 -0
  149. package/dist/explore/overlays/detail-window.js.map +1 -0
  150. package/dist/explore/overlays/explore-helper.d.ts +44 -0
  151. package/dist/explore/overlays/explore-helper.d.ts.map +1 -0
  152. package/dist/explore/overlays/explore-helper.js +57 -0
  153. package/dist/explore/overlays/explore-helper.js.map +1 -0
  154. package/dist/explore/overlays/icons.d.ts +16 -0
  155. package/dist/explore/overlays/icons.d.ts.map +1 -0
  156. package/dist/explore/overlays/icons.js +34 -0
  157. package/dist/explore/overlays/icons.js.map +1 -0
  158. package/dist/explore/overlays/space-load-error-overlay.d.ts +27 -0
  159. package/dist/explore/overlays/space-load-error-overlay.d.ts.map +1 -0
  160. package/dist/explore/overlays/space-load-error-overlay.js +24 -0
  161. package/dist/explore/overlays/space-load-error-overlay.js.map +1 -0
  162. package/dist/explore/services/websocket.service.d.ts +180 -0
  163. package/dist/explore/services/websocket.service.d.ts.map +1 -0
  164. package/dist/explore/services/websocket.service.js +187 -0
  165. package/dist/explore/services/websocket.service.js.map +1 -0
  166. package/dist/explore/simple-character.d.ts +46 -0
  167. package/dist/explore/simple-character.d.ts.map +1 -0
  168. package/dist/explore/simple-character.js +119 -0
  169. package/dist/explore/simple-character.js.map +1 -0
  170. package/dist/explore/stores/action-prompt.store.d.ts +27 -0
  171. package/dist/explore/stores/action-prompt.store.d.ts.map +1 -0
  172. package/dist/explore/stores/action-prompt.store.js +14 -0
  173. package/dist/explore/stores/action-prompt.store.js.map +1 -0
  174. package/dist/explore/stores/cave-explore.store.d.ts +77 -0
  175. package/dist/explore/stores/cave-explore.store.d.ts.map +1 -0
  176. package/dist/explore/stores/cave-explore.store.js +66 -0
  177. package/dist/explore/stores/cave-explore.store.js.map +1 -0
  178. package/dist/explore/stores/explore-context.d.ts +35 -0
  179. package/dist/explore/stores/explore-context.d.ts.map +1 -0
  180. package/dist/explore/stores/explore-context.js +43 -0
  181. package/dist/explore/stores/explore-context.js.map +1 -0
  182. package/dist/explore/styles/cave-world-css.d.ts +10 -0
  183. package/dist/explore/styles/cave-world-css.d.ts.map +1 -0
  184. package/dist/explore/styles/cave-world-css.js +935 -0
  185. package/dist/explore/styles/cave-world-css.js.map +1 -0
  186. package/dist/explore/styles/inject.d.ts +32 -0
  187. package/dist/explore/styles/inject.d.ts.map +1 -0
  188. package/dist/explore/styles/inject.js +40 -0
  189. package/dist/explore/styles/inject.js.map +1 -0
  190. package/dist/explore/utils/schedule-idle.d.ts +12 -0
  191. package/dist/explore/utils/schedule-idle.d.ts.map +1 -0
  192. package/dist/explore/utils/schedule-idle.js +16 -0
  193. package/dist/explore/utils/schedule-idle.js.map +1 -0
  194. package/dist/explore/viewer-shared.d.ts +56 -0
  195. package/dist/explore/viewer-shared.d.ts.map +1 -0
  196. package/dist/index.d.ts +16 -0
  197. package/dist/index.d.ts.map +1 -0
  198. package/dist/index.js +78 -0
  199. package/dist/index.js.map +1 -0
  200. package/dist/space/cave-base-layer.d.ts +42 -0
  201. package/dist/space/cave-base-layer.d.ts.map +1 -0
  202. package/dist/space/cave-base-layer.js +221 -0
  203. package/dist/space/cave-base-layer.js.map +1 -0
  204. package/dist/space/cave-custom-layer.d.ts +12 -0
  205. package/dist/space/cave-custom-layer.d.ts.map +1 -0
  206. package/dist/space/cave-custom-layer.js +17 -0
  207. package/dist/space/cave-custom-layer.js.map +1 -0
  208. package/dist/space/cave-env.d.ts +6 -0
  209. package/dist/space/cave-env.d.ts.map +1 -0
  210. package/dist/space/cave-env.js +23 -0
  211. package/dist/space/cave-env.js.map +1 -0
  212. package/dist/space/cave-space.d.ts +46 -0
  213. package/dist/space/cave-space.d.ts.map +1 -0
  214. package/dist/space/cave-space.js +37 -0
  215. package/dist/space/cave-space.js.map +1 -0
  216. package/dist/space/connector-label-host.d.ts +21 -0
  217. package/dist/space/connector-label-host.d.ts.map +1 -0
  218. package/dist/space/connector-label-host.js +65 -0
  219. package/dist/space/connector-label-host.js.map +1 -0
  220. package/dist/space/index.d.ts +18 -0
  221. package/dist/space/index.d.ts.map +1 -0
  222. package/dist/space/index.js +47 -0
  223. package/dist/space/index.js.map +1 -0
  224. package/dist/space/objects/builtin-registrar.d.ts +17 -0
  225. package/dist/space/objects/builtin-registrar.d.ts.map +1 -0
  226. package/dist/space/objects/builtin-registrar.js +19 -0
  227. package/dist/space/objects/builtin-registrar.js.map +1 -0
  228. package/dist/space/objects/custom-object.d.ts +9 -0
  229. package/dist/space/objects/custom-object.d.ts.map +1 -0
  230. package/dist/space/objects/custom-object.js +56 -0
  231. package/dist/space/objects/custom-object.js.map +1 -0
  232. package/dist/space/objects/image-object.d.ts +7 -0
  233. package/dist/space/objects/image-object.d.ts.map +1 -0
  234. package/dist/space/objects/image-object.js +14 -0
  235. package/dist/space/objects/image-object.js.map +1 -0
  236. package/dist/space/objects/model-object/fbx-object.d.ts +8 -0
  237. package/dist/space/objects/model-object/fbx-object.d.ts.map +1 -0
  238. package/dist/space/objects/model-object/fbx-object.js +26 -0
  239. package/dist/space/objects/model-object/fbx-object.js.map +1 -0
  240. package/dist/space/objects/model-object/gltf-object.d.ts +9 -0
  241. package/dist/space/objects/model-object/gltf-object.d.ts.map +1 -0
  242. package/dist/space/objects/model-object/gltf-object.js +66 -0
  243. package/dist/space/objects/model-object/gltf-object.js.map +1 -0
  244. package/dist/space/objects/model-object/index.d.ts +9 -0
  245. package/dist/space/objects/model-object/index.d.ts.map +1 -0
  246. package/dist/space/objects/model-object/index.js +12 -0
  247. package/dist/space/objects/model-object/index.js.map +1 -0
  248. package/dist/space/objects/model-object/splat-object.d.ts +9 -0
  249. package/dist/space/objects/model-object/splat-object.d.ts.map +1 -0
  250. package/dist/space/objects/model-object/splat-object.js +19 -0
  251. package/dist/space/objects/model-object/splat-object.js.map +1 -0
  252. package/dist/space/objects/object-components/windows/index.d.ts +5 -0
  253. package/dist/space/objects/object-components/windows/index.d.ts.map +1 -0
  254. package/dist/space/objects/object-components/windows/index.js +20 -0
  255. package/dist/space/objects/object-components/windows/index.js.map +1 -0
  256. package/dist/space/objects/placeholder-object.d.ts +7 -0
  257. package/dist/space/objects/placeholder-object.d.ts.map +1 -0
  258. package/dist/space/objects/placeholder-object.js +12 -0
  259. package/dist/space/objects/placeholder-object.js.map +1 -0
  260. package/dist/space/objects/poi-object.d.ts +7 -0
  261. package/dist/space/objects/poi-object.d.ts.map +1 -0
  262. package/dist/space/objects/poi-object.js +38 -0
  263. package/dist/space/objects/poi-object.js.map +1 -0
  264. package/dist/space/objects/portal-object.d.ts +7 -0
  265. package/dist/space/objects/portal-object.d.ts.map +1 -0
  266. package/dist/space/objects/portal-object.js +84 -0
  267. package/dist/space/objects/portal-object.js.map +1 -0
  268. package/dist/space/objects/video-object.d.ts +7 -0
  269. package/dist/space/objects/video-object.d.ts.map +1 -0
  270. package/dist/space/objects/video-object.js +32 -0
  271. package/dist/space/objects/video-object.js.map +1 -0
  272. package/dist/space/polygon-boundary.d.ts +10 -0
  273. package/dist/space/polygon-boundary.d.ts.map +1 -0
  274. package/dist/space/polygon-boundary.js +205 -0
  275. package/dist/space/polygon-boundary.js.map +1 -0
  276. package/dist/space/splats/spark/robust-splat-mesh.d.ts +59 -0
  277. package/dist/space/splats/spark/robust-splat-mesh.d.ts.map +1 -0
  278. package/dist/space/splats/spark/robust-splat-mesh.js +105 -0
  279. package/dist/space/splats/spark/robust-splat-mesh.js.map +1 -0
  280. package/dist/space/splats/spark/splat-mesh.d.ts +5 -0
  281. package/dist/space/splats/spark/splat-mesh.d.ts.map +1 -0
  282. package/dist/space/splats/spark/splat-mesh.js +7 -0
  283. package/dist/space/splats/spark/splat-mesh.js.map +1 -0
  284. package/dist/space/splats/spark/splat-spread-reveal.d.ts +14 -0
  285. package/dist/space/splats/spark/splat-spread-reveal.d.ts.map +1 -0
  286. package/dist/space/splats/spark/splat-spread-reveal.js +45 -0
  287. package/dist/space/splats/spark/splat-spread-reveal.js.map +1 -0
  288. package/dist/space/utils/cave-world-player.d.ts +3 -0
  289. package/dist/space/utils/cave-world-player.d.ts.map +1 -0
  290. package/dist/space/utils/cave-world-player.js +5 -0
  291. package/dist/space/utils/cave-world-player.js.map +1 -0
  292. package/dist/space/utils/configure-canvas.d.ts +20 -0
  293. package/dist/space/utils/configure-canvas.d.ts.map +1 -0
  294. package/dist/space/utils/configure-canvas.js +12 -0
  295. package/dist/space/utils/configure-canvas.js.map +1 -0
  296. package/dist/space/utils/polygon-boundary-geometry.d.ts +8 -0
  297. package/dist/space/utils/polygon-boundary-geometry.d.ts.map +1 -0
  298. package/dist/space/utils/polygon-boundary-geometry.js +20 -0
  299. package/dist/space/utils/polygon-boundary-geometry.js.map +1 -0
  300. package/dist/space/utils/polygon-boundary-segments.d.ts +50 -0
  301. package/dist/space/utils/polygon-boundary-segments.d.ts.map +1 -0
  302. package/dist/space/utils/polygon-boundary-segments.js +64 -0
  303. package/dist/space/utils/polygon-boundary-segments.js.map +1 -0
  304. package/dist/space/utils/rotation-compat.d.ts +4 -0
  305. package/dist/space/utils/rotation-compat.d.ts.map +1 -0
  306. package/dist/space/utils/rotation-compat.js +9 -0
  307. package/dist/space/utils/rotation-compat.js.map +1 -0
  308. package/dist/space/utils/select-splat-level.d.ts +52 -0
  309. package/dist/space/utils/select-splat-level.d.ts.map +1 -0
  310. package/dist/space/utils/select-splat-level.js +43 -0
  311. package/dist/space/utils/select-splat-level.js.map +1 -0
  312. package/dist/space/utils/spark-performance.d.ts +10 -0
  313. package/dist/space/utils/spark-performance.d.ts.map +1 -0
  314. package/dist/space/utils/spark-performance.js +10 -0
  315. package/dist/space/utils/spark-performance.js.map +1 -0
  316. package/dist/space/utils/splat-collider-helper.d.ts +5 -0
  317. package/dist/space/utils/splat-collider-helper.d.ts.map +1 -0
  318. package/dist/space/utils/splat-collider-helper.js +162 -0
  319. package/dist/space/utils/splat-collider-helper.js.map +1 -0
  320. package/dist/space/utils/touch-primary-device.d.ts +16 -0
  321. package/dist/space/utils/touch-primary-device.d.ts.map +1 -0
  322. package/dist/space/utils/touch-primary-device.js +52 -0
  323. package/dist/space/utils/touch-primary-device.js.map +1 -0
  324. package/dist/space/utils/use-visibility-frameloop.d.ts +20 -0
  325. package/dist/space/utils/use-visibility-frameloop.d.ts.map +1 -0
  326. package/dist/space/utils/use-visibility-frameloop.js +18 -0
  327. package/dist/space/utils/use-visibility-frameloop.js.map +1 -0
  328. package/dist/styles.css +930 -0
  329. package/dist/types/index.d.ts +2 -0
  330. package/dist/types/index.d.ts.map +1 -0
  331. package/dist/types/index.js +2 -0
  332. package/dist/types/index.js.map +1 -0
  333. package/dist/types/space-types.d.ts +404 -0
  334. package/dist/types/space-types.d.ts.map +1 -0
  335. package/doc/API.md +617 -0
  336. package/doc/ARCHITECTURE.md +264 -0
  337. package/doc/multiplayer-protocol.md +757 -0
  338. package/doc/scene-json-structure.md +567 -0
  339. package/package.json +131 -0
@@ -0,0 +1,2 @@
1
+ export * from './space-types.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,404 @@
1
+ export type Vector3 = [number, number, number];
2
+ export type Quaternion = [number, number, number, number];
3
+ export type Matrix16 = [
4
+ number,
5
+ number,
6
+ number,
7
+ number,
8
+ number,
9
+ number,
10
+ number,
11
+ number,
12
+ number,
13
+ number,
14
+ number,
15
+ number,
16
+ number,
17
+ number,
18
+ number,
19
+ number
20
+ ];
21
+ export type Color = string;
22
+ export interface Transform {
23
+ position: Vector3;
24
+ rotation: Quaternion;
25
+ scale: Vector3;
26
+ }
27
+ export interface CaveSpace {
28
+ specVersion: string;
29
+ contentVersion: number;
30
+ metadata: SpaceMetadata;
31
+ baseLayer: BaseLayer;
32
+ customLayers: CustomLayer[];
33
+ }
34
+ export interface CustomLayer {
35
+ name: string;
36
+ visible: boolean;
37
+ objects: CustomObject[];
38
+ }
39
+ export interface CustomObject {
40
+ id: string;
41
+ name: string;
42
+ type: CustomObjectType;
43
+ visible: boolean;
44
+ transform: Transform;
45
+ source?: {
46
+ from: AssetSourceFromType;
47
+ id?: string;
48
+ };
49
+ parent?: string;
50
+ children?: string[];
51
+ model?: ModelProps;
52
+ text?: TextProps;
53
+ image?: ImageProps;
54
+ video?: VideoProps;
55
+ light?: LightProps;
56
+ audio?: AudioProps;
57
+ digitalHuman2D?: DigitalHuman2DProps;
58
+ infoPoint?: InfoPointProps;
59
+ panoramaVideo?: PanoramaVideoProps;
60
+ components?: CustomComponentMap;
61
+ radius?: number;
62
+ openRadius?: boolean;
63
+ portal?: PortalProps;
64
+ }
65
+ export interface CustomComponentMap {
66
+ Window?: WindowComponent;
67
+ Collider?: ColliderComponent;
68
+ Rigidbody?: RigidbodyComponent;
69
+ [key: string]: unknown;
70
+ }
71
+ export interface SpaceMetadata {
72
+ name: string;
73
+ description?: string;
74
+ creatorId?: string;
75
+ publishTime?: number;
76
+ thumbnail?: string;
77
+ }
78
+ export type BaseSceneType = 'splat' | 'model';
79
+ export type AssetSourceFromType = 'meta-bridge-mall' | 'meta-bridge-space' | 'meta-cave' | 'local';
80
+ /** One LOD entry inside `BaseSceneRef.splatLevels` */
81
+ export interface SplatLevel {
82
+ /** Asset URL for this LOD */
83
+ url: string;
84
+ /** Number of Gaussian points in this LOD (used to pick a device-appropriate level) */
85
+ splatCount: number;
86
+ }
87
+ export interface BaseSceneRef {
88
+ type: BaseSceneType;
89
+ /**
90
+ * Default scene asset URL. Used when `splatLevels` is absent (single-LOD
91
+ * scene), or as the fallback when no `splatLevels` entry is appropriate
92
+ * for the current device.
93
+ */
94
+ url: string;
95
+ source?: {
96
+ from: AssetSourceFromType;
97
+ id?: string;
98
+ };
99
+ /**
100
+ * 3DGS point count for the default `url`. Optional — only used as a hint
101
+ * (logged when it exceeds the device cap and there is no `splatLevels`
102
+ * fallback) so authors can spot when a single-LOD scene is too heavy.
103
+ */
104
+ splatCount?: number;
105
+ /**
106
+ * Multiple LOD variants for a 3DGS scene. When provided, the runtime picks
107
+ * the highest-quality variant whose `splatCount` is within the device cap
108
+ * (PC ≈ 3M points, mobile ≈ 2M points by default — see
109
+ * `space/utils/select-splat-level.ts`). When none fit, the variant with
110
+ * the smallest `splatCount` is picked as the least-bad fallback.
111
+ *
112
+ * The legacy `url` field is still read when this array is absent; it is
113
+ * also used as a final fallback if `splatLevels` is empty.
114
+ */
115
+ splatLevels?: SplatLevel[];
116
+ }
117
+ export type BaseColliderType = 'box' | 'gltf' | 'model';
118
+ export interface BoxCollider {
119
+ id: string;
120
+ type: 'box';
121
+ box: Transform;
122
+ }
123
+ export interface GltfCollider {
124
+ id: string;
125
+ type: 'gltf';
126
+ src: string;
127
+ }
128
+ export interface ModelCollider {
129
+ id: string;
130
+ type: 'model';
131
+ url: string;
132
+ size?: number;
133
+ }
134
+ export type BaseCollider = BoxCollider | GltfCollider | ModelCollider;
135
+ export type BoundaryType = 'box' | 'polygon';
136
+ export interface BoxBoundaryDef {
137
+ id: string;
138
+ type: 'box';
139
+ collisionEnabled: boolean;
140
+ box: Transform;
141
+ }
142
+ export interface PolygonBoundaryDef {
143
+ id: string;
144
+ type: 'polygon';
145
+ collisionEnabled: boolean;
146
+ polygon: {
147
+ points: Vector3[];
148
+ height: number;
149
+ };
150
+ }
151
+ export type BoundaryDef = BoxBoundaryDef | PolygonBoundaryDef;
152
+ export interface DirectionalLightSettings {
153
+ color: Color;
154
+ intensity: number;
155
+ position: Vector3;
156
+ castShadow: boolean;
157
+ }
158
+ export interface LightingSettings {
159
+ ambientColor: Color;
160
+ ambientIntensity: number;
161
+ directionalLight?: DirectionalLightSettings;
162
+ }
163
+ export type SkyboxType = 'cubemap' | 'color';
164
+ export interface SkyboxCubemapUrls {
165
+ px: string;
166
+ nx: string;
167
+ py: string;
168
+ ny: string;
169
+ pz: string;
170
+ nz: string;
171
+ }
172
+ export interface SkyboxSettings {
173
+ type: SkyboxType;
174
+ color?: Color;
175
+ urls?: SkyboxCubemapUrls;
176
+ }
177
+ export interface AmbientAudioSettings {
178
+ url: string;
179
+ volume: number;
180
+ autoplay: boolean;
181
+ }
182
+ export interface PhysicsSettings {
183
+ enabled: boolean;
184
+ gravity: Vector3;
185
+ }
186
+ export interface ConnectorTarget {
187
+ caveWorldId: string;
188
+ transitionType: 'seamless' | 'portal';
189
+ /** Portal: connector id in the target space (defines spawn position) */
190
+ connectorId?: string;
191
+ /**
192
+ * Seamless: column-major 4x4 alignment matrix mapping points from the
193
+ * SOURCE model's local space (before baseLayer.transform) to the TARGET
194
+ * model's local space (before baseLayer.transform):
195
+ *
196
+ * p_target_local = transform × p_source_local
197
+ */
198
+ transform?: Matrix16;
199
+ }
200
+ export interface ConnectorInfo {
201
+ to: ConnectorTarget[];
202
+ }
203
+ export interface ConnectorLabelDef {
204
+ /** Variant kind. Built-in: 'beacon' (default). Custom kinds are routed through `renderConnectorLabel`. */
205
+ variant?: 'beacon' | string;
206
+ /** Display text. Defaults to first portal target's space.metadata.name, then `前方场景`. */
207
+ text?: string;
208
+ /** Icon URL (optional, defaults to built-in portal icon). */
209
+ icon?: string;
210
+ /** Thumbnail URL (optional, e.g. target space.metadata.thumbnail). */
211
+ thumbnail?: string;
212
+ /** baseLayer-local offset added to connector.transform.position for the label anchor. */
213
+ anchorOffset?: Vector3;
214
+ visibility?: {
215
+ /** Hide label when player distance > this (m). Default 30. */
216
+ maxDistance?: number;
217
+ /** Hide label when player distance < this (m). Default 0 (auto-hide on enter). */
218
+ minDistance?: number;
219
+ /** Fade-in/out range in meters around min/max. Default 5. */
220
+ fadeRange?: number;
221
+ };
222
+ /** Pass-through data for custom renderers. */
223
+ custom?: Record<string, unknown>;
224
+ /** Whether the label triggers portal navigation on click. Default true. */
225
+ clickable?: boolean;
226
+ }
227
+ export interface ConnectorDef {
228
+ id: string;
229
+ name: string;
230
+ type: 'connector';
231
+ transform: {
232
+ position: Vector3;
233
+ rotation: Vector3;
234
+ scale: Vector3;
235
+ };
236
+ connectorInfo: ConnectorInfo;
237
+ /** Optional always-on label. Omit falls back to `connectorLabel` SDK prop. `false` opts out. */
238
+ label?: ConnectorLabelDef | false;
239
+ }
240
+ /**
241
+ * Default character spawn pose for the scene.
242
+ * Coordinates are in baseLayer-local (before `baseLayer.transform` is applied),
243
+ * matching ConnectorDef / Collider conventions.
244
+ */
245
+ export interface SpawnPoint {
246
+ /** Position in baseLayer-local coordinates */
247
+ position: Vector3;
248
+ /** Yaw in radians (rotation around the Y axis, baseLayer-local). 0 = facing +Z. */
249
+ yaw: number;
250
+ }
251
+ export interface BaseLayer {
252
+ visible: boolean;
253
+ transform: Transform;
254
+ scene: BaseSceneRef;
255
+ colliders?: BaseCollider[];
256
+ boundaries?: BoundaryDef[];
257
+ connectors?: ConnectorDef[];
258
+ lighting?: LightingSettings;
259
+ skybox?: SkyboxSettings;
260
+ ambientAudio?: AmbientAudioSettings;
261
+ physics?: PhysicsSettings;
262
+ spawnPoint?: SpawnPoint;
263
+ }
264
+ /** Object types with a built-in renderer in the `space` layer. */
265
+ export type BuiltinObjectType = 'splat' | 'model' | 'image' | 'video' | 'placeholder' | 'poi' | 'portal';
266
+ /**
267
+ * Official schema types that deliberately ship **without** a renderer: their
268
+ * visuals and interactions are product-specific, so the host registers them
269
+ * (`ObjectRegistry.register(type, Renderer)`). Objects of an unregistered type
270
+ * are skipped silently.
271
+ */
272
+ export type HostRenderedObjectType = 'text' | 'npc' | 'light' | 'audio' | 'digitalHuman2D' | 'infoPoint' | 'panoramaVideo';
273
+ /**
274
+ * An object's `type` field.
275
+ *
276
+ * Known values are listed for autocompletion, but any string is valid — that is
277
+ * what lets a host register entirely new object types without patching the SDK.
278
+ */
279
+ export type CustomObjectType = BuiltinObjectType | HostRenderedObjectType | (string & {});
280
+ export interface PanoramaVideoProps {
281
+ /** 3D tag label; runtime falls back to object.name when omitted */
282
+ label?: string;
283
+ /** Equirectangular (2:1) panoramic video URL (mp4/webm) */
284
+ url: string;
285
+ /** Cover image while loading or on slow networks */
286
+ poster?: string;
287
+ /** Optional title overlay in the player */
288
+ title?: string;
289
+ /** Optional description shown in the player intro overlay */
290
+ description?: string;
291
+ /** Autoplay when the player opens; default true */
292
+ autoplay?: boolean;
293
+ /** Loop playback; default false */
294
+ loop?: boolean;
295
+ /** Muted playback; default true (browser autoplay policy) */
296
+ muted?: boolean;
297
+ /** Initial horizontal look-at angle in degrees; default 0 */
298
+ initialYaw?: number;
299
+ /** Initial pitch in degrees; default 0 */
300
+ initialPitch?: number;
301
+ /** Field of view in degrees; default 75 */
302
+ fov?: number;
303
+ }
304
+ /** gallery detail: image carousel + text (portal UI implements layout) */
305
+ export interface GalleryInfoPointDetail {
306
+ variant: 'gallery';
307
+ images: string[];
308
+ /** Badge text in the detail panel */
309
+ title: string;
310
+ content: string;
311
+ }
312
+ /** Extensible detail union; unknown variants keep `variant` and optional fields */
313
+ export type InfoPointDetail = GalleryInfoPointDetail | {
314
+ variant: string;
315
+ [key: string]: unknown;
316
+ };
317
+ export interface InfoPointProps {
318
+ /** 3D tag label; runtime falls back to object.name when omitted */
319
+ label?: string;
320
+ detail: InfoPointDetail;
321
+ }
322
+ export interface ModelProps {
323
+ url: string;
324
+ color?: Color;
325
+ opacity?: number;
326
+ castShadow: boolean;
327
+ receiveShadow: boolean;
328
+ }
329
+ export interface TextProps {
330
+ content: string;
331
+ fontSize: number;
332
+ color: Color;
333
+ backgroundColor?: Color;
334
+ maxWidth?: number;
335
+ alignment: 'left' | 'center' | 'right';
336
+ }
337
+ export interface ImageProps {
338
+ url: string;
339
+ opacity?: number;
340
+ transparent?: boolean;
341
+ billboard?: boolean;
342
+ }
343
+ export interface VideoProps {
344
+ url: string;
345
+ autoplay: boolean;
346
+ loop: boolean;
347
+ muted: boolean;
348
+ controls: boolean;
349
+ }
350
+ export interface LightProps {
351
+ lightType: 'directional' | 'point' | 'spot';
352
+ color: Color;
353
+ intensity: number;
354
+ range?: number;
355
+ spotAngle?: number;
356
+ castShadow: boolean;
357
+ }
358
+ export interface AudioProps {
359
+ url: string;
360
+ volume: number;
361
+ loop: boolean;
362
+ autoplay: boolean;
363
+ spatial: boolean;
364
+ }
365
+ export interface PortalProps {
366
+ url: string;
367
+ internalScene?: {
368
+ id: string;
369
+ name: string;
370
+ image: string;
371
+ };
372
+ }
373
+ export interface DigitalHuman2DProps {
374
+ digitalHumanId: string;
375
+ global?: boolean;
376
+ }
377
+ export interface BaseComponent {
378
+ name: string;
379
+ }
380
+ export interface WindowComponent extends BaseComponent {
381
+ type: 'leftRight' | 'single' | 'shopping' | 'detail' | string;
382
+ contents: unknown[];
383
+ }
384
+ export interface ColliderComponent extends BaseComponent {
385
+ shape: 'box' | 'sphere' | 'mesh';
386
+ transform: Transform;
387
+ isTrigger: boolean;
388
+ }
389
+ export interface RigidbodyComponent extends BaseComponent {
390
+ mass: number;
391
+ useGravity: boolean;
392
+ isKinematic: boolean;
393
+ }
394
+ export interface Content {
395
+ id: string;
396
+ blocks: Block[];
397
+ }
398
+ export interface Block {
399
+ col: number;
400
+ type: 'text' | 'image' | 'video' | 'pdf' | 'portal' | string;
401
+ text?: string;
402
+ url?: string;
403
+ }
404
+ //# sourceMappingURL=space-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space-types.d.ts","sourceRoot":"","sources":["../../types/space-types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAC9C,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AACzD,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAA;AACD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAC1B,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,UAAU,CAAA;IACpB,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,aAAa,CAAA;IACvB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE,WAAW,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,mBAAmB,CAAA;QACzB,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAClC,UAAU,CAAC,EAAE,kBAAkB,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,SAAS,CAAC,EAAE,kBAAkB,CAAA;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAGD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,CAAA;AAC7C,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,WAAW,GAAG,OAAO,CAAA;AAElG,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACzB,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,CAAA;IACnB;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,mBAAmB,CAAA;QACzB,EAAE,CAAC,EAAE,MAAM,CAAA;KACZ,CAAA;IACD;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;CAC3B;AAGD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;AACvD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,SAAS,CAAA;CACf;AACD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AACD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,aAAa,CAAA;AAGrE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,SAAS,CAAA;AAC5C,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,KAAK,CAAA;IACX,gBAAgB,EAAE,OAAO,CAAA;IACzB,GAAG,EAAE,SAAS,CAAA;CACf;AACD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,SAAS,CAAA;IACf,gBAAgB,EAAE,OAAO,CAAA;IACzB,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,EAAE,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AACD,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAG7D,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;CACpB;AACD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,KAAK,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,wBAAwB,CAAA;CAC5C;AAGD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAA;AAC5C,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;CACX;AACD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,IAAI,CAAC,EAAE,iBAAiB,CAAA;CACzB;AAGD,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;CAClB;AAGD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB;AAGD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,UAAU,GAAG,QAAQ,CAAA;IACrC,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,eAAe,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,0GAA0G;IAC1G,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC3B,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yFAAyF;IACzF,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE;QACX,8DAA8D;QAC9D,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,kFAAkF;QAClF,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,6DAA6D;QAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE;QACT,QAAQ,EAAE,OAAO,CAAA;QACjB,QAAQ,EAAE,OAAO,CAAA;QACjB,KAAK,EAAE,OAAO,CAAA;KACf,CAAA;IACD,aAAa,EAAE,aAAa,CAAA;IAC5B,gGAAgG;IAChG,KAAK,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAA;IACjB,mFAAmF;IACnF,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,YAAY,CAAA;IACnB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1B,UAAU,CAAC,EAAE,WAAW,EAAE,CAAA;IAC1B,UAAU,CAAC,EAAE,YAAY,EAAE,CAAA;IAC3B,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,YAAY,CAAC,EAAE,oBAAoB,CAAA;IACnC,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED,kEAAkE;AAClE,MAAM,MAAM,iBAAiB,GAC3B,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE1E;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAChC,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,GAAG,WAAW,GAAG,eAAe,CAAA;AAEvF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,sBAAsB,GAGtB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEjB,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAA;IACX,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,SAAS,CAAA;IAClB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,mFAAmF;AACnF,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAElG,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,KAAK,CAAA;IACZ,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;CACvC;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;IAC3C,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE;QACd,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC7D,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;CACb"}