@volter/cyclotron 0.5.197 → 0.5.198

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 (1098) hide show
  1. package/BUNDLED_NOTICES +14 -14
  2. package/README.md +1 -1
  3. package/dist/.vite/manifest.json +1343 -1343
  4. package/dist/assets/BVHLoader-V9f-EnYd.js +1 -0
  5. package/dist/assets/ColladaLoader-Cp-E7iiV.js +3 -0
  6. package/dist/assets/EntityModelDocument-COvgB31b.js +1 -0
  7. package/dist/assets/EnvironmentAssetDocument-Dw03w7Tn.js +1 -0
  8. package/dist/assets/FBXLoader-CpZqH4xx.js +1 -0
  9. package/dist/assets/InspectorObjectPreview-BvHqJr_k.js +1 -0
  10. package/dist/assets/LiveModuleDocument-BzByJOMb.js +2 -0
  11. package/dist/assets/LutAssetDocument-C_-kOPKt.js +1 -0
  12. package/dist/assets/MTLLoader-JK_iLZsm.js +2 -0
  13. package/dist/assets/ModelAssetDocument-DQIzPoBi.js +1 -0
  14. package/dist/assets/NonThreeAuthoringBootstrap-DPe6KQ53.js +1 -0
  15. package/dist/assets/OBJLoader-eGO6iVw8.js +5 -0
  16. package/dist/assets/Object3DDocumentToolbar-CIjcyXJU.js +1 -0
  17. package/dist/assets/Object3DPreview-Bd17CXNH.js +2 -0
  18. package/dist/assets/OrbitControls-DrHRrSFA.js +1 -0
  19. package/dist/assets/PLYLoader-BCSN1tYw.js +2 -0
  20. package/dist/assets/QuarksAssetDocument-DxnhHU9Q.js +2 -0
  21. package/dist/assets/RectAreaLightUniformsLib-HqHjURQQ.js +1 -0
  22. package/dist/assets/STLLoader-vhCvZeOF.js +1 -0
  23. package/dist/assets/ShaderAssetDocument-BKh9kPCl.js +1 -0
  24. package/dist/assets/StageHost-byzihJ82.js +1179 -0
  25. package/dist/assets/TDSLoader-DbUHSEO9.js +1 -0
  26. package/dist/assets/ToolObject3DPreview-BysWq_d7.js +1 -0
  27. package/dist/assets/ViewportShadingMenu-FkPS3xzH.js +1 -0
  28. package/dist/assets/animation-mixers.service-B1qiSglm.js +1 -0
  29. package/dist/assets/animation-timeline.utility-DU_Gp9vo.js +1 -0
  30. package/dist/assets/asset-preview-CZzQwgFD.js +4 -0
  31. package/dist/assets/blender-emscripten-engine-D0Xzd799.js +2 -0
  32. package/dist/assets/blender-node-editor.document-jPjSwJSo.js +1 -0
  33. package/dist/assets/blender-properties-model-o0LlJxyO.js +1 -0
  34. package/dist/assets/blender-properties-tab-FmXad-sn.js +3 -0
  35. package/dist/assets/blender-runtime-host-BIbAyIGd.js +7284 -0
  36. package/dist/assets/blender-runtime.document-g-0d4ORE.js +13 -0
  37. package/dist/assets/blender-screenshot.menu-wI5B6NZv.js +1 -0
  38. package/dist/assets/blender-timeline.document-CqjNIT76.js +1 -0
  39. package/dist/assets/blender-uv-editor.document-Pzy6Gw29.js +1 -0
  40. package/dist/assets/blender-version.status-DI47Hn_8.js +1 -0
  41. package/dist/assets/blender-wali-engine-B9VbFkKM.js +2 -0
  42. package/dist/assets/blender.command-D6rOw2bd.js +1 -0
  43. package/dist/assets/blender.status-ByCFckM0.js +1 -0
  44. package/dist/assets/index-C8BwtQGN.js +952 -0
  45. package/dist/assets/linear-resolve-Cuka7Ypb.js +377 -0
  46. package/dist/assets/model-inspection-ljY6Me_l.js +1 -0
  47. package/dist/assets/models.finder-C6ZhWCef.js +1 -0
  48. package/dist/assets/object3d-document-session-registry-DEoHbI_d.js +2 -0
  49. package/dist/assets/output-pass-j4dAGrPY.js +85 -0
  50. package/dist/assets/play-mode-CByMmQwJ.js +1 -0
  51. package/dist/assets/product-DZzerh_v.js +14 -0
  52. package/dist/assets/properties-bone-constraints.inspector-rc5KTG2H.js +1 -0
  53. package/dist/assets/properties-bone.inspector-B_Dbs4ht.js +1 -0
  54. package/dist/assets/properties-collection.inspector-4vGIfMTh.js +1 -0
  55. package/dist/assets/properties-constraints.inspector-CFXHHs2J.js +1 -0
  56. package/dist/assets/properties-data.inspector-CIxLabqj.js +1 -0
  57. package/dist/assets/properties-material.inspector-CmaQv6dl.js +1 -0
  58. package/dist/assets/properties-modifiers.inspector-C26hId8E.js +1 -0
  59. package/dist/assets/properties-object.inspector-sqlGqfwS.js +1 -0
  60. package/dist/assets/properties-output.inspector-DvHS1aw6.js +1 -0
  61. package/dist/assets/properties-particles.inspector-BfaZUxbn.js +1 -0
  62. package/dist/assets/properties-physics.inspector-CRQCKLHH.js +1 -0
  63. package/dist/assets/properties-render.inspector-7w3U-iqM.js +1 -0
  64. package/dist/assets/properties-scene.inspector-CMG1Y7-m.js +1 -0
  65. package/dist/assets/properties-texture.inspector-jRCq--uW.js +1 -0
  66. package/dist/assets/properties-view-layer.inspector-NVnJdxAx.js +1 -0
  67. package/dist/assets/properties-world.inspector-CMxW1FY6.js +1 -0
  68. package/dist/assets/react-18-0Qmu5NE6.js +1 -0
  69. package/dist/assets/session-BUbzLAjD.js +5962 -0
  70. package/dist/assets/spark.module-CTTm62aa.js +12120 -0
  71. package/dist/assets/stage-keyboard-TDMkTsCX.js +1 -0
  72. package/dist/assets/stage-overlay-set-BLOUpfLH.js +1 -0
  73. package/dist/assets/stage-presence-markers-muXFZ50U.js +1 -0
  74. package/dist/assets/stage-transform-tools-Di7cHUP2.js +1 -0
  75. package/dist/assets/standard-viewport-dressing-DeErCVm3.js +24 -0
  76. package/dist/assets/three-integration.service-Bc-N4c0t.js +2 -0
  77. package/dist/assets/three.module-CtVjCPcj.js +3840 -0
  78. package/dist/assets/volter-sdk-DO4_-y9e.js +2363 -0
  79. package/dist/assets/volter-sdk-account-wPUt5o57.js +1 -0
  80. package/dist/assets/volter-sdk-client-B15gLyC1.js +1 -0
  81. package/dist/assets/volter-sdk-contributions-C0nSwako.js +1 -0
  82. package/dist/assets/volter-sdk-css-numeric-style-jZExItWf.js +1 -0
  83. package/dist/assets/volter-sdk-document-probe-DMy-JIXX.js +1 -0
  84. package/dist/assets/volter-sdk-editor-view-DaQgW67v.js +1 -0
  85. package/dist/assets/volter-sdk-host-CFArYkwy.js +1 -0
  86. package/dist/assets/volter-sdk-http-transport.browser-ByAjHftj.js +1 -0
  87. package/dist/assets/volter-sdk-index-7vWy2Ys0.js +1 -0
  88. package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-5eYbH4-I.js +1 -0
  89. package/dist/assets/volter-sdk-kit-account-client-CbvOVxqD.js +1 -0
  90. package/dist/assets/volter-sdk-kit-action-registry-DQf4fTV0.js +1 -0
  91. package/dist/assets/volter-sdk-kit-active-product-D5p1U6j5.js +1 -0
  92. package/dist/assets/volter-sdk-kit-active-project-DVV0pfa0.js +1 -0
  93. package/dist/assets/volter-sdk-kit-adapter-editor-config-kohd8Vud.js +1 -0
  94. package/dist/assets/volter-sdk-kit-adapter-observation-C_PKlyoy.js +1 -0
  95. package/dist/assets/volter-sdk-kit-animation-animation-clock-BhqqN-ie.js +1 -0
  96. package/dist/assets/volter-sdk-kit-animation-stage-transport-Bvs4k0JP.js +1 -0
  97. package/dist/assets/volter-sdk-kit-api-assets-DAm_ZKLv.js +1 -0
  98. package/dist/assets/volter-sdk-kit-api-base-CjZ363n1.js +1 -0
  99. package/dist/assets/volter-sdk-kit-api-build-C_G5gUAG.js +1 -0
  100. package/dist/assets/volter-sdk-kit-api-logs-DYQh75uZ.js +1 -0
  101. package/dist/assets/volter-sdk-kit-api-project-identity-L1x3AUKL.js +1 -0
  102. package/dist/assets/volter-sdk-kit-api-project-open-DFXIoZ-7.js +1 -0
  103. package/dist/assets/volter-sdk-kit-api-project-source-CO-4g2qg.js +1 -0
  104. package/dist/assets/volter-sdk-kit-api-project-state-CVVl_fgH.js +1 -0
  105. package/dist/assets/volter-sdk-kit-api-relay-Dvv-DLQi.js +1 -0
  106. package/dist/assets/volter-sdk-kit-api-settings-BXoKZmpo.js +1 -0
  107. package/dist/assets/volter-sdk-kit-api-themes-DcLsWht_.js +1 -0
  108. package/dist/assets/volter-sdk-kit-api-worktrees-BVE9KOZD.js +1 -0
  109. package/dist/assets/volter-sdk-kit-asset-capabilities-CIJmfSO3.js +1 -0
  110. package/dist/assets/volter-sdk-kit-asset-compare-core-UhCgBdRt.js +1 -0
  111. package/dist/assets/volter-sdk-kit-asset-editor-context-BsMxyPcj.js +1 -0
  112. package/dist/assets/volter-sdk-kit-asset-events-CRSmu6Bt.js +1 -0
  113. package/dist/assets/volter-sdk-kit-asset-inspector-actions-CgMkUTWY.js +1 -0
  114. package/dist/assets/volter-sdk-kit-asset-selection-FQNfuP4_.js +1 -0
  115. package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-Cfdxs18U.js +1 -0
  116. package/dist/assets/volter-sdk-kit-asset-thumbnails-CK5XlMmI.js +1 -0
  117. package/dist/assets/volter-sdk-kit-asset-viewers-B1HOOI8I.js +1 -0
  118. package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-Dlfsl2tO.js +1 -0
  119. package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-DiZz_XYK.js +1 -0
  120. package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-CUYtrE34.js +1 -0
  121. package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-Cn306Ec3.js +1 -0
  122. package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-D0oFUggY.js +1 -0
  123. package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-D_BqZCir.js +1 -0
  124. package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-DypzS9aT.js +1 -0
  125. package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-BpiNI5yE.js +1 -0
  126. package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-CrcclK5A.js +1 -0
  127. package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-Cdr2HDGC.js +1 -0
  128. package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-Qcj5MZlg.js +1 -0
  129. package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-C0NRJq5L.js +1 -0
  130. package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-CE54pXA9.js +1 -0
  131. package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-BUy-n5M7.js +1 -0
  132. package/dist/assets/volter-sdk-kit-asset-workflow-project-content-DL3yZOeN.js +1 -0
  133. package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-B6Irdlxp.js +1 -0
  134. package/dist/assets/volter-sdk-kit-authoring-active-adapter-D1PdDlbw.js +1 -0
  135. package/dist/assets/volter-sdk-kit-authoring-active-systems-B83a_Nvq.js +1 -0
  136. package/dist/assets/volter-sdk-kit-authoring-adapter-key-BZSdmDBV.js +1 -0
  137. package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-C8QAmsSy.js +1 -0
  138. package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-Da6WaABm.js +1 -0
  139. package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-C_8B2n05.js +1 -0
  140. package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-Dl7DMhFF.js +1 -0
  141. package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-C8gWKCM9.js +1 -0
  142. package/dist/assets/volter-sdk-kit-authoring-consumer-actions-D43faS7A.js +1 -0
  143. package/dist/assets/volter-sdk-kit-authoring-design-time-layers-oaS2870j.js +1 -0
  144. package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-xGRMo9jH.js +1 -0
  145. package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-DPUio_Qx.js +1 -0
  146. package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-Vos3HE2y.js +1 -0
  147. package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-CEKDZg3S.js +1 -0
  148. package/dist/assets/volter-sdk-kit-authoring-layered-pick-X0fWSt9l.js +1 -0
  149. package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-CJysqQyZ.js +1 -0
  150. package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-DqzKRD6C.js +1 -0
  151. package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-CS-DR4fs.js +1 -0
  152. package/dist/assets/volter-sdk-kit-authoring-panel-authoring-CBW9Mw6J.js +1 -0
  153. package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-DaKaenF6.js +1 -0
  154. package/dist/assets/volter-sdk-kit-authoring-provenance-c6-_1muM.js +1 -0
  155. package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-D4_OHY_D.js +1 -0
  156. package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-Dkj2PoL8.js +1 -0
  157. package/dist/assets/volter-sdk-kit-authoring-react-story-board-DiD8MdTN.js +1 -0
  158. package/dist/assets/volter-sdk-kit-authoring-seam-evidence-BSYuNpqd.js +1 -0
  159. package/dist/assets/volter-sdk-kit-authoring-selection-scope-DRxP-v2s.js +1 -0
  160. package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-B-Ds2N6e.js +1 -0
  161. package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-sRSrwNl8.js +1 -0
  162. package/dist/assets/volter-sdk-kit-authoring-three-root-DytOcM_O.js +1 -0
  163. package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-Cxu1dKip.js +1 -0
  164. package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-BUgezLvy.js +1 -0
  165. package/dist/assets/volter-sdk-kit-authoring-world-session-state-BHgAF6nV.js +1 -0
  166. package/dist/assets/volter-sdk-kit-availability-tick-CumB3lb-.js +1 -0
  167. package/dist/assets/volter-sdk-kit-bitmap-label-BIlNxE_Y.js +1 -0
  168. package/dist/assets/volter-sdk-kit-boot-routing-DchhAX6Y.js +1 -0
  169. package/dist/assets/volter-sdk-kit-breakpoint-state-Bzpz74Ms.js +1 -0
  170. package/dist/assets/volter-sdk-kit-build-identity-BkDfv8nQ.js +1 -0
  171. package/dist/assets/volter-sdk-kit-bytes-codec-BMQZwTE9.js +1 -0
  172. package/dist/assets/volter-sdk-kit-cancellation-reason-VPWeL8k3.js +1 -0
  173. package/dist/assets/volter-sdk-kit-canvas-frames-BYr72TE5.js +1 -0
  174. package/dist/assets/volter-sdk-kit-capture-camera-pose-41C48GCc.js +1 -0
  175. package/dist/assets/volter-sdk-kit-capture-size-BcWq5zAw.js +1 -0
  176. package/dist/assets/volter-sdk-kit-chrome-registry-BGq6j2Ae.js +1 -0
  177. package/dist/assets/volter-sdk-kit-chrome-slot-registry-DsmZxMb8.js +1 -0
  178. package/dist/assets/volter-sdk-kit-collaboration-client-DMiMAMOZ.js +1 -0
  179. package/dist/assets/volter-sdk-kit-collaboration-presence-BGrAJ28t.js +1 -0
  180. package/dist/assets/volter-sdk-kit-command-dispatch-C_R40QGO.js +1 -0
  181. package/dist/assets/volter-sdk-kit-command-listener-CA5VDufN.js +1 -0
  182. package/dist/assets/volter-sdk-kit-command-registry-0J8fLnL9.js +1 -0
  183. package/dist/assets/volter-sdk-kit-component-board-registry-CWK9irco.js +1 -0
  184. package/dist/assets/volter-sdk-kit-component-states-registry-DdNmwxT_.js +1 -0
  185. package/dist/assets/volter-sdk-kit-components-AlignToolbar-jIrFVYNk.js +1 -0
  186. package/dist/assets/volter-sdk-kit-components-ApplicationMenus-C1UCNNpK.js +1 -0
  187. package/dist/assets/volter-sdk-kit-components-AssetEditorShell-CHJXi1Hk.js +1 -0
  188. package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-CdQLATBz.js +1 -0
  189. package/dist/assets/volter-sdk-kit-components-BoardRulers-ZjTvtwOb.js +1 -0
  190. package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-CQlt7fCX.js +1 -0
  191. package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-qeNRb83m.js +1 -0
  192. package/dist/assets/volter-sdk-kit-components-ChromeSlot-BqS5Uzmv.js +1 -0
  193. package/dist/assets/volter-sdk-kit-components-CodeView-BeyLpXX0.js +1 -0
  194. package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-BOnxQUC4.js +1 -0
  195. package/dist/assets/volter-sdk-kit-components-ConsolePanel-DiS8DJ-m.js +1 -0
  196. package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-BexBiQ9y.js +1 -0
  197. package/dist/assets/volter-sdk-kit-components-InspectionProjection-YycAqD2h.js +1 -0
  198. package/dist/assets/volter-sdk-kit-components-Inspector-zp19zthC.js +1 -0
  199. package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-CcJjLsQo.js +1 -0
  200. package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-hA6glNT8.js +1 -0
  201. package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-8q-lLoP0.js +1 -0
  202. package/dist/assets/volter-sdk-kit-components-InspectorToolSection-D2hf35LR.js +1 -0
  203. package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-Du8nUpVz.js +1 -0
  204. package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-CsYSm0f2.js +1 -0
  205. package/dist/assets/volter-sdk-kit-components-MediaProperties-C8QhNVll.js +1 -0
  206. package/dist/assets/volter-sdk-kit-components-ProjectHeader-Ckbol7ie.js +1 -0
  207. package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-BiEww6yG.js +1 -0
  208. package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-DzR5NVPx.js +1 -0
  209. package/dist/assets/volter-sdk-kit-components-RootTextEditor-C_v3S2jT.js +1 -0
  210. package/dist/assets/volter-sdk-kit-components-SaveStatus-CS2gcmkz.js +1 -0
  211. package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-CeonwMQ1.js +1 -0
  212. package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-DY5MgmnF.js +1 -0
  213. package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-D9pTZZ2s.js +1 -0
  214. package/dist/assets/volter-sdk-kit-components-ToolHost-CY2NymBs.js +1 -0
  215. package/dist/assets/volter-sdk-kit-components-Toolbar-DZx7X2AC.js +1 -0
  216. package/dist/assets/volter-sdk-kit-components-TransientHint-8ZKe9r-n.js +1 -0
  217. package/dist/assets/volter-sdk-kit-components-VersionControlSection-DlvJfTex.js +1 -0
  218. package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-kgz8PKV-.js +1 -0
  219. package/dist/assets/volter-sdk-kit-components-VolterLogo-B__BHK9u.js +1 -0
  220. package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-Cr-ye_4u.js +1 -0
  221. package/dist/assets/volter-sdk-kit-components-account-documents-rnhK_6KL.js +1 -0
  222. package/dist/assets/volter-sdk-kit-components-asset-documents-Bf5qJSUn.js +1 -0
  223. package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-CeMVEEIM.js +1 -0
  224. package/dist/assets/volter-sdk-kit-components-asset-selection-section-VHgJFs0I.js +1 -0
  225. package/dist/assets/volter-sdk-kit-components-asset-thumbnails-3MoYp8v0.js +1 -0
  226. package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-RGnwKd4f.js +1 -0
  227. package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-B0zN2ky8.js +1 -0
  228. package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-S6XRdxwI.js +1 -0
  229. package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-mX3gcjyD.js +1 -0
  230. package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-BwvCzCAw.js +1 -0
  231. package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-BVF6YgSC.js +1 -0
  232. package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-D8YYzoJI.js +1 -0
  233. package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-JkwUl8zI.js +1 -0
  234. package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-Dy4SuzAd.js +1 -0
  235. package/dist/assets/volter-sdk-kit-components-board-guides-CtYgR3vt.js +1 -0
  236. package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-CyleppM9.js +1 -0
  237. package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-DIgmoWZb.js +1 -0
  238. package/dist/assets/volter-sdk-kit-components-core-utilities-DiUpX6_J.js +1 -0
  239. package/dist/assets/volter-sdk-kit-components-inspector-preview-section-DozO0dGc.js +1 -0
  240. package/dist/assets/volter-sdk-kit-components-inspector-revert-label-DphwTmZ7.js +1 -0
  241. package/dist/assets/volter-sdk-kit-components-inspector-selection-CylkZ1xp.js +1 -0
  242. package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-DWrDvKfW.js +1 -0
  243. package/dist/assets/volter-sdk-kit-components-inspector-transform-Bn2W8JK2.js +1 -0
  244. package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-CcJXxbUj.js +1 -0
  245. package/dist/assets/volter-sdk-kit-components-kind-documents-CifWEUqd.js +1 -0
  246. package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-V8W2YB8X.js +1 -0
  247. package/dist/assets/volter-sdk-kit-components-project-tool-documents-BT85al6e.js +1 -0
  248. package/dist/assets/volter-sdk-kit-components-scene-documents-CMl_tHf2.js +1 -0
  249. package/dist/assets/volter-sdk-kit-components-status-contributions-C1KC6Io3.js +1 -0
  250. package/dist/assets/volter-sdk-kit-components-tool-documents-D2pXqS_X.js +1 -0
  251. package/dist/assets/volter-sdk-kit-components-tool-schema-form-BESrWRSG.js +1 -0
  252. package/dist/assets/volter-sdk-kit-components-use-after-paint-Cqjy2aQN.js +1 -0
  253. package/dist/assets/volter-sdk-kit-components-use-project-image-assets-4Ifh1dMg.js +1 -0
  254. package/dist/assets/volter-sdk-kit-components-workspace-history-DHn5J9TV.js +1 -0
  255. package/dist/assets/volter-sdk-kit-components-world-documents-BeBYn8do.js +1 -0
  256. package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-C88ain83.js +1 -0
  257. package/dist/assets/volter-sdk-kit-composite-screenshot-Cxy_sUEY.js +1 -0
  258. package/dist/assets/volter-sdk-kit-content-entry-source-registry-pbUbpoa7.js +1 -0
  259. package/dist/assets/volter-sdk-kit-contribution-surfaces-BEyZClqW.js +1 -0
  260. package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-K8clYL3O.js +1 -0
  261. package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-W5nPqp6R.js +1 -0
  262. package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-Bz-w8IbS.js +1 -0
  263. package/dist/assets/volter-sdk-kit-coverage-session-vitals-tE3VjZpQ.js +1 -0
  264. package/dist/assets/volter-sdk-kit-creation-site-registry-Bvc5a6Hc.js +1 -0
  265. package/dist/assets/volter-sdk-kit-delegate-harness-registry-DPZ6PJhY.js +1 -0
  266. package/dist/assets/volter-sdk-kit-document-areas-Cls1cKy7.js +1 -0
  267. package/dist/assets/volter-sdk-kit-document-context-registry-COJ9wuwW.js +1 -0
  268. package/dist/assets/volter-sdk-kit-document-open-registry-CioaiUxS.js +1 -0
  269. package/dist/assets/volter-sdk-kit-document-play-extension-B_A4KvEe.js +1 -0
  270. package/dist/assets/volter-sdk-kit-document-preview-source-BYlnMJh4.js +1 -0
  271. package/dist/assets/volter-sdk-kit-document-renderer-session-BseH4HPy.js +1 -0
  272. package/dist/assets/volter-sdk-kit-document-stage-sessions-2H7saKcL.js +1 -0
  273. package/dist/assets/volter-sdk-kit-document-viewports-BftbQWJw.js +1 -0
  274. package/dist/assets/volter-sdk-kit-editor-api-BYTYNSUJ.js +1 -0
  275. package/dist/assets/volter-sdk-kit-editor-chrome-capture-DClKvIxe.js +1 -0
  276. package/dist/assets/volter-sdk-kit-editor-commands-DWTG0GRw.js +1 -0
  277. package/dist/assets/volter-sdk-kit-editor-console-DTxbANkB.js +1 -0
  278. package/dist/assets/volter-sdk-kit-editor-current-view-qwDflyN0.js +1 -0
  279. package/dist/assets/volter-sdk-kit-editor-document-probe-g7zFmNA3.js +1 -0
  280. package/dist/assets/volter-sdk-kit-editor-git-client-Bz9Vwugp.js +1 -0
  281. package/dist/assets/volter-sdk-kit-editor-hotkeys-0CT6NvI2.js +1 -0
  282. package/dist/assets/volter-sdk-kit-editor-lease-C8nOQYdf.js +1 -0
  283. package/dist/assets/volter-sdk-kit-editor-lease-view-C06fIqki.js +1 -0
  284. package/dist/assets/volter-sdk-kit-editor-mode-DEbLIlsu.js +1 -0
  285. package/dist/assets/volter-sdk-kit-editor-notifications-BUFrOcXY.js +1 -0
  286. package/dist/assets/volter-sdk-kit-editor-presence-CKHP-9Ur.js +1 -0
  287. package/dist/assets/volter-sdk-kit-editor-presentation-activity-eikQFo_d.js +1 -0
  288. package/dist/assets/volter-sdk-kit-editor-presentation-notice-DtnrJGvn.js +1 -0
  289. package/dist/assets/volter-sdk-kit-editor-runtime-BVFCMuQV.js +1 -0
  290. package/dist/assets/volter-sdk-kit-editor-server-response-Ce6Yb7pj.js +1 -0
  291. package/dist/assets/volter-sdk-kit-editor-session-attribution-go91xXai.js +1 -0
  292. package/dist/assets/volter-sdk-kit-editor-session-mode-DCnQNAc9.js +1 -0
  293. package/dist/assets/volter-sdk-kit-editor-state-facets-D2hGXjy-.js +1 -0
  294. package/dist/assets/volter-sdk-kit-editor-view-presentation-CF_b9Ter.js +1 -0
  295. package/dist/assets/volter-sdk-kit-environment-images-Cs993C1t.js +1 -0
  296. package/dist/assets/volter-sdk-kit-eyedropper-session-1SlXKa-5.js +1 -0
  297. package/dist/assets/volter-sdk-kit-files-file-provider-2w-uwCOQ.js +1 -0
  298. package/dist/assets/volter-sdk-kit-files-project-files-Ro9o5A8R.js +1 -0
  299. package/dist/assets/volter-sdk-kit-finders-index-CPnaOwA0.js +1 -0
  300. package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-DB7rYujP.js +1 -0
  301. package/dist/assets/volter-sdk-kit-frame-frame-parts-BJZcQJn_.js +1 -0
  302. package/dist/assets/volter-sdk-kit-framed-document-capture-C-ZGphem.js +1 -0
  303. package/dist/assets/volter-sdk-kit-game-surface-defaults-D20PoeRb.js +1 -0
  304. package/dist/assets/volter-sdk-kit-gameplay-export-state-BO1_5-0T.js +1 -0
  305. package/dist/assets/volter-sdk-kit-gameplay-replay-DOJrj73b.js +1 -0
  306. package/dist/assets/volter-sdk-kit-gameplay-session-time-BOozCmsy.js +1 -0
  307. package/dist/assets/volter-sdk-kit-gameplay-sessions-B6xQ1Ygu.js +1 -0
  308. package/dist/assets/volter-sdk-kit-hierarchy-component-marks-BSTm7yb5.js +1 -0
  309. package/dist/assets/volter-sdk-kit-hierarchy-internals-BcbwlMYS.js +1 -0
  310. package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-TTmklIoA.js +1 -0
  311. package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-BwIDl4KI.js +1 -0
  312. package/dist/assets/volter-sdk-kit-hierarchy-node-rows-CcbzWWkn.js +1 -0
  313. package/dist/assets/volter-sdk-kit-hierarchy-panel-view-BU7AsNu9.js +1 -0
  314. package/dist/assets/volter-sdk-kit-hierarchy-projection-BF4-WE9Z.js +1 -0
  315. package/dist/assets/volter-sdk-kit-hierarchy-row-media-B_-60YBV.js +1 -0
  316. package/dist/assets/volter-sdk-kit-hierarchy-row-model-Dd96u803.js +1 -0
  317. package/dist/assets/volter-sdk-kit-hierarchy-rows-DFZ0CGnb.js +1 -0
  318. package/dist/assets/volter-sdk-kit-hierarchy-walk-CLuD_lks.js +1 -0
  319. package/dist/assets/volter-sdk-kit-history-editor-session-B6l0yIvD.js +1 -0
  320. package/dist/assets/volter-sdk-kit-history-history-commands-DE8kSeTL.js +1 -0
  321. package/dist/assets/volter-sdk-kit-history-history-delegate-mPmj9QuA.js +1 -0
  322. package/dist/assets/volter-sdk-kit-history-history-limit-notices-UlKwNIyi.js +1 -0
  323. package/dist/assets/volter-sdk-kit-history-history-service-kxmGauC4.js +1 -0
  324. package/dist/assets/volter-sdk-kit-history-persistence-coordinator-B3EjWM_6.js +1 -0
  325. package/dist/assets/volter-sdk-kit-history-project-file-history-P-7nGKz2.js +1 -0
  326. package/dist/assets/volter-sdk-kit-history-project-root-history-backends-D9T7hptd.js +1 -0
  327. package/dist/assets/volter-sdk-kit-history-resource-registry-GqJXS0u1.js +1 -0
  328. package/dist/assets/volter-sdk-kit-history-snapshot-store-r-JpuS1b.js +1 -0
  329. package/dist/assets/volter-sdk-kit-history-source-history-backend-DgmBite1.js +1 -0
  330. package/dist/assets/volter-sdk-kit-hmr-registration-group-BjTc-gWi.js +1 -0
  331. package/dist/assets/volter-sdk-kit-hmr-stable-react-context-BKXJp1Wa.js +1 -0
  332. package/dist/assets/volter-sdk-kit-hotkeys-lUURj98f.js +1 -0
  333. package/dist/assets/volter-sdk-kit-inference-diagnostics-iL-icED2.js +1 -0
  334. package/dist/assets/volter-sdk-kit-initial-project-r9AGaCEV.js +1 -0
  335. package/dist/assets/volter-sdk-kit-inspection-active-subject-5S_pYQZ-.js +1 -0
  336. package/dist/assets/volter-sdk-kit-inspection-active-surface-CaQG6UKY.js +1 -0
  337. package/dist/assets/volter-sdk-kit-inspection-compose-subject-EpNpkIVA.js +1 -0
  338. package/dist/assets/volter-sdk-kit-inspection-display-CV24iFy0.js +1 -0
  339. package/dist/assets/volter-sdk-kit-inspection-document-subject-D0G1NpV-.js +1 -0
  340. package/dist/assets/volter-sdk-kit-inspection-game-subject-CZHG-nYf.js +1 -0
  341. package/dist/assets/volter-sdk-kit-inspection-model-CvdrSqjB.js +1 -0
  342. package/dist/assets/volter-sdk-kit-inspection-node-media-BXqWmQUg.js +1 -0
  343. package/dist/assets/volter-sdk-kit-inspection-null-subject-Bcb-GiSb.js +1 -0
  344. package/dist/assets/volter-sdk-kit-inspection-serialize-DjqqAPYx.js +1 -0
  345. package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-BPYhHmE5.js +1 -0
  346. package/dist/assets/volter-sdk-kit-inspector-presentation-Bk_hAuqa.js +1 -0
  347. package/dist/assets/volter-sdk-kit-inspector-property-grouping-1sIFfh6k.js +1 -0
  348. package/dist/assets/volter-sdk-kit-inspector-section-registry-mOP76jDC.js +1 -0
  349. package/dist/assets/volter-sdk-kit-instance-source-actions-DgYyTJ1L.js +1 -0
  350. package/dist/assets/volter-sdk-kit-js-heap-BgdMvJQf.js +1 -0
  351. package/dist/assets/volter-sdk-kit-key-actions-CcJ_hsat.js +1 -0
  352. package/dist/assets/volter-sdk-kit-keymap-presets-DIOyAaoY.js +1 -0
  353. package/dist/assets/volter-sdk-kit-layout-policy-B0wcwgJi.js +1 -0
  354. package/dist/assets/volter-sdk-kit-light-explorer-model-B0xwMdjo.js +1 -0
  355. package/dist/assets/volter-sdk-kit-live-canvas-frame-BzFqKVf1.js +1 -0
  356. package/dist/assets/volter-sdk-kit-live-document-CEUkBHPh.js +1 -0
  357. package/dist/assets/volter-sdk-kit-live-gesture-lock-B8xj4neH.js +1 -0
  358. package/dist/assets/volter-sdk-kit-live-seam-evidence-BKHpRDSA.js +1 -0
  359. package/dist/assets/volter-sdk-kit-live-session-registry-NoSz-y_2.js +1 -0
  360. package/dist/assets/volter-sdk-kit-live-transition-DORDLjxn.js +1 -0
  361. package/dist/assets/volter-sdk-kit-manifest-project-B7EIv9aw.js +1 -0
  362. package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-XQTJvGYG.js +1 -0
  363. package/dist/assets/volter-sdk-kit-mount-failure-report-uctUjbrg.js +1 -0
  364. package/dist/assets/volter-sdk-kit-native-selection-style-BX3u3QqS.js +1 -0
  365. package/dist/assets/volter-sdk-kit-object3d-document-write-policy-DxQlPGXa.js +1 -0
  366. package/dist/assets/volter-sdk-kit-packaged-runtime-BnE8X5j8.js +1 -0
  367. package/dist/assets/volter-sdk-kit-performance-profiler-Do-2g-Zi.js +1 -0
  368. package/dist/assets/volter-sdk-kit-performance-sources-DmNgsVvP.js +1 -0
  369. package/dist/assets/volter-sdk-kit-photograph-notice-CWe_5xpG.js +1 -0
  370. package/dist/assets/volter-sdk-kit-play-boot-phase-BpO-PhEE.js +1 -0
  371. package/dist/assets/volter-sdk-kit-play-camera-flight-BMzFf_5y.js +1 -0
  372. package/dist/assets/volter-sdk-kit-presentation-surface-CK_5E_Hw.js +1 -0
  373. package/dist/assets/volter-sdk-kit-product-command-Pwr29f2N.js +1 -0
  374. package/dist/assets/volter-sdk-kit-project-adapter-B0VtilAI.js +1 -0
  375. package/dist/assets/volter-sdk-kit-project-asset-refresh-D-TDQkZq.js +1 -0
  376. package/dist/assets/volter-sdk-kit-project-asset-roots-aKcCnW2w.js +1 -0
  377. package/dist/assets/volter-sdk-kit-project-local-state-D8ozPRJT.js +1 -0
  378. package/dist/assets/volter-sdk-kit-project-manager-BZgbSdT2.js +1 -0
  379. package/dist/assets/volter-sdk-kit-project-module-changes-llcbbEPS.js +1 -0
  380. package/dist/assets/volter-sdk-kit-project-module-split-D2QHRYrE.js +1 -0
  381. package/dist/assets/volter-sdk-kit-project-provenance-BGtQk67h.js +1 -0
  382. package/dist/assets/volter-sdk-kit-project-ready-r_DrbnUW.js +1 -0
  383. package/dist/assets/volter-sdk-kit-project-shape-CYljtx_s.js +1 -0
  384. package/dist/assets/volter-sdk-kit-project-tools-Bn80-DJf.js +1 -0
  385. package/dist/assets/volter-sdk-kit-readiness-DAUC33Ma.js +1 -0
  386. package/dist/assets/volter-sdk-kit-renderer-resource-counts-BPXCfmQD.js +1 -0
  387. package/dist/assets/volter-sdk-kit-reported-play-state-Dk7rCCTv.js +1 -0
  388. package/dist/assets/volter-sdk-kit-resolve-contributed-command-DyjnoSX-.js +1 -0
  389. package/dist/assets/volter-sdk-kit-resolve-relative-specifier-Db0j-cu5.js +1 -0
  390. package/dist/assets/volter-sdk-kit-retained-document-states-D_6yvSKL.js +1 -0
  391. package/dist/assets/volter-sdk-kit-scene-document-plan-C41RAWLI.js +1 -0
  392. package/dist/assets/volter-sdk-kit-scene-live-open-2Itf_5rk.js +1 -0
  393. package/dist/assets/volter-sdk-kit-scoped-game-css-Bc0lvAtN.js +1 -0
  394. package/dist/assets/volter-sdk-kit-served-url-DUGfcPPj.js +1 -0
  395. package/dist/assets/volter-sdk-kit-session-close-BN2fd4lm.js +1 -0
  396. package/dist/assets/volter-sdk-kit-session-tombstone-CBG2IMlr.js +1 -0
  397. package/dist/assets/volter-sdk-kit-settings-settings-provider-Daly1PI0.js +1 -0
  398. package/dist/assets/volter-sdk-kit-settings-store-C6x0_aNn.js +1 -0
  399. package/dist/assets/volter-sdk-kit-shell-store-BB3eIVlD.js +1 -0
  400. package/dist/assets/volter-sdk-kit-shell-store-door-D7n_t68k.js +1 -0
  401. package/dist/assets/volter-sdk-kit-source-conflict-CDVydpX_.js +1 -0
  402. package/dist/assets/volter-sdk-kit-stage-context-DMJMMnOi.js +1 -0
  403. package/dist/assets/volter-sdk-kit-stage-invalidation-CsH4o-eV.js +1 -0
  404. package/dist/assets/volter-sdk-kit-stage-store-registry-2dCwP_-U.js +1 -0
  405. package/dist/assets/volter-sdk-kit-startup-failure-C4pTlDXZ.js +1 -0
  406. package/dist/assets/volter-sdk-kit-state-report-deferral-BNWZ0Pmq.js +1 -0
  407. package/dist/assets/volter-sdk-kit-storage-host-files-storage-DDZlTTcQ.js +1 -0
  408. package/dist/assets/volter-sdk-kit-storage-http-storage-BaIU5Wwf.js +1 -0
  409. package/dist/assets/volter-sdk-kit-storage-index-CxXgwnLJ.js +1 -0
  410. package/dist/assets/volter-sdk-kit-storage-mem-storage-R2K8J1hc.js +1 -0
  411. package/dist/assets/volter-sdk-kit-storage-path-lock-Bl3dm8op.js +1 -0
  412. package/dist/assets/volter-sdk-kit-storage-paths-CfKmJRS2.js +1 -0
  413. package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-BIw090Cm.js +1 -0
  414. package/dist/assets/volter-sdk-kit-stories-compose-project-stories-C04g6Myy.js +1 -0
  415. package/dist/assets/volter-sdk-kit-stories-prefabs-finder-BynTuzNO.js +1 -0
  416. package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-6zMkHvRp.js +1 -0
  417. package/dist/assets/volter-sdk-kit-stories-project-story-regions-NVsOoh-t.js +1 -0
  418. package/dist/assets/volter-sdk-kit-stories-scope-BlbVm0HZ.js +1 -0
  419. package/dist/assets/volter-sdk-kit-stories-story-capture-Dbafez9N.js +1 -0
  420. package/dist/assets/volter-sdk-kit-stories-story-declared-medium-CVvgZtQQ.js +1 -0
  421. package/dist/assets/volter-sdk-kit-stories-story-discovery-CHhjjlFM.js +1 -0
  422. package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-BLnbn3f9.js +1 -0
  423. package/dist/assets/volter-sdk-kit-stories-story-grouping-Bc1-xcW8.js +1 -0
  424. package/dist/assets/volter-sdk-kit-stories-story-presentation-km4alPJC.js +1 -0
  425. package/dist/assets/volter-sdk-kit-stories-story-registry-CEckhU-h.js +1 -0
  426. package/dist/assets/volter-sdk-kit-story-document-openers-BRhuDI1q.js +1 -0
  427. package/dist/assets/volter-sdk-kit-story-thumbnails-CPRX-vXy.js +1 -0
  428. package/dist/assets/volter-sdk-kit-surface-keyboard-DwYTYPkC.js +1 -0
  429. package/dist/assets/volter-sdk-kit-surface-state-6chriu48.js +1 -0
  430. package/dist/assets/volter-sdk-kit-system-seam-evidence-D3wlNSjh.js +1 -0
  431. package/dist/assets/volter-sdk-kit-tab-census-DA8unEL0.js +1 -0
  432. package/dist/assets/volter-sdk-kit-tab-lifecycle-client-CCXy_Nr0.js +1 -0
  433. package/dist/assets/volter-sdk-kit-theme-library-BsTa9EnD.js +1 -0
  434. package/dist/assets/volter-sdk-kit-theme-preference-7cbKlQYG.js +1 -0
  435. package/dist/assets/volter-sdk-kit-three-viewport-presentation-eJqDHxB_.js +1 -0
  436. package/dist/assets/volter-sdk-kit-tool-contribution-play-Br1O7Bpo.js +1 -0
  437. package/dist/assets/volter-sdk-kit-tool-loader-BFc9_5mU.js +1 -0
  438. package/dist/assets/volter-sdk-kit-transform-mode-request-WBbQlsUY.js +1 -0
  439. package/dist/assets/volter-sdk-kit-transient-hint-BvBMQl53.js +1 -0
  440. package/dist/assets/volter-sdk-kit-transport-strip-MsX6taxp.js +1 -0
  441. package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-DUhbS4hJ.js +1 -0
  442. package/dist/assets/volter-sdk-kit-ui-source-inspect-CFVyyVWi.js +1 -0
  443. package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-C1mzO8hd.js +1 -0
  444. package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-7BJyCfox.js +1 -0
  445. package/dist/assets/volter-sdk-kit-user-local-state-CnFd43eI.js +1 -0
  446. package/dist/assets/volter-sdk-kit-viewport-activation-timings-DK-_Hk8i.js +1 -0
  447. package/dist/assets/volter-sdk-kit-viewport-editor-controls-wtNwbgh-.js +1 -0
  448. package/dist/assets/volter-sdk-kit-viewport-presentation-BBCU3cnw.js +1 -0
  449. package/dist/assets/volter-sdk-kit-viewport-surface-status-DKKTFoQc.js +1 -0
  450. package/dist/assets/volter-sdk-kit-wait-until-Dk1CioLm.js +1 -0
  451. package/dist/assets/volter-sdk-kit-worker-call-metrics-DP1ibCSj.js +1 -0
  452. package/dist/assets/volter-sdk-kit-workspace-areas-BNydeZ9f.js +1 -0
  453. package/dist/assets/volter-sdk-kit-workspace-aux-commands-BejGZPiM.js +1 -0
  454. package/dist/assets/volter-sdk-kit-workspace-available-documents-DkW7huc_.js +1 -0
  455. package/dist/assets/volter-sdk-kit-workspace-core-utilities-CU7834s5.js +1 -0
  456. package/dist/assets/volter-sdk-kit-workspace-document-ids-VjnkEcai.js +1 -0
  457. package/dist/assets/volter-sdk-kit-workspace-document-registry-g632jxTj.js +1 -0
  458. package/dist/assets/volter-sdk-kit-workspace-document-restore-BS7_MBm7.js +1 -0
  459. package/dist/assets/volter-sdk-kit-workspace-host-commands-C8h5gS9V.js +1 -0
  460. package/dist/assets/volter-sdk-kit-workspace-persistence-gate-CaSZzmYC.js +1 -0
  461. package/dist/assets/volter-sdk-kit-workspace-play-utilities-BevJyDD-.js +1 -0
  462. package/dist/assets/volter-sdk-kit-workspace-presets-D5QIi2SQ.js +1 -0
  463. package/dist/assets/volter-sdk-kit-workspace-regions-8zc3C4VB.js +1 -0
  464. package/dist/assets/volter-sdk-kit-workspace-static-panels-CCrvf5oL.js +1 -0
  465. package/dist/assets/volter-sdk-kit-workspace-status-registry-BKJYFIoe.js +1 -0
  466. package/dist/assets/volter-sdk-kit-workspace-storage-C_ddKQlQ.js +1 -0
  467. package/dist/assets/volter-sdk-kit-workspace-style-BfTAZFay.js +1 -0
  468. package/dist/assets/volter-sdk-kit-workspace-utility-commands-lP2OWA0z.js +1 -0
  469. package/dist/assets/volter-sdk-kit-workspace-utility-registry-B-foxQ-C.js +1 -0
  470. package/dist/assets/volter-sdk-kit-world-adoption-Csithpmb.js +1 -0
  471. package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-D7yJH_ZL.js +1 -0
  472. package/dist/assets/volter-sdk-kit-world-document-routing-DpnhSNiV.js +1 -0
  473. package/dist/assets/volter-sdk-kit-world-pan-state-ZrDZ10sh.js +1 -0
  474. package/dist/assets/volter-sdk-kit-write-pipe-CAF68fO7.js +1 -0
  475. package/dist/assets/volter-sdk-layout-arrangements-DBgQwSnU.js +1 -0
  476. package/dist/assets/volter-sdk-layouts-WIClMrdG.js +1 -0
  477. package/dist/assets/volter-sdk-selection-CvCcx3-f.js +1 -0
  478. package/dist/assets/volter-sdk-session-command-table-CO3oYhLs.js +1 -0
  479. package/dist/assets/volter-sdk-session-editor-brand-CIl_rs65.js +1 -0
  480. package/dist/assets/volter-sdk-session-editor-compatibility-DU9vOUMV.js +1 -0
  481. package/dist/assets/volter-sdk-session-editor-control-protocol-AsmaOXjB.js +1 -0
  482. package/dist/assets/volter-sdk-session-entrypoint-selection-readers-Tr6zvtSp.js +1 -0
  483. package/dist/assets/volter-sdk-session-game-css-scope-vrf_s9tA.js +1 -0
  484. package/dist/assets/volter-sdk-session-project-module-url-CFRXNIyA.js +1 -0
  485. package/dist/assets/volter-sdk-session-relative-path-guard-CA9bTEx5.js +1 -0
  486. package/dist/assets/volter-sdk-session-tool-contribution-convention-ByTOSeIB.js +1 -0
  487. package/dist/assets/volter-sdk-types-HWTl3YLJ.js +1 -0
  488. package/dist/assets/volter-sdk-views-BnPfnhu0.js +1 -0
  489. package/dist/assets/volter-sdk-widgets-design-system-CjqTxQxp.js +1 -0
  490. package/dist/assets/volter-sdk-widgets-editor-appearance-DsAR4pMM.js +1 -0
  491. package/dist/assets/volter-sdk-widgets-editor-material-CF6kV85g.js +1 -0
  492. package/dist/assets/volter-sdk-widgets-icon-set-registry-Cwiz4YLK.js +1 -0
  493. package/dist/assets/volter-sdk-widgets-index-DXWGtPCq.js +1 -0
  494. package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-CK2hpw1J.js +1 -0
  495. package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-D55CifKu.js +1 -0
  496. package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-Bep1Qi32.js +1 -0
  497. package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-E0rlIeU5.js +1 -0
  498. package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-xr3aritk.js +1 -0
  499. package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-BO9mC3YX.js +1 -0
  500. package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-DXutHK-6.js +1 -0
  501. package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-DOow8es6.js +1 -0
  502. package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-iGWJcj7K.js +1 -0
  503. package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-BU-6SYTg.js +1 -0
  504. package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-BuGQPEOI.js +1 -0
  505. package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-CKDt8AOw.js +1 -0
  506. package/dist/assets/volter-sdk-widgets-inspector-widgets-index-D9kfGpjR.js +1 -0
  507. package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-D0rxJy8e.js +1 -0
  508. package/dist/assets/volter-sdk-widgets-interactive-edit-scope-CQ67d7kv.js +1 -0
  509. package/dist/assets/volter-sdk-widgets-patterns-Dialog-BFjn8Sd_.js +1 -0
  510. package/dist/assets/volter-sdk-widgets-patterns-Fields-DcnXQUm5.js +1 -0
  511. package/dist/assets/volter-sdk-widgets-patterns-List-BkuXz3ke.js +1 -0
  512. package/dist/assets/volter-sdk-widgets-patterns-StateSurface-C0YGa2YR.js +1 -0
  513. package/dist/assets/volter-sdk-widgets-patterns-Surfaces-DbOwR7Xt.js +1 -0
  514. package/dist/assets/volter-sdk-widgets-patterns-Tabs-BG0st8-5.js +1 -0
  515. package/dist/assets/volter-sdk-widgets-patterns-Toolbar-DaI3sd6m.js +1 -0
  516. package/dist/assets/volter-sdk-widgets-patterns-Tree-9hQAF2Gw.js +1 -0
  517. package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-DH4BQmYZ.js +1 -0
  518. package/dist/assets/volter-sdk-widgets-primitives-Button-C2V4YIy3.js +1 -0
  519. package/dist/assets/volter-sdk-widgets-primitives-ColorInput-BlE_40cL.js +1 -0
  520. package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-BUqVQsGN.js +1 -0
  521. package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-CbNMak8C.js +1 -0
  522. package/dist/assets/volter-sdk-widgets-primitives-FormControls-BbuM1BPm.js +1 -0
  523. package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-Cviyz-RH.js +1 -0
  524. package/dist/assets/volter-sdk-widgets-primitives-JsonInput-CSDkOkYn.js +1 -0
  525. package/dist/assets/volter-sdk-widgets-primitives-Layout-CReCx9Kx.js +1 -0
  526. package/dist/assets/volter-sdk-widgets-primitives-Menu-CLZTgJJp.js +1 -0
  527. package/dist/assets/volter-sdk-widgets-primitives-NumberInput-BQFPIdyk.js +1 -0
  528. package/dist/assets/volter-sdk-widgets-primitives-Panel-BgeZLCeT.js +1 -0
  529. package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-DrZru2j6.js +1 -0
  530. package/dist/assets/volter-sdk-widgets-primitives-Text-D2f86cQh.js +1 -0
  531. package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-DHky3uSl.js +1 -0
  532. package/dist/assets/volter-sdk-widgets-primitives-Tooltip-D0yyWWZq.js +1 -0
  533. package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-DmltDGvr.js +1 -0
  534. package/dist/assets/volter-sdk-widgets-primitives-banner-tones-3NYMSJru.js +1 -0
  535. package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-DVXTyulW.js +1 -0
  536. package/dist/assets/volter-sdk-widgets-primitives-editor-icons-DExJjfM-.js +1 -0
  537. package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-DOFkrQEQ.js +1 -0
  538. package/dist/assets/volter-sdk-widgets-theme-ZB2jqYVl.js +1 -0
  539. package/dist/assets/volter-sdk-widgets-z-index-7RKo2Q-p.js +1 -0
  540. package/dist/assets/volter-shared-fontawesome-Cwu8OL1t.js +1 -0
  541. package/dist/assets/volter-shared-jsx-dev-runtime-CMricuZe.js +1 -0
  542. package/dist/assets/volter-shared-jsx-runtime-Dadt96Ff.js +1 -0
  543. package/dist/assets/volter-shared-react-D5h5BJ05.js +1 -0
  544. package/dist/assets/volter-shared-react-dom-BoLnHH2D.js +1 -0
  545. package/dist/assets/volter-shared-react-dom-client-2nOBDQTA.js +1 -0
  546. package/dist/assets/volter-shared-three-CUSZKPWM.js +1 -0
  547. package/dist/assets/worker-Dlfs8e8L.js +8 -0
  548. package/dist/volter-shared-react.json +6 -6
  549. package/dist/volter-shared-sdk.json +461 -461
  550. package/dist/volter-shared-three.json +1 -1
  551. package/dist-node/cli.js +22 -17
  552. package/dist-node/create.js +8 -8
  553. package/package.json +8 -8
  554. package/starter/AGENTS.md +17 -10
  555. package/dist/assets/BVHLoader-_L0rt83K.js +0 -1
  556. package/dist/assets/ColladaLoader-BQqbx1cL.js +0 -3
  557. package/dist/assets/EntityModelDocument-uBuW4dcw.js +0 -1
  558. package/dist/assets/EnvironmentAssetDocument-DacXIlc2.js +0 -1
  559. package/dist/assets/FBXLoader-Du5wU7lO.js +0 -1
  560. package/dist/assets/InspectorObjectPreview-BscZ9D5-.js +0 -1
  561. package/dist/assets/LiveModuleDocument-C2C628D6.js +0 -2
  562. package/dist/assets/LutAssetDocument-BZwFFsRG.js +0 -1
  563. package/dist/assets/MTLLoader-BZbBRmlK.js +0 -2
  564. package/dist/assets/ModelAssetDocument-DC2JaSyA.js +0 -1
  565. package/dist/assets/NonThreeAuthoringBootstrap-DGrRc7p7.js +0 -1
  566. package/dist/assets/OBJLoader-IbBt7d-p.js +0 -5
  567. package/dist/assets/Object3DDocumentToolbar-BpXQ5sDh.js +0 -1
  568. package/dist/assets/Object3DPreview-DQELJiRV.js +0 -2
  569. package/dist/assets/OrbitControls-DnIL5QCN.js +0 -1
  570. package/dist/assets/PLYLoader-BxIpCBha.js +0 -2
  571. package/dist/assets/QuarksAssetDocument-SmMX3vmi.js +0 -2
  572. package/dist/assets/RectAreaLightUniformsLib-eEvUA1RR.js +0 -1
  573. package/dist/assets/STLLoader-TWmWoghe.js +0 -1
  574. package/dist/assets/ShaderAssetDocument-DrnxUKur.js +0 -1
  575. package/dist/assets/StageHost-BORfSKrG.js +0 -1179
  576. package/dist/assets/TDSLoader-DUvmhaj2.js +0 -1
  577. package/dist/assets/ToolObject3DPreview-PdwmvcU3.js +0 -1
  578. package/dist/assets/ViewportShadingMenu-BUZ0ii10.js +0 -1
  579. package/dist/assets/animation-mixers.service-BwWjc8OM.js +0 -1
  580. package/dist/assets/animation-timeline.utility-BT21NUzP.js +0 -1
  581. package/dist/assets/asset-preview-pmefkWZp.js +0 -4
  582. package/dist/assets/blender-emscripten-engine-zb7uttQi.js +0 -2
  583. package/dist/assets/blender-node-editor.document-9d2d3qxK.js +0 -1
  584. package/dist/assets/blender-properties-model-Bl_Fx2f0.js +0 -1
  585. package/dist/assets/blender-properties-tab-XFyOIyeh.js +0 -3
  586. package/dist/assets/blender-runtime-host-C8oSlAg-.js +0 -7284
  587. package/dist/assets/blender-runtime.document-CyGd9xBN.js +0 -13
  588. package/dist/assets/blender-screenshot.menu-Ckky16ke.js +0 -1
  589. package/dist/assets/blender-timeline.document-CAsbinZe.js +0 -1
  590. package/dist/assets/blender-uv-editor.document-BqYufr4M.js +0 -1
  591. package/dist/assets/blender-version.status-D7fBYUxm.js +0 -1
  592. package/dist/assets/blender-wali-engine-D2IttqWz.js +0 -2
  593. package/dist/assets/blender.command-BFGIhCsk.js +0 -1
  594. package/dist/assets/blender.status-C6PV4Fk2.js +0 -1
  595. package/dist/assets/index-GOVTlxY2.js +0 -952
  596. package/dist/assets/linear-resolve-DHfrDPG9.js +0 -377
  597. package/dist/assets/model-inspection-YwC3k-Ge.js +0 -1
  598. package/dist/assets/models.finder-C3RQvvgC.js +0 -1
  599. package/dist/assets/object3d-document-session-registry-Csh0ljOG.js +0 -2
  600. package/dist/assets/output-pass-CLtpDjSJ.js +0 -85
  601. package/dist/assets/play-mode-Dh0iSK-i.js +0 -1
  602. package/dist/assets/product-EqCjkr47.js +0 -14
  603. package/dist/assets/properties-bone-constraints.inspector-KjKBQxis.js +0 -1
  604. package/dist/assets/properties-bone.inspector-BKPPhosH.js +0 -1
  605. package/dist/assets/properties-collection.inspector-By8Lgc4p.js +0 -1
  606. package/dist/assets/properties-constraints.inspector-GQ8bhuc6.js +0 -1
  607. package/dist/assets/properties-data.inspector-B_Q1JEan.js +0 -1
  608. package/dist/assets/properties-material.inspector-B67qSdbx.js +0 -1
  609. package/dist/assets/properties-modifiers.inspector-lmXggWdE.js +0 -1
  610. package/dist/assets/properties-object.inspector-D13tx1Gr.js +0 -1
  611. package/dist/assets/properties-output.inspector-CDgE7Q6-.js +0 -1
  612. package/dist/assets/properties-particles.inspector-B89tCHgO.js +0 -1
  613. package/dist/assets/properties-physics.inspector-CXPOIP1b.js +0 -1
  614. package/dist/assets/properties-render.inspector-CxM6dwRw.js +0 -1
  615. package/dist/assets/properties-scene.inspector-By2E4nBk.js +0 -1
  616. package/dist/assets/properties-texture.inspector-D-WbjrTn.js +0 -1
  617. package/dist/assets/properties-view-layer.inspector-DXByR2Sp.js +0 -1
  618. package/dist/assets/properties-world.inspector-BkrjMxdw.js +0 -1
  619. package/dist/assets/react-18-DrxvWpX8.js +0 -1
  620. package/dist/assets/session-jWA2YopV.js +0 -5648
  621. package/dist/assets/spark.module-DPtvi_Wx.js +0 -12120
  622. package/dist/assets/stage-keyboard-BFsxczKr.js +0 -1
  623. package/dist/assets/stage-overlay-set-DuL_t9j3.js +0 -1
  624. package/dist/assets/stage-presence-markers-CXn4E7Ji.js +0 -1
  625. package/dist/assets/stage-transform-tools-CFooi_vU.js +0 -1
  626. package/dist/assets/standard-viewport-dressing-B2FyG7Yt.js +0 -24
  627. package/dist/assets/three-integration.service-C-sp8jZH.js +0 -2
  628. package/dist/assets/three.module-1DIrGqXA.js +0 -3840
  629. package/dist/assets/volter-sdk-BuGz2Ml5.js +0 -2363
  630. package/dist/assets/volter-sdk-account-BaS4WA7K.js +0 -1
  631. package/dist/assets/volter-sdk-client-ClWACCN8.js +0 -1
  632. package/dist/assets/volter-sdk-contributions-xNy5M4q3.js +0 -1
  633. package/dist/assets/volter-sdk-css-numeric-style-RyQ9txBt.js +0 -1
  634. package/dist/assets/volter-sdk-document-probe-CbBBfnoa.js +0 -1
  635. package/dist/assets/volter-sdk-editor-view-CW5yLSf1.js +0 -1
  636. package/dist/assets/volter-sdk-host-k3OjsSnp.js +0 -1
  637. package/dist/assets/volter-sdk-http-transport.browser-DwRQvIkp.js +0 -1
  638. package/dist/assets/volter-sdk-index-BSGaFJX0.js +0 -1
  639. package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-DoM4eH2r.js +0 -1
  640. package/dist/assets/volter-sdk-kit-account-client-DbPdgslp.js +0 -1
  641. package/dist/assets/volter-sdk-kit-action-registry-C3338C3W.js +0 -1
  642. package/dist/assets/volter-sdk-kit-active-product-Cs8Lz-4U.js +0 -1
  643. package/dist/assets/volter-sdk-kit-active-project-BJyc4ilA.js +0 -1
  644. package/dist/assets/volter-sdk-kit-adapter-editor-config-iW9zKdMw.js +0 -1
  645. package/dist/assets/volter-sdk-kit-adapter-observation-DfbUI10T.js +0 -1
  646. package/dist/assets/volter-sdk-kit-animation-animation-clock-DL6gO72M.js +0 -1
  647. package/dist/assets/volter-sdk-kit-animation-stage-transport-mKR990ZL.js +0 -1
  648. package/dist/assets/volter-sdk-kit-api-assets-CMAdNXDa.js +0 -1
  649. package/dist/assets/volter-sdk-kit-api-base-CZ_JB5-3.js +0 -1
  650. package/dist/assets/volter-sdk-kit-api-build-DVMeJcv1.js +0 -1
  651. package/dist/assets/volter-sdk-kit-api-logs-DNzQPXl-.js +0 -1
  652. package/dist/assets/volter-sdk-kit-api-project-identity-CXlY4knY.js +0 -1
  653. package/dist/assets/volter-sdk-kit-api-project-open-DKWGJ78L.js +0 -1
  654. package/dist/assets/volter-sdk-kit-api-project-source-DPHGpA-N.js +0 -1
  655. package/dist/assets/volter-sdk-kit-api-project-state-BaCY6LR-.js +0 -1
  656. package/dist/assets/volter-sdk-kit-api-relay-UdKkDHS2.js +0 -1
  657. package/dist/assets/volter-sdk-kit-api-settings-DKgLopNt.js +0 -1
  658. package/dist/assets/volter-sdk-kit-api-themes-CSlqIt16.js +0 -1
  659. package/dist/assets/volter-sdk-kit-api-worktrees-9ZH7LSMe.js +0 -1
  660. package/dist/assets/volter-sdk-kit-asset-capabilities-CHNVTEVS.js +0 -1
  661. package/dist/assets/volter-sdk-kit-asset-compare-core-zxwGEyLW.js +0 -1
  662. package/dist/assets/volter-sdk-kit-asset-editor-context-BlNkNcbW.js +0 -1
  663. package/dist/assets/volter-sdk-kit-asset-events-CBL8PPkV.js +0 -1
  664. package/dist/assets/volter-sdk-kit-asset-inspector-actions-B5nsd99u.js +0 -1
  665. package/dist/assets/volter-sdk-kit-asset-selection-CoYolyme.js +0 -1
  666. package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-Dty6Nyty.js +0 -1
  667. package/dist/assets/volter-sdk-kit-asset-thumbnails-BsYEE5H1.js +0 -1
  668. package/dist/assets/volter-sdk-kit-asset-viewers-BTeOIYMJ.js +0 -1
  669. package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-SRGGq8rN.js +0 -1
  670. package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-CMuilZzI.js +0 -1
  671. package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-DHPBQE2P.js +0 -1
  672. package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-DvMTJ-Kw.js +0 -1
  673. package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-J47-xeXG.js +0 -1
  674. package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-DrEDkshS.js +0 -1
  675. package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-DGrhk2SI.js +0 -1
  676. package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-CTy3wYbx.js +0 -1
  677. package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-BdO7yi5j.js +0 -1
  678. package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-Cj56fNID.js +0 -1
  679. package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-Bu3cTPD_.js +0 -1
  680. package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-FyRkv4GZ.js +0 -1
  681. package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-C02t313z.js +0 -1
  682. package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-DzqVRopm.js +0 -1
  683. package/dist/assets/volter-sdk-kit-asset-workflow-project-content-CzDTEWJ3.js +0 -1
  684. package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-DvI2MNoI.js +0 -1
  685. package/dist/assets/volter-sdk-kit-authoring-active-adapter-DMMv2CML.js +0 -1
  686. package/dist/assets/volter-sdk-kit-authoring-active-systems-Cz8Nuy9y.js +0 -1
  687. package/dist/assets/volter-sdk-kit-authoring-adapter-key-CWu71rh_.js +0 -1
  688. package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-C2sx4kqS.js +0 -1
  689. package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-B0uqG-wA.js +0 -1
  690. package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-BqDT2c3P.js +0 -1
  691. package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-BVsSWkIF.js +0 -1
  692. package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-Co7EXfDd.js +0 -1
  693. package/dist/assets/volter-sdk-kit-authoring-consumer-actions-6aYnKXsw.js +0 -1
  694. package/dist/assets/volter-sdk-kit-authoring-design-time-layers-vfif1Ww7.js +0 -1
  695. package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-CgWGMyUl.js +0 -1
  696. package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-CVi8fVDM.js +0 -1
  697. package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-BJKCXpvi.js +0 -1
  698. package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-CFIxT70U.js +0 -1
  699. package/dist/assets/volter-sdk-kit-authoring-layered-pick-p1GeVJ3P.js +0 -1
  700. package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-BozjrYyJ.js +0 -1
  701. package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-UrhQE4Bg.js +0 -1
  702. package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-BiAGrCZi.js +0 -1
  703. package/dist/assets/volter-sdk-kit-authoring-panel-authoring-CSG80mnp.js +0 -1
  704. package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-BJ9XWHjf.js +0 -1
  705. package/dist/assets/volter-sdk-kit-authoring-provenance-BtQZvlqy.js +0 -1
  706. package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-Z8uEcPcV.js +0 -1
  707. package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-CgwJ2uQS.js +0 -1
  708. package/dist/assets/volter-sdk-kit-authoring-react-story-board-2D4PCN5C.js +0 -1
  709. package/dist/assets/volter-sdk-kit-authoring-seam-evidence-CaFMODmD.js +0 -1
  710. package/dist/assets/volter-sdk-kit-authoring-selection-scope-Fu869Tzi.js +0 -1
  711. package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-BS3J8Z5O.js +0 -1
  712. package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-t-zjR84h.js +0 -1
  713. package/dist/assets/volter-sdk-kit-authoring-three-root-DGxip12B.js +0 -1
  714. package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-mC6ONUnS.js +0 -1
  715. package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-CnwjLzfR.js +0 -1
  716. package/dist/assets/volter-sdk-kit-authoring-world-session-state-DkSuP3KC.js +0 -1
  717. package/dist/assets/volter-sdk-kit-availability-tick-s0j3DFYR.js +0 -1
  718. package/dist/assets/volter-sdk-kit-bitmap-label-DUFn0rV0.js +0 -1
  719. package/dist/assets/volter-sdk-kit-boot-routing-CnipG4uw.js +0 -1
  720. package/dist/assets/volter-sdk-kit-breakpoint-state-C7ROJpX3.js +0 -1
  721. package/dist/assets/volter-sdk-kit-build-identity-BFVS_ntm.js +0 -1
  722. package/dist/assets/volter-sdk-kit-bytes-codec-C8OuAd7r.js +0 -1
  723. package/dist/assets/volter-sdk-kit-cancellation-reason-BPHCN2P0.js +0 -1
  724. package/dist/assets/volter-sdk-kit-canvas-frames-C5nsqNcJ.js +0 -1
  725. package/dist/assets/volter-sdk-kit-capture-camera-pose-CSgqKEAs.js +0 -1
  726. package/dist/assets/volter-sdk-kit-capture-size-B-P1nNLN.js +0 -1
  727. package/dist/assets/volter-sdk-kit-chrome-registry-Bm3hbYUV.js +0 -1
  728. package/dist/assets/volter-sdk-kit-chrome-slot-registry-C1AIuJJ7.js +0 -1
  729. package/dist/assets/volter-sdk-kit-collaboration-client-CF12FhLi.js +0 -1
  730. package/dist/assets/volter-sdk-kit-collaboration-presence-DJLPXFV2.js +0 -1
  731. package/dist/assets/volter-sdk-kit-command-dispatch-CE2t7q5Z.js +0 -1
  732. package/dist/assets/volter-sdk-kit-command-listener-C2vNFjdH.js +0 -1
  733. package/dist/assets/volter-sdk-kit-command-registry-D7y0owIJ.js +0 -1
  734. package/dist/assets/volter-sdk-kit-component-board-registry-akDmV4yk.js +0 -1
  735. package/dist/assets/volter-sdk-kit-component-states-registry-DF3CFQg_.js +0 -1
  736. package/dist/assets/volter-sdk-kit-components-AlignToolbar-XtYtQIkv.js +0 -1
  737. package/dist/assets/volter-sdk-kit-components-ApplicationMenus-Bru3f2Yh.js +0 -1
  738. package/dist/assets/volter-sdk-kit-components-AssetEditorShell-Bl5qEa0D.js +0 -1
  739. package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-J8abeMJV.js +0 -1
  740. package/dist/assets/volter-sdk-kit-components-BoardRulers-DiS-3-25.js +0 -1
  741. package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-CdGLQ55E.js +0 -1
  742. package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-C3SO5PI5.js +0 -1
  743. package/dist/assets/volter-sdk-kit-components-ChromeSlot-BhK10Tvx.js +0 -1
  744. package/dist/assets/volter-sdk-kit-components-CodeView-CpiS2EmB.js +0 -1
  745. package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-DJgBRVX2.js +0 -1
  746. package/dist/assets/volter-sdk-kit-components-ConsolePanel-DDN-VXqk.js +0 -1
  747. package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-DsCFiGOc.js +0 -1
  748. package/dist/assets/volter-sdk-kit-components-InspectionProjection-_Li0DPzH.js +0 -1
  749. package/dist/assets/volter-sdk-kit-components-Inspector-DJRySnhW.js +0 -1
  750. package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-Bxr13fLx.js +0 -1
  751. package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-DMldy7J1.js +0 -1
  752. package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-qnQ5jDaH.js +0 -1
  753. package/dist/assets/volter-sdk-kit-components-InspectorToolSection-DjwuF8ZD.js +0 -1
  754. package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-ByB1IwxW.js +0 -1
  755. package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-DPW9rVT8.js +0 -1
  756. package/dist/assets/volter-sdk-kit-components-MediaProperties-B7rosLXR.js +0 -1
  757. package/dist/assets/volter-sdk-kit-components-ProjectHeader-Du4I_Krs.js +0 -1
  758. package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-DfNwNEFe.js +0 -1
  759. package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-Dq2FAhu3.js +0 -1
  760. package/dist/assets/volter-sdk-kit-components-RootTextEditor-CeWfzCLN.js +0 -1
  761. package/dist/assets/volter-sdk-kit-components-SaveStatus-CfZ4Wc0c.js +0 -1
  762. package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-DmERbROP.js +0 -1
  763. package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-Dt7GOswD.js +0 -1
  764. package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-Dx22WBfu.js +0 -1
  765. package/dist/assets/volter-sdk-kit-components-ToolHost-BwdWKvpp.js +0 -1
  766. package/dist/assets/volter-sdk-kit-components-Toolbar-a48EfHxk.js +0 -1
  767. package/dist/assets/volter-sdk-kit-components-TransientHint-DEek0Yl-.js +0 -1
  768. package/dist/assets/volter-sdk-kit-components-VersionControlSection-DQuGXh6x.js +0 -1
  769. package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-6SR0y1Ux.js +0 -1
  770. package/dist/assets/volter-sdk-kit-components-VolterLogo-DL0qWj2E.js +0 -1
  771. package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-Hz2__Gf-.js +0 -1
  772. package/dist/assets/volter-sdk-kit-components-account-documents-DGZpAUM3.js +0 -1
  773. package/dist/assets/volter-sdk-kit-components-asset-documents-BnPdxLkE.js +0 -1
  774. package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-C9ziE52o.js +0 -1
  775. package/dist/assets/volter-sdk-kit-components-asset-selection-section-DldUz-Eo.js +0 -1
  776. package/dist/assets/volter-sdk-kit-components-asset-thumbnails-D0yLdobl.js +0 -1
  777. package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-3eEtlbIq.js +0 -1
  778. package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-CWlUaOCk.js +0 -1
  779. package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-CSUTmlJh.js +0 -1
  780. package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-ChW4Odw_.js +0 -1
  781. package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-CPKelQXA.js +0 -1
  782. package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-CzaXBBAR.js +0 -1
  783. package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-IcXNzKWu.js +0 -1
  784. package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-_JqP023S.js +0 -1
  785. package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-C5QfngU5.js +0 -1
  786. package/dist/assets/volter-sdk-kit-components-board-guides-DUsV4ymi.js +0 -1
  787. package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-BA_Z-KD1.js +0 -1
  788. package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-DW44wzC2.js +0 -1
  789. package/dist/assets/volter-sdk-kit-components-core-utilities-DbwQUAAX.js +0 -1
  790. package/dist/assets/volter-sdk-kit-components-inspector-preview-section-DkxmnSQu.js +0 -1
  791. package/dist/assets/volter-sdk-kit-components-inspector-revert-label-CffCwYjn.js +0 -1
  792. package/dist/assets/volter-sdk-kit-components-inspector-selection-Bi_cGKAD.js +0 -1
  793. package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-Cw-fRr86.js +0 -1
  794. package/dist/assets/volter-sdk-kit-components-inspector-transform-C028guPN.js +0 -1
  795. package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-x5tZejfU.js +0 -1
  796. package/dist/assets/volter-sdk-kit-components-kind-documents-CgAqYiez.js +0 -1
  797. package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-vwqKkNYy.js +0 -1
  798. package/dist/assets/volter-sdk-kit-components-project-tool-documents-etpTjF8B.js +0 -1
  799. package/dist/assets/volter-sdk-kit-components-scene-documents-D11Z_yxX.js +0 -1
  800. package/dist/assets/volter-sdk-kit-components-status-contributions-oL35obJe.js +0 -1
  801. package/dist/assets/volter-sdk-kit-components-tool-documents-CBPqKURX.js +0 -1
  802. package/dist/assets/volter-sdk-kit-components-tool-schema-form-B_PNUAYm.js +0 -1
  803. package/dist/assets/volter-sdk-kit-components-use-after-paint-3A-qr0qd.js +0 -1
  804. package/dist/assets/volter-sdk-kit-components-use-project-image-assets-DbzqTmwu.js +0 -1
  805. package/dist/assets/volter-sdk-kit-components-workspace-history-C7ElGRcY.js +0 -1
  806. package/dist/assets/volter-sdk-kit-components-world-documents-BL22vGyv.js +0 -1
  807. package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-7ulSoGPq.js +0 -1
  808. package/dist/assets/volter-sdk-kit-composite-screenshot-DdSEw5mS.js +0 -1
  809. package/dist/assets/volter-sdk-kit-content-entry-source-registry-O_99icc9.js +0 -1
  810. package/dist/assets/volter-sdk-kit-contribution-surfaces-DIsIUpUl.js +0 -1
  811. package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-DpETZx7H.js +0 -1
  812. package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-CQ7KMc4S.js +0 -1
  813. package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-BaRrgxoi.js +0 -1
  814. package/dist/assets/volter-sdk-kit-coverage-session-vitals-CW4TGmBO.js +0 -1
  815. package/dist/assets/volter-sdk-kit-creation-site-registry-DFoGzGY6.js +0 -1
  816. package/dist/assets/volter-sdk-kit-delegate-harness-registry-DDMPMQJC.js +0 -1
  817. package/dist/assets/volter-sdk-kit-document-areas-B6sYou9m.js +0 -1
  818. package/dist/assets/volter-sdk-kit-document-context-registry-wPCvICE8.js +0 -1
  819. package/dist/assets/volter-sdk-kit-document-open-registry-BafY7g52.js +0 -1
  820. package/dist/assets/volter-sdk-kit-document-play-extension-B-m7YLQu.js +0 -1
  821. package/dist/assets/volter-sdk-kit-document-preview-source-Bu3-dBW2.js +0 -1
  822. package/dist/assets/volter-sdk-kit-document-renderer-session-C8jngaCr.js +0 -1
  823. package/dist/assets/volter-sdk-kit-document-stage-sessions-ztEHGWpo.js +0 -1
  824. package/dist/assets/volter-sdk-kit-document-viewports-DiQ50HgX.js +0 -1
  825. package/dist/assets/volter-sdk-kit-editor-api-D-ihI220.js +0 -1
  826. package/dist/assets/volter-sdk-kit-editor-chrome-capture-dzVef4wQ.js +0 -1
  827. package/dist/assets/volter-sdk-kit-editor-commands-CXNNYGgL.js +0 -1
  828. package/dist/assets/volter-sdk-kit-editor-console-toWDj6Xd.js +0 -1
  829. package/dist/assets/volter-sdk-kit-editor-current-view-DOZ1GBrr.js +0 -1
  830. package/dist/assets/volter-sdk-kit-editor-document-probe-CXhrSBhH.js +0 -1
  831. package/dist/assets/volter-sdk-kit-editor-git-client-C8u4Jtbm.js +0 -1
  832. package/dist/assets/volter-sdk-kit-editor-hotkeys-B6O0XbGk.js +0 -1
  833. package/dist/assets/volter-sdk-kit-editor-lease-CUTTPRw7.js +0 -1
  834. package/dist/assets/volter-sdk-kit-editor-lease-view-CVHgCNEE.js +0 -1
  835. package/dist/assets/volter-sdk-kit-editor-mode-BxzdzEVb.js +0 -1
  836. package/dist/assets/volter-sdk-kit-editor-notifications-BnFT34-R.js +0 -1
  837. package/dist/assets/volter-sdk-kit-editor-presence-B64J4MYZ.js +0 -1
  838. package/dist/assets/volter-sdk-kit-editor-presentation-activity-BVC0gsn4.js +0 -1
  839. package/dist/assets/volter-sdk-kit-editor-presentation-notice-D43ZYpLA.js +0 -1
  840. package/dist/assets/volter-sdk-kit-editor-runtime-Dyw4cFds.js +0 -1
  841. package/dist/assets/volter-sdk-kit-editor-server-response-cBDnwIjo.js +0 -1
  842. package/dist/assets/volter-sdk-kit-editor-session-attribution-CQuWY9VV.js +0 -1
  843. package/dist/assets/volter-sdk-kit-editor-session-mode-Cj28jo9w.js +0 -1
  844. package/dist/assets/volter-sdk-kit-editor-state-facets-DMtJcqv8.js +0 -1
  845. package/dist/assets/volter-sdk-kit-editor-view-presentation-4WiQvaBf.js +0 -1
  846. package/dist/assets/volter-sdk-kit-environment-images-BrLSggXC.js +0 -1
  847. package/dist/assets/volter-sdk-kit-eyedropper-session-DwcqYOkN.js +0 -1
  848. package/dist/assets/volter-sdk-kit-files-file-provider-NumGFtPc.js +0 -1
  849. package/dist/assets/volter-sdk-kit-files-project-files-CmZaJrdY.js +0 -1
  850. package/dist/assets/volter-sdk-kit-finders-index-eSewdfGj.js +0 -1
  851. package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-D3O9EuCP.js +0 -1
  852. package/dist/assets/volter-sdk-kit-frame-frame-parts-UYFyHuj3.js +0 -1
  853. package/dist/assets/volter-sdk-kit-framed-document-capture-DWE0L-k2.js +0 -1
  854. package/dist/assets/volter-sdk-kit-game-surface-defaults-co4UxbSP.js +0 -1
  855. package/dist/assets/volter-sdk-kit-gameplay-export-state-BlEj8kSJ.js +0 -1
  856. package/dist/assets/volter-sdk-kit-gameplay-replay-CTn0CiOI.js +0 -1
  857. package/dist/assets/volter-sdk-kit-gameplay-session-time-CWEn34qM.js +0 -1
  858. package/dist/assets/volter-sdk-kit-gameplay-sessions-D1lkfWl2.js +0 -1
  859. package/dist/assets/volter-sdk-kit-hierarchy-component-marks-vqZDUc-y.js +0 -1
  860. package/dist/assets/volter-sdk-kit-hierarchy-internals-De9zLKRr.js +0 -1
  861. package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-BSxee6uE.js +0 -1
  862. package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-Di06vtoN.js +0 -1
  863. package/dist/assets/volter-sdk-kit-hierarchy-node-rows-DMMVezN6.js +0 -1
  864. package/dist/assets/volter-sdk-kit-hierarchy-panel-view-CSG9PJ83.js +0 -1
  865. package/dist/assets/volter-sdk-kit-hierarchy-projection-CTQi3AI-.js +0 -1
  866. package/dist/assets/volter-sdk-kit-hierarchy-row-media-DHLi38ku.js +0 -1
  867. package/dist/assets/volter-sdk-kit-hierarchy-row-model-CrG2T1fc.js +0 -1
  868. package/dist/assets/volter-sdk-kit-hierarchy-rows-C2Xaet_N.js +0 -1
  869. package/dist/assets/volter-sdk-kit-hierarchy-walk-BzkebnEJ.js +0 -1
  870. package/dist/assets/volter-sdk-kit-history-editor-session-th-t-OpK.js +0 -1
  871. package/dist/assets/volter-sdk-kit-history-history-commands-385t6ZTT.js +0 -1
  872. package/dist/assets/volter-sdk-kit-history-history-delegate-DNCjeYy7.js +0 -1
  873. package/dist/assets/volter-sdk-kit-history-history-limit-notices-CqFkjaF-.js +0 -1
  874. package/dist/assets/volter-sdk-kit-history-history-service-CCR9c1XU.js +0 -1
  875. package/dist/assets/volter-sdk-kit-history-persistence-coordinator-DSwdhoHR.js +0 -1
  876. package/dist/assets/volter-sdk-kit-history-project-file-history-B5a2Fdnt.js +0 -1
  877. package/dist/assets/volter-sdk-kit-history-project-root-history-backends-DWZPbyiI.js +0 -1
  878. package/dist/assets/volter-sdk-kit-history-resource-registry-BKhumiY7.js +0 -1
  879. package/dist/assets/volter-sdk-kit-history-snapshot-store-quvLoOv1.js +0 -1
  880. package/dist/assets/volter-sdk-kit-history-source-history-backend-DD-p7hzm.js +0 -1
  881. package/dist/assets/volter-sdk-kit-hmr-registration-group-NtPAiWFl.js +0 -1
  882. package/dist/assets/volter-sdk-kit-hmr-stable-react-context-BXiW8laY.js +0 -1
  883. package/dist/assets/volter-sdk-kit-hotkeys-C5qgsk6l.js +0 -1
  884. package/dist/assets/volter-sdk-kit-inference-diagnostics-7sIFq3FY.js +0 -1
  885. package/dist/assets/volter-sdk-kit-initial-project-mpHYN5E5.js +0 -1
  886. package/dist/assets/volter-sdk-kit-inspection-active-subject-DJ9fdsLd.js +0 -1
  887. package/dist/assets/volter-sdk-kit-inspection-active-surface-lqLNh25j.js +0 -1
  888. package/dist/assets/volter-sdk-kit-inspection-compose-subject-CaADU4-F.js +0 -1
  889. package/dist/assets/volter-sdk-kit-inspection-display-Lae6cndL.js +0 -1
  890. package/dist/assets/volter-sdk-kit-inspection-document-subject-BroDmnRI.js +0 -1
  891. package/dist/assets/volter-sdk-kit-inspection-game-subject-DRPgtjc4.js +0 -1
  892. package/dist/assets/volter-sdk-kit-inspection-model-Boygu020.js +0 -1
  893. package/dist/assets/volter-sdk-kit-inspection-node-media-1upwsha9.js +0 -1
  894. package/dist/assets/volter-sdk-kit-inspection-null-subject-BD4SNP3r.js +0 -1
  895. package/dist/assets/volter-sdk-kit-inspection-serialize-CeL-NYLg.js +0 -1
  896. package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-Ca_AkBYC.js +0 -1
  897. package/dist/assets/volter-sdk-kit-inspector-presentation-BmmBeygi.js +0 -1
  898. package/dist/assets/volter-sdk-kit-inspector-property-grouping-BjlAicTS.js +0 -1
  899. package/dist/assets/volter-sdk-kit-inspector-section-registry-DCGjcahW.js +0 -1
  900. package/dist/assets/volter-sdk-kit-instance-source-actions-Tmeq2Cxo.js +0 -1
  901. package/dist/assets/volter-sdk-kit-js-heap-DaNZX9Xi.js +0 -1
  902. package/dist/assets/volter-sdk-kit-key-actions-B5Y42WSQ.js +0 -1
  903. package/dist/assets/volter-sdk-kit-keymap-presets-D50WZCjT.js +0 -1
  904. package/dist/assets/volter-sdk-kit-layout-policy-BUJ-lcCw.js +0 -1
  905. package/dist/assets/volter-sdk-kit-light-explorer-model-YchcoM4e.js +0 -1
  906. package/dist/assets/volter-sdk-kit-live-canvas-frame-CyJEivMI.js +0 -1
  907. package/dist/assets/volter-sdk-kit-live-document-CMLwxZ4A.js +0 -1
  908. package/dist/assets/volter-sdk-kit-live-gesture-lock-sNIYLN-M.js +0 -1
  909. package/dist/assets/volter-sdk-kit-live-seam-evidence-a0yWdRMa.js +0 -1
  910. package/dist/assets/volter-sdk-kit-live-session-registry-G7Fk-vBc.js +0 -1
  911. package/dist/assets/volter-sdk-kit-live-transition-b5sAc28o.js +0 -1
  912. package/dist/assets/volter-sdk-kit-manifest-project-CtuSrqpL.js +0 -1
  913. package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-DbBT8c5N.js +0 -1
  914. package/dist/assets/volter-sdk-kit-mount-failure-report-BkQ511CN.js +0 -1
  915. package/dist/assets/volter-sdk-kit-native-selection-style-B1yKp6kz.js +0 -1
  916. package/dist/assets/volter-sdk-kit-object3d-document-write-policy-BXOdxIM9.js +0 -1
  917. package/dist/assets/volter-sdk-kit-packaged-runtime-DfUuSJML.js +0 -1
  918. package/dist/assets/volter-sdk-kit-performance-profiler-Bmt2PZSQ.js +0 -1
  919. package/dist/assets/volter-sdk-kit-performance-sources-BnRArurs.js +0 -1
  920. package/dist/assets/volter-sdk-kit-photograph-notice-BftnEDDl.js +0 -1
  921. package/dist/assets/volter-sdk-kit-play-boot-phase-BE_DCepY.js +0 -1
  922. package/dist/assets/volter-sdk-kit-play-camera-flight-CwF3JTbw.js +0 -1
  923. package/dist/assets/volter-sdk-kit-presentation-surface-d-yPuSWF.js +0 -1
  924. package/dist/assets/volter-sdk-kit-product-command-BOl1qowj.js +0 -1
  925. package/dist/assets/volter-sdk-kit-project-adapter-BKy8-p-a.js +0 -1
  926. package/dist/assets/volter-sdk-kit-project-asset-refresh-DX0fqdHG.js +0 -1
  927. package/dist/assets/volter-sdk-kit-project-asset-roots-aXR7jU6w.js +0 -1
  928. package/dist/assets/volter-sdk-kit-project-local-state-sMlTJ8-H.js +0 -1
  929. package/dist/assets/volter-sdk-kit-project-manager-CLDfeYO1.js +0 -1
  930. package/dist/assets/volter-sdk-kit-project-module-changes-gQXPdN5x.js +0 -1
  931. package/dist/assets/volter-sdk-kit-project-module-split-DId3a5b5.js +0 -1
  932. package/dist/assets/volter-sdk-kit-project-provenance-CwU78F6Q.js +0 -1
  933. package/dist/assets/volter-sdk-kit-project-ready-B2XPkaFQ.js +0 -1
  934. package/dist/assets/volter-sdk-kit-project-shape-Clhby2wv.js +0 -1
  935. package/dist/assets/volter-sdk-kit-project-tools-Dm4R_k8O.js +0 -1
  936. package/dist/assets/volter-sdk-kit-readiness-2jf-JOoo.js +0 -1
  937. package/dist/assets/volter-sdk-kit-renderer-resource-counts-CjUagMou.js +0 -1
  938. package/dist/assets/volter-sdk-kit-reported-play-state-DQe-rX-k.js +0 -1
  939. package/dist/assets/volter-sdk-kit-resolve-contributed-command-CbGN54Ly.js +0 -1
  940. package/dist/assets/volter-sdk-kit-resolve-relative-specifier-bu3vkzYk.js +0 -1
  941. package/dist/assets/volter-sdk-kit-retained-document-states-DxQBSGGp.js +0 -1
  942. package/dist/assets/volter-sdk-kit-scene-document-plan-7FR168iH.js +0 -1
  943. package/dist/assets/volter-sdk-kit-scene-live-open-BtvePOGc.js +0 -1
  944. package/dist/assets/volter-sdk-kit-scoped-game-css-HqDqbKEQ.js +0 -1
  945. package/dist/assets/volter-sdk-kit-served-url-D1x4ofam.js +0 -1
  946. package/dist/assets/volter-sdk-kit-session-close-CPnONE9R.js +0 -1
  947. package/dist/assets/volter-sdk-kit-session-tombstone-BV_wdmsc.js +0 -1
  948. package/dist/assets/volter-sdk-kit-settings-settings-provider-hoHco7b6.js +0 -1
  949. package/dist/assets/volter-sdk-kit-settings-store-BcfF2-8U.js +0 -1
  950. package/dist/assets/volter-sdk-kit-shell-store-DjfVma00.js +0 -1
  951. package/dist/assets/volter-sdk-kit-shell-store-door-qMauXxhL.js +0 -1
  952. package/dist/assets/volter-sdk-kit-source-conflict-CrqPaV8f.js +0 -1
  953. package/dist/assets/volter-sdk-kit-stage-context-Bwb2Dy9L.js +0 -1
  954. package/dist/assets/volter-sdk-kit-stage-invalidation-DzPbe4oz.js +0 -1
  955. package/dist/assets/volter-sdk-kit-stage-store-registry-8cIpF2Kp.js +0 -1
  956. package/dist/assets/volter-sdk-kit-startup-failure-CBI29OlW.js +0 -1
  957. package/dist/assets/volter-sdk-kit-state-report-deferral-BGx7CPXD.js +0 -1
  958. package/dist/assets/volter-sdk-kit-storage-host-files-storage-Zw7xzSCF.js +0 -1
  959. package/dist/assets/volter-sdk-kit-storage-http-storage-Y6gYn4KB.js +0 -1
  960. package/dist/assets/volter-sdk-kit-storage-index-26kI--h7.js +0 -1
  961. package/dist/assets/volter-sdk-kit-storage-mem-storage-C7VJzpik.js +0 -1
  962. package/dist/assets/volter-sdk-kit-storage-path-lock-yk1M_ULA.js +0 -1
  963. package/dist/assets/volter-sdk-kit-storage-paths-ClfKWvT_.js +0 -1
  964. package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-yTa5zu5X.js +0 -1
  965. package/dist/assets/volter-sdk-kit-stories-compose-project-stories-Hj6e4aC_.js +0 -1
  966. package/dist/assets/volter-sdk-kit-stories-prefabs-finder--5BuYSVM.js +0 -1
  967. package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-DFKkEOjK.js +0 -1
  968. package/dist/assets/volter-sdk-kit-stories-project-story-regions-DraS1Dxi.js +0 -1
  969. package/dist/assets/volter-sdk-kit-stories-scope-Bs0Kc5If.js +0 -1
  970. package/dist/assets/volter-sdk-kit-stories-story-capture-DwPDCqtv.js +0 -1
  971. package/dist/assets/volter-sdk-kit-stories-story-declared-medium-dhGOrtET.js +0 -1
  972. package/dist/assets/volter-sdk-kit-stories-story-discovery-HGldSwme.js +0 -1
  973. package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-nUkY4iF-.js +0 -1
  974. package/dist/assets/volter-sdk-kit-stories-story-grouping-ynl92Pfy.js +0 -1
  975. package/dist/assets/volter-sdk-kit-stories-story-presentation-xiGWv5w5.js +0 -1
  976. package/dist/assets/volter-sdk-kit-stories-story-registry-D44sH8PA.js +0 -1
  977. package/dist/assets/volter-sdk-kit-story-document-openers-BTojG5GB.js +0 -1
  978. package/dist/assets/volter-sdk-kit-story-thumbnails-Qffk46Zt.js +0 -1
  979. package/dist/assets/volter-sdk-kit-surface-keyboard-BBZJTHNb.js +0 -1
  980. package/dist/assets/volter-sdk-kit-surface-state-CtJX-pwE.js +0 -1
  981. package/dist/assets/volter-sdk-kit-system-seam-evidence-Dg4ud2GK.js +0 -1
  982. package/dist/assets/volter-sdk-kit-tab-census-Ckknq9Ij.js +0 -1
  983. package/dist/assets/volter-sdk-kit-tab-lifecycle-client-DGpscCYK.js +0 -1
  984. package/dist/assets/volter-sdk-kit-theme-library-C32t-3c4.js +0 -1
  985. package/dist/assets/volter-sdk-kit-theme-preference-Be_Jsgu3.js +0 -1
  986. package/dist/assets/volter-sdk-kit-three-viewport-presentation-DPlNHHc_.js +0 -1
  987. package/dist/assets/volter-sdk-kit-tool-contribution-play-Df3xfRHG.js +0 -1
  988. package/dist/assets/volter-sdk-kit-tool-loader-Cbu95_oL.js +0 -1
  989. package/dist/assets/volter-sdk-kit-transform-mode-request-BpR0R_I5.js +0 -1
  990. package/dist/assets/volter-sdk-kit-transient-hint-qtKEj7di.js +0 -1
  991. package/dist/assets/volter-sdk-kit-transport-strip-DRY0_Gsp.js +0 -1
  992. package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-VJWpWXvn.js +0 -1
  993. package/dist/assets/volter-sdk-kit-ui-source-inspect-DRHx8JoJ.js +0 -1
  994. package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-BhzzNlTz.js +0 -1
  995. package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-CMHu58Mw.js +0 -1
  996. package/dist/assets/volter-sdk-kit-user-local-state-ZQGMBceJ.js +0 -1
  997. package/dist/assets/volter-sdk-kit-viewport-activation-timings-DOcEFMvv.js +0 -1
  998. package/dist/assets/volter-sdk-kit-viewport-editor-controls-CD3y3m6_.js +0 -1
  999. package/dist/assets/volter-sdk-kit-viewport-presentation-DVU3y_LS.js +0 -1
  1000. package/dist/assets/volter-sdk-kit-viewport-surface-status-BBDtvVIV.js +0 -1
  1001. package/dist/assets/volter-sdk-kit-wait-until-CYo_4TNS.js +0 -1
  1002. package/dist/assets/volter-sdk-kit-worker-call-metrics-qWOopwqX.js +0 -1
  1003. package/dist/assets/volter-sdk-kit-workspace-areas-CdQXdrms.js +0 -1
  1004. package/dist/assets/volter-sdk-kit-workspace-aux-commands-BSZ6B-fG.js +0 -1
  1005. package/dist/assets/volter-sdk-kit-workspace-available-documents-CVY6VniD.js +0 -1
  1006. package/dist/assets/volter-sdk-kit-workspace-core-utilities-BLVvZ0qW.js +0 -1
  1007. package/dist/assets/volter-sdk-kit-workspace-document-ids-D5QIVoig.js +0 -1
  1008. package/dist/assets/volter-sdk-kit-workspace-document-registry-CAeI4xl_.js +0 -1
  1009. package/dist/assets/volter-sdk-kit-workspace-document-restore-oixPIJCT.js +0 -1
  1010. package/dist/assets/volter-sdk-kit-workspace-host-commands-DJPYmejr.js +0 -1
  1011. package/dist/assets/volter-sdk-kit-workspace-persistence-gate-BZJViVf9.js +0 -1
  1012. package/dist/assets/volter-sdk-kit-workspace-play-utilities-CxuewnPn.js +0 -1
  1013. package/dist/assets/volter-sdk-kit-workspace-presets-K4QQdYij.js +0 -1
  1014. package/dist/assets/volter-sdk-kit-workspace-regions-BMr4Uzps.js +0 -1
  1015. package/dist/assets/volter-sdk-kit-workspace-static-panels-BKy6gu80.js +0 -1
  1016. package/dist/assets/volter-sdk-kit-workspace-status-registry-DCdw7SmY.js +0 -1
  1017. package/dist/assets/volter-sdk-kit-workspace-storage-BT0dc5ah.js +0 -1
  1018. package/dist/assets/volter-sdk-kit-workspace-style-C-hmO50T.js +0 -1
  1019. package/dist/assets/volter-sdk-kit-workspace-utility-commands-Chi8WvtN.js +0 -1
  1020. package/dist/assets/volter-sdk-kit-workspace-utility-registry-5jhwfPDw.js +0 -1
  1021. package/dist/assets/volter-sdk-kit-world-adoption-BLBFpmbS.js +0 -1
  1022. package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-B8jqLNhR.js +0 -1
  1023. package/dist/assets/volter-sdk-kit-world-document-routing-l-FnSZFA.js +0 -1
  1024. package/dist/assets/volter-sdk-kit-world-pan-state-BS3XzdLO.js +0 -1
  1025. package/dist/assets/volter-sdk-kit-write-pipe-B3EQOcwS.js +0 -1
  1026. package/dist/assets/volter-sdk-layout-arrangements-D3hu-hDQ.js +0 -1
  1027. package/dist/assets/volter-sdk-layouts-Cs1hDFaK.js +0 -1
  1028. package/dist/assets/volter-sdk-selection-CXm4sd7m.js +0 -1
  1029. package/dist/assets/volter-sdk-session-command-table-BFSHedZc.js +0 -1
  1030. package/dist/assets/volter-sdk-session-editor-brand-CMe4GycQ.js +0 -1
  1031. package/dist/assets/volter-sdk-session-editor-compatibility-DF256xbt.js +0 -1
  1032. package/dist/assets/volter-sdk-session-editor-control-protocol-ucnlJKEE.js +0 -1
  1033. package/dist/assets/volter-sdk-session-entrypoint-selection-readers-C_hVPDft.js +0 -1
  1034. package/dist/assets/volter-sdk-session-game-css-scope-Ck6WmVtj.js +0 -1
  1035. package/dist/assets/volter-sdk-session-project-module-url-DFhUBkrg.js +0 -1
  1036. package/dist/assets/volter-sdk-session-relative-path-guard-BaHGISgP.js +0 -1
  1037. package/dist/assets/volter-sdk-session-tool-contribution-convention-BPb1dySY.js +0 -1
  1038. package/dist/assets/volter-sdk-types-DJPATwCD.js +0 -1
  1039. package/dist/assets/volter-sdk-views-uBqcKp7c.js +0 -1
  1040. package/dist/assets/volter-sdk-widgets-design-system-BcwmL_uz.js +0 -1
  1041. package/dist/assets/volter-sdk-widgets-editor-appearance-BKNCOfzd.js +0 -1
  1042. package/dist/assets/volter-sdk-widgets-editor-material-URIYPmDp.js +0 -1
  1043. package/dist/assets/volter-sdk-widgets-icon-set-registry-Cy8f58K0.js +0 -1
  1044. package/dist/assets/volter-sdk-widgets-index-DESakM6Y.js +0 -1
  1045. package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-BgfACRtv.js +0 -1
  1046. package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-BKka5P3T.js +0 -1
  1047. package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-CjPVOhgu.js +0 -1
  1048. package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-DtCuEEmm.js +0 -1
  1049. package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-BvwVuVtV.js +0 -1
  1050. package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-C93xp0sy.js +0 -1
  1051. package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-BBJD9AYY.js +0 -1
  1052. package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-BcCGcUyf.js +0 -1
  1053. package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-DvwcPfUJ.js +0 -1
  1054. package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-Ts8-xWax.js +0 -1
  1055. package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-CFarRcZS.js +0 -1
  1056. package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-BO1Y9riE.js +0 -1
  1057. package/dist/assets/volter-sdk-widgets-inspector-widgets-index-B0hivUt8.js +0 -1
  1058. package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-BifcHVDi.js +0 -1
  1059. package/dist/assets/volter-sdk-widgets-interactive-edit-scope-C__6QdNw.js +0 -1
  1060. package/dist/assets/volter-sdk-widgets-patterns-Dialog-C2-8Xasw.js +0 -1
  1061. package/dist/assets/volter-sdk-widgets-patterns-Fields-C9MjbsUQ.js +0 -1
  1062. package/dist/assets/volter-sdk-widgets-patterns-List-Cclehe82.js +0 -1
  1063. package/dist/assets/volter-sdk-widgets-patterns-StateSurface-dyIgeg43.js +0 -1
  1064. package/dist/assets/volter-sdk-widgets-patterns-Surfaces-BYoWI0L-.js +0 -1
  1065. package/dist/assets/volter-sdk-widgets-patterns-Tabs-G6b2WDBQ.js +0 -1
  1066. package/dist/assets/volter-sdk-widgets-patterns-Toolbar-L_F1Rur7.js +0 -1
  1067. package/dist/assets/volter-sdk-widgets-patterns-Tree-DU8LZmjW.js +0 -1
  1068. package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-DZFStAAl.js +0 -1
  1069. package/dist/assets/volter-sdk-widgets-primitives-Button-D1vitvWv.js +0 -1
  1070. package/dist/assets/volter-sdk-widgets-primitives-ColorInput-C-4rI_RR.js +0 -1
  1071. package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-Bb64ImDl.js +0 -1
  1072. package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-C43YbJQf.js +0 -1
  1073. package/dist/assets/volter-sdk-widgets-primitives-FormControls-4vWDp7d6.js +0 -1
  1074. package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-OZT90Bkd.js +0 -1
  1075. package/dist/assets/volter-sdk-widgets-primitives-JsonInput-CqQN1KwQ.js +0 -1
  1076. package/dist/assets/volter-sdk-widgets-primitives-Layout-BocSkpOk.js +0 -1
  1077. package/dist/assets/volter-sdk-widgets-primitives-Menu-BlCbDeiP.js +0 -1
  1078. package/dist/assets/volter-sdk-widgets-primitives-NumberInput-Ck7vl8-1.js +0 -1
  1079. package/dist/assets/volter-sdk-widgets-primitives-Panel-20FrUR2j.js +0 -1
  1080. package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-BjJ0HkR-.js +0 -1
  1081. package/dist/assets/volter-sdk-widgets-primitives-Text-DWRmgp-e.js +0 -1
  1082. package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-Y5Ry9o4n.js +0 -1
  1083. package/dist/assets/volter-sdk-widgets-primitives-Tooltip-vLvmHJDs.js +0 -1
  1084. package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-CI24_CM9.js +0 -1
  1085. package/dist/assets/volter-sdk-widgets-primitives-banner-tones-BKVICK-7.js +0 -1
  1086. package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-UyuEoej0.js +0 -1
  1087. package/dist/assets/volter-sdk-widgets-primitives-editor-icons-CcvOJT7q.js +0 -1
  1088. package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-CYSSNuxN.js +0 -1
  1089. package/dist/assets/volter-sdk-widgets-theme-C7KX-pfq.js +0 -1
  1090. package/dist/assets/volter-sdk-widgets-z-index-BeoVog1y.js +0 -1
  1091. package/dist/assets/volter-shared-fontawesome-D77aOHw1.js +0 -1
  1092. package/dist/assets/volter-shared-jsx-dev-runtime-eOctA51e.js +0 -1
  1093. package/dist/assets/volter-shared-jsx-runtime-Dwzs3hHO.js +0 -1
  1094. package/dist/assets/volter-shared-react-BBzfqye9.js +0 -1
  1095. package/dist/assets/volter-shared-react-dom-bD6Gpcb1.js +0 -1
  1096. package/dist/assets/volter-shared-react-dom-client-Cw6Ktnfu.js +0 -1
  1097. package/dist/assets/volter-shared-three--8dRrWug.js +0 -1
  1098. package/dist/assets/worker-DeCVN0ii.js +0 -8
@@ -0,0 +1 @@
1
+ import{b2 as B,b3 as I,q as R,V as u,Q as N,o as x,bl as L,bn as g,bi as k}from"./three.module-CtVjCPcj.js";class A extends B{constructor(c){super(c),this.animateBonePositions=!0,this.animateBoneRotations=!0}load(c,H,d,f){const p=this,h=new I(p.manager);h.setPath(p.path),h.setRequestHeader(p.requestHeader),h.setWithCredentials(p.withCredentials),h.load(c,function(l){try{H(p.parse(l))}catch(m){f?f(m):console.error(m),p.manager.itemError(c)}},d,f)}parse(c){function H(t){l(t)!=="HIERARCHY"&&console.error("THREE.BVHLoader: HIERARCHY expected.");const s=[],n=f(t,l(t),s);l(t)!=="MOTION"&&console.error("THREE.BVHLoader: MOTION expected.");let e=l(t).split(/[\s]+/);const o=parseInt(e[1]);isNaN(o)&&console.error("THREE.BVHLoader: Failed to read number of frames."),e=l(t).split(/[\s]+/);const a=parseFloat(e[2]);isNaN(a)&&console.error("THREE.BVHLoader: Failed to read frame time.");for(let r=0;r<o;r++)e=l(t).split(/[\s]+/),d(e,r*a,n);return s}function d(t,s,n){if(n.type==="ENDSITE")return;const e={time:s,position:new u,rotation:new N};n.frames.push(e);const o=new N,a=new u(1,0,0),r=new u(0,1,0),E=new u(0,0,1);for(let i=0;i<n.channels.length;i++)switch(n.channels[i]){case"Xposition":e.position.x=parseFloat(t.shift().trim());break;case"Yposition":e.position.y=parseFloat(t.shift().trim());break;case"Zposition":e.position.z=parseFloat(t.shift().trim());break;case"Xrotation":o.setFromAxisAngle(a,parseFloat(t.shift().trim())*Math.PI/180),e.rotation.multiply(o);break;case"Yrotation":o.setFromAxisAngle(r,parseFloat(t.shift().trim())*Math.PI/180),e.rotation.multiply(o);break;case"Zrotation":o.setFromAxisAngle(E,parseFloat(t.shift().trim())*Math.PI/180),e.rotation.multiply(o);break;default:console.warn("THREE.BVHLoader: Invalid channel type.")}for(let i=0;i<n.children.length;i++)d(t,s,n.children[i])}function f(t,s,n){const e={name:"",type:"",frames:[]};n.push(e);let o=s.split(/[\s]+/);o[0].toUpperCase()==="END"&&o[1].toUpperCase()==="SITE"?(e.type="ENDSITE",e.name="ENDSITE"):(e.name=o[1],e.type=o[0].toUpperCase()),l(t)!=="{"&&console.error("THREE.BVHLoader: Expected opening { after type & name"),o=l(t).split(/[\s]+/),o[0]!=="OFFSET"&&console.error("THREE.BVHLoader: Expected OFFSET but got: "+o[0]),o.length!==4&&console.error("THREE.BVHLoader: Invalid number of values for OFFSET.");const a=new u(parseFloat(o[1]),parseFloat(o[2]),parseFloat(o[3]));if((isNaN(a.x)||isNaN(a.y)||isNaN(a.z))&&console.error("THREE.BVHLoader: Invalid values of OFFSET."),e.offset=a,e.type!=="ENDSITE"){o=l(t).split(/[\s]+/),o[0]!=="CHANNELS"&&console.error("THREE.BVHLoader: Expected CHANNELS definition.");const r=parseInt(o[1]);e.channels=o.splice(2,r),e.children=[]}for(;;){const r=l(t);if(r==="}")return e;e.children.push(f(t,r,n))}}function p(t,s){const n=new x;if(s.push(n),n.position.add(t.offset),n.name=t.name,t.type!=="ENDSITE")for(let e=0;e<t.children.length;e++)n.add(p(t.children[e],s));return n}function h(t){const s=[];for(let n=0;n<t.length;n++){const e=t[n];if(e.type==="ENDSITE")continue;const o=[],a=[],r=[];for(let E=0;E<e.frames.length;E++){const i=e.frames[E];o.push(i.time),a.push(i.position.x+e.offset.x),a.push(i.position.y+e.offset.y),a.push(i.position.z+e.offset.z),r.push(i.rotation.x),r.push(i.rotation.y),r.push(i.rotation.z),r.push(i.rotation.w)}m.animateBonePositions&&s.push(new L(e.name+".position",o,a)),m.animateBoneRotations&&s.push(new g(e.name+".quaternion",o,r))}return new k("animation",-1,s)}function l(t){let s;for(;(s=t.shift().trim()).length===0;);return s}const m=this,y=c.split(/[\r\n]+/g),T=H(y),F=[];p(T[0],F);const w=h(T);return{skeleton:new R(F),clip:w}}}export{A as BVHLoader};
@@ -0,0 +1,3 @@
1
+ import{aA as kn,at as wn,b2 as it,b7 as Nn,b3 as An,V as $,g as X,l as rt,Y as Tn,b9 as En,m as ot,u as pe,bi as at,ak as _n,cH as ct,aF as Ee,n as ee,r as xn,$ as Cn,i as vn,ay as lt,a0 as In,A as Ln,I as Rn,P as Mn,v as Sn,f as dt,Q as Gn,bl as ut,bn as On,B as jn,h as ne,o as qn,ag as ft,p as Pn,j as Hn,bg as Un,af as Bn,q as zn,a8 as _e,C as ht}from"./three.module-CtVjCPcj.js";class pt extends kn{constructor(D){super(D)}parse(D){function se(h){switch(h.image_type){case me:case z:if(h.colormap_length>256||h.colormap_size!==24||h.colormap_type!==1)throw new Error("THREE.TGALoader: Invalid type colormap data for indexed type.");break;case B:case V:case ue:case be:if(h.colormap_type)throw new Error("THREE.TGALoader: Invalid type colormap data for colormap type.");break;case Ce:throw new Error("THREE.TGALoader: No data.");default:throw new Error("THREE.TGALoader: Invalid type "+h.image_type)}if(h.width<=0||h.height<=0)throw new Error("THREE.TGALoader: Invalid image size.");if(h.pixel_size!==8&&h.pixel_size!==16&&h.pixel_size!==24&&h.pixel_size!==32)throw new Error("THREE.TGALoader: Invalid pixel size "+h.pixel_size)}function U(h,q,R,C,P){let _,v;const A=R.pixel_size>>3,N=R.width*R.height*A;if(q&&(v=P.subarray(C,C+=R.colormap_length*(R.colormap_size>>3))),h){_=new Uint8Array(N);let y,u,k,M=0;const W=new Uint8Array(A);for(;M<N;)if(y=P[C++],u=(y&127)+1,y&128){for(k=0;k<A;++k)W[k]=P[C++];for(k=0;k<u;++k)_.set(W,M+k*A);M+=A*u}else{for(u*=A,k=0;k<u;++k)_[M+k]=P[C++];M+=u}}else _=P.subarray(C,C+=q?R.width*R.height:N);return{pixel_data:_,palettes:v}}function te(h,q,R,C,P,_,v,A,N){const y=N;let u,k=0,M,W;const oe=j.width;for(W=q;W!==C;W+=R)for(M=P;M!==v;M+=_,k++)u=A[k],h[(M+oe*W)*4+3]=255,h[(M+oe*W)*4+2]=y[u*3+0],h[(M+oe*W)*4+1]=y[u*3+1],h[(M+oe*W)*4+0]=y[u*3+2];return h}function I(h,q,R,C,P,_,v,A){let N,y=0,u,k;const M=j.width;for(k=q;k!==C;k+=R)for(u=P;u!==v;u+=_,y+=2)N=A[y+0]+(A[y+1]<<8),h[(u+M*k)*4+0]=(N&31744)>>7,h[(u+M*k)*4+1]=(N&992)>>2,h[(u+M*k)*4+2]=(N&31)<<3,h[(u+M*k)*4+3]=N&32768?0:255;return h}function Z(h,q,R,C,P,_,v,A){let N=0,y,u;const k=j.width;for(u=q;u!==C;u+=R)for(y=P;y!==v;y+=_,N+=3)h[(y+k*u)*4+3]=255,h[(y+k*u)*4+2]=A[N+0],h[(y+k*u)*4+1]=A[N+1],h[(y+k*u)*4+0]=A[N+2];return h}function S(h,q,R,C,P,_,v,A){let N=0,y,u;const k=j.width;for(u=q;u!==C;u+=R)for(y=P;y!==v;y+=_,N+=4)h[(y+k*u)*4+2]=A[N+0],h[(y+k*u)*4+1]=A[N+1],h[(y+k*u)*4+0]=A[N+2],h[(y+k*u)*4+3]=A[N+3];return h}function de(h,q,R,C,P,_,v,A){let N,y=0,u,k;const M=j.width;for(k=q;k!==C;k+=R)for(u=P;u!==v;u+=_,y++)N=A[y],h[(u+M*k)*4+0]=N,h[(u+M*k)*4+1]=N,h[(u+M*k)*4+2]=N,h[(u+M*k)*4+3]=255;return h}function Q(h,q,R,C,P,_,v,A){let N=0,y,u;const k=j.width;for(u=q;u!==C;u+=R)for(y=P;y!==v;y+=_,N+=2)h[(y+k*u)*4+0]=A[N+0],h[(y+k*u)*4+1]=A[N+0],h[(y+k*u)*4+2]=A[N+0],h[(y+k*u)*4+3]=A[N+1];return h}function xe(h,q,R,C,P){let _,v,A,N,y,u;switch((j.flags&ve)>>ge){default:case Le:_=0,A=1,y=q,v=0,N=1,u=R;break;case ye:_=0,A=1,y=q,v=R-1,N=-1,u=-1;break;case ie:_=q-1,A=-1,y=-1,v=0,N=1,u=R;break;case Ie:_=q-1,A=-1,y=-1,v=R-1,N=-1,u=-1;break}if(he)switch(j.pixel_size){case 8:de(h,v,N,u,_,A,y,C);break;case 16:Q(h,v,N,u,_,A,y,C);break;default:throw new Error("THREE.TGALoader: Format not supported.")}else switch(j.pixel_size){case 8:te(h,v,N,u,_,A,y,C,P);break;case 16:I(h,v,N,u,_,A,y,C);break;case 24:Z(h,v,N,u,_,A,y,C);break;case 32:S(h,v,N,u,_,A,y,C);break;default:throw new Error("THREE.TGALoader: Format not supported.")}return h}const Ce=0,me=1,B=2,V=3,z=9,ue=10,be=11,ve=48,ge=4,ye=0,Ie=1,Le=2,ie=3;if(D.length<19)throw new Error("THREE.TGALoader: Not enough data to contain header.");let L=0;const G=new Uint8Array(D),j={id_length:G[L++],colormap_type:G[L++],image_type:G[L++],colormap_index:G[L++]|G[L++]<<8,colormap_length:G[L++]|G[L++]<<8,colormap_size:G[L++],origin:[G[L++]|G[L++]<<8,G[L++]|G[L++]<<8],width:G[L++]|G[L++]<<8,height:G[L++]|G[L++]<<8,pixel_size:G[L++],flags:G[L++]};if(se(j),j.id_length+L>D.length)throw new Error("THREE.TGALoader: No data.");L+=j.id_length;let re=!1,fe=!1,he=!1;switch(j.image_type){case z:re=!0,fe=!0;break;case me:fe=!0;break;case ue:re=!0;break;case B:break;case be:re=!0,he=!0;break;case V:he=!0;break}const ke=new Uint8Array(j.width*j.height*4),we=U(re,fe,j,L,G);return xe(ke,j.width,j.height,we.pixel_data,we.palettes),{data:ke,width:j.width,height:j.height,flipY:!0,generateMipmaps:!0,minFilter:wn}}}class Vn extends it{load(D,se,U,te){const I=this,Z=I.path===""?Nn.extractUrlBase(D):I.path,S=new An(I.manager);S.setPath(I.path),S.setRequestHeader(I.requestHeader),S.setWithCredentials(I.withCredentials),S.load(D,function(de){try{se(I.parse(de,Z))}catch(Q){te?te(Q):console.error(Q),I.manager.itemError(D)}},U,te)}parse(D,se){function U(t,e){const s=[],n=t.childNodes;for(let i=0,r=n.length;i<r;i++){const o=n[i];o.nodeName===e&&s.push(o)}return s}function te(t){if(t.length===0)return[];const e=t.trim().split(/\s+/),s=new Array(e.length);for(let n=0,i=e.length;n<i;n++)s[n]=e[n];return s}function I(t){if(t.length===0)return[];const e=t.trim().split(/\s+/),s=new Array(e.length);for(let n=0,i=e.length;n<i;n++)s[n]=parseFloat(e[n]);return s}function Z(t){if(t.length===0)return[];const e=t.trim().split(/\s+/),s=new Array(e.length);for(let n=0,i=e.length;n<i;n++)s[n]=parseInt(e[n]);return s}function S(t){return t.substring(1)}function de(){return"three_default_"+gn++}function Q(t){return Object.keys(t).length===0}function xe(t){return{unit:Ce(U(t,"unit")[0]),upAxis:me(U(t,"up_axis")[0])}}function Ce(t){return t!==void 0&&t.hasAttribute("meter")===!0?parseFloat(t.getAttribute("meter")):1}function me(t){return t!==void 0?t.textContent:"Y_UP"}function B(t,e,s,n){const i=U(t,e)[0];if(i!==void 0){const r=U(i,s);for(let o=0;o<r.length;o++)n(r[o])}}function V(t,e){for(const s in t){const n=t[s];n.build=e(t[s])}}function z(t,e){return t.build!==void 0||(t.build=e(t)),t.build}function ue(t){const e={sources:{},samplers:{},channels:{}};let s=!1;for(let n=0,i=t.childNodes.length;n<i;n++){const r=t.childNodes[n];if(r.nodeType!==1)continue;let o;switch(r.nodeName){case"source":o=r.getAttribute("id"),e.sources[o]=Re(r);break;case"sampler":o=r.getAttribute("id"),e.samplers[o]=be(r);break;case"channel":o=r.getAttribute("target"),e.channels[o]=ve(r);break;case"animation":ue(r),s=!0;break;default:console.log(r)}}s===!1&&(w.animations[t.getAttribute("id")||pe.generateUUID()]=e)}function be(t){const e={inputs:{}};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"input":const r=S(i.getAttribute("source")),o=i.getAttribute("semantic");e.inputs[o]=r;break}}return e}function ve(t){const e={};let n=t.getAttribute("target").split("/");const i=n.shift();let r=n.shift();const o=r.indexOf("(")!==-1,d=r.indexOf(".")!==-1;if(d)n=r.split("."),r=n.shift(),e.member=n.shift();else if(o){const c=r.split("(");r=c.shift();for(let l=0;l<c.length;l++)c[l]=parseInt(c[l].replace(/\)/,""));e.indices=c}return e.id=i,e.sid=r,e.arraySyntax=o,e.memberSyntax=d,e.sampler=S(t.getAttribute("source")),e}function ge(t){const e=[],s=t.channels,n=t.samplers,i=t.sources;for(const r in s)if(s.hasOwnProperty(r)){const o=s[r],d=n[o.sampler],c=d.inputs.INPUT,l=d.inputs.OUTPUT,m=i[c],a=i[l],p=Ie(o,m,a);j(p,e)}return e}function ye(t){return z(w.animations[t],ge)}function Ie(t,e,s){const n=w.nodes[t.id],i=ce(n.id),r=n.transforms[t.sid],o=n.matrix.clone().transpose();let d,c,l,m,a,p;const f={};switch(r){case"matrix":for(l=0,m=e.array.length;l<m;l++)if(d=e.array[l],c=l*s.stride,f[d]===void 0&&(f[d]={}),t.arraySyntax===!0){const O=s.array[c],x=t.indices[0]+4*t.indices[1];f[d][x]=O}else for(a=0,p=s.stride;a<p;a++)f[d][a]=s.array[c+a];break;case"translate":console.warn('THREE.ColladaLoader: Animation transform type "%s" not yet implemented.',r);break;case"rotate":console.warn('THREE.ColladaLoader: Animation transform type "%s" not yet implemented.',r);break;case"scale":console.warn('THREE.ColladaLoader: Animation transform type "%s" not yet implemented.',r);break}const g=Le(f,o);return{name:i.uuid,keyframes:g}}function Le(t,e){const s=[];for(const i in t)s.push({time:parseFloat(i),value:t[i]});s.sort(n);for(let i=0;i<16;i++)re(s,i,e.elements[i]);return s;function n(i,r){return i.time-r.time}}const ie=new $,L=new $,G=new Gn;function j(t,e){const s=t.keyframes,n=t.name,i=[],r=[],o=[],d=[];for(let c=0,l=s.length;c<l;c++){const m=s[c],a=m.time,p=m.value;K.fromArray(p).transpose(),K.decompose(ie,G,L),i.push(a),r.push(ie.x,ie.y,ie.z),o.push(G.x,G.y,G.z,G.w),d.push(L.x,L.y,L.z)}return r.length>0&&e.push(new ut(n+".position",i,r)),o.length>0&&e.push(new On(n+".quaternion",i,o)),d.length>0&&e.push(new ut(n+".scale",i,d)),e}function re(t,e,s){let n,i=!0,r,o;for(r=0,o=t.length;r<o;r++)n=t[r],n.value[e]===void 0?n.value[e]=null:i=!1;if(i===!0)for(r=0,o=t.length;r<o;r++)n=t[r],n.value[e]=s;else fe(t,e)}function fe(t,e){let s,n;for(let i=0,r=t.length;i<r;i++){const o=t[i];if(o.value[e]===null){if(s=he(t,i,e),n=ke(t,i,e),s===null){o.value[e]=n.value[e];continue}if(n===null){o.value[e]=s.value[e];continue}we(o,s,n,e)}}}function he(t,e,s){for(;e>=0;){const n=t[e];if(n.value[s]!==null)return n;e--}return null}function ke(t,e,s){for(;e<t.length;){const n=t[e];if(n.value[s]!==null)return n;e++}return null}function we(t,e,s,n){if(s.time-e.time===0){t.value[n]=e.value[n];return}t.value[n]=(t.time-e.time)*(s.value[n]-e.value[n])/(s.time-e.time)+e.value[n]}function h(t){const e={name:t.getAttribute("id")||"default",start:parseFloat(t.getAttribute("start")||0),end:parseFloat(t.getAttribute("end")||0),animations:[]};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"instance_animation":e.animations.push(S(i.getAttribute("url")));break}}w.clips[t.getAttribute("id")]=e}function q(t){const e=[],s=t.name,n=t.end-t.start||-1,i=t.animations;for(let r=0,o=i.length;r<o;r++){const d=ye(i[r]);for(let c=0,l=d.length;c<l;c++)e.push(d[c])}return new at(s,n,e)}function R(t){return z(w.clips[t],q)}function C(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"skin":e.id=S(i.getAttribute("source")),e.skin=P(i);break;case"morph":e.id=S(i.getAttribute("source")),console.warn("THREE.ColladaLoader: Morph target animation not supported yet.");break}}w.controllers[t.getAttribute("id")]=e}function P(t){const e={sources:{}};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"bind_shape_matrix":e.bindShapeMatrix=I(i.textContent);break;case"source":const r=i.getAttribute("id");e.sources[r]=Re(i);break;case"joints":e.joints=_(i);break;case"vertex_weights":e.vertexWeights=v(i);break}}return e}function _(t){const e={inputs:{}};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"input":const r=i.getAttribute("semantic"),o=S(i.getAttribute("source"));e.inputs[r]=o;break}}return e}function v(t){const e={inputs:{}};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"input":const r=i.getAttribute("semantic"),o=S(i.getAttribute("source")),d=parseInt(i.getAttribute("offset"));e.inputs[r]={id:o,offset:d};break;case"vcount":e.vcount=Z(i.textContent);break;case"v":e.v=Z(i.textContent);break}}return e}function A(t){const e={id:t.id},s=w.geometries[e.id];return t.skin!==void 0&&(e.skin=N(t.skin),s.sources.skinIndices=e.skin.indices,s.sources.skinWeights=e.skin.weights),e}function N(t){const s={joints:[],indices:{array:[],stride:4},weights:{array:[],stride:4}},n=t.sources,i=t.vertexWeights,r=i.vcount,o=i.v,d=i.inputs.JOINT.offset,c=i.inputs.WEIGHT.offset,l=t.sources[t.joints.inputs.JOINT],m=t.sources[t.joints.inputs.INV_BIND_MATRIX],a=n[i.inputs.WEIGHT.id].array;let p=0,f,g,b;for(f=0,b=r.length;f<b;f++){const x=r[f],T=[];for(g=0;g<x;g++){const E=o[p+d],Y=o[p+c],F=a[Y];T.push({index:E,weight:F}),p+=2}for(T.sort(O),g=0;g<4;g++){const E=T[g];E!==void 0?(s.indices.array.push(E.index),s.weights.array.push(E.weight)):(s.indices.array.push(0),s.weights.array.push(0))}}for(t.bindShapeMatrix?s.bindMatrix=new X().fromArray(t.bindShapeMatrix).transpose():s.bindMatrix=new X().identity(),f=0,b=l.array.length;f<b;f++){const x=l.array[f],T=new X().fromArray(m.array,f*m.stride).transpose();s.joints.push({name:x,boneInverse:T})}return s;function O(x,T){return T.weight-x.weight}}function y(t){return z(w.controllers[t],A)}function u(t){const e={init_from:U(t,"init_from")[0].textContent};w.images[t.getAttribute("id")]=e}function k(t){return t.build!==void 0?t.build:t.init_from}function M(t){const e=w.images[t];return e!==void 0?z(e,k):(console.warn("THREE.ColladaLoader: Couldn't find image with ID:",t),null)}function W(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"profile_COMMON":e.profile=oe(i);break}}w.effects[t.getAttribute("id")]=e}function oe(t){const e={surfaces:{},samplers:{}};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"newparam":bt(i,e);break;case"technique":e.technique=kt(i);break;case"extra":e.extra=qe(i);break}}return e}function bt(t,e){const s=t.getAttribute("sid");for(let n=0,i=t.childNodes.length;n<i;n++){const r=t.childNodes[n];if(r.nodeType===1)switch(r.nodeName){case"surface":e.surfaces[s]=gt(r);break;case"sampler2D":e.samplers[s]=yt(r);break}}}function gt(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"init_from":e.init_from=i.textContent;break}}return e}function yt(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"source":e.source=i.textContent;break}}return e}function kt(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"constant":case"lambert":case"blinn":case"phong":e.type=i.nodeName,e.parameters=wt(i);break;case"extra":e.extra=qe(i);break}}return e}function wt(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"emission":case"diffuse":case"specular":case"bump":case"ambient":case"shininess":case"transparency":e[i.nodeName]=Oe(i);break;case"transparent":e[i.nodeName]={opaque:i.hasAttribute("opaque")?i.getAttribute("opaque"):"A_ONE",data:Oe(i)};break}}return e}function Oe(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"color":e[i.nodeName]=I(i.textContent);break;case"float":e[i.nodeName]=parseFloat(i.textContent);break;case"texture":e[i.nodeName]={id:i.getAttribute("texture"),extra:je(i)};break}}return e}function je(t){const e={technique:{}};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"extra":Nt(i,e);break}}return e}function Nt(t,e){for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"technique":At(i,e);break}}}function At(t,e){for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"repeatU":case"repeatV":case"offsetU":case"offsetV":e.technique[i.nodeName]=parseFloat(i.textContent);break;case"wrapU":case"wrapV":i.textContent.toUpperCase()==="TRUE"?e.technique[i.nodeName]=1:i.textContent.toUpperCase()==="FALSE"?e.technique[i.nodeName]=0:e.technique[i.nodeName]=parseInt(i.textContent);break;case"bump":e[i.nodeName]=Pe(i);break}}}function qe(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"technique":e.technique=Tt(i);break}}return e}function Tt(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"double_sided":e[i.nodeName]=parseInt(i.textContent);break;case"bump":e[i.nodeName]=Pe(i);break}}return e}function Pe(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"texture":e[i.nodeName]={id:i.getAttribute("texture"),texcoord:i.getAttribute("texcoord"),extra:je(i)};break}}return e}function He(t){return t}function Et(t){return z(w.effects[t],He)}function _t(t){const e={name:t.getAttribute("name")};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"instance_effect":e.url=S(i.getAttribute("url"));break}}w.materials[t.getAttribute("id")]=e}function xt(t){let e,s=t.slice((t.lastIndexOf(".")-1>>>0)+2);switch(s=s.toLowerCase(),s){case"tga":e=Ge;break;default:e=tt}return e}function Ue(t){const e=Et(t.url),s=e.profile.technique;let n;switch(s.type){case"phong":case"blinn":n=new ct;break;case"lambert":n=new _n;break;default:n=new rt;break}n.name=t.name||"";function i(c,l=null){const m=e.profile.samplers[c.id];let a=null;if(m!==void 0){const p=e.profile.surfaces[m.source];a=M(p.init_from)}else console.warn("THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530)."),a=M(c.id);if(a!==null){const p=xt(a);if(p!==void 0){const f=p.load(a),g=c.extra;if(g!==void 0&&g.technique!==void 0&&Q(g.technique)===!1){const b=g.technique;f.wrapS=b.wrapU?_e:ht,f.wrapT=b.wrapV?_e:ht,f.offset.set(b.offsetU||0,b.offsetV||0),f.repeat.set(b.repeatU||1,b.repeatV||1)}else f.wrapS=_e,f.wrapT=_e;return l!==null&&(f.colorSpace=l),f}else return console.warn("THREE.ColladaLoader: Loader for texture %s not found.",a),null}else return console.warn("THREE.ColladaLoader: Couldn't create texture with ID:",c.id),null}const r=s.parameters;for(const c in r){const l=r[c];switch(c){case"diffuse":l.color&&n.color.fromArray(l.color),l.texture&&(n.map=i(l.texture,ee));break;case"specular":l.color&&n.specular&&n.specular.fromArray(l.color),l.texture&&(n.specularMap=i(l.texture));break;case"bump":l.texture&&(n.normalMap=i(l.texture));break;case"ambient":l.texture&&(n.lightMap=i(l.texture,ee));break;case"shininess":l.float&&n.shininess&&(n.shininess=l.float);break;case"emission":l.color&&n.emissive&&n.emissive.fromArray(l.color),l.texture&&(n.emissiveMap=i(l.texture,ee));break}}Ee.colorSpaceToWorking(n.color,ee),n.specular&&Ee.colorSpaceToWorking(n.specular,ee),n.emissive&&Ee.colorSpaceToWorking(n.emissive,ee);let o=r.transparent,d=r.transparency;if(d===void 0&&o&&(d={float:1}),o===void 0&&d&&(o={opaque:"A_ONE",data:{color:[1,1,1,1]}}),o&&d)if(o.data.texture)n.transparent=!0;else{const c=o.data.color;switch(o.opaque){case"A_ONE":n.opacity=c[3]*d.float;break;case"RGB_ZERO":n.opacity=1-c[0]*d.float;break;case"A_ZERO":n.opacity=1-c[3]*d.float;break;case"RGB_ONE":n.opacity=c[0]*d.float;break;default:console.warn('THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.',o.opaque)}n.opacity<1&&(n.transparent=!0)}if(s.extra!==void 0&&s.extra.technique!==void 0){const c=s.extra.technique;for(const l in c){const m=c[l];switch(l){case"double_sided":n.side=m===1?Cn:vn;break;case"bump":n.normalMap=i(m.texture),n.normalScale=new xn(1,1);break}}}return n}function Ct(t){return z(w.materials[t],Ue)}function vt(t){const e={name:t.getAttribute("name")};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"optics":e.optics=It(i);break}}w.cameras[t.getAttribute("id")]=e}function It(t){for(let e=0;e<t.childNodes.length;e++){const s=t.childNodes[e];switch(s.nodeName){case"technique_common":return Lt(s)}}return{}}function Lt(t){const e={};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];switch(n.nodeName){case"perspective":case"orthographic":e.technique=n.nodeName,e.parameters=Rt(n);break}}return e}function Rt(t){const e={};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];switch(n.nodeName){case"xfov":case"yfov":case"xmag":case"ymag":case"znear":case"zfar":case"aspect_ratio":e[n.nodeName]=parseFloat(n.textContent);break}}return e}function Be(t){let e;switch(t.optics.technique){case"perspective":e=new lt(t.optics.parameters.yfov,t.optics.parameters.aspect_ratio,t.optics.parameters.znear,t.optics.parameters.zfar);break;case"orthographic":let s=t.optics.parameters.ymag,n=t.optics.parameters.xmag;const i=t.optics.parameters.aspect_ratio;n=n===void 0?s*i:n,s=s===void 0?n/i:s,n*=.5,s*=.5,e=new In(-n,n,s,-s,t.optics.parameters.znear,t.optics.parameters.zfar);break;default:e=new lt;break}return e.name=t.name||"",e}function Mt(t){const e=w.cameras[t];return e!==void 0?z(e,Be):(console.warn("THREE.ColladaLoader: Couldn't find camera with ID:",t),null)}function St(t){let e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"technique_common":e=Gt(i);break}}w.lights[t.getAttribute("id")]=e}function Gt(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"directional":case"point":case"spot":case"ambient":e.technique=i.nodeName,e.parameters=Ot(i)}}return e}function Ot(t){const e={};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"color":const r=I(i.textContent);e.color=new ot().fromArray(r),Ee.colorSpaceToWorking(e.color,ee);break;case"falloff_angle":e.falloffAngle=parseFloat(i.textContent);break;case"quadratic_attenuation":const o=parseFloat(i.textContent);e.distance=o?Math.sqrt(1/o):0;break}}return e}function ze(t){let e;switch(t.technique){case"directional":e=new Sn;break;case"point":e=new Mn;break;case"spot":e=new Rn;break;case"ambient":e=new Ln;break}return t.parameters.color&&e.color.copy(t.parameters.color),t.parameters.distance&&(e.distance=t.parameters.distance),e}function jt(t){const e=w.lights[t];return e!==void 0?z(e,ze):(console.warn("THREE.ColladaLoader: Couldn't find light with ID:",t),null)}function qt(t){const e={name:t.getAttribute("name"),sources:{},vertices:{},primitives:[]},s=U(t,"mesh")[0];if(s!==void 0){for(let n=0;n<s.childNodes.length;n++){const i=s.childNodes[n];if(i.nodeType!==1)continue;const r=i.getAttribute("id");switch(i.nodeName){case"source":e.sources[r]=Re(i);break;case"vertices":e.vertices=Pt(i);break;case"polygons":console.warn("THREE.ColladaLoader: Unsupported primitive type: ",i.nodeName);break;case"lines":case"linestrips":case"polylist":case"triangles":e.primitives.push(Ht(i));break;default:console.log(i)}}w.geometries[t.getAttribute("id")]=e}}function Re(t){const e={array:[],stride:3};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"float_array":e.array=I(n.textContent);break;case"Name_array":e.array=te(n.textContent);break;case"technique_common":const i=U(n,"accessor")[0];i!==void 0&&(e.stride=parseInt(i.getAttribute("stride")));break}}return e}function Pt(t){const e={};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];n.nodeType===1&&(e[n.getAttribute("semantic")]=S(n.getAttribute("source")))}return e}function Ht(t){const e={type:t.nodeName,material:t.getAttribute("material"),count:parseInt(t.getAttribute("count")),inputs:{},stride:0,hasUV:!1};for(let s=0,n=t.childNodes.length;s<n;s++){const i=t.childNodes[s];if(i.nodeType===1)switch(i.nodeName){case"input":const r=S(i.getAttribute("source")),o=i.getAttribute("semantic"),d=parseInt(i.getAttribute("offset")),c=parseInt(i.getAttribute("set")),l=c>0?o+c:o;e.inputs[l]={id:r,offset:d},e.stride=Math.max(e.stride,d+1),o==="TEXCOORD"&&(e.hasUV=!0);break;case"vcount":e.vcount=Z(i.textContent);break;case"p":e.p=Z(i.textContent);break}}return e}function Ut(t){const e={};for(let s=0;s<t.length;s++){const n=t[s];e[n.type]===void 0&&(e[n.type]=[]),e[n.type].push(n)}return e}function Bt(t){let e=0;for(let s=0,n=t.length;s<n;s++)t[s].hasUV===!0&&e++;e>0&&e<t.length&&(t.uvsNeedsFix=!0)}function Fe(t){const e={},s=t.sources,n=t.vertices,i=t.primitives;if(i.length===0)return{};const r=Ut(i);for(const o in r){const d=r[o];Bt(d),e[o]=zt(d,s,n)}return e}function zt(t,e,s){const n={},i={array:[],stride:0},r={array:[],stride:0},o={array:[],stride:0},d={array:[],stride:0},c={array:[],stride:0},l={array:[],stride:4},m={array:[],stride:4},a=new jn,p=[];let f=0;for(let g=0;g<t.length;g++){const b=t[g],O=b.inputs;let x=0;switch(b.type){case"lines":case"linestrips":x=b.count*2;break;case"triangles":x=b.count*3;break;case"polylist":for(let T=0;T<b.count;T++){const E=b.vcount[T];switch(E){case 3:x+=3;break;case 4:x+=6;break;default:x+=(E-2)*3;break}}break;default:console.warn("THREE.ColladaLoader: Unknown primitive type:",b.type)}a.addGroup(f,x,g),f+=x,b.material&&p.push(b.material);for(const T in O){const E=O[T];switch(T){case"VERTEX":for(const Y in s){const F=s[Y];switch(Y){case"POSITION":const le=i.array.length;if(J(b,e[F],E.offset,i.array),i.stride=e[F].stride,e.skinWeights&&e.skinIndices&&(J(b,e.skinIndices,E.offset,l.array),J(b,e.skinWeights,E.offset,m.array)),b.hasUV===!1&&t.uvsNeedsFix===!0){const yn=(i.array.length-le)/i.stride;for(let st=0;st<yn;st++)o.array.push(0,0)}break;case"NORMAL":J(b,e[F],E.offset,r.array),r.stride=e[F].stride;break;case"COLOR":J(b,e[F],E.offset,c.array),c.stride=e[F].stride;break;case"TEXCOORD":J(b,e[F],E.offset,o.array),o.stride=e[F].stride;break;case"TEXCOORD1":J(b,e[F],E.offset,d.array),o.stride=e[F].stride;break;default:console.warn('THREE.ColladaLoader: Semantic "%s" not handled in geometry build process.',Y)}}break;case"NORMAL":J(b,e[E.id],E.offset,r.array),r.stride=e[E.id].stride;break;case"COLOR":J(b,e[E.id],E.offset,c.array,!0),c.stride=e[E.id].stride;break;case"TEXCOORD":J(b,e[E.id],E.offset,o.array),o.stride=e[E.id].stride;break;case"TEXCOORD1":J(b,e[E.id],E.offset,d.array),d.stride=e[E.id].stride;break}}}return i.array.length>0&&a.setAttribute("position",new ne(i.array,i.stride)),r.array.length>0&&a.setAttribute("normal",new ne(r.array,r.stride)),c.array.length>0&&a.setAttribute("color",new ne(c.array,c.stride)),o.array.length>0&&a.setAttribute("uv",new ne(o.array,o.stride)),d.array.length>0&&a.setAttribute("uv1",new ne(d.array,d.stride)),l.array.length>0&&a.setAttribute("skinIndex",new ne(l.array,l.stride)),m.array.length>0&&a.setAttribute("skinWeight",new ne(m.array,m.stride)),n.data=a,n.type=t[0].type,n.materialKeys=p,n}function J(t,e,s,n,i=!1){const r=t.p,o=t.stride,d=t.vcount;function c(a){let p=r[a+s]*m;const f=p+m;for(;p<f;p++)n.push(l[p]);if(i){const g=n.length-m-1;Ne.setRGB(n[g+0],n[g+1],n[g+2],ee),n[g+0]=Ne.r,n[g+1]=Ne.g,n[g+2]=Ne.b}}const l=e.array,m=e.stride;if(t.vcount!==void 0){let a=0;for(let p=0,f=d.length;p<f;p++){const g=d[p];if(g===4){const b=a+o*0,O=a+o*1,x=a+o*2,T=a+o*3;c(b),c(O),c(T),c(O),c(x),c(T)}else if(g===3){const b=a+o*0,O=a+o*1,x=a+o*2;c(b),c(O),c(x)}else if(g>4)for(let b=1,O=g-2;b<=O;b++){const x=a+o*0,T=a+o*b,E=a+o*(b+1);c(x),c(T),c(E)}a+=o*g}}else for(let a=0,p=r.length;a<p;a+=o)c(a)}function Ve(t){return z(w.geometries[t],Fe)}function Ft(t){const e={name:t.getAttribute("name")||"",joints:{},links:[]};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"technique_common":Dt(n,e);break}}w.kinematicsModels[t.getAttribute("id")]=e}function Vt(t){return t.build!==void 0?t.build:t}function Kt(t){return z(w.kinematicsModels[t],Vt)}function Dt(t,e){for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"joint":e.joints[n.getAttribute("sid")]=Wt(n);break;case"link":e.links.push(Ke(n));break}}}function Wt(t){let e;for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"prismatic":case"revolute":e=Jt(n);break}}return e}function Jt(t){const e={sid:t.getAttribute("sid"),name:t.getAttribute("name")||"",axis:new $,limits:{min:0,max:0},type:t.nodeName,static:!1,zeroPosition:0,middlePosition:0};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"axis":const i=I(n.textContent);e.axis.fromArray(i);break;case"limits":const r=n.getElementsByTagName("max")[0],o=n.getElementsByTagName("min")[0];e.limits.max=parseFloat(r.textContent),e.limits.min=parseFloat(o.textContent);break}}return e.limits.min>=e.limits.max&&(e.static=!0),e.middlePosition=(e.limits.min+e.limits.max)/2,e}function Ke(t){const e={sid:t.getAttribute("sid"),name:t.getAttribute("name")||"",attachments:[],transforms:[]};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"attachment_full":e.attachments.push(Yt(n));break;case"matrix":case"translate":case"rotate":e.transforms.push(De(n));break}}return e}function Yt(t){const e={joint:t.getAttribute("joint").split("/").pop(),transforms:[],links:[]};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"link":e.links.push(Ke(n));break;case"matrix":case"translate":case"rotate":e.transforms.push(De(n));break}}return e}function De(t){const e={type:t.nodeName},s=I(t.textContent);switch(e.type){case"matrix":e.obj=new X,e.obj.fromArray(s).transpose();break;case"translate":e.obj=new $,e.obj.fromArray(s);break;case"rotate":e.obj=new $,e.obj.fromArray(s),e.angle=pe.degToRad(s[3]);break}return e}function Xt(t){const e={name:t.getAttribute("name")||"",rigidBodies:{}};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"rigid_body":e.rigidBodies[n.getAttribute("name")]={},Zt(n,e.rigidBodies[n.getAttribute("name")]);break}}w.physicsModels[t.getAttribute("id")]=e}function Zt(t,e){for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"technique_common":Qt(n,e);break}}}function Qt(t,e){for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"inertia":e.inertia=I(n.textContent);break;case"mass":e.mass=I(n.textContent)[0];break}}}function $t(t){const e={bindJointAxis:[]};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"bind_joint_axis":e.bindJointAxis.push(en(n));break}}w.kinematicsScenes[S(t.getAttribute("url"))]=e}function en(t){const e={target:t.getAttribute("target").split("/").pop()};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType===1)switch(n.nodeName){case"axis":const i=n.getElementsByTagName("param")[0];e.axis=i.textContent;const r=e.axis.split("inst_").pop().split("axis")[0];e.jointIndex=r.substring(0,r.length-1);break}}return e}function tn(t){return t.build!==void 0?t.build:t}function nn(t){return z(w.kinematicsScenes[t],tn)}function sn(){const t=Object.keys(w.kinematicsModels)[0],e=Object.keys(w.kinematicsScenes)[0],s=Object.keys(w.visualScenes)[0];if(t===void 0||e===void 0)return;const n=Kt(t),i=nn(e),r=Qe(s),o=i.bindJointAxis,d={};for(let m=0,a=o.length;m<a;m++){const p=o[m],f=H.querySelector('[sid="'+p.target+'"]');if(f){const g=f.parentElement;c(p.jointIndex,g)}}function c(m,a){const p=a.getAttribute("name"),f=n.joints[m];r.traverse(function(g){g.name===p&&(d[m]={object:g,transforms:rn(a),joint:f,position:f.zeroPosition})})}const l=new X;nt={joints:n&&n.joints,getJointValue:function(m){const a=d[m];if(a)return a.position;console.warn("THREE.ColladaLoader: Joint "+m+" doesn't exist.")},setJointValue:function(m,a){const p=d[m];if(p){const f=p.joint;if(a>f.limits.max||a<f.limits.min)console.warn("THREE.ColladaLoader: Joint "+m+" value "+a+" outside of limits (min: "+f.limits.min+", max: "+f.limits.max+").");else if(f.static)console.warn("THREE.ColladaLoader: Joint "+m+" is static.");else{const g=p.object,b=f.axis,O=p.transforms;K.identity();for(let x=0;x<O.length;x++){const T=O[x];if(T.sid&&T.sid.indexOf(m)!==-1)switch(f.type){case"revolute":K.multiply(l.makeRotationAxis(b,pe.degToRad(a)));break;case"prismatic":K.multiply(l.makeTranslation(b.x*a,b.y*a,b.z*a));break;default:console.warn("THREE.ColladaLoader: Unknown joint type: "+f.type);break}else switch(T.type){case"matrix":K.multiply(T.obj);break;case"translate":K.multiply(l.makeTranslation(T.obj.x,T.obj.y,T.obj.z));break;case"scale":K.scale(T.obj);break;case"rotate":K.multiply(l.makeRotationAxis(T.obj,T.angle));break}}g.matrix.copy(K),g.matrix.decompose(g.position,g.quaternion,g.scale),d[m].position=a}}else console.log("THREE.ColladaLoader: "+m+" does not exist.")}}}function rn(t){const e=[],s=H.querySelector('[id="'+t.id+'"]');for(let n=0;n<s.childNodes.length;n++){const i=s.childNodes[n];if(i.nodeType!==1)continue;let r,o;switch(i.nodeName){case"matrix":r=I(i.textContent);const d=new X().fromArray(r).transpose();e.push({sid:i.getAttribute("sid"),type:i.nodeName,obj:d});break;case"translate":case"scale":r=I(i.textContent),o=new $().fromArray(r),e.push({sid:i.getAttribute("sid"),type:i.nodeName,obj:o});break;case"rotate":r=I(i.textContent),o=new $().fromArray(r);const c=pe.degToRad(r[3]);e.push({sid:i.getAttribute("sid"),type:i.nodeName,obj:o,angle:c});break}}return e}function on(t){const e=t.getElementsByTagName("node");for(let s=0;s<e.length;s++){const n=e[s];n.hasAttribute("id")===!1&&n.setAttribute("id",de())}}const K=new X,ae=new $;function Me(t){const e={name:t.getAttribute("name")||"",type:t.getAttribute("type"),id:t.getAttribute("id"),sid:t.getAttribute("sid"),matrix:new X,nodes:[],instanceCameras:[],instanceControllers:[],instanceLights:[],instanceGeometries:[],instanceNodes:[],transforms:{}};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];if(n.nodeType!==1)continue;let i;switch(n.nodeName){case"node":e.nodes.push(n.getAttribute("id")),Me(n);break;case"instance_camera":e.instanceCameras.push(S(n.getAttribute("url")));break;case"instance_controller":e.instanceControllers.push(We(n));break;case"instance_light":e.instanceLights.push(S(n.getAttribute("url")));break;case"instance_geometry":e.instanceGeometries.push(We(n));break;case"instance_node":e.instanceNodes.push(S(n.getAttribute("url")));break;case"matrix":i=I(n.textContent),e.matrix.multiply(K.fromArray(i).transpose()),e.transforms[n.getAttribute("sid")]=n.nodeName;break;case"translate":i=I(n.textContent),ae.fromArray(i),e.matrix.multiply(K.makeTranslation(ae.x,ae.y,ae.z)),e.transforms[n.getAttribute("sid")]=n.nodeName;break;case"rotate":i=I(n.textContent);const r=pe.degToRad(i[3]);e.matrix.multiply(K.makeRotationAxis(ae.fromArray(i),r)),e.transforms[n.getAttribute("sid")]=n.nodeName;break;case"scale":i=I(n.textContent),e.matrix.scale(ae.fromArray(i)),e.transforms[n.getAttribute("sid")]=n.nodeName;break;case"extra":break;default:console.log(n)}}return Xe(e.id)?console.warn("THREE.ColladaLoader: There is already a node with ID %s. Exclude current node from further processing.",e.id):w.nodes[e.id]=e,e}function We(t){const e={id:S(t.getAttribute("url")),materials:{},skeletons:[]};for(let s=0;s<t.childNodes.length;s++){const n=t.childNodes[s];switch(n.nodeName){case"bind_material":const i=n.getElementsByTagName("instance_material");for(let r=0;r<i.length;r++){const o=i[r],d=o.getAttribute("symbol"),c=o.getAttribute("target");e.materials[d]=S(c)}break;case"skeleton":e.skeletons.push(S(n.textContent));break}}return e}function an(t,e){const s=[],n=[];let i,r,o;for(i=0;i<t.length;i++){const l=t[i];let m;if(Xe(l))m=ce(l),Je(m,e,s);else if(fn(l)){const p=w.visualScenes[l].children;for(let f=0;f<p.length;f++){const g=p[f];if(g.type==="JOINT"){const b=ce(g.id);Je(b,e,s)}}}else console.error("THREE.ColladaLoader: Unable to find root bone of skeleton with ID:",l)}for(i=0;i<e.length;i++)for(r=0;r<s.length;r++)if(o=s[r],o.bone.name===e[i].name){n[i]=o,o.processed=!0;break}for(i=0;i<s.length;i++)o=s[i],o.processed===!1&&(n.push(o),o.processed=!0);const d=[],c=[];for(i=0;i<n.length;i++)o=n[i],d.push(o.bone),c.push(o.boneInverse);return new zn(d,c)}function Je(t,e,s){t.traverse(function(n){if(n.isBone===!0){let i;for(let r=0;r<e.length;r++){const o=e[r];if(o.name===n.name){i=o.boneInverse;break}}i===void 0&&(i=new X),s.push({bone:n,boneInverse:i,processed:!1})}})}function cn(t){const e=[],s=t.matrix,n=t.nodes,i=t.type,r=t.instanceCameras,o=t.instanceControllers,d=t.instanceLights,c=t.instanceGeometries,l=t.instanceNodes;for(let a=0,p=n.length;a<p;a++)e.push(ce(n[a]));for(let a=0,p=r.length;a<p;a++){const f=Mt(r[a]);f!==null&&e.push(f.clone())}for(let a=0,p=o.length;a<p;a++){const f=o[a],g=y(f.id),b=Ve(g.id),O=Ye(b,f.materials),x=f.skeletons,T=g.skin.joints,E=an(x,T);for(let Y=0,F=O.length;Y<F;Y++){const le=O[Y];le.isSkinnedMesh&&(le.bind(E,g.skin.bindMatrix),le.normalizeSkinWeights()),e.push(le)}}for(let a=0,p=d.length;a<p;a++){const f=jt(d[a]);f!==null&&e.push(f.clone())}for(let a=0,p=c.length;a<p;a++){const f=c[a],g=Ve(f.id),b=Ye(g,f.materials);for(let O=0,x=b.length;O<x;O++)e.push(b[O])}for(let a=0,p=l.length;a<p;a++)e.push(ce(l[a]).clone());let m;if(n.length===0&&e.length===1)m=e[0];else{m=i==="JOINT"?new qn:new dt;for(let a=0;a<e.length;a++)m.add(e[a])}return m.name=i==="JOINT"?t.sid:t.name,m.matrix.copy(s),m.matrix.decompose(m.position,m.quaternion,m.scale),m}const ln=new rt({name:it.DEFAULT_MATERIAL_NAME,color:16711935});function dn(t,e){const s=[];for(let n=0,i=t.length;n<i;n++){const r=e[t[n]];r===void 0?(console.warn("THREE.ColladaLoader: Material with key %s not found. Apply fallback material.",t[n]),s.push(ln)):s.push(Ct(r))}return s}function Ye(t,e){const s=[];for(const n in t){const i=t[n],r=dn(i.materialKeys,e);if(r.length===0&&(n==="lines"||n==="linestrips"?r.push(new ft):r.push(new ct)),n==="lines"||n==="linestrips")for(let l=0,m=r.length;l<m;l++){const a=r[l];if(a.isMeshPhongMaterial===!0||a.isMeshLambertMaterial===!0){const p=new ft;p.color.copy(a.color),p.opacity=a.opacity,p.transparent=a.transparent,r[l]=p}}const o=i.data.attributes.skinIndex!==void 0,d=r.length===1?r[0]:r;let c;switch(n){case"lines":c=new Bn(i.data,d);break;case"linestrips":c=new Un(i.data,d);break;case"triangles":case"polylist":o?c=new Pn(i.data,d):c=new Hn(i.data,d);break}s.push(c)}return s}function Xe(t){return w.nodes[t]!==void 0}function ce(t){return z(w.nodes[t],cn)}function un(t){const e={name:t.getAttribute("name"),children:[]};on(t);const s=U(t,"node");for(let n=0;n<s.length;n++)e.children.push(Me(s[n]));w.visualScenes[t.getAttribute("id")]=e}function Ze(t){const e=new dt;e.name=t.name;const s=t.children;for(let n=0;n<s.length;n++){const i=s[n];e.add(ce(i.id))}return e}function fn(t){return w.visualScenes[t]!==void 0}function Qe(t){return z(w.visualScenes[t],Ze)}function hn(t){const e=U(t,"instance_visual_scene")[0];return Qe(S(e.getAttribute("url")))}function pn(){const t=w.clips;if(Q(t)===!0){if(Q(w.animations)===!1){const e=[];for(const s in w.animations){const n=ye(s);for(let i=0,r=n.length;i<r;i++)e.push(n[i])}Ae.push(new at("default",-1,e))}}else for(const e in t)Ae.push(R(e))}function mn(t){let e="";const s=[t];for(;s.length;){const n=s.shift();n.nodeType===Node.TEXT_NODE?e+=n.textContent:(e+=`
2
+ `,s.push(...n.childNodes))}return e.trim()}if(D.length===0)return{scene:new Tn};const $e=new DOMParser().parseFromString(D,"application/xml"),H=U($e,"COLLADA")[0],Se=$e.getElementsByTagName("parsererror")[0];if(Se!==void 0){const t=U(Se,"div")[0];let e;return t?e=t.textContent:e=mn(Se),console.error(`THREE.ColladaLoader: Failed to parse collada file.
3
+ `,e),null}const bn=H.getAttribute("version");console.debug("THREE.ColladaLoader: File version",bn);const et=xe(U(H,"asset")[0]),tt=new En(this.manager);tt.setPath(this.resourcePath||se).setCrossOrigin(this.crossOrigin);let Ge;pt&&(Ge=new pt(this.manager),Ge.setPath(this.resourcePath||se));const Ne=new ot,Ae=[];let nt={},gn=0;const w={animations:{},clips:{},controllers:{},images:{},effects:{},materials:{},cameras:{},lights:{},geometries:{},nodes:{},visualScenes:{},kinematicsModels:{},physicsModels:{},kinematicsScenes:{}};B(H,"library_animations","animation",ue),B(H,"library_animation_clips","animation_clip",h),B(H,"library_controllers","controller",C),B(H,"library_images","image",u),B(H,"library_effects","effect",W),B(H,"library_materials","material",_t),B(H,"library_cameras","camera",vt),B(H,"library_lights","light",St),B(H,"library_geometries","geometry",qt),B(H,"library_nodes","node",Me),B(H,"library_visual_scenes","visual_scene",un),B(H,"library_kinematics_models","kinematics_model",Ft),B(H,"library_physics_models","physics_model",Xt),B(H,"scene","instance_kinematics_scene",$t),V(w.animations,ge),V(w.clips,q),V(w.controllers,A),V(w.images,k),V(w.effects,He),V(w.materials,Ue),V(w.cameras,Be),V(w.lights,ze),V(w.geometries,Fe),V(w.visualScenes,Ze),pn(),sn();const Te=hn(U(H,"scene")[0]);return Te.animations=Ae,et.upAxis==="Z_UP"&&(console.warn("THREE.ColladaLoader: You are loading an asset with a Z-UP coordinate system. The loader just rotates the asset to transform it into Y-UP. The vertex data are not converted, see #24289."),Te.rotation.set(-Math.PI/2,0,0)),Te.scale.multiplyScalar(et.unit),{get animations(){return console.warn("THREE.ColladaLoader: Please access animations over scene.animations now."),Ae},kinematics:nt,library:w,scene:Te}}}export{Vn as ColladaLoader};
@@ -0,0 +1 @@
1
+ import{al as f,n as l,j as c,t as d}from"./volter-sdk-DO4_-y9e.js";import{y as v}from"./three-integration.service-Bc-N4c0t.js";import{a as S}from"./live-mixers-B-bwLZ7c.js";import{m as h,J as x,o as b}from"./asset-preview-CZzQwgFD.js";import{O as j}from"./StageHost-byzihJ82.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./object3d-document-session-registry-DEoHbI_d.js";import"./linear-resolve-Cuka7Ypb.js";import"./model-inspection-ljY6Me_l.js";import"./standard-viewport-dressing-DeErCVm3.js";import"./OrbitControls-DrHRrSFA.js";function w(s){const t=new Set;return s.traverse(r=>{const o=S(r);if(o)for(const e of o.clips.values())t.add(e);for(const e of r.animations)t.add(e)}),[...t]}function y({documentId:s,source:t,sourcePath:r,displayName:o,active:e,chromeless:n=!1,revision:i=0,modelSource:p}){const u=l.useCallback(()=>{const a=h(x(t)),m=w(t);return a.animations=[...m],{root:a,animations:m,dispose(){b(a)}}},[t,i]);return c.jsx(j,{documentId:s,sourcePath:r??o,displayName:o,build:u,active:e,chromeless:n,rendererLane:n?"inspector-preview":"own",assetType:"entity",...p?{modelSource:p}:{}})}function L({documentId:s,entityId:t,displayName:r,active:o}){const e=v(f()),n=l.useSyncExternalStore(e.shell.subscribe,e.shell.getSnapshot),i=e.objectMap.get(t);return i?c.jsx(y,{documentId:s,source:i,sourcePath:`Entity ${t}`,displayName:r,active:o,revision:n,modelSource:{kind:"entity",entityId:t}}):c.jsxs("div",{role:"alert",style:{padding:20,color:d.semantic.danger},children:["Scene entity ",t," is no longer available."]})}export{L as EntityModelDocument,y as Object3DSnapshotDocument};
@@ -0,0 +1 @@
1
+ import{n as f,kE as M,kF as k,kG as C,kH as D,kI as z,j as o,t as y,kj as E,kJ as b}from"./volter-sdk-DO4_-y9e.js";import{z as P,aD as A,n as H,aK as I,Y as O,ay as F,m as L,ac as T,l as B,j as R,az as j,k as S,cj as G,u as $}from"./three.module-CtVjCPcj.js";import{O as N}from"./OrbitControls-DrHRrSFA.js";import{E as q,H as _}from"./output-pass-j4dAGrPY.js";function U(e){return e.split("/").pop()??e}function v(e,t,r){return Math.min(r,Math.max(t,e))}function X(e){return e.split(/[?#]/,1)[0].toLowerCase().endsWith(".exr")}async function W(e){const t=X(e)?"EXR":"HDR",s=await(t==="EXR"?new q:new _).loadAsync(e),p=s.image,n=p.width??0,a=p.height??0,c=n>0&&a>0&&Math.abs(n/a-2)<=.04;return s.mapping=P,s.needsUpdate=!0,{texture:s,width:n,height:a,format:t,panorama:c}}function J(e){const t=new O,r=new F(38,1,.05,100);r.position.set(6.2,3.4,7.8),r.lookAt(0,.7,0);const s=[],p=[];if(!e.panorama){t.background=new L("#11141b");const i=e.width>0&&e.height>0?e.width/e.height:1,d=new T(i>=1?4.8:4.8*i,i>=1?4.8/i:4.8),m=new B({map:e.texture,toneMapped:!0});return s.push(d),p.push(m),t.add(new R(d,m)),r.position.set(0,0,6.5),r.lookAt(0,0,0),{scene:t,camera:r,geometries:s,materials:p}}t.background=e.texture,t.environment=e.texture;const n=(i,d,m)=>{s.push(i),p.push(d);const x=new R(i,d);x.position.set(...m),t.add(x)};n(new S(1,64,40),new j({color:"#d8dde5",roughness:.08,metalness:1}),[-2.3,1.15,0]),n(new S(1,64,40),new j({color:"#c97341",roughness:.32,metalness:.25}),[0,1.15,0]),n(new S(1,64,40),new j({color:"#d7d5cf",roughness:.82,metalness:0}),[2.3,1.15,0]);const a=new G(5.7,96),c=new j({color:"#737881",roughness:.58,metalness:0});s.push(a),p.push(c);const l=new R(a,c);return l.rotation.x=-Math.PI/2,l.position.y=.08,t.add(l),{scene:t,camera:r,geometries:s,materials:p}}function K({image:e,settingsRef:t}){const r=f.useRef(null);return f.useEffect(()=>{const s=r.current;if(!s)return;let p=!1,n=0;const a=document.createElement("canvas");a.setAttribute("aria-label",`${e.format} environment preview`),a.style.width="100%",a.style.height="100%",a.style.display="block",s.replaceChildren(a);const c=new A({canvas:a,antialias:!0});c.outputColorSpace=H,c.toneMapping=I;const l=J(e),i=new N(l.camera,a);i.target.set(0,e.panorama?.8:0,0),i.enableDamping=!0,i.enablePan=!1,i.minDistance=e.panorama?3.8:4,i.maxDistance=e.panorama?14:10,i.update();const d={width:1,height:1},m=()=>{const u=t.current;if(c.toneMappingExposure=v(u.exposure,.05,8),e.panorama){const h=$.degToRad(u.rotation);l.scene.backgroundRotation.y=h,l.scene.environmentRotation.y=h,l.scene.backgroundBlurriness=v(u.blur,0,1),l.scene.environmentIntensity=v(u.intensity,0,8)}i.update(),c.render(l.scene,l.camera)},x=()=>{const u=s.getBoundingClientRect();d.width=Math.max(1,Math.floor(u.width)),d.height=Math.max(1,Math.floor(u.height)),c.setPixelRatio(Math.min(window.devicePixelRatio||1,2)),c.setSize(d.width,d.height,!1),l.camera.aspect=d.width/d.height,l.camera.updateProjectionMatrix(),m()};x();const w=new ResizeObserver(x);w.observe(s);const g=()=>{p||(m(),n=requestAnimationFrame(g))};return n=requestAnimationFrame(g),()=>{p=!0,cancelAnimationFrame(n),w.disconnect(),i.dispose();for(const u of l.geometries)u.dispose();for(const u of l.materials)u.dispose();c.dispose(),a.remove()}},[e,t]),o.jsx("div",{ref:r,"data-testid":"environment-preview",style:{width:"100%",height:"100%",minHeight:260,background:"#11141b"}})}function V({panorama:e,settings:t,onChange:r}){return o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:4},children:[o.jsxs("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:11},children:["Exposure",o.jsx(b,{value:t.exposure,onChange:s=>r({...t,exposure:v(s,.05,8)}),step:.05,precision:2})]}),e&&o.jsxs(o.Fragment,{children:[o.jsxs("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:11},children:["Lighting intensity",o.jsx(b,{value:t.intensity,onChange:s=>r({...t,intensity:v(s,0,8)}),step:.05,precision:2})]}),o.jsxs("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:11},children:["Rotation",o.jsx(b,{value:t.rotation,onChange:s=>r({...t,rotation:s%360}),step:1,precision:0})]}),o.jsxs("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:11},children:["Background blur",o.jsx(b,{value:t.blur,onChange:s=>r({...t,blur:v(s,0,1)}),step:.05,precision:2})]})]}),o.jsx("div",{style:{color:y.content.muted,fontSize:10,lineHeight:1.45},children:"Preview controls are session-only. Bind the image, orientation, and accepted intensity in the owning scene source."})]})}function te({documentId:e,assetPath:t,active:r=!0}){const[s,p]=f.useState(0),[n,a]=f.useState(null),[c,l]=f.useState(null),[i,d]=f.useState({exposure:1,intensity:1,rotation:0,blur:0}),m=f.useRef(i);m.current=i,f.useEffect(()=>{if(r)return M(t,()=>p(g=>g+1))},[r,t]),f.useEffect(()=>{if(!r)return;let g=!1,u=null;return a(null),l(null),W(t).then(h=>{if(u=h,g){h.texture.dispose();return}a(h)},h=>{g||l(h instanceof Error?h.message:String(h))}),()=>{g=!0,u?.texture.dispose()}},[r,t,s]);const x=f.useMemo(()=>[{id:"environment-image",title:"Environment Image",icon:C,order:k,body:{kind:"custom",...n?{data:{format:n.format,width:n.width,height:n.height,panorama:n.panorama}}:{},render:()=>o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"auto 1fr",gap:"6px 10px"},children:[o.jsx("span",{style:{color:y.content.muted},children:"Format"}),o.jsx("span",{children:n?.format??"—"}),o.jsx("span",{style:{color:y.content.muted},children:"Resolution"}),o.jsx("span",{children:n?`${n.width} × ${n.height}`:"—"}),o.jsx("span",{style:{color:y.content.muted},children:"Projection"}),o.jsx("span",{children:n?.panorama?"2:1 equirectangular":"Flat image"})]})}},{id:"environment-preview-settings",title:"Preview",icon:z,order:D,body:{kind:"custom",data:{...i},render:()=>o.jsx(V,{panorama:n?.panorama??!1,settings:i,onChange:d})}}],[n,i]),w=U(t);return c?o.jsx(E,{documentId:e,active:r,type:"environment image",title:w,status:"HDR image unavailable",children:o.jsx("div",{role:"alert",style:{padding:20,color:y.semantic.danger},children:c})}):n?o.jsx(E,{documentId:e,active:r,type:"environment image",title:w,sections:x,status:`${n.format} · ${n.width} × ${n.height}`,fill:!0,children:o.jsxs("div",{style:{position:"relative",width:"100%",height:"100%",minHeight:0},children:[o.jsx(K,{image:n,settingsRef:m}),o.jsx("div",{style:{position:"absolute",left:12,bottom:12,padding:"4px 7px",borderRadius:4,background:"rgba(12,14,20,0.72)",color:"#f2f4f8",fontSize:10,pointerEvents:"none"},children:n.panorama?"Drag to orbit · wheel to frame":"Non-2:1 image · flat preview"})]})}):o.jsx(E,{documentId:e,active:r,type:"environment image",title:w,status:"Loading HDR image",children:o.jsx("div",{style:{padding:20,color:y.content.muted},children:"Loading environment…"})})}export{te as EnvironmentAssetDocument};
@@ -0,0 +1 @@
1
+ import{y as G,V as M,cG as ue,b2 as Z,b7 as fe,b3 as he,b9 as me,a8 as $,C as J,aa as de,cH as _,ak as ge,aF as B,m as b,n as D,z as ye,g as I,f as ee,o as te,bf as W,O as H,ay as ve,P as ne,u as S,I as we,v as Te,p as Ie,j as Fe,ag as xe,bg as Pe,q as Ae,A as Se,B as q,h as V,U as Ee,M as De,r as Le,s as Me,E as O,bi as ke,Q as R,bl as Ce,bn as re,bm as be}from"./three.module-CtVjCPcj.js";import{u as Re}from"./output-pass-j4dAGrPY.js";function ae(f,e,t){const n=t.length-f-1;if(e>=t[n])return n-1;if(e<=t[f])return f;let r=f,s=n,i=Math.floor((r+s)/2);for(;e<t[i]||e>=t[i+1];)e<t[i]?s=i:r=i,i=Math.floor((r+s)/2);return i}function Be(f,e,t,n){const r=[],s=[],i=[];r[0]=1;for(let a=1;a<=t;++a){s[a]=e-n[f+1-a],i[a]=n[f+a]-e;let o=0;for(let l=0;l<a;++l){const p=i[l+1],c=s[a-l],u=r[l]/(p+c);r[l]=o+p*u,o=c*u}r[a]=o}return r}function Oe(f,e,t,n){const r=ae(f,n,e),s=Be(r,n,f,e),i=new G(0,0,0,0);for(let a=0;a<=f;++a){const o=t[r-f+a],l=s[a],p=o.w*l;i.x+=o.x*p,i.y+=o.y*p,i.z+=o.z*p,i.w+=o.w*l}return i}function Ve(f,e,t,n,r){const s=[];for(let c=0;c<=t;++c)s[c]=0;const i=[];for(let c=0;c<=n;++c)i[c]=s.slice(0);const a=[];for(let c=0;c<=t;++c)a[c]=s.slice(0);a[0][0]=1;const o=s.slice(0),l=s.slice(0);for(let c=1;c<=t;++c){o[c]=e-r[f+1-c],l[c]=r[f+c]-e;let u=0;for(let h=0;h<c;++h){const m=l[h+1],g=o[c-h];a[c][h]=m+g;const d=a[h][c-1]/a[c][h];a[h][c]=u+m*d,u=g*d}a[c][c]=u}for(let c=0;c<=t;++c)i[0][c]=a[c][t];for(let c=0;c<=t;++c){let u=0,h=1;const m=[];for(let g=0;g<=t;++g)m[g]=s.slice(0);m[0][0]=1;for(let g=1;g<=n;++g){let d=0;const w=c-g,T=t-g;c>=g&&(m[h][0]=m[u][0]/a[T+1][w],d=m[h][0]*a[w][T]);const v=w>=-1?1:-w,x=c-1<=T?g-1:t-c;for(let P=v;P<=x;++P)m[h][P]=(m[u][P]-m[u][P-1])/a[T+1][w+P],d+=m[h][P]*a[w+P][T];c<=T&&(m[h][g]=-m[u][g-1]/a[T+1][c],d+=m[h][g]*a[c][T]),i[g][c]=d;const E=u;u=h,h=E}}let p=t;for(let c=1;c<=n;++c){for(let u=0;u<=t;++u)i[c][u]*=p;p*=t-c}return i}function Ue(f,e,t,n,r){const s=r<f?r:f,i=[],a=ae(f,n,e),o=Ve(a,n,f,s,e),l=[];for(let p=0;p<t.length;++p){const c=t[p].clone(),u=c.w;c.x*=u,c.y*=u,c.z*=u,l[p]=c}for(let p=0;p<=s;++p){const c=l[a-f].clone().multiplyScalar(o[p][0]);for(let u=1;u<=f;++u)c.add(l[a-f+u].clone().multiplyScalar(o[p][u]));i[p]=c}for(let p=s+1;p<=r+1;++p)i[p]=new G(0,0,0);return i}function Xe(f,e){let t=1;for(let r=2;r<=f;++r)t*=r;let n=1;for(let r=2;r<=e;++r)n*=r;for(let r=2;r<=f-e;++r)n*=r;return t/n}function Ge(f){const e=f.length,t=[],n=[];for(let s=0;s<e;++s){const i=f[s];t[s]=new M(i.x,i.y,i.z),n[s]=i.w}const r=[];for(let s=0;s<e;++s){const i=t[s].clone();for(let a=1;a<=s;++a)i.sub(r[s-a].clone().multiplyScalar(Xe(s,a)*n[a]));r[s]=i.divideScalar(n[0])}return r}function ze(f,e,t,n,r){const s=Ue(f,e,t,n,r);return Ge(s)}class je extends ue{constructor(e,t,n,r,s){super();const i=t?t.length-1:0,a=n?n.length:0;this.degree=e,this.knots=t,this.controlPoints=[],this.startKnot=r||0,this.endKnot=s||i;for(let o=0;o<a;++o){const l=n[o];this.controlPoints[o]=new G(l.x,l.y,l.z,l.w)}}getPoint(e,t=new M){const n=t,r=this.knots[this.startKnot]+e*(this.knots[this.endKnot]-this.knots[this.startKnot]),s=Oe(this.degree,this.knots,this.controlPoints,r);return s.w!==1&&s.divideScalar(s.w),n.set(s.x,s.y,s.z)}getTangent(e,t=new M){const n=t,r=this.knots[0]+e*(this.knots[this.knots.length-1]-this.knots[0]),s=ze(this.degree,this.knots,this.controlPoints,r,1);return n.copy(s[1]).normalize(),n}toJSON(){const e=super.toJSON();return e.degree=this.degree,e.knots=[...this.knots],e.controlPoints=this.controlPoints.map(t=>t.toArray()),e.startKnot=this.startKnot,e.endKnot=this.endKnot,e}fromJSON(e){return super.fromJSON(e),this.degree=e.degree,this.knots=[...e.knots],this.controlPoints=e.controlPoints.map(t=>new G(t[0],t[1],t[2],t[3])),this.startKnot=e.startKnot,this.endKnot=e.endKnot,this}}let y,F,A;class nt extends Z{constructor(e){super(e)}load(e,t,n,r){const s=this,i=s.path===""?fe.extractUrlBase(e):s.path,a=new he(this.manager);a.setPath(s.path),a.setResponseType("arraybuffer"),a.setRequestHeader(s.requestHeader),a.setWithCredentials(s.withCredentials),a.load(e,function(o){try{t(s.parse(o,i))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},n,r)}parse(e,t){if(qe(e))y=new Ne().parse(e);else{const r=ce(e);if(!Qe(r))throw new Error("THREE.FBXLoader: Unknown format.");if(ie(r)<7e3)throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: "+ie(r));y=new We().parse(r)}const n=new me(this.manager).setPath(this.resourcePath||t).setCrossOrigin(this.crossOrigin);return new _e(n,this.manager).parse(y)}}class _e{constructor(e,t){this.textureLoader=e,this.manager=t}parse(){F=this.parseConnections();const e=this.parseImages(),t=this.parseTextures(e),n=this.parseMaterials(t),r=this.parseDeformers(),s=new He().parse(r);return this.parseScene(r,s,n),A}parseConnections(){const e=new Map;return"Connections"in y&&y.Connections.connections.forEach(function(n){const r=n[0],s=n[1],i=n[2];e.has(r)||e.set(r,{parents:[],children:[]});const a={ID:s,relationship:i};e.get(r).parents.push(a),e.has(s)||e.set(s,{parents:[],children:[]});const o={ID:r,relationship:i};e.get(s).children.push(o)}),e}parseImages(){const e={},t={};if("Video"in y.Objects){const n=y.Objects.Video;for(const r in n){const s=n[r],i=parseInt(r);if(e[i]=s.RelativeFilename||s.Filename,"Content"in s){const a=s.Content instanceof ArrayBuffer&&s.Content.byteLength>0,o=typeof s.Content=="string"&&s.Content!=="";if(a||o){const l=this.parseImage(n[r]);t[s.RelativeFilename||s.Filename]=l}}}}for(const n in e){const r=e[n];t[r]!==void 0?e[n]=t[r]:e[n]=e[n].split("\\").pop()}return e}parseImage(e){const t=e.Content,n=e.RelativeFilename||e.Filename,r=n.slice(n.lastIndexOf(".")+1).toLowerCase();let s;switch(r){case"bmp":s="image/bmp";break;case"jpg":case"jpeg":s="image/jpeg";break;case"png":s="image/png";break;case"tif":s="image/tiff";break;case"tga":this.manager.getHandler(".tga")===null&&console.warn("FBXLoader: TGA loader not found, skipping ",n),s="image/tga";break;case"webp":s="image/webp";break;default:console.warn('FBXLoader: Image type "'+r+'" is not supported.');return}if(typeof t=="string")return"data:"+s+";base64,"+t;{const i=new Uint8Array(t);return window.URL.createObjectURL(new Blob([i],{type:s}))}}parseTextures(e){const t=new Map;if("Texture"in y.Objects){const n=y.Objects.Texture;for(const r in n){const s=this.parseTexture(n[r],e);t.set(parseInt(r),s)}}return t}parseTexture(e,t){const n=this.loadTexture(e,t);n.ID=e.id,n.name=e.attrName;const r=e.WrapModeU,s=e.WrapModeV,i=r!==void 0?r.value:0,a=s!==void 0?s.value:0;if(n.wrapS=i===0?$:J,n.wrapT=a===0?$:J,"Scaling"in e){const o=e.Scaling.value;n.repeat.x=o[0],n.repeat.y=o[1]}if("Translation"in e){const o=e.Translation.value;n.offset.x=o[0],n.offset.y=o[1]}return n}loadTexture(e,t){const n=e.FileName.split(".").pop().toLowerCase();let r=this.manager.getHandler(`.${n}`);r===null&&(r=this.textureLoader);const s=r.path;s||r.setPath(this.textureLoader.path);const i=F.get(e.id).children;let a;if(i!==void 0&&i.length>0&&t[i[0].ID]!==void 0&&(a=t[i[0].ID],(a.indexOf("blob:")===0||a.indexOf("data:")===0)&&r.setPath(void 0)),a===void 0)return console.warn("FBXLoader: Undefined filename, creating placeholder texture."),new de;const o=r.load(a);return r.setPath(s),o}parseMaterials(e){const t=new Map;if("Material"in y.Objects){const n=y.Objects.Material;for(const r in n){const s=this.parseMaterial(n[r],e);s!==null&&t.set(parseInt(r),s)}}return t}parseMaterial(e,t){const n=e.id,r=e.attrName;let s=e.ShadingModel;if(typeof s=="object"&&(s=s.value),!F.has(n))return null;const i=this.parseParameters(e,t,n);let a;switch(s.toLowerCase()){case"phong":a=new _;break;case"lambert":a=new ge;break;default:console.warn('THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.',s),a=new _;break}return a.setValues(i),a.name=r,a}parseParameters(e,t,n){const r={};e.BumpFactor&&(r.bumpScale=e.BumpFactor.value),e.Diffuse?r.color=B.colorSpaceToWorking(new b().fromArray(e.Diffuse.value),D):e.DiffuseColor&&(e.DiffuseColor.type==="Color"||e.DiffuseColor.type==="ColorRGB")&&(r.color=B.colorSpaceToWorking(new b().fromArray(e.DiffuseColor.value),D)),e.DisplacementFactor&&(r.displacementScale=e.DisplacementFactor.value),e.Emissive?r.emissive=B.colorSpaceToWorking(new b().fromArray(e.Emissive.value),D):e.EmissiveColor&&(e.EmissiveColor.type==="Color"||e.EmissiveColor.type==="ColorRGB")&&(r.emissive=B.colorSpaceToWorking(new b().fromArray(e.EmissiveColor.value),D)),e.EmissiveFactor&&(r.emissiveIntensity=parseFloat(e.EmissiveFactor.value)),r.opacity=1-(e.TransparencyFactor?parseFloat(e.TransparencyFactor.value):0),(r.opacity===1||r.opacity===0)&&(r.opacity=e.Opacity?parseFloat(e.Opacity.value):null,r.opacity===null&&(r.opacity=1-(e.TransparentColor?parseFloat(e.TransparentColor.value[0]):0))),r.opacity<1&&(r.transparent=!0),e.ReflectionFactor&&(r.reflectivity=e.ReflectionFactor.value),e.Shininess&&(r.shininess=e.Shininess.value),e.Specular?r.specular=B.colorSpaceToWorking(new b().fromArray(e.Specular.value),D):e.SpecularColor&&e.SpecularColor.type==="Color"&&(r.specular=B.colorSpaceToWorking(new b().fromArray(e.SpecularColor.value),D));const s=this;return F.get(n).children.forEach(function(i){const a=i.relationship;switch(a){case"Bump":r.bumpMap=s.getTexture(t,i.ID);break;case"Maya|TEX_ao_map":r.aoMap=s.getTexture(t,i.ID);break;case"DiffuseColor":case"Maya|TEX_color_map":r.map=s.getTexture(t,i.ID),r.map!==void 0&&(r.map.colorSpace=D);break;case"DisplacementColor":r.displacementMap=s.getTexture(t,i.ID);break;case"EmissiveColor":r.emissiveMap=s.getTexture(t,i.ID),r.emissiveMap!==void 0&&(r.emissiveMap.colorSpace=D);break;case"NormalMap":case"Maya|TEX_normal_map":r.normalMap=s.getTexture(t,i.ID);break;case"ReflectionColor":r.envMap=s.getTexture(t,i.ID),r.envMap!==void 0&&(r.envMap.mapping=ye,r.envMap.colorSpace=D);break;case"SpecularColor":r.specularMap=s.getTexture(t,i.ID),r.specularMap!==void 0&&(r.specularMap.colorSpace=D);break;case"TransparentColor":case"TransparencyFactor":r.alphaMap=s.getTexture(t,i.ID),r.transparent=!0;break;case"AmbientColor":case"ShininessExponent":case"SpecularFactor":case"VectorDisplacementColor":default:console.warn("THREE.FBXLoader: %s map is not supported in three.js, skipping texture.",a);break}}),r}getTexture(e,t){return"LayeredTexture"in y.Objects&&t in y.Objects.LayeredTexture&&(console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."),t=F.get(t).children[0].ID),e.get(t)}parseDeformers(){const e={},t={};if("Deformer"in y.Objects){const n=y.Objects.Deformer;for(const r in n){const s=n[r],i=F.get(parseInt(r));if(s.attrType==="Skin"){const a=this.parseSkeleton(i,n);a.ID=r,i.parents.length>1&&console.warn("THREE.FBXLoader: skeleton attached to more than one geometry is not supported."),a.geometryID=i.parents[0].ID,e[r]=a}else if(s.attrType==="BlendShape"){const a={id:r};a.rawTargets=this.parseMorphTargets(i,n),a.id=r,i.parents.length>1&&console.warn("THREE.FBXLoader: morph target attached to more than one geometry is not supported."),t[r]=a}}}return{skeletons:e,morphTargets:t}}parseSkeleton(e,t){const n=[];return e.children.forEach(function(r){const s=t[r.ID];if(s.attrType!=="Cluster")return;const i={ID:r.ID,indices:[],weights:[],transformLink:new I().fromArray(s.TransformLink.a)};"Indexes"in s&&(i.indices=s.Indexes.a,i.weights=s.Weights.a),n.push(i)}),{rawBones:n,bones:[]}}parseMorphTargets(e,t){const n=[];for(let r=0;r<e.children.length;r++){const s=e.children[r],i=t[s.ID],a={name:i.attrName,initialWeight:i.DeformPercent,id:i.id,fullWeights:i.FullWeights.a};if(i.attrType!=="BlendShapeChannel")return;a.geoID=F.get(parseInt(s.ID)).children.filter(function(o){return o.relationship===void 0})[0].ID,n.push(a)}return n}parseScene(e,t,n){A=new ee;const r=this.parseModels(e.skeletons,t,n),s=y.Objects.Model,i=this;r.forEach(function(o){const l=s[o.ID];i.setLookAtProperties(o,l),F.get(o.ID).parents.forEach(function(c){const u=r.get(c.ID);u!==void 0&&u.add(o)}),o.parent===null&&A.add(o)}),this.bindSkeleton(e.skeletons,t,r),this.addGlobalSceneSettings(),A.traverse(function(o){if(o.userData.transformData){o.parent&&(o.userData.transformData.parentMatrix=o.parent.matrix,o.userData.transformData.parentMatrixWorld=o.parent.matrixWorld);const l=le(o.userData.transformData);o.applyMatrix4(l),o.updateWorldMatrix()}});const a=new Ke().parse();A.children.length===1&&A.children[0].isGroup&&(A.children[0].animations=a,A=A.children[0]),A.animations=a}parseModels(e,t,n){const r=new Map,s=y.Objects.Model;for(const i in s){const a=parseInt(i),o=s[i],l=F.get(a);let p=this.buildSkeleton(l,e,a,o.attrName);if(!p){switch(o.attrType){case"Camera":p=this.createCamera(l);break;case"Light":p=this.createLight(l);break;case"Mesh":p=this.createMesh(l,t,n);break;case"NurbsCurve":p=this.createCurve(l,t);break;case"LimbNode":case"Root":p=new te;break;case"Null":default:p=new ee;break}p.name=o.attrName?W.sanitizeNodeName(o.attrName):"",p.userData.originalName=o.attrName,p.ID=a}this.getTransformData(p,o),r.set(a,p)}return r}buildSkeleton(e,t,n,r){let s=null;return e.parents.forEach(function(i){for(const a in t){const o=t[a];o.rawBones.forEach(function(l,p){if(l.ID===i.ID){const c=s;s=new te,s.matrixWorld.copy(l.transformLink),s.name=r?W.sanitizeNodeName(r):"",s.userData.originalName=r,s.ID=n,o.bones[p]=s,c!==null&&s.add(c)}})}}),s}createCamera(e){let t,n;if(e.children.forEach(function(r){const s=y.Objects.NodeAttribute[r.ID];s!==void 0&&(n=s)}),n===void 0)t=new H;else{let r=0;n.CameraProjectionType!==void 0&&n.CameraProjectionType.value===1&&(r=1);let s=1;n.NearPlane!==void 0&&(s=n.NearPlane.value/1e3);let i=1e3;n.FarPlane!==void 0&&(i=n.FarPlane.value/1e3);let a=window.innerWidth,o=window.innerHeight;n.AspectWidth!==void 0&&n.AspectHeight!==void 0&&(a=n.AspectWidth.value,o=n.AspectHeight.value);const l=a/o;let p=45;n.FieldOfView!==void 0&&(p=n.FieldOfView.value);const c=n.FocalLength?n.FocalLength.value:null;switch(r){case 0:t=new ve(p,l,s,i),c!==null&&t.setFocalLength(c);break;case 1:console.warn("THREE.FBXLoader: Orthographic cameras not supported yet."),t=new H;break;default:console.warn("THREE.FBXLoader: Unknown camera type "+r+"."),t=new H;break}}return t}createLight(e){let t,n;if(e.children.forEach(function(r){const s=y.Objects.NodeAttribute[r.ID];s!==void 0&&(n=s)}),n===void 0)t=new H;else{let r;n.LightType===void 0?r=0:r=n.LightType.value;let s=16777215;n.Color!==void 0&&(s=B.colorSpaceToWorking(new b().fromArray(n.Color.value),D));let i=n.Intensity===void 0?1:n.Intensity.value/100;n.CastLightOnObject!==void 0&&n.CastLightOnObject.value===0&&(i=0);let a=0;n.FarAttenuationEnd!==void 0&&(n.EnableFarAttenuation!==void 0&&n.EnableFarAttenuation.value===0?a=0:a=n.FarAttenuationEnd.value);const o=1;switch(r){case 0:t=new ne(s,i,a,o);break;case 1:t=new Te(s,i);break;case 2:let l=Math.PI/3;n.InnerAngle!==void 0&&(l=S.degToRad(n.InnerAngle.value));let p=0;n.OuterAngle!==void 0&&(p=S.degToRad(n.OuterAngle.value),p=Math.max(p,1)),t=new we(s,i,a,l,p,o);break;default:console.warn("THREE.FBXLoader: Unknown light type "+n.LightType.value+", defaulting to a PointLight."),t=new ne(s,i);break}n.CastShadows!==void 0&&n.CastShadows.value===1&&(t.castShadow=!0)}return t}createMesh(e,t,n){let r,s=null,i=null;const a=[];if(e.children.forEach(function(o){t.has(o.ID)&&(s=t.get(o.ID)),n.has(o.ID)&&a.push(n.get(o.ID))}),a.length>1?i=a:a.length>0?i=a[0]:(i=new _({name:Z.DEFAULT_MATERIAL_NAME,color:13421772}),a.push(i)),"color"in s.attributes&&a.forEach(function(o){o.vertexColors=!0}),s.groups.length>0){let o=!1;for(let l=0,p=s.groups.length;l<p;l++){const c=s.groups[l];(c.materialIndex<0||c.materialIndex>=a.length)&&(c.materialIndex=a.length,o=!0)}if(o){const l=new _;a.push(l)}}return s.FBX_Deformer?(r=new Ie(s,i),r.normalizeSkinWeights()):r=new Fe(s,i),r}createCurve(e,t){const n=e.children.reduce(function(s,i){return t.has(i.ID)&&(s=t.get(i.ID)),s},null),r=new xe({name:Z.DEFAULT_MATERIAL_NAME,color:3342591,linewidth:1});return new Pe(n,r)}getTransformData(e,t){const n={};"InheritType"in t&&(n.inheritType=parseInt(t.InheritType.value)),"RotationOrder"in t?n.eulerOrder=z(t.RotationOrder.value):n.eulerOrder=z(0),"Lcl_Translation"in t&&(n.translation=t.Lcl_Translation.value),"PreRotation"in t&&(n.preRotation=t.PreRotation.value),"Lcl_Rotation"in t&&(n.rotation=t.Lcl_Rotation.value),"PostRotation"in t&&(n.postRotation=t.PostRotation.value),"Lcl_Scaling"in t&&(n.scale=t.Lcl_Scaling.value),"ScalingOffset"in t&&(n.scalingOffset=t.ScalingOffset.value),"ScalingPivot"in t&&(n.scalingPivot=t.ScalingPivot.value),"RotationOffset"in t&&(n.rotationOffset=t.RotationOffset.value),"RotationPivot"in t&&(n.rotationPivot=t.RotationPivot.value),e.userData.transformData=n}setLookAtProperties(e,t){"LookAtProperty"in t&&F.get(e.ID).children.forEach(function(r){if(r.relationship==="LookAtProperty"){const s=y.Objects.Model[r.ID];if("Lcl_Translation"in s){const i=s.Lcl_Translation.value;e.target!==void 0?(e.target.position.fromArray(i),A.add(e.target)):e.lookAt(new M().fromArray(i))}}})}bindSkeleton(e,t,n){const r=this.parsePoseNodes();for(const s in e){const i=e[s];F.get(parseInt(i.ID)).parents.forEach(function(o){if(t.has(o.ID)){const l=o.ID;F.get(l).parents.forEach(function(c){n.has(c.ID)&&n.get(c.ID).bind(new Ae(i.bones),r[c.ID])})}})}}parsePoseNodes(){const e={};if("Pose"in y.Objects){const t=y.Objects.Pose;for(const n in t)if(t[n].attrType==="BindPose"&&t[n].NbPoseNodes>0){const r=t[n].PoseNode;Array.isArray(r)?r.forEach(function(s){e[s.Node]=new I().fromArray(s.Matrix.a)}):e[r.Node]=new I().fromArray(r.Matrix.a)}}return e}addGlobalSceneSettings(){if("GlobalSettings"in y){if("AmbientColor"in y.GlobalSettings){const e=y.GlobalSettings.AmbientColor.value,t=e[0],n=e[1],r=e[2];if(t!==0||n!==0||r!==0){const s=new b().setRGB(t,n,r,D);A.add(new Se(s,1))}}"UnitScaleFactor"in y.GlobalSettings&&(A.userData.unitScaleFactor=y.GlobalSettings.UnitScaleFactor.value)}}}class He{constructor(){this.negativeMaterialIndices=!1}parse(e){const t=new Map;if("Geometry"in y.Objects){const n=y.Objects.Geometry;for(const r in n){const s=F.get(parseInt(r)),i=this.parseGeometry(s,n[r],e);t.set(parseInt(r),i)}}return this.negativeMaterialIndices===!0&&console.warn("THREE.FBXLoader: The FBX file contains invalid (negative) material indices. The asset might not render as expected."),t}parseGeometry(e,t,n){switch(t.attrType){case"Mesh":return this.parseMeshGeometry(e,t,n);case"NurbsCurve":return this.parseNurbsGeometry(t)}}parseMeshGeometry(e,t,n){const r=n.skeletons,s=[],i=e.parents.map(function(c){return y.Objects.Model[c.ID]});if(i.length===0)return;const a=e.children.reduce(function(c,u){return r[u.ID]!==void 0&&(c=r[u.ID]),c},null);e.children.forEach(function(c){n.morphTargets[c.ID]!==void 0&&s.push(n.morphTargets[c.ID])});const o=i[0],l={};"RotationOrder"in o&&(l.eulerOrder=z(o.RotationOrder.value)),"InheritType"in o&&(l.inheritType=parseInt(o.InheritType.value)),"GeometricTranslation"in o&&(l.translation=o.GeometricTranslation.value),"GeometricRotation"in o&&(l.rotation=o.GeometricRotation.value),"GeometricScaling"in o&&(l.scale=o.GeometricScaling.value);const p=le(l);return this.genGeometry(t,a,s,p)}genGeometry(e,t,n,r){const s=new q;e.attrName&&(s.name=e.attrName);const i=this.parseGeoNode(e,t),a=this.genBuffers(i),o=new V(a.vertex,3);if(o.applyMatrix4(r),s.setAttribute("position",o),a.colors.length>0&&s.setAttribute("color",new V(a.colors,3)),t&&(s.setAttribute("skinIndex",new Ee(a.weightsIndices,4)),s.setAttribute("skinWeight",new V(a.vertexWeights,4)),s.FBX_Deformer=t),a.normal.length>0){const l=new De().getNormalMatrix(r),p=new V(a.normal,3);p.applyNormalMatrix(l),s.setAttribute("normal",p)}if(a.uvs.forEach(function(l,p){const c=p===0?"uv":`uv${p}`;s.setAttribute(c,new V(a.uvs[p],2))}),i.material&&i.material.mappingType!=="AllSame"){let l=a.materialIndex[0],p=0;if(a.materialIndex.forEach(function(c,u){c!==l&&(s.addGroup(p,u-p,l),l=c,p=u)}),s.groups.length>0){const c=s.groups[s.groups.length-1],u=c.start+c.count;u!==a.materialIndex.length&&s.addGroup(u,a.materialIndex.length-u,l)}s.groups.length===0&&s.addGroup(0,a.materialIndex.length,a.materialIndex[0])}return this.addMorphTargets(s,e,n,r),s}parseGeoNode(e,t){const n={};if(n.vertexPositions=e.Vertices!==void 0?e.Vertices.a:[],n.vertexIndices=e.PolygonVertexIndex!==void 0?e.PolygonVertexIndex.a:[],e.LayerElementColor&&e.LayerElementColor[0].Colors&&(n.color=this.parseVertexColors(e.LayerElementColor[0])),e.LayerElementMaterial&&(n.material=this.parseMaterialIndices(e.LayerElementMaterial[0])),e.LayerElementNormal&&(n.normal=this.parseNormals(e.LayerElementNormal[0])),e.LayerElementUV){n.uv=[];let r=0;for(;e.LayerElementUV[r];)e.LayerElementUV[r].UV&&n.uv.push(this.parseUVs(e.LayerElementUV[r])),r++}return n.weightTable={},t!==null&&(n.skeleton=t,t.rawBones.forEach(function(r,s){r.indices.forEach(function(i,a){n.weightTable[i]===void 0&&(n.weightTable[i]=[]),n.weightTable[i].push({id:s,weight:r.weights[a]})})})),n}genBuffers(e){const t={vertex:[],normal:[],colors:[],uvs:[],materialIndex:[],vertexWeights:[],weightsIndices:[]};let n=0,r=0,s=!1,i=[],a=[],o=[],l=[],p=[],c=[];const u=this;return e.vertexIndices.forEach(function(h,m){let g,d=!1;h<0&&(h=h^-1,d=!0);let w=[],T=[];if(i.push(h*3,h*3+1,h*3+2),e.color){const v=K(m,n,h,e.color);o.push(v[0],v[1],v[2])}if(e.skeleton){if(e.weightTable[h]!==void 0&&e.weightTable[h].forEach(function(v){T.push(v.weight),w.push(v.id)}),T.length>4){s||(console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."),s=!0);const v=[0,0,0,0],x=[0,0,0,0];T.forEach(function(E,P){let C=E,L=w[P];x.forEach(function(j,X,k){if(C>j){k[X]=C,C=j;const N=v[X];v[X]=L,L=N}})}),w=v,T=x}for(;T.length<4;)T.push(0),w.push(0);for(let v=0;v<4;++v)p.push(T[v]),c.push(w[v])}if(e.normal){const v=K(m,n,h,e.normal);a.push(v[0],v[1],v[2])}e.material&&e.material.mappingType!=="AllSame"&&(g=K(m,n,h,e.material)[0],g<0&&(u.negativeMaterialIndices=!0,g=0)),e.uv&&e.uv.forEach(function(v,x){const E=K(m,n,h,v);l[x]===void 0&&(l[x]=[]),l[x].push(E[0]),l[x].push(E[1])}),r++,d&&(u.genFace(t,e,i,g,a,o,l,p,c,r),n++,r=0,i=[],a=[],o=[],l=[],p=[],c=[])}),t}getNormalNewell(e){const t=new M(0,0,0);for(let n=0;n<e.length;n++){const r=e[n],s=e[(n+1)%e.length];t.x+=(r.y-s.y)*(r.z+s.z),t.y+=(r.z-s.z)*(r.x+s.x),t.z+=(r.x-s.x)*(r.y+s.y)}return t.normalize(),t}getNormalTangentAndBitangent(e){const t=this.getNormalNewell(e),r=(Math.abs(t.z)>.5?new M(0,1,0):new M(0,0,1)).cross(t).normalize(),s=t.clone().cross(r).normalize();return{normal:t,tangent:r,bitangent:s}}flattenVertex(e,t,n){return new Le(e.dot(t),e.dot(n))}genFace(e,t,n,r,s,i,a,o,l,p){let c;if(p>3){const u=[],h=t.baseVertexPositions||t.vertexPositions;for(let w=0;w<n.length;w+=3)u.push(new M(h[n[w]],h[n[w+1]],h[n[w+2]]));const{tangent:m,bitangent:g}=this.getNormalTangentAndBitangent(u),d=[];for(const w of u)d.push(this.flattenVertex(w,m,g));c=Me.triangulateShape(d,[])}else c=[[0,1,2]];for(const[u,h,m]of c)e.vertex.push(t.vertexPositions[n[u*3]]),e.vertex.push(t.vertexPositions[n[u*3+1]]),e.vertex.push(t.vertexPositions[n[u*3+2]]),e.vertex.push(t.vertexPositions[n[h*3]]),e.vertex.push(t.vertexPositions[n[h*3+1]]),e.vertex.push(t.vertexPositions[n[h*3+2]]),e.vertex.push(t.vertexPositions[n[m*3]]),e.vertex.push(t.vertexPositions[n[m*3+1]]),e.vertex.push(t.vertexPositions[n[m*3+2]]),t.skeleton&&(e.vertexWeights.push(o[u*4]),e.vertexWeights.push(o[u*4+1]),e.vertexWeights.push(o[u*4+2]),e.vertexWeights.push(o[u*4+3]),e.vertexWeights.push(o[h*4]),e.vertexWeights.push(o[h*4+1]),e.vertexWeights.push(o[h*4+2]),e.vertexWeights.push(o[h*4+3]),e.vertexWeights.push(o[m*4]),e.vertexWeights.push(o[m*4+1]),e.vertexWeights.push(o[m*4+2]),e.vertexWeights.push(o[m*4+3]),e.weightsIndices.push(l[u*4]),e.weightsIndices.push(l[u*4+1]),e.weightsIndices.push(l[u*4+2]),e.weightsIndices.push(l[u*4+3]),e.weightsIndices.push(l[h*4]),e.weightsIndices.push(l[h*4+1]),e.weightsIndices.push(l[h*4+2]),e.weightsIndices.push(l[h*4+3]),e.weightsIndices.push(l[m*4]),e.weightsIndices.push(l[m*4+1]),e.weightsIndices.push(l[m*4+2]),e.weightsIndices.push(l[m*4+3])),t.color&&(e.colors.push(i[u*3]),e.colors.push(i[u*3+1]),e.colors.push(i[u*3+2]),e.colors.push(i[h*3]),e.colors.push(i[h*3+1]),e.colors.push(i[h*3+2]),e.colors.push(i[m*3]),e.colors.push(i[m*3+1]),e.colors.push(i[m*3+2])),t.material&&t.material.mappingType!=="AllSame"&&(e.materialIndex.push(r),e.materialIndex.push(r),e.materialIndex.push(r)),t.normal&&(e.normal.push(s[u*3]),e.normal.push(s[u*3+1]),e.normal.push(s[u*3+2]),e.normal.push(s[h*3]),e.normal.push(s[h*3+1]),e.normal.push(s[h*3+2]),e.normal.push(s[m*3]),e.normal.push(s[m*3+1]),e.normal.push(s[m*3+2])),t.uv&&t.uv.forEach(function(g,d){e.uvs[d]===void 0&&(e.uvs[d]=[]),e.uvs[d].push(a[d][u*2]),e.uvs[d].push(a[d][u*2+1]),e.uvs[d].push(a[d][h*2]),e.uvs[d].push(a[d][h*2+1]),e.uvs[d].push(a[d][m*2]),e.uvs[d].push(a[d][m*2+1])})}addMorphTargets(e,t,n,r){if(n.length===0)return;e.morphTargetsRelative=!0,e.morphAttributes.position=[];const s=this;n.forEach(function(i){i.rawTargets.forEach(function(a){const o=y.Objects.Geometry[a.geoID];o!==void 0&&s.genMorphGeometry(e,t,o,r,a.name)})})}genMorphGeometry(e,t,n,r,s){const i=t.Vertices!==void 0?t.Vertices.a:[],a=t.PolygonVertexIndex!==void 0?t.PolygonVertexIndex.a:[],o=n.Vertices!==void 0?n.Vertices.a:[],l=n.Indexes!==void 0?n.Indexes.a:[],p=e.attributes.position.count*3,c=new Float32Array(p);for(let g=0;g<l.length;g++){const d=l[g]*3;c[d]=o[g*3],c[d+1]=o[g*3+1],c[d+2]=o[g*3+2]}const u={vertexIndices:a,vertexPositions:c,baseVertexPositions:i},h=this.genBuffers(u),m=new V(h.vertex,3);m.name=s||n.attrName,m.applyMatrix4(r),e.morphAttributes.position.push(m)}parseNormals(e){const t=e.MappingInformationType,n=e.ReferenceInformationType,r=e.Normals.a;let s=[];return n==="IndexToDirect"&&("NormalIndex"in e?s=e.NormalIndex.a:"NormalsIndex"in e&&(s=e.NormalsIndex.a)),{dataSize:3,buffer:r,indices:s,mappingType:t,referenceType:n}}parseUVs(e){const t=e.MappingInformationType,n=e.ReferenceInformationType,r=e.UV.a;let s=[];return n==="IndexToDirect"&&(s=e.UVIndex.a),{dataSize:2,buffer:r,indices:s,mappingType:t,referenceType:n}}parseVertexColors(e){const t=e.MappingInformationType,n=e.ReferenceInformationType,r=e.Colors.a;let s=[];n==="IndexToDirect"&&(s=e.ColorIndex.a);for(let i=0,a=new b;i<r.length;i+=4)a.fromArray(r,i),B.colorSpaceToWorking(a,D),a.toArray(r,i);return{dataSize:4,buffer:r,indices:s,mappingType:t,referenceType:n}}parseMaterialIndices(e){const t=e.MappingInformationType,n=e.ReferenceInformationType;if(t==="NoMappingInformation")return{dataSize:1,buffer:[0],indices:[0],mappingType:"AllSame",referenceType:n};const r=e.Materials.a,s=[];for(let i=0;i<r.length;++i)s.push(i);return{dataSize:1,buffer:r,indices:s,mappingType:t,referenceType:n}}parseNurbsGeometry(e){const t=parseInt(e.Order);if(isNaN(t))return console.error("THREE.FBXLoader: Invalid Order %s given for geometry ID: %s",e.Order,e.id),new q;const n=t-1,r=e.KnotVector.a,s=[],i=e.Points.a;for(let c=0,u=i.length;c<u;c+=4)s.push(new G().fromArray(i,c));let a,o;if(e.Form==="Closed")s.push(s[0]);else if(e.Form==="Periodic"){a=n,o=r.length-1-a;for(let c=0;c<n;++c)s.push(s[c])}const p=new je(n,r,s,a,o).getPoints(s.length*12);return new q().setFromPoints(p)}}class Ke{parse(){const e=[],t=this.parseClips();if(t!==void 0)for(const n in t){const r=t[n],s=this.addClip(r);e.push(s)}return e}parseClips(){if(y.Objects.AnimationCurve===void 0)return;const e=this.parseAnimationCurveNodes();this.parseAnimationCurves(e);const t=this.parseAnimationLayers(e);return this.parseAnimStacks(t)}parseAnimationCurveNodes(){const e=y.Objects.AnimationCurveNode,t=new Map;for(const n in e){const r=e[n];if(r.attrName.match(/S|R|T|DeformPercent/)!==null){const s={id:r.id,attr:r.attrName,curves:{}};t.set(s.id,s)}}return t}parseAnimationCurves(e){const t=y.Objects.AnimationCurve;for(const n in t){const r={id:t[n].id,times:t[n].KeyTime.a.map(Ye),values:t[n].KeyValueFloat.a},s=F.get(r.id);if(s!==void 0){const i=s.parents[0].ID,a=s.parents[0].relationship;a.match(/X/)?e.get(i).curves.x=r:a.match(/Y/)?e.get(i).curves.y=r:a.match(/Z/)?e.get(i).curves.z=r:a.match(/DeformPercent/)&&e.has(i)&&(e.get(i).curves.morph=r)}}}parseAnimationLayers(e){const t=y.Objects.AnimationLayer,n=new Map;for(const r in t){const s=[],i=F.get(parseInt(r));i!==void 0&&(i.children.forEach(function(o,l){if(e.has(o.ID)){const p=e.get(o.ID);if(p.curves.x!==void 0||p.curves.y!==void 0||p.curves.z!==void 0){if(s[l]===void 0){const c=F.get(o.ID).parents.filter(function(u){return u.relationship!==void 0})[0].ID;if(c!==void 0){const u=y.Objects.Model[c.toString()];if(u===void 0){console.warn("THREE.FBXLoader: Encountered a unused curve.",o);return}const h={modelName:u.attrName?W.sanitizeNodeName(u.attrName):"",ID:u.id,initialPosition:[0,0,0],initialRotation:[0,0,0],initialScale:[1,1,1]};A.traverse(function(m){m.ID===u.id&&(h.transform=m.matrix,m.userData.transformData&&(h.eulerOrder=m.userData.transformData.eulerOrder))}),h.transform||(h.transform=new I),"PreRotation"in u&&(h.preRotation=u.PreRotation.value),"PostRotation"in u&&(h.postRotation=u.PostRotation.value),s[l]=h}}s[l]&&(s[l][p.attr]=p)}else if(p.curves.morph!==void 0){if(s[l]===void 0){const c=F.get(o.ID).parents.filter(function(w){return w.relationship!==void 0})[0].ID,u=F.get(c).parents[0].ID,h=F.get(u).parents[0].ID,m=F.get(h).parents[0].ID,g=y.Objects.Model[m],d={modelName:g.attrName?W.sanitizeNodeName(g.attrName):"",morphName:y.Objects.Deformer[c].attrName};s[l]=d}s[l][p.attr]=p}}}),n.set(parseInt(r),s))}return n}parseAnimStacks(e){const t=y.Objects.AnimationStack,n={};for(const r in t){const s=F.get(parseInt(r)).children;s.length>1&&console.warn("THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.");const i=e.get(s[0].ID);n[r]={name:t[r].attrName,layer:i}}return n}addClip(e){let t=[];const n=this;return e.layer.forEach(function(r){t=t.concat(n.generateTracks(r))}),new ke(e.name,-1,t)}generateTracks(e){const t=[];let n=new M,r=new M;if(e.transform&&e.transform.decompose(n,new R,r),n=n.toArray(),r=r.toArray(),e.T!==void 0&&Object.keys(e.T.curves).length>0){const s=this.generateVectorTrack(e.modelName,e.T.curves,n,"position");s!==void 0&&t.push(s)}if(e.R!==void 0&&Object.keys(e.R.curves).length>0){const s=this.generateRotationTrack(e.modelName,e.R.curves,e.preRotation,e.postRotation,e.eulerOrder);s!==void 0&&t.push(s)}if(e.S!==void 0&&Object.keys(e.S.curves).length>0){const s=this.generateVectorTrack(e.modelName,e.S.curves,r,"scale");s!==void 0&&t.push(s)}if(e.DeformPercent!==void 0){const s=this.generateMorphTrack(e);s!==void 0&&t.push(s)}return t}generateVectorTrack(e,t,n,r){const s=this.getTimesForAllAxes(t),i=this.getKeyframeTrackValues(s,t,n);return new Ce(e+"."+r,s,i)}generateRotationTrack(e,t,n,r,s){let i,a;if(t.x!==void 0&&t.y!==void 0&&t.z!==void 0){const u=this.interpolateRotations(t.x,t.y,t.z,s);i=u[0],a=u[1]}const o=z(0);n!==void 0&&(n=n.map(S.degToRad),n.push(o),n=new O().fromArray(n),n=new R().setFromEuler(n)),r!==void 0&&(r=r.map(S.degToRad),r.push(o),r=new O().fromArray(r),r=new R().setFromEuler(r).invert());const l=new R,p=new O,c=[];if(!a||!i)return new re(e+".quaternion",[0],[0]);for(let u=0;u<a.length;u+=3)p.set(a[u],a[u+1],a[u+2],s),l.setFromEuler(p),n!==void 0&&l.premultiply(n),r!==void 0&&l.multiply(r),u>2&&new R().fromArray(c,(u-3)/3*4).dot(l)<0&&l.set(-l.x,-l.y,-l.z,-l.w),l.toArray(c,u/3*4);return new re(e+".quaternion",i,c)}generateMorphTrack(e){const t=e.DeformPercent.curves.morph,n=t.values.map(function(s){return s/100}),r=A.getObjectByName(e.modelName).morphTargetDictionary[e.morphName];return new be(e.modelName+".morphTargetInfluences["+r+"]",t.times,n)}getTimesForAllAxes(e){let t=[];if(e.x!==void 0&&(t=t.concat(e.x.times)),e.y!==void 0&&(t=t.concat(e.y.times)),e.z!==void 0&&(t=t.concat(e.z.times)),t=t.sort(function(n,r){return n-r}),t.length>1){let n=1,r=t[0];for(let s=1;s<t.length;s++){const i=t[s];i!==r&&(t[n]=i,r=i,n++)}t=t.slice(0,n)}return t}getKeyframeTrackValues(e,t,n){const r=n,s=[];let i=-1,a=-1,o=-1;return e.forEach(function(l){if(t.x&&(i=t.x.times.indexOf(l)),t.y&&(a=t.y.times.indexOf(l)),t.z&&(o=t.z.times.indexOf(l)),i!==-1){const p=t.x.values[i];s.push(p),r[0]=p}else s.push(r[0]);if(a!==-1){const p=t.y.values[a];s.push(p),r[1]=p}else s.push(r[1]);if(o!==-1){const p=t.z.values[o];s.push(p),r[2]=p}else s.push(r[2])}),s}interpolateRotations(e,t,n,r){const s=[],i=[];s.push(e.times[0]),i.push(S.degToRad(e.values[0])),i.push(S.degToRad(t.values[0])),i.push(S.degToRad(n.values[0]));for(let a=1;a<e.values.length;a++){const o=[e.values[a-1],t.values[a-1],n.values[a-1]];if(isNaN(o[0])||isNaN(o[1])||isNaN(o[2]))continue;const l=o.map(S.degToRad),p=[e.values[a],t.values[a],n.values[a]];if(isNaN(p[0])||isNaN(p[1])||isNaN(p[2]))continue;const c=p.map(S.degToRad),u=[p[0]-o[0],p[1]-o[1],p[2]-o[2]],h=[Math.abs(u[0]),Math.abs(u[1]),Math.abs(u[2])];if(h[0]>=180||h[1]>=180||h[2]>=180){const g=Math.max(...h)/180,d=new O(...l,r),w=new O(...c,r),T=new R().setFromEuler(d),v=new R().setFromEuler(w);T.dot(v)&&v.set(-v.x,-v.y,-v.z,-v.w);const x=e.times[a-1],E=e.times[a]-x,P=new R,C=new O;for(let L=0;L<1;L+=1/g)P.copy(T.clone().slerp(v.clone(),L)),s.push(x+L*E),C.setFromQuaternion(P,r),i.push(C.x),i.push(C.y),i.push(C.z)}else s.push(e.times[a]),i.push(S.degToRad(e.values[a])),i.push(S.degToRad(t.values[a])),i.push(S.degToRad(n.values[a]))}return[s,i]}}class We{getPrevNode(){return this.nodeStack[this.currentIndent-2]}getCurrentNode(){return this.nodeStack[this.currentIndent-1]}getCurrentProp(){return this.currentProp}pushStack(e){this.nodeStack.push(e),this.currentIndent+=1}popStack(){this.nodeStack.pop(),this.currentIndent-=1}setCurrentProp(e,t){this.currentProp=e,this.currentPropName=t}parse(e){this.currentIndent=0,this.allNodes=new oe,this.nodeStack=[],this.currentProp=[],this.currentPropName="";const t=this,n=e.split(/[\r\n]+/);return n.forEach(function(r,s){const i=r.match(/^[\s\t]*;/),a=r.match(/^[\s\t]*$/);if(i||a)return;const o=r.match("^\\t{"+t.currentIndent+"}(\\w+):(.*){",""),l=r.match("^\\t{"+t.currentIndent+"}(\\w+):[\\s\\t\\r\\n](.*)"),p=r.match("^\\t{"+(t.currentIndent-1)+"}}");o?t.parseNodeBegin(r,o):l?t.parseNodeProperty(r,l,n[++s]):p?t.popStack():r.match(/^[^\s\t}]/)&&t.parseNodePropertyContinued(r)}),this.allNodes}parseNodeBegin(e,t){const n=t[1].trim().replace(/^"/,"").replace(/"$/,""),r=t[2].split(",").map(function(o){return o.trim().replace(/^"/,"").replace(/"$/,"")}),s={name:n},i=this.parseNodeAttr(r),a=this.getCurrentNode();this.currentIndent===0?this.allNodes.add(n,s):n in a?(n==="PoseNode"?a.PoseNode.push(s):a[n].id!==void 0&&(a[n]={},a[n][a[n].id]=a[n]),i.id!==""&&(a[n][i.id]=s)):typeof i.id=="number"?(a[n]={},a[n][i.id]=s):n!=="Properties70"&&(n==="PoseNode"?a[n]=[s]:a[n]=s),typeof i.id=="number"&&(s.id=i.id),i.name!==""&&(s.attrName=i.name),i.type!==""&&(s.attrType=i.type),this.pushStack(s)}parseNodeAttr(e){let t=e[0];e[0]!==""&&(t=parseInt(e[0]),isNaN(t)&&(t=e[0]));let n="",r="";return e.length>1&&(n=e[1].replace(/^(\w+)::/,""),r=e[2]),{id:t,name:n,type:r}}parseNodeProperty(e,t,n){let r=t[1].replace(/^"/,"").replace(/"$/,"").trim(),s=t[2].replace(/^"/,"").replace(/"$/,"").trim();r==="Content"&&s===","&&(s=n.replace(/"/g,"").replace(/,$/,"").trim());const i=this.getCurrentNode();if(i.name==="Properties70"){this.parseNodeSpecialProperty(e,r,s);return}if(r==="C"){const o=s.split(",").slice(1),l=parseInt(o[0]),p=parseInt(o[1]);let c=s.split(",").slice(3);c=c.map(function(u){return u.trim().replace(/^"/,"")}),r="connections",s=[l,p],$e(s,c),i[r]===void 0&&(i[r]=[])}r==="Node"&&(i.id=s),r in i&&Array.isArray(i[r])?i[r].push(s):r!=="a"?i[r]=s:i.a=s,this.setCurrentProp(i,r),r==="a"&&s.slice(-1)!==","&&(i.a=Y(s))}parseNodePropertyContinued(e){const t=this.getCurrentNode();t.a+=e,e.slice(-1)!==","&&(t.a=Y(t.a))}parseNodeSpecialProperty(e,t,n){const r=n.split('",').map(function(p){return p.trim().replace(/^\"/,"").replace(/\s/,"_")}),s=r[0],i=r[1],a=r[2],o=r[3];let l=r[4];switch(i){case"int":case"enum":case"bool":case"ULongLong":case"double":case"Number":case"FieldOfView":l=parseFloat(l);break;case"Color":case"ColorRGB":case"Vector3D":case"Lcl_Translation":case"Lcl_Rotation":case"Lcl_Scaling":l=Y(l);break}this.getPrevNode()[s]={type:i,type2:a,flag:o,value:l},this.setCurrentProp(this.getPrevNode(),s)}}class Ne{parse(e){const t=new se(e);t.skip(23);const n=t.getUint32();if(n<6400)throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: "+n);const r=new oe;for(;!this.endOfContent(t);){const s=this.parseNode(t,n);s!==null&&r.add(s.name,s)}return r}endOfContent(e){return e.size()%16===0?(e.getOffset()+160+16&-16)>=e.size():e.getOffset()+160+16>=e.size()}parseNode(e,t){const n={},r=t>=7500?e.getUint64():e.getUint32(),s=t>=7500?e.getUint64():e.getUint32();t>=7500?e.getUint64():e.getUint32();const i=e.getUint8(),a=e.getString(i);if(r===0)return null;const o=[];for(let u=0;u<s;u++)o.push(this.parseProperty(e));const l=o.length>0?o[0]:"",p=o.length>1?o[1]:"",c=o.length>2?o[2]:"";for(n.singleProperty=s===1&&e.getOffset()===r;r>e.getOffset();){const u=this.parseNode(e,t);u!==null&&this.parseSubNode(a,n,u)}return n.propertyList=o,typeof l=="number"&&(n.id=l),p!==""&&(n.attrName=p),c!==""&&(n.attrType=c),a!==""&&(n.name=a),n}parseSubNode(e,t,n){if(n.singleProperty===!0){const r=n.propertyList[0];Array.isArray(r)?(t[n.name]=n,n.a=r):t[n.name]=r}else if(e==="Connections"&&n.name==="C"){const r=[];n.propertyList.forEach(function(s,i){i!==0&&r.push(s)}),t.connections===void 0&&(t.connections=[]),t.connections.push(r)}else if(n.name==="Properties70")Object.keys(n).forEach(function(s){t[s]=n[s]});else if(e==="Properties70"&&n.name==="P"){let r=n.propertyList[0],s=n.propertyList[1];const i=n.propertyList[2],a=n.propertyList[3];let o;r.indexOf("Lcl ")===0&&(r=r.replace("Lcl ","Lcl_")),s.indexOf("Lcl ")===0&&(s=s.replace("Lcl ","Lcl_")),s==="Color"||s==="ColorRGB"||s==="Vector"||s==="Vector3D"||s.indexOf("Lcl_")===0?o=[n.propertyList[4],n.propertyList[5],n.propertyList[6]]:o=n.propertyList[4],t[r]={type:s,type2:i,flag:a,value:o}}else t[n.name]===void 0?typeof n.id=="number"?(t[n.name]={},t[n.name][n.id]=n):t[n.name]=n:n.name==="PoseNode"?(Array.isArray(t[n.name])||(t[n.name]=[t[n.name]]),t[n.name].push(n)):t[n.name][n.id]===void 0&&(t[n.name][n.id]=n)}parseProperty(e){const t=e.getString(1);let n;switch(t){case"C":return e.getBoolean();case"D":return e.getFloat64();case"F":return e.getFloat32();case"I":return e.getInt32();case"L":return e.getInt64();case"R":return n=e.getUint32(),e.getArrayBuffer(n);case"S":return n=e.getUint32(),e.getString(n);case"Y":return e.getInt16();case"b":case"c":case"d":case"f":case"i":case"l":const r=e.getUint32(),s=e.getUint32(),i=e.getUint32();if(s===0)switch(t){case"b":case"c":return e.getBooleanArray(r);case"d":return e.getFloat64Array(r);case"f":return e.getFloat32Array(r);case"i":return e.getInt32Array(r);case"l":return e.getInt64Array(r)}const a=Re(new Uint8Array(e.getArrayBuffer(i))),o=new se(a.buffer);switch(t){case"b":case"c":return o.getBooleanArray(r);case"d":return o.getFloat64Array(r);case"f":return o.getFloat32Array(r);case"i":return o.getInt32Array(r);case"l":return o.getInt64Array(r)}break;default:throw new Error("THREE.FBXLoader: Unknown property type "+t)}}}class se{constructor(e,t){this.dv=new DataView(e),this.offset=0,this.littleEndian=t!==void 0?t:!0,this._textDecoder=new TextDecoder}getOffset(){return this.offset}size(){return this.dv.buffer.byteLength}skip(e){this.offset+=e}getBoolean(){return(this.getUint8()&1)===1}getBooleanArray(e){const t=[];for(let n=0;n<e;n++)t.push(this.getBoolean());return t}getUint8(){const e=this.dv.getUint8(this.offset);return this.offset+=1,e}getInt16(){const e=this.dv.getInt16(this.offset,this.littleEndian);return this.offset+=2,e}getInt32(){const e=this.dv.getInt32(this.offset,this.littleEndian);return this.offset+=4,e}getInt32Array(e){const t=[];for(let n=0;n<e;n++)t.push(this.getInt32());return t}getUint32(){const e=this.dv.getUint32(this.offset,this.littleEndian);return this.offset+=4,e}getInt64(){let e,t;return this.littleEndian?(e=this.getUint32(),t=this.getUint32()):(t=this.getUint32(),e=this.getUint32()),t&2147483648?(t=~t&4294967295,e=~e&4294967295,e===4294967295&&(t=t+1&4294967295),e=e+1&4294967295,-(t*4294967296+e)):t*4294967296+e}getInt64Array(e){const t=[];for(let n=0;n<e;n++)t.push(this.getInt64());return t}getUint64(){let e,t;return this.littleEndian?(e=this.getUint32(),t=this.getUint32()):(t=this.getUint32(),e=this.getUint32()),t*4294967296+e}getFloat32(){const e=this.dv.getFloat32(this.offset,this.littleEndian);return this.offset+=4,e}getFloat32Array(e){const t=[];for(let n=0;n<e;n++)t.push(this.getFloat32());return t}getFloat64(){const e=this.dv.getFloat64(this.offset,this.littleEndian);return this.offset+=8,e}getFloat64Array(e){const t=[];for(let n=0;n<e;n++)t.push(this.getFloat64());return t}getArrayBuffer(e){const t=this.dv.buffer.slice(this.offset,this.offset+e);return this.offset+=e,t}getString(e){const t=this.offset;let n=new Uint8Array(this.dv.buffer,t,e);this.skip(e);const r=n.indexOf(0);return r>=0&&(n=new Uint8Array(this.dv.buffer,t,r)),this._textDecoder.decode(n)}}class oe{add(e,t){this[e]=t}}function qe(f){const e="Kaydara FBX Binary \0";return f.byteLength>=e.length&&e===ce(f,0,e.length)}function Qe(f){const e=["K","a","y","d","a","r","a","\\","F","B","X","\\","B","i","n","a","r","y","\\","\\"];let t=0;function n(r){const s=f[r-1];return f=f.slice(t+r),t++,s}for(let r=0;r<e.length;++r)if(n(1)===e[r])return!1;return!0}function ie(f){const e=/FBXVersion: (\d+)/,t=f.match(e);if(t)return parseInt(t[1]);throw new Error("THREE.FBXLoader: Cannot find the version number for the file given.")}function Ye(f){return f/46186158e3}const Ze=[];function K(f,e,t,n){let r;switch(n.mappingType){case"ByPolygonVertex":r=f;break;case"ByPolygon":r=e;break;case"ByVertice":r=t;break;case"AllSame":r=n.indices[0];break;default:console.warn("THREE.FBXLoader: unknown attribute mapping type "+n.mappingType)}n.referenceType==="IndexToDirect"&&(r=n.indices[r]);const s=r*n.dataSize,i=s+n.dataSize;return Je(Ze,n.buffer,s,i)}const Q=new O,U=new M;function le(f){const e=new I,t=new I,n=new I,r=new I,s=new I,i=new I,a=new I,o=new I,l=new I,p=new I,c=new I,u=new I,h=f.inheritType?f.inheritType:0;f.translation&&e.setPosition(U.fromArray(f.translation));const m=z(0);if(f.preRotation){const k=f.preRotation.map(S.degToRad);k.push(m),t.makeRotationFromEuler(Q.fromArray(k))}if(f.rotation){const k=f.rotation.map(S.degToRad);k.push(f.eulerOrder||m),n.makeRotationFromEuler(Q.fromArray(k))}if(f.postRotation){const k=f.postRotation.map(S.degToRad);k.push(m),r.makeRotationFromEuler(Q.fromArray(k)),r.invert()}f.scale&&s.scale(U.fromArray(f.scale)),f.scalingOffset&&a.setPosition(U.fromArray(f.scalingOffset)),f.scalingPivot&&i.setPosition(U.fromArray(f.scalingPivot)),f.rotationOffset&&o.setPosition(U.fromArray(f.rotationOffset)),f.rotationPivot&&l.setPosition(U.fromArray(f.rotationPivot)),f.parentMatrixWorld&&(c.copy(f.parentMatrix),p.copy(f.parentMatrixWorld));const g=t.clone().multiply(n).multiply(r),d=new I;d.extractRotation(p);const w=new I;w.copyPosition(p);const T=w.clone().invert().multiply(p),v=d.clone().invert().multiply(T),x=s,E=new I;if(h===0)E.copy(d).multiply(g).multiply(v).multiply(x);else if(h===1)E.copy(d).multiply(v).multiply(g).multiply(x);else{const N=new I().scale(new M().setFromMatrixScale(c)).clone().invert(),pe=v.clone().multiply(N);E.copy(d).multiply(g).multiply(pe).multiply(x)}const P=l.clone().invert(),C=i.clone().invert();let L=e.clone().multiply(o).multiply(l).multiply(t).multiply(n).multiply(r).multiply(P).multiply(a).multiply(i).multiply(s).multiply(C);const j=new I().copyPosition(L),X=p.clone().multiply(j);return u.copyPosition(X),L=u.clone().multiply(E),L.premultiply(p.invert()),L}function z(f){f=f||0;const e=["ZYX","YZX","XZY","ZXY","YXZ","XYZ"];return f===6?(console.warn("THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect."),e[0]):e[f]}function Y(f){return f.split(",").map(function(t){return parseFloat(t)})}function ce(f,e,t){return e===void 0&&(e=0),t===void 0&&(t=f.byteLength),new TextDecoder().decode(new Uint8Array(f,e,t))}function $e(f,e){for(let t=0,n=f.length,r=e.length;t<r;t++,n++)f[n]=e[t]}function Je(f,e,t,n){for(let r=t,s=0;r<n;r++,s++)f[s]=e[r];return f}export{nt as FBXLoader};
@@ -0,0 +1 @@
1
+ import{j as t}from"./volter-sdk-DO4_-y9e.js";import{Object3DSnapshotDocument as p}from"./EntityModelDocument-COvgB31b.js";import"./three-integration.service-Bc-N4c0t.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./asset-preview-CZzQwgFD.js";import"./object3d-document-session-registry-DEoHbI_d.js";import"./live-mixers-B-bwLZ7c.js";import"./StageHost-byzihJ82.js";import"./linear-resolve-Cuka7Ypb.js";import"./model-inspection-ljY6Me_l.js";import"./standard-viewport-dressing-DeErCVm3.js";import"./OrbitControls-DrHRrSFA.js";function x({previewKey:o,object:e,displayName:r,fill:i=!1}){return t.jsx("div",{"data-testid":"inspector-object-preview",style:i?{position:"absolute",inset:0,overflow:"hidden"}:{width:"100%",height:220,minHeight:220,borderBottom:"1px solid var(--volter-structural-divider)",overflow:"hidden",position:"relative"},children:t.jsx(p,{documentId:`inspector-preview:${o}`,source:e,displayName:r,active:!0,chromeless:!0})})}export{x as InspectorObjectPreview};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/StageHost-byzihJ82.js","assets/volter-sdk-DO4_-y9e.js","assets/three-integration.service-Bc-N4c0t.js","assets/output-pass-j4dAGrPY.js","assets/three.module-CtVjCPcj.js","assets/asset-preview-CZzQwgFD.js","assets/object3d-document-session-registry-DEoHbI_d.js","assets/live-mixers-B-bwLZ7c.js","assets/linear-resolve-Cuka7Ypb.js","assets/model-inspection-ljY6Me_l.js","assets/standard-viewport-dressing-DeErCVm3.js","assets/OrbitControls-DrHRrSFA.js"])))=>i.map(i=>d[i]);
2
+ import{kU as W,j as o,n as c,kh as q,ki as P,iN as X,g as G,gN as J,kV as Y,t as g,kW as K,kX as Q,as as Z,ir as ee,kY as te}from"./volter-sdk-DO4_-y9e.js";import{f as A}from"./asset-preview-CZzQwgFD.js";import{i as re,o as ne}from"./object3d-document-session-registry-DEoHbI_d.js";import{b as oe}from"./standard-viewport-dressing-DeErCVm3.js";import{f as se,X as ie}from"./three.module-CtVjCPcj.js";import"./output-pass-j4dAGrPY.js";import"./three-integration.service-Bc-N4c0t.js";class v extends Error{constructor(t){super(t.message),this.refusal=t,this.name="LiveModuleError"}}function ae(e){return Object.keys(e).filter(t=>t!=="__esModule"&&t!=="Symbol.toStringTag")}function T(e){return typeof e=="object"&&e!==null&&e.isObject3D===!0}function ce(e){if("default"in e)return{name:"default",value:e.default};const t=ae(e);return t.length===0?{kind:"not-a-model",message:"This module exports nothing."}:t.length>1?{kind:"not-a-model",message:`This module has no default export and ${t.length} named exports (${t.join(", ")}), so there is no single subject to build. A model module default-exports its builder.`}:{name:t[0],value:e[t[0]]}}function _(e){if(T(e))return{root:e};if(!e||typeof e!="object")return;const t=e;if(!T(t.root))return;const r=t.root;return Array.isArray(t.animations)&&r.animations.length===0&&(r.animations=t.animations),{root:r,...typeof t.dispose=="function"?{dispose:()=>t.dispose.call(e)}:{}}}function L(e){if(e===void 0)return"undefined";if(e===null)return"null";if(typeof e!="object")return typeof e;if(Array.isArray(e))return"an array";const t=Object.keys(e);return t.length>0?`an object with keys ${t.slice(0,8).join(", ")}`:"an object with no own keys"}const $="a model module returns a THREE.Object3D, or a build result `{ root, animations?, dispose? }` whose `root` is one.";async function le(e,t){const r=_(t);if(r)return{...r,exportName:e};if(typeof t!="function")return{kind:"not-a-model",message:`Export '${e}' is ${L(t)}, not a function and not a model — `+$};let l;try{l=await t()}catch(s){return{kind:"import-failed",message:`Export '${e}' threw while building: ${N(s)}`,...s instanceof Error&&s.stack?{stack:s.stack}:{}}}const u=_(l);return u?{...u,exportName:e}:{kind:"not-a-model",message:`Export '${e}' ran but returned ${L(l)} — ${$}`}}function N(e){return e instanceof Error?e.message:String(e)}async function ue(e,t,r){let l;try{l=await import(W(e,t,r))}catch(d){throw new v({kind:"import-failed",message:N(d),...d instanceof Error&&d.stack?{stack:d.stack}:{}})}const u=ce(l);if("kind"in u)throw new v(u);const s=await le(u.name,u.value);if("kind"in s)throw new v(s);return s}const de=c.lazy(async()=>({default:(await G(()=>import("./StageHost-byzihJ82.js").then(t=>t.S),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))).Object3DDocumentViewport}));function fe(e){return me(e.documentId,e.chromeless),o.jsx(c.Suspense,{fallback:o.jsx(q,{testId:"object3d-document-loading",children:P}),children:o.jsx(de,{...e})})}function me(e,t=!1){c.useEffect(()=>{if(!t)return X(e)},[e,t])}const C={height:"100%",width:"100%",minHeight:0,display:"flex",position:"relative"},R={flex:1,minWidth:0,minHeight:0,display:"flex"};function pe(e,t){if(e.kind!=="import-failed")return{message:e.message};const r=te(t);return r?{message:r,stack:e.message}:{message:e.message,stack:e.stack}}function ve({documentId:e,projectRoot:t,modulePath:r,displayName:l,active:u,fallback:s}){const[d,w]=c.useState({status:"probing"}),[b,D]=c.useState(null),f=c.useMemo(()=>{const i=new se;return i.name=r.split("/").pop()??r,i},[r]),S=c.useRef(!1);c.useEffect(()=>{let i=!1,k=0,m=null,p=Promise.resolve(),j=null,y=null;const M=()=>{m&&(f.remove(m),f.animations=[],y?y():A(m),m=null,y=null)},B=(n,h)=>{M(),m=n,y=h,f.add(n),f.animations=n.animations,ee(e)},H=(n,h)=>{if(n.kind==="not-a-model"&&!h){w({status:"fallback",reason:n.message});return}const a=pe(n,r);D(a),Z.error(`${r}: ${a.message}`,"live-module"),h||w({status:"fallback",reason:n.message})},O=n=>i||n!==k,V=async()=>{k+=1;const n=k,h=K();let a;try{a=await ue(t,r,h)}catch(x){if(O(n))return;if(!(x instanceof v))throw x;j=x,H(x.refusal,m!==null);return}if(O(n)){a.dispose?a.dispose():A(a.root);return}B(a.root,a.dispose??null),j=null,Q(r),D(null),w({status:"live",exportName:a.exportName})},E=()=>(p=V(),p),z=re(e,async()=>{let n=E();for(;;){if(await n,i)throw new Error(`Document closed while rebuilding: ${r}`);if(n===p)break;n=p}if(j)throw j});E();const U=J(n=>{Y(n,r)&&E()});return()=>{i=!0,z(),U(),M()}},[f,e,r,t]),c.useEffect(()=>{if(d.status!=="live"||S.current)return;let i=0,k=0;const m=()=>{const p=ne(e);if(p){S.current=!0,new ie().setFromObject(f).isEmpty()||p.frame();return}++k>60||(i=requestAnimationFrame(m))};return i=requestAnimationFrame(m),()=>cancelAnimationFrame(i)},[f,e,d.status]);const I=c.useCallback(()=>({root:f,dispose(){}}),[f]);return d.status==="probing"?o.jsxs("div",{style:{padding:20,color:g.content.muted},children:["Inspecting ",l,"…"]}):d.status==="fallback"?o.jsxs("div",{style:C,children:[b?o.jsx(F,{failure:b}):null,o.jsx("div",{style:{...R,overflow:"auto"},children:s})]}):o.jsxs("div",{style:C,children:[o.jsx("div",{style:{...R,opacity:b?.35:1},children:o.jsx(fe,{documentId:e,sourcePath:r,displayName:l,build:I,active:u,assetType:"model module",cameraDirection:oe,modelSource:{kind:"project-file",path:r}})}),b?o.jsx(F,{failure:b}):null]})}function F({failure:e}){return o.jsxs("div",{role:"alert","data-testid":"live-module-error",style:{position:"absolute",top:8,left:8,right:8,zIndex:2,maxHeight:"60%",overflow:"auto",padding:"8px 10px",borderRadius:g.shape.small,background:g.surface.raised,border:`1px solid ${g.semantic.danger}`,color:g.semantic.danger,fontFamily:g.typography.mono,fontSize:11,lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word",pointerEvents:"auto"},children:[o.jsx("div",{style:{fontWeight:600},children:"This module did not build — showing the last good model."}),o.jsx("div",{style:{marginTop:4},children:e.message}),e.stack?o.jsx("div",{style:{marginTop:6,color:g.content.muted},children:e.stack}):null]})}export{ve as LiveModuleDocument};
@@ -0,0 +1 @@
1
+ import{n as w,kE as z,kF as U,kK as N,kH as A,kI as I,j as i,t as y,kj as M,h3 as F,kJ as C,C as P}from"./volter-sdk-DO4_-y9e.js";import{EffectComposer as B,LUT3DEffect as O,RenderPass as _,EffectPass as $}from"./index-C8BwtQGN.js";import{b2 as G,av as T,b3 as H,V as L,D as V,L as D,C as j,aD as q,n as K,aK as W,Y as X,m as R,ay as Z,bQ as J,v as Q,az as v,k as Y,a4 as ee,ac as te,j as ne}from"./three.module-CtVjCPcj.js";class re extends G{constructor(t){super(t),this.type=T}setType(t){return this.type=t,this}load(t,a,f,g){const r=new H(this.manager);r.setPath(this.path),r.setResponseType("text"),r.load(t,c=>{try{a(this.parse(c))}catch(e){g?g(e):console.error(e),this.manager.itemError(t)}},f,g)}parse(t){const a=/TITLE +"([^"]*)"/,f=/LUT_3D_SIZE +(\d+)/,g=/DOMAIN_MIN +([\d.]+) +([\d.]+) +([\d.]+)/,r=/DOMAIN_MAX +([\d.]+) +([\d.]+) +([\d.]+)/,c=/^([\d.e+-]+) +([\d.e+-]+) +([\d.e+-]+) *$/gm;let e=a.exec(t);const p=e!==null?e[1]:null;if(e=f.exec(t),e===null)throw new Error("LUTCubeLoader: Missing LUT_3D_SIZE information");const s=Number(e[1]),u=s**3*4,o=this.type===T?new Uint8Array(u):new Float32Array(u),d=new L(0,0,0),m=new L(1,1,1);if(e=g.exec(t),e!==null&&d.set(Number(e[1]),Number(e[2]),Number(e[3])),e=r.exec(t),e!==null&&m.set(Number(e[1]),Number(e[2]),Number(e[3])),d.x>m.x||d.y>m.y||d.z>m.z)throw new Error("LUTCubeLoader: Invalid input domain");const x=this.type===T?255:1;let h=0;for(;(e=c.exec(t))!==null;)o[h++]=Number(e[1])*x,o[h++]=Number(e[2])*x,o[h++]=Number(e[3])*x,o[h++]=x;const l=new V;return l.image.data=o,l.image.width=s,l.image.height=s,l.image.depth=s,l.type=this.type,l.magFilter=D,l.minFilter=D,l.wrapS=j,l.wrapT=j,l.wrapR=j,l.generateMipmaps=!1,l.needsUpdate=!0,{title:p,size:s,domainMin:d,domainMax:m,texture3D:l}}}function b(n){return n.split("/").pop()??n}function E(n,t,a){return Math.min(a,Math.max(t,n))}function k(n){return[n.x,n.y,n.z].map(t=>t.toFixed(2)).join(", ")}function se(){const n=new X;n.background=new R("#171a22");const t=new Z(34,1,.1,100);t.position.set(6.6,4.6,8.8),t.lookAt(0,.7,0),n.add(new J("#dce8ff","#322a27",2.1));const a=new Q("#fff3db",3.8);a.position.set(4,7,5),n.add(a);const f=[],g=[],r=(s,u,o)=>{f.push(s),g.push(u);const d=new ne(s,u);return d.position.set(...o),d.castShadow=!0,d.receiveShadow=!0,n.add(d),d},c=[["#e64d45",-2.4],["#e5ad42",-1.2],["#55b86a",0],["#47a9d8",1.2],["#8a68d7",2.4]];for(const[s,u]of c)r(new Y(.48,48,32),new v({color:s,roughness:.3,metalness:.08}),[u,.65,0]);[.06,.18,.5,.82,1].forEach((s,u)=>{const o=Math.round(s*255);r(new ee(.78,.78,.78),new v({color:new R(`rgb(${o}, ${o}, ${o})`),roughness:.72}),[-2.4+u*1.2,1.85,-.1])});const p=r(new te(9,6),new v({color:"#777b86",roughness:.92}),[0,.08,-1.8]);return p.rotation.x=-Math.PI/2,{scene:n,camera:t,dispose:()=>{for(const s of f)s.dispose();for(const s of g)s.dispose()}}}function oe({lut:n,settingsRef:t}){const a=w.useRef(null);return w.useEffect(()=>{const f=a.current;if(!f)return;let g=!1,r=0;const c=document.createElement("canvas");c.setAttribute("aria-label","LUT before and after preview"),c.style.width="100%",c.style.height="100%",c.style.display="block",f.replaceChildren(c);const e=new q({canvas:c,antialias:!0});e.outputColorSpace=K,e.toneMapping=W,e.toneMappingExposure=1,e.shadowMap.enabled=!0;const p=se(),s=new B(e),u=new O(n.texture3D,{tetrahedralInterpolation:!0});s.addPass(new _(p.scene,p.camera)),s.addPass(new $(p.camera,u));const o={width:1,height:1},d=()=>{const l=t.current,S=Math.round(o.width*E(l.split,.05,.95));u.blendMode.opacity.value=E(l.intensity,0,1),u.tetrahedralInterpolation=l.tetrahedral,e.setScissorTest(!1),e.setRenderTarget(null),e.clear(),e.setScissorTest(!0),e.setScissor(0,0,S,o.height),e.render(p.scene,p.camera),e.setScissor(S,0,o.width-S,o.height),s.render(),e.setScissorTest(!1)},m=()=>{const l=f.getBoundingClientRect();o.width=Math.max(1,Math.floor(l.width)),o.height=Math.max(1,Math.floor(l.height)),e.setPixelRatio(Math.min(window.devicePixelRatio||1,2)),e.setSize(o.width,o.height,!1),s.setSize(o.width,o.height),p.camera.aspect=o.width/o.height,p.camera.updateProjectionMatrix()};m(),d();const x=new ResizeObserver(()=>{m(),d()});x.observe(f);const h=()=>{g||(d(),r=requestAnimationFrame(h))};return r=requestAnimationFrame(h),()=>{g=!0,cancelAnimationFrame(r),x.disconnect(),s.dispose(),u.dispose(),p.dispose(),e.dispose(),c.remove()}},[n,t]),i.jsx("div",{ref:a,"data-testid":"lut-preview",style:{width:"100%",height:"100%",minHeight:260,background:"#171a22"}})}function ie({settings:n,onChange:t}){return i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12,padding:4},children:[i.jsxs("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:11},children:["Intensity",i.jsx(C,{value:n.intensity,onChange:a=>t({...n,intensity:E(a,0,1)}),step:.01,precision:2})]}),i.jsxs("label",{style:{display:"flex",flexDirection:"column",gap:5,fontSize:11},children:["Comparison split",i.jsx(C,{value:n.split,onChange:a=>t({...n,split:E(a,.05,.95)}),step:.01,precision:2})]}),i.jsxs("label",{style:{display:"flex",alignItems:"center",gap:7,fontSize:11},children:[i.jsx(P,{checked:n.tetrahedral,onChange:a=>t({...n,tetrahedral:a.target.checked})}),"Tetrahedral interpolation"]}),i.jsx("div",{style:{color:y.content.muted,fontSize:10,lineHeight:1.45},children:"Preview controls are session-only. Bind the LUT and accepted intensity in the owning TSX post-processing composition."})]})}async function ae(n){const t=await F(n);if(t===null)throw new Error(`CUBE LUT not found: ${n}`);return new re().parse(t)}function ue({documentId:n,assetPath:t,active:a=!0}){const[f,g]=w.useState(0),[r,c]=w.useState(null),[e,p]=w.useState(null),[s,u]=w.useState({intensity:1,split:.5,tetrahedral:!0}),o=w.useRef(s);o.current=s,w.useEffect(()=>{if(a)return z(t,()=>g(m=>m+1))},[a,t]),w.useEffect(()=>{if(!a)return;let m=!1,x=null;return c(null),p(null),ae(t).then(h=>{if(x=h,m){h.texture3D.dispose();return}c(h)},h=>{m||p(h instanceof Error?h.message:String(h))}),()=>{m=!0,x?.texture3D.dispose()}},[a,t,f]);const d=w.useMemo(()=>[{id:"lut-profile",title:"Color Grade",icon:N,order:U,body:{kind:"custom",...r?{data:{title:r.title,size:r.size,domainMin:r.domainMin.toArray(),domainMax:r.domainMax.toArray()}}:{},render:()=>i.jsxs("div",{style:{display:"grid",gridTemplateColumns:"auto 1fr",gap:"6px 10px"},children:[i.jsx("span",{style:{color:y.content.muted},children:"Title"}),i.jsx("span",{children:r?.title||b(t)}),i.jsx("span",{style:{color:y.content.muted},children:"Cube"}),i.jsx("span",{children:r?`${r.size}³`:"—"}),i.jsx("span",{style:{color:y.content.muted},children:"Domain"}),i.jsx("span",{children:r?`${k(r.domainMin)} → ${k(r.domainMax)}`:"—"})]})}},{id:"lut-preview-settings",title:"Preview",icon:I,order:A,body:{kind:"custom",data:{...s},render:()=>i.jsx(ie,{settings:s,onChange:u})}}],[t,r,s]);return e?i.jsx(M,{documentId:n,active:a,type:"color grade",title:b(t),status:"CUBE LUT unavailable",children:i.jsx("div",{role:"alert",style:{padding:20,color:y.semantic.danger},children:e})}):r?i.jsx(M,{documentId:n,active:a,type:"color grade",title:b(t),sections:d,status:`CUBE LUT · ${r.size}³`,fill:!0,children:i.jsxs("div",{style:{position:"relative",width:"100%",height:"100%",minHeight:0,background:"#171a22"},children:[i.jsx(oe,{lut:r,settingsRef:o}),i.jsx("div",{style:{position:"absolute",left:12,top:12,padding:"4px 7px",borderRadius:4,background:"rgba(12,14,20,0.72)",color:"#f2f4f8",fontSize:10,pointerEvents:"none"},children:"Original"}),i.jsx("div",{style:{position:"absolute",right:12,top:12,padding:"4px 7px",borderRadius:4,background:"rgba(12,14,20,0.72)",color:"#f2f4f8",fontSize:10,pointerEvents:"none"},children:r.title||"Graded"})]})}):i.jsx(M,{documentId:n,active:a,type:"color grade",title:b(t),status:"Loading CUBE LUT",children:i.jsx("div",{style:{padding:20,color:y.content.muted},children:"Loading color grade…"})})}export{ue as LutAssetDocument};
@@ -0,0 +1,2 @@
1
+ import{b2 as b,b7 as w,b3 as M,i as x,a8 as F,aF as d,m as u,n as f,cH as O,r as g,cI as y,b9 as L}from"./three.module-CtVjCPcj.js";class A extends b{constructor(s){super(s)}load(s,o,c,e){const a=this,n=this.path===""?w.extractUrlBase(s):this.path,r=new M(this.manager);r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(s,function(t){try{o(a.parse(t,n))}catch(i){e?e(i):console.error(i),a.manager.itemError(s)}},c,e)}setMaterialOptions(s){return this.materialOptions=s,this}parse(s,o){const c=s.split(`
2
+ `);let e={};const a=/\s+/,n={};for(let t=0;t<c.length;t++){let i=c[t];if(i=i.trim(),i.length===0||i.charAt(0)==="#")continue;const p=i.indexOf(" ");let l=p>=0?i.substring(0,p):i;l=l.toLowerCase();let h=p>=0?i.substring(p+1):"";if(h=h.trim(),l==="newmtl")e={name:h},n[h]=e;else if(l==="ka"||l==="kd"||l==="ks"||l==="ke"){const m=h.split(a,3);e[l]=[parseFloat(m[0]),parseFloat(m[1]),parseFloat(m[2])]}else e[l]=h}const r=new C(this.resourcePath||o,this.materialOptions);return r.setCrossOrigin(this.crossOrigin),r.setManager(this.manager),r.setMaterials(n),r}}class C{constructor(s="",o={}){this.baseUrl=s,this.options=o,this.materialsInfo={},this.materials={},this.materialsArray=[],this.nameLookup={},this.crossOrigin="anonymous",this.side=this.options.side!==void 0?this.options.side:x,this.wrap=this.options.wrap!==void 0?this.options.wrap:F}setCrossOrigin(s){return this.crossOrigin=s,this}setManager(s){this.manager=s}setMaterials(s){this.materialsInfo=this.convert(s),this.materials={},this.materialsArray=[],this.nameLookup={}}convert(s){if(!this.options)return s;const o={};for(const c in s){const e=s[c],a={};o[c]=a;for(const n in e){let r=!0,t=e[n];const i=n.toLowerCase();switch(i){case"kd":case"ka":case"ks":this.options&&this.options.normalizeRGB&&(t=[t[0]/255,t[1]/255,t[2]/255]),this.options&&this.options.ignoreZeroRGBs&&t[0]===0&&t[1]===0&&t[2]===0&&(r=!1);break}r&&(a[i]=t)}}return o}preload(){for(const s in this.materialsInfo)this.create(s)}getIndex(s){return this.nameLookup[s]}getAsArray(){let s=0;for(const o in this.materialsInfo)this.materialsArray[s]=this.create(o),this.nameLookup[o]=s,s++;return this.materialsArray}create(s){return this.materials[s]===void 0&&this.createMaterial_(s),this.materials[s]}createMaterial_(s){const o=this,c=this.materialsInfo[s],e={name:s,side:this.side};function a(r,t){return typeof t!="string"||t===""?"":/^https?:\/\//i.test(t)?t:r+t}function n(r,t){if(e[r])return;const i=o.getTextureParams(t,e),p=o.loadTexture(a(o.baseUrl,i.url));p.repeat.copy(i.scale),p.offset.copy(i.offset),p.wrapS=o.wrap,p.wrapT=o.wrap,(r==="map"||r==="emissiveMap")&&(p.colorSpace=f),e[r]=p}for(const r in c){const t=c[r];let i;if(t!=="")switch(r.toLowerCase()){case"kd":e.color=d.colorSpaceToWorking(new u().fromArray(t),f);break;case"ks":e.specular=d.colorSpaceToWorking(new u().fromArray(t),f);break;case"ke":e.emissive=d.colorSpaceToWorking(new u().fromArray(t),f);break;case"map_kd":n("map",t);break;case"map_ks":n("specularMap",t);break;case"map_ke":n("emissiveMap",t);break;case"norm":n("normalMap",t);break;case"map_bump":case"bump":n("bumpMap",t);break;case"disp":n("displacementMap",t);break;case"map_d":n("alphaMap",t),e.transparent=!0;break;case"ns":e.shininess=parseFloat(t);break;case"d":i=parseFloat(t),i<1&&(e.opacity=i,e.transparent=!0);break;case"tr":i=parseFloat(t),this.options&&this.options.invertTrProperty&&(i=1-i),i>0&&(e.opacity=1-i,e.transparent=!0);break}}return this.materials[s]=new O(e),this.materials[s]}getTextureParams(s,o){const c={scale:new g(1,1),offset:new g(0,0)},e=s.split(/\s+/);let a;return a=e.indexOf("-bm"),a>=0&&(o.bumpScale=parseFloat(e[a+1]),e.splice(a,2)),a=e.indexOf("-mm"),a>=0&&(o.displacementBias=parseFloat(e[a+1]),o.displacementScale=parseFloat(e[a+2]),e.splice(a,3)),a=e.indexOf("-s"),a>=0&&(c.scale.set(parseFloat(e[a+1]),parseFloat(e[a+2])),e.splice(a,4)),a=e.indexOf("-o"),a>=0&&(c.offset.set(parseFloat(e[a+1]),parseFloat(e[a+2])),e.splice(a,4)),c.url=e.join(" ").trim(),c}loadTexture(s,o,c,e,a){const n=this.manager!==void 0?this.manager:y;let r=n.getHandler(s);r===null&&(r=new L(n)),r.setCrossOrigin&&r.setCrossOrigin(this.crossOrigin);const t=r.load(s,c,e,a);return o!==void 0&&(t.mapping=o),t}}export{A as MTLLoader};
@@ -0,0 +1 @@
1
+ import{n as l,j as u,t as p}from"./volter-sdk-DO4_-y9e.js";import{I as w,f}from"./asset-preview-CZzQwgFD.js";import{m as x,l as E,c as S}from"./three-integration.service-Bc-N4c0t.js";import{O as M}from"./StageHost-byzihJ82.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./object3d-document-session-registry-DEoHbI_d.js";import"./live-mixers-B-bwLZ7c.js";import"./linear-resolve-Cuka7Ypb.js";import"./model-inspection-ljY6Me_l.js";import"./standard-viewport-dressing-DeErCVm3.js";import"./OrbitControls-DrHRrSFA.js";function F({documentId:g,assetPath:o,displayName:c,active:i}){const[j,s]=l.useState(null),[d,a]=l.useState(null);l.useEffect(()=>{if(!i){s(null);return}const n=new AbortController;let m=null;s(null),a(null);const t=x(o);return(t==="glb"||t==="gltf"||t==="spz"?w(o,n.signal):t?E({url:o,format:t}).then(S).then(r=>({root:r,sourceBytes:null})):Promise.reject(new Error(`No native Three.js model loader supports ${o}.`))).then(r=>{if(n.signal.aborted){f(r.root);return}m=r.root,s(r)},r=>{n.signal.aborted||a(r instanceof Error?r.message:String(r))}),()=>{n.abort(),m&&f(m)}},[i,o]);const e=j?.root??null,b=l.useCallback(()=>{if(!e)throw new Error(`Model asset ${o} is not loaded.`);return{root:e,animations:e.animations,dispose(){}}},[o,e]);return d?u.jsx("div",{role:"alert",style:{padding:20,color:p.semantic.danger},children:d}):e?u.jsx(M,{documentId:g,sourcePath:o,displayName:c,build:b,active:i,assetType:"model",modelSource:{kind:"project-file",path:o}}):u.jsxs("div",{style:{padding:20,color:p.content.muted},children:["Loading ",c,"…"]})}export{F as ModelAssetDocument};
@@ -0,0 +1 @@
1
+ import{n,jg as r,as as e}from"./volter-sdk-DO4_-y9e.js";function a({store:s}){return n.useEffect(()=>{const t=r(s);return t.ready.catch(o=>{e.error(`Authoring session failed: ${o instanceof Error?o.message:String(o)}`,"authoring")}),t.dispose},[s]),null}export{a as ProjectAuthoringBootstrap};
@@ -0,0 +1,5 @@
1
+ import{b2 as N,b3 as H,m as R,n as T,f as k,B as P,h as w,ag as C,ab as U,aW as L,cH as J,af as B,aV as z,j as D,V}from"./three.module-CtVjCPcj.js";const q=/^[og]\s*(.+)?/,W=/^mtllib /,K=/^usemtl /,Q=/^usemap /,S=/\s+/,E=new V,F=new V,G=new V,O=new V,j=new V,_=new R;function X(){const I={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materials:{},materialLibraries:[],startObject:function(s,e){if(this.object&&this.object.fromDeclaration===!1){this.object.name=s,this.object.fromDeclaration=e!==!1;return}const n=this.object&&typeof this.object.currentMaterial=="function"?this.object.currentMaterial():void 0;if(this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0),this.object={name:s||"",fromDeclaration:e!==!1,geometry:{vertices:[],normals:[],colors:[],uvs:[],hasUVIndices:!1},materials:[],smooth:!0,startMaterial:function(t,i){const a=this._finalize(!1);a&&(a.inherited||a.groupCount<=0)&&this.materials.splice(a.index,1);const d={index:this.materials.length,name:t||"",mtllib:Array.isArray(i)&&i.length>0?i[i.length-1]:"",smooth:a!==void 0?a.smooth:this.smooth,groupStart:a!==void 0?a.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(g){const r={index:typeof g=="number"?g:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return r.clone=this.clone.bind(r),r}};return this.materials.push(d),d},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(t){const i=this.currentMaterial();if(i&&i.groupEnd===-1&&(i.groupEnd=this.geometry.vertices.length/3,i.groupCount=i.groupEnd-i.groupStart,i.inherited=!1),t&&this.materials.length>1)for(let a=this.materials.length-1;a>=0;a--)this.materials[a].groupCount<=0&&this.materials.splice(a,1);return t&&this.materials.length===0&&this.materials.push({name:"",smooth:this.smooth}),i}},n&&n.name&&typeof n.clone=="function"){const t=n.clone(0);t.inherited=!0,this.object.materials.push(t)}this.objects.push(this.object)},finalize:function(){this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0)},parseVertexIndex:function(s,e){const n=parseInt(s,10);return(n>=0?n-1:n+e/3)*3},parseNormalIndex:function(s,e){const n=parseInt(s,10);return(n>=0?n-1:n+e/3)*3},parseUVIndex:function(s,e){const n=parseInt(s,10);return(n>=0?n-1:n+e/2)*2},addVertex:function(s,e,n){const t=this.vertices,i=this.object.geometry.vertices;i.push(t[s+0],t[s+1],t[s+2]),i.push(t[e+0],t[e+1],t[e+2]),i.push(t[n+0],t[n+1],t[n+2])},addVertexPoint:function(s){const e=this.vertices;this.object.geometry.vertices.push(e[s+0],e[s+1],e[s+2])},addVertexLine:function(s){const e=this.vertices;this.object.geometry.vertices.push(e[s+0],e[s+1],e[s+2])},addNormal:function(s,e,n){const t=this.normals,i=this.object.geometry.normals;i.push(t[s+0],t[s+1],t[s+2]),i.push(t[e+0],t[e+1],t[e+2]),i.push(t[n+0],t[n+1],t[n+2])},addFaceNormal:function(s,e,n){const t=this.vertices,i=this.object.geometry.normals;E.fromArray(t,s),F.fromArray(t,e),G.fromArray(t,n),j.subVectors(G,F),O.subVectors(E,F),j.cross(O),j.normalize(),i.push(j.x,j.y,j.z),i.push(j.x,j.y,j.z),i.push(j.x,j.y,j.z)},addColor:function(s,e,n){const t=this.colors,i=this.object.geometry.colors;t[s]!==void 0&&i.push(t[s+0],t[s+1],t[s+2]),t[e]!==void 0&&i.push(t[e+0],t[e+1],t[e+2]),t[n]!==void 0&&i.push(t[n+0],t[n+1],t[n+2])},addUV:function(s,e,n){const t=this.uvs,i=this.object.geometry.uvs;i.push(t[s+0],t[s+1]),i.push(t[e+0],t[e+1]),i.push(t[n+0],t[n+1])},addDefaultUV:function(){const s=this.object.geometry.uvs;s.push(0,0),s.push(0,0),s.push(0,0)},addUVLine:function(s){const e=this.uvs;this.object.geometry.uvs.push(e[s+0],e[s+1])},addFace:function(s,e,n,t,i,a,d,g,r){const h=this.vertices.length;let o=this.parseVertexIndex(s,h),l=this.parseVertexIndex(e,h),u=this.parseVertexIndex(n,h);if(this.addVertex(o,l,u),this.addColor(o,l,u),d!==void 0&&d!==""){const m=this.normals.length;o=this.parseNormalIndex(d,m),l=this.parseNormalIndex(g,m),u=this.parseNormalIndex(r,m),this.addNormal(o,l,u)}else this.addFaceNormal(o,l,u);if(t!==void 0&&t!==""){const m=this.uvs.length;o=this.parseUVIndex(t,m),l=this.parseUVIndex(i,m),u=this.parseUVIndex(a,m),this.addUV(o,l,u),this.object.geometry.hasUVIndices=!0}else this.addDefaultUV()},addPointGeometry:function(s){this.object.geometry.type="Points";const e=this.vertices.length;for(let n=0,t=s.length;n<t;n++){const i=this.parseVertexIndex(s[n],e);this.addVertexPoint(i),this.addColor(i)}},addLineGeometry:function(s,e){this.object.geometry.type="Line";const n=this.vertices.length,t=this.uvs.length;for(let i=0,a=s.length;i<a;i++)this.addVertexLine(this.parseVertexIndex(s[i],n));for(let i=0,a=e.length;i<a;i++)this.addUVLine(this.parseUVIndex(e[i],t))}};return I.startObject("",!1),I}class Z extends N{constructor(s){super(s),this.materials=null}load(s,e,n,t){const i=this,a=new H(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(s,function(d){try{e(i.parse(d))}catch(g){t?t(g):console.error(g),i.manager.itemError(s)}},n,t)}setMaterials(s){return this.materials=s,this}parse(s){const e=new X;s.indexOf(`\r
2
+ `)!==-1&&(s=s.replace(/\r\n/g,`
3
+ `)),s.indexOf(`\\
4
+ `)!==-1&&(s=s.replace(/\\\n/g,""));const n=s.split(`
5
+ `);let t=[];for(let d=0,g=n.length;d<g;d++){const r=n[d].trimStart();if(r.length===0)continue;const h=r.charAt(0);if(h!=="#")if(h==="v"){const o=r.split(S);switch(o[0]){case"v":e.vertices.push(parseFloat(o[1]),parseFloat(o[2]),parseFloat(o[3])),o.length>=7?(_.setRGB(parseFloat(o[4]),parseFloat(o[5]),parseFloat(o[6]),T),e.colors.push(_.r,_.g,_.b)):e.colors.push(void 0,void 0,void 0);break;case"vn":e.normals.push(parseFloat(o[1]),parseFloat(o[2]),parseFloat(o[3]));break;case"vt":e.uvs.push(parseFloat(o[1]),parseFloat(o[2]));break}}else if(h==="f"){const l=r.slice(1).trim().split(S),u=[];for(let c=0,p=l.length;c<p;c++){const b=l[c];if(b.length>0){const v=b.split("/");u.push(v)}}const m=u[0];for(let c=1,p=u.length-1;c<p;c++){const b=u[c],v=u[c+1];e.addFace(m[0],b[0],v[0],m[1],b[1],v[1],m[2],b[2],v[2])}}else if(h==="l"){const o=r.substring(1).trim().split(" ");let l=[];const u=[];if(r.indexOf("/")===-1)l=o;else for(let m=0,c=o.length;m<c;m++){const p=o[m].split("/");p[0]!==""&&l.push(p[0]),p[1]!==""&&u.push(p[1])}e.addLineGeometry(l,u)}else if(h==="p"){const l=r.slice(1).trim().split(" ");e.addPointGeometry(l)}else if((t=q.exec(r))!==null){const o=(" "+t[0].slice(1).trim()).slice(1);e.startObject(o)}else if(K.test(r))e.object.startMaterial(r.substring(7).trim(),e.materialLibraries);else if(W.test(r))e.materialLibraries.push(r.substring(7).trim());else if(Q.test(r))console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');else if(h==="s"){if(t=r.split(" "),t.length>1){const l=t[1].trim().toLowerCase();e.object.smooth=l!=="0"&&l!=="off"}else e.object.smooth=!0;const o=e.object.currentMaterial();o&&(o.smooth=e.object.smooth)}else{if(r==="\0")continue;console.warn('THREE.OBJLoader: Unexpected line: "'+r+'"')}}e.finalize();const i=new k;if(i.materialLibraries=[].concat(e.materialLibraries),!(e.objects.length===1&&e.objects[0].geometry.vertices.length===0)===!0)for(let d=0,g=e.objects.length;d<g;d++){const r=e.objects[d],h=r.geometry,o=r.materials,l=h.type==="Line",u=h.type==="Points";let m=!1;if(h.vertices.length===0)continue;const c=new P;c.setAttribute("position",new w(h.vertices,3)),h.normals.length>0&&c.setAttribute("normal",new w(h.normals,3)),h.colors.length>0&&(m=!0,c.setAttribute("color",new w(h.colors,3))),h.hasUVIndices===!0&&c.setAttribute("uv",new w(h.uvs,2));const p=[];for(let v=0,M=o.length;v<M;v++){const y=o[v],A=y.name+"_"+y.smooth+"_"+m;let f=e.materials[A];if(this.materials!==null){if(f=this.materials.create(y.name),l&&f&&!(f instanceof C)){const x=new C;U.prototype.copy.call(x,f),x.color.copy(f.color),f=x}else if(u&&f&&!(f instanceof L)){const x=new L({size:10,sizeAttenuation:!1});U.prototype.copy.call(x,f),x.color.copy(f.color),x.map=f.map,f=x}}f===void 0&&(l?f=new C:u?f=new L({size:1,sizeAttenuation:!1}):f=new J,f.name=y.name,f.flatShading=!y.smooth,f.vertexColors=m,e.materials[A]=f),p.push(f)}let b;if(p.length>1){for(let v=0,M=o.length;v<M;v++){const y=o[v];c.addGroup(y.groupStart,y.groupCount,v)}l?b=new B(c,p):u?b=new z(c,p):b=new D(c,p)}else l?b=new B(c,p[0]):u?b=new z(c,p[0]):b=new D(c,p[0]);b.name=r.name,i.add(b)}else if(e.vertices.length>0){const d=new L({size:1,sizeAttenuation:!1}),g=new P;g.setAttribute("position",new w(e.vertices,3)),e.colors.length>0&&e.colors[0]!==void 0&&(g.setAttribute("color",new w(e.colors,3)),d.vertexColors=!0);const r=new z(g,d);i.add(r)}return i}}export{Z as OBJLoader};
@@ -0,0 +1 @@
1
+ import{n as o,b8 as ee,b9 as R,is as se,jh as N,ix as ie,gv as te,ji as B,iw as L,iA as ae,iB as oe,ii as S,jj as re,j as s,dv as A,eE as m,ct as b,bO as l,jk as ne,B as G,jl as le,cv as ce,im as $,dN as d,ik as F,bQ as de,jm as pe,jn as ue,jo as H,jp as W,jq as he,jr as me,iq as U,cx as ge,T as K,ew as ve,js as be,j7 as xe,iC as _,jt as je,eK as we,ju as fe,jv as Se,jw as ye,jx as Ce,eP as ke}from"./volter-sdk-DO4_-y9e.js";import{A as Pe,B as Ee}from"./asset-preview-CZzQwgFD.js";import{s as Ve}from"./model-inspection-ljY6Me_l.js";import{s as Me,e as q,o as De,f as Oe}from"./object3d-document-session-registry-DEoHbI_d.js";import{v as Q,V as Te,a as ze,p as Re}from"./ViewportShadingMenu-FkPS3xzH.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";const J=()=>()=>{},x=()=>0,Ne=[{key:"skeletons",label:"Bones"},{key:"weights",label:"Weights"},{key:"cursor",label:"3D Cursor"},{key:"cameras",label:"Cameras"},{key:"lights",label:"Lights"},{key:"empties",label:"Empties"}];function We({documentId:t,assetPath:p}){o.useSyncExternalStore(Me,q,q);const i=De(t);o.useSyncExternalStore(ee,R,R),o.useSyncExternalStore(i?.subscribe??J,i?.getSnapshot??x,i?.getSnapshot??x),o.useSyncExternalStore(se,N,N);const a=ie(t);o.useSyncExternalStore(a?.subscribe??J,a?.getSnapshot??x,a?.getSnapshot??x);const X=Oe(t),[y,C]=o.useState(null),[k,g]=o.useState(null),[P,v]=o.useState(!1),[E,c]=o.useState(!1),V=o.useRef(null),M=o.useRef(null);if(o.useSyncExternalStore(te,B,B),!i)return null;const r=i.presentation(),{lighting:u}=L(t),h=ae(t),D=h?oe(h.stageKind):null,Y=h?.documentLayer?.all?.lighting?.studioPreset===S.id||D?.all?.lighting?.studioPreset===S.id,j=h?re(h.stageKind):!1,O=e=>j?{modes:{[L(t).drawMode]:{lighting:e}}}:{all:{lighting:e}},w=new Set(Object.entries(D?.modes??{}).filter(([,e])=>e?.lighting!==void 0).map(([e])=>e)),f=new Set(Ve(i.root).filter(e=>e.available).map(e=>e.mode)),Z=[...j?Q.map(e=>e.mode==="solid"?{...e,label:"Solid",description:"Materials' colours under the studio lights"}:e.mode==="clay"?{...e,label:"Clay"}:e):Q,...w.has("preview")?[{mode:"preview",label:"Material Preview",description:"Materials lit by a preview environment"}]:[],...w.has("rendered")?[{mode:"rendered",label:"Rendered",description:"Lit as a render is, by the scene's own lights"}]:[],...f.has("uv")?[{mode:"uv",label:"UV",description:"UV coordinates as surface color"}]:[],...f.has("vertex-colors")?[{mode:"vertex-colors",label:"Vertex colors",description:"Authored color attributes without textures"}]:[]],T=async e=>{if(p){g(null);try{await ke().saveThumbnailFraming(p,e?void 0:i.cameraPose())}catch(n){g(n instanceof Error?n.message:String(n))}}},I=async()=>{g(null);try{const e={background:r.background},n=p?.toLowerCase().endsWith(".spz")?await Pe(p,e):Ee(i.root,e);C(`data:image/png;base64,${n.contactSheet.base64}`)}catch(e){g(e instanceof Error?e.message:String(e))}},z=i.selection().length>0?"Frame selection":"Frame all";return s.jsxs("div",{className:"volter-model-document-header",children:[s.jsxs(A,{compact:!0,label:"Viewport view controls",className:"volter-model-viewport-toolbar volter-model-viewport-toolbar--view",children:[s.jsx(m,{text:z,children:s.jsx(b,{"aria-label":z,onClick:()=>i.frame(),children:s.jsx(l,{icon:ne,size:"md"})})}),s.jsxs("div",{className:"volter-viewport-popover-anchor",children:[s.jsx(m,{text:"Camera orientation and projection",children:s.jsxs(G,{ref:V,type:"button",size:"compact",variant:"secondary","aria-label":`Camera view: ${r.projection}`,"aria-haspopup":"menu","aria-expanded":P,onClick:()=>v(e=>!e),className:"volter-model-toolbar-labelled-control",children:[s.jsx(l,{icon:le,size:"sm"}),s.jsx("span",{children:r.projection==="perspective"?"Perspective":"Orthographic"}),s.jsx(l,{icon:ce,size:"xs"})]})}),P&&s.jsxs($,{anchorRef:V,align:"start",clamp:!0,"aria-label":"Camera view",onDismiss:()=>v(!1),style:{minWidth:210},children:[["front","right","top","isometric"].map(e=>s.jsx(d,{onSelect:()=>{i.setViewPreset(e,"view"),v(!1)},children:e==="isometric"?"Perspective 3/4":`${e[0]?.toUpperCase()}${e.slice(1)} view`},e)),s.jsx(F,{}),["perspective","orthographic"].map(e=>s.jsxs(d,{role:"menuitemradio","aria-checked":r.projection===e,onSelect:()=>{i.setProjection(e),v(!1)},children:[s.jsx("span",{className:"volter-menu-check",children:r.projection===e&&s.jsx(l,{icon:de,size:"xs"})}),e==="perspective"?"Perspective":"Orthographic"]},e))]})]}),f.has("skeleton")?s.jsx(m,{text:`Rig: ${r.skeleton?"Visible":"Hidden"}`,children:s.jsx(b,{"aria-label":"Toggle rig overlay","aria-pressed":r.skeleton,onClick:()=>i.setSkeleton(!r.skeleton),children:s.jsx(l,{icon:pe,size:"md"})})}):null,ue("object3d-document").map(({id:e,Component:n})=>s.jsx(n,{documentId:t},e))]}),s.jsxs(A,{compact:!0,label:"Viewport preview controls",className:"volter-model-viewport-toolbar volter-model-viewport-toolbar--preview",children:[s.jsxs(Te,{mode:r.mode,onChange:e=>i.setMode(e),choices:Z,segments:j?Re(w):ze,children:[H().length>0?s.jsxs("label",{children:[s.jsx("span",{children:"View"}),s.jsxs(W,{"aria-label":"View preset",value:"",onChange:e=>{e.target.value&&he(t,e.target.value)},children:[s.jsx("option",{value:"",children:"Choose…"}),H().map(e=>s.jsx("option",{value:e.id,children:e.title},e.id))]})]}):null,s.jsxs("label",{children:[s.jsx("span",{children:"Lighting"}),s.jsxs(W,{"aria-label":"Lighting",value:u.source==="studio"?`studio:${u.studioPreset}`:u.source,onChange:e=>{const n=e.target.value;U(t,O(n.startsWith("studio:")?{source:"studio",studioPreset:n.slice(7)}:{source:n}))},children:[me().filter(e=>e.id!==S.id||Y).map(e=>s.jsx("option",{value:`studio:${e.id}`,children:e.title},e.id)),s.jsx("option",{value:"scene",children:"Scene lights"})]})]}),s.jsxs("label",{children:[s.jsx("span",{children:"Exposure"}),s.jsx(ge,{"aria-label":"Preview exposure",type:"range",min:"0.2",max:"2",step:"0.1",value:u.tone.exposure,onChange:e=>U(t,O({tone:{exposure:Number(e.target.value)}}))}),s.jsx(K,{as:"span",variant:"caption",children:u.tone.exposure.toFixed(1)})]})]}),a===null?null:s.jsx(m,{text:`Gizmos: ${a.showGizmos?"On":"Off"}`,children:s.jsx(b,{"aria-label":"Toggle gizmos","aria-pressed":a.showGizmos,size:"comfortable",onClick:()=>a.toggleGizmos(),children:s.jsx(l,{icon:ve.viewport.gizmos,size:"md"})})}),s.jsx(be,{glyph:s.jsx(je,{}),...a===null?{}:{master:{enabled:a.showHelpers,onToggle:()=>a.toggleHelpers()}},choices:[{id:"grid",label:"Grid",enabled:_(t),onToggle:()=>xe(t,!_(t))},{id:"bounds",label:"Bounds",enabled:r.bounds,onToggle:()=>i.setBounds(!r.bounds)},...a===null?[]:Ne.filter(e=>X.includes(e.key)).map(e=>({id:e.key,label:e.label,enabled:a.helperVisibility[e.key],onToggle:()=>a.toggleHelperType(e.key)}))]}),s.jsxs("div",{className:"volter-viewport-popover-anchor",children:[s.jsx(m,{text:"Asset preview actions",children:s.jsx(b,{ref:M,"aria-label":"Asset preview actions","aria-haspopup":"menu","aria-expanded":E,onClick:()=>c(e=>!e),children:s.jsx(l,{icon:we,size:"md"})})}),E&&s.jsxs($,{anchorRef:M,clamp:!0,"aria-label":"Asset preview actions",onDismiss:()=>c(!1),style:{minWidth:210},children:[s.jsxs(d,{onSelect:()=>{c(!1),I()},children:[s.jsx(l,{icon:fe,size:"sm"}),"Capture preview"]}),p?s.jsxs(s.Fragment,{children:[s.jsx(d,{onSelect:()=>{c(!1),T(!1)},children:"Save thumbnail framing"}),s.jsx(d,{onSelect:()=>{c(!1),T(!0)},children:"Reset thumbnail framing"})]}):null,s.jsx(F,{}),s.jsxs(d,{onSelect:()=>{i.resetPresentation(),c(!1)},children:[s.jsx(l,{icon:Se,size:"sm"}),"Reset viewport settings"]})]})]})]}),y?s.jsxs(ye,{className:"volter-model-capture-preview",children:[s.jsxs("div",{children:[s.jsx(K,{as:"strong",variant:"label",children:"Deterministic views"}),s.jsx(G,{type:"button",variant:"ghost",onClick:()=>C(null),children:"Close"})]}),s.jsx("img",{src:y,alt:"Front, right, top, and three-quarter model preview"})]}):null,k?s.jsx(Ce,{className:"volter-model-toolbar-error",tone:"error",children:k}):null]})}export{We as Object3DDocumentToolbar};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/spark.module-CTTm62aa.js","assets/three.module-CtVjCPcj.js","assets/output-pass-j4dAGrPY.js"])))=>i.map(i=>d[i]);
2
+ import{n as y,jy as Z,jz as O,jA as ee,jB as D,j as A,t as j,g as te}from"./volter-sdk-DO4_-y9e.js";import{aD as re,Y as ne,ay as ie,n as oe,aK as se,bQ as ae,v as le,bR as ce,bS as de,aX as pe,V as me,bP as ue}from"./three.module-CtVjCPcj.js";import{O as fe}from"./OrbitControls-DrHRrSFA.js";import{C as we,e as ge,f as K,h as he,n as ve,D as be}from"./asset-preview-CZzQwgFD.js";import{m as xe,l as ye,c as Ae,d as je}from"./three-integration.service-Bc-N4c0t.js";import"./output-pass-j4dAGrPY.js";import"./object3d-document-session-registry-DEoHbI_d.js";function Ce(o){const p=o.animations[0];if(!p)return null;const m=new ue(o),g=m.clipAction(p).play();return g.paused=!0,m.update(0),m}let Ee=0;function ke({assetPath:o,materialPath:p,displayName:m="Object3D preview",active:g=!0,sourceFactory:C,showSkeleton:F=!1,background:_,cameraDirection:E,showGrid:k=!0,useDefaultLighting:z=!0,exposure:H=1,setupPreview:L}){const T=y.useRef(null),[S,W]=y.useState(null),[q,M]=y.useState(!0);return y.useEffect(()=>{if(!g)return;const i=T.current;if(!i)return;const b=new AbortController,Q=Z({id:`preview-card:${++Ee}`,label:`${m} (preview card)`,contentClock:()=>0}),t=new re({antialias:!0,alpha:!0}),X=O("webglContext"),Y=O("animationFrame"),J=O("resizeObserver"),s=new ne,u=new ie(35,1,.01,1e3),f=new fe(u,t.domElement),V=new de;let $=null,w=null,x=null,l,a=null,h=null;const R=[];let c=0,d=!1;if(W(null),M(!0),t.outputColorSpace=oe,t.toneMapping=se,t.toneMappingExposure=H,t.shadowMap.enabled=!0,t.setClearColor(_??2106410,1),t.setPixelRatio(Math.min(window.devicePixelRatio,2)),t.domElement.style.width="100%",t.domElement.style.height="100%",t.domElement.style.display="block",i.appendChild(t.domElement),f.enableDamping=!0,f.dampingFactor=.1,z){s.add(new ae(16777215,3489874,1.8));const e=new le(16777215,2.2);e.position.set(3,5,4),s.add(e)}if(k){const e=new ce(10,20,5333103,3423044);s.add(e),R.push(e)}const I=(e,r)=>{if(!h)return;const n=E?new me(...E):void 0,v=be(h,Math.max(e,1)/Math.max(r,1),n);u.copy(v,!1),f.target.copy(h.center),f.update()},B=async e=>{if(d)return;s.add(e);let r=!1;if(e.traverse(n=>{he(n,"gaussianSplat")&&(r=!0)}),r){const{SparkRenderer:n}=await te(async()=>{const{SparkRenderer:v}=await import("./spark.module-CTTm62aa.js");return{SparkRenderer:v}},__vite__mapDeps([0,1,2]));if(d)return;a=new n({renderer:t,enableLod:!1})}if(h=ve(e,"perspective"),I(i.clientWidth,i.clientHeight),$=Ce(e),F){const n=new pe(e);n.name="__compact_preview_skeleton",s.add(n),R.push(n)}l=L?.({scene:s,camera:u,renderer:t,model:e}),l?.resize?.(Math.max(i.clientWidth,1),Math.max(i.clientHeight,1),t.getPixelRatio()),M(!1)};(async()=>{try{if(C){x=we(C),await B(x.root);return}if(!o)throw new Error("Compact Object3D preview has no source.");const e=xe(o);if(!e)throw new Error(`No native Three.js loader supports ${o}.`);const r=e==="glb"||e==="gltf"||e==="spz"?await ge(o,b.signal):await ye({url:o,format:e,...p?{materialUrl:p}:{}});if(w=Ae(r),b.signal.aborted||d){K(w),w=null;return}await B(w)}catch(e){!b.signal.aborted&&!d&&(W(e instanceof Error?e.message:String(e)),M(!1))}})();const G=()=>{const e=Math.max(i.clientWidth,1),r=Math.max(i.clientHeight,1);t.setSize(e,r,!1),h&&!l?I(e,r):(u.aspect=e/r,u.updateProjectionMatrix()),l?.resize?.(e,r,t.getPixelRatio())},U=new ResizeObserver(G);U.observe(i),G();const P=()=>{if(c=0,d||!D())return;const e=Math.min(V.getDelta(),.1);f.update(),a&&s.add(a);try{l?.render?l.render(e):t.render(s,u)}finally{a?.removeFromParent()}c=requestAnimationFrame(P)},N=ee(()=>{D()?!d&&c===0&&(V.getDelta(),P()):(cancelAnimationFrame(c),c=0)});return D()&&(c=requestAnimationFrame(P)),()=>{d=!0,N(),Q(),b.abort(new Error("Compact Object3D preview closed.")),cancelAnimationFrame(c),U.disconnect(),$?.stopAllAction(),l?.dispose(),f.dispose(),a&&(a.removeFromParent(),je(a),a=null),t.dispose(),t.forceContextLoss();for(const e of R){const r=e;r.geometry?.dispose();const n=r.material;if(Array.isArray(n))for(const v of n)v.dispose();else n?.dispose()}x&&x.dispose(),w&&K(w),i.contains(t.domElement)&&i.removeChild(t.domElement),J(),Y(),X()}},[g,o,_,E,H,p,L,k,F,C,z]),A.jsxs("div",{ref:T,"data-testid":"object3d-compact-preview",role:"region","aria-label":`Interactive 3D preview: ${m}`,"aria-busy":q,style:{width:"100%",height:"100%",minHeight:220,overflow:"hidden",position:"relative",background:j.surface.inset},children:[q&&!S?A.jsx("span",{style:{position:"absolute",padding:10,color:j.content.muted},children:"Loading…"}):null,g?null:A.jsx("span",{style:{position:"absolute",padding:10,color:j.content.muted},children:"Preview suspended while inactive."}),S?A.jsx("div",{role:"alert",style:{position:"absolute",padding:10,color:j.semantic.danger},children:S}):null]})}export{ke as Object3DPreview};
@@ -0,0 +1 @@
1
+ import{bT as S,V as p,bU as u,bV as _,Q as E,bW as P,r as c,bX as w,T as O,u as R}from"./three.module-CtVjCPcj.js";const D={type:"change"},b={type:"start"},M={type:"end"},f=new w,T=new O,j=Math.cos(70*R.DEG2RAD),n=new p,r=2*Math.PI,o={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},y=1e-6;class X extends S{constructor(t,e=null){super(t,e),this.state=o.NONE,this.target=new p,this.cursor=new p,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:u.ROTATE,MIDDLE:u.DOLLY,RIGHT:u.PAN},this.touches={ONE:_.ROTATE,TWO:_.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this._lastPosition=new p,this._lastQuaternion=new E,this._lastTargetPosition=new p,this._quat=new E().setFromUnitVectors(t.up,new p(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new P,this._sphericalDelta=new P,this._scale=1,this._panOffset=new p,this._rotateStart=new c,this._rotateEnd=new c,this._rotateDelta=new c,this._panStart=new c,this._panEnd=new c,this._panDelta=new c,this._dollyStart=new c,this._dollyEnd=new c,this._dollyDelta=new c,this._dollyDirection=new p,this._mouse=new c,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=L.bind(this),this._onPointerDown=A.bind(this),this._onPointerUp=k.bind(this),this._onContextMenu=Z.bind(this),this._onMouseWheel=N.bind(this),this._onKeyDown=Y.bind(this),this._onTouchStart=I.bind(this),this._onTouchMove=U.bind(this),this._onMouseDown=x.bind(this),this._onMouseMove=C.bind(this),this._interceptControlDown=z.bind(this),this._interceptControlUp=K.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}connect(t){super.connect(t),this.domElement.addEventListener("pointerdown",this._onPointerDown),this.domElement.addEventListener("pointercancel",this._onPointerUp),this.domElement.addEventListener("contextmenu",this._onContextMenu),this.domElement.addEventListener("wheel",this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener("keydown",this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction="none"}disconnect(){this.domElement.removeEventListener("pointerdown",this._onPointerDown),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.domElement.removeEventListener("pointercancel",this._onPointerUp),this.domElement.removeEventListener("wheel",this._onMouseWheel),this.domElement.removeEventListener("contextmenu",this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener("keydown",this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction="auto"}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(t){t.addEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=t}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(D),this.update(),this.state=o.NONE}update(t=null){const e=this.object.position;n.copy(e).sub(this.target),n.applyQuaternion(this._quat),this._spherical.setFromVector3(n),this.autoRotate&&this.state===o.NONE&&this._rotateLeft(this._getAutoRotationAngle(t)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let s=this.minAzimuthAngle,a=this.maxAzimuthAngle;isFinite(s)&&isFinite(a)&&(s<-Math.PI?s+=r:s>Math.PI&&(s-=r),a<-Math.PI?a+=r:a>Math.PI&&(a-=r),s<=a?this._spherical.theta=Math.max(s,Math.min(a,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(s+a)/2?Math.max(s,this._spherical.theta):Math.min(a,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let h=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const l=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),h=l!=this._spherical.radius}if(n.setFromSpherical(this._spherical),n.applyQuaternion(this._quatInverse),e.copy(this.target).add(n),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let l=null;if(this.object.isPerspectiveCamera){const d=n.length();l=this._clampDistance(d*this._scale);const m=d-l;this.object.position.addScaledVector(this._dollyDirection,m),this.object.updateMatrixWorld(),h=!!m}else if(this.object.isOrthographicCamera){const d=new p(this._mouse.x,this._mouse.y,0);d.unproject(this.object);const m=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),h=m!==this.object.zoom;const g=new p(this._mouse.x,this._mouse.y,0);g.unproject(this.object),this.object.position.sub(g).add(d),this.object.updateMatrixWorld(),l=n.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;l!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(l).add(this.object.position):(f.origin.copy(this.object.position),f.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(f.direction))<j?this.object.lookAt(this.target):(T.setFromNormalAndCoplanarPoint(this.object.up,this.target),f.intersectPlane(T,this.target))))}else if(this.object.isOrthographicCamera){const l=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),l!==this.object.zoom&&(this.object.updateProjectionMatrix(),h=!0)}return this._scale=1,this._performCursorZoom=!1,h||this._lastPosition.distanceToSquared(this.object.position)>y||8*(1-this._lastQuaternion.dot(this.object.quaternion))>y||this._lastTargetPosition.distanceToSquared(this.target)>y?(this.dispatchEvent(D),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(t){return t!==null?r/60*this.autoRotateSpeed*t:r/60/60*this.autoRotateSpeed}_getZoomScale(t){const e=Math.abs(t*.01);return Math.pow(.95,this.zoomSpeed*e)}_rotateLeft(t){this._sphericalDelta.theta-=t}_rotateUp(t){this._sphericalDelta.phi-=t}_panLeft(t,e){n.setFromMatrixColumn(e,0),n.multiplyScalar(-t),this._panOffset.add(n)}_panUp(t,e){this.screenSpacePanning===!0?n.setFromMatrixColumn(e,1):(n.setFromMatrixColumn(e,0),n.crossVectors(this.object.up,n)),n.multiplyScalar(t),this._panOffset.add(n)}_pan(t,e){const s=this.domElement;if(this.object.isPerspectiveCamera){const a=this.object.position;n.copy(a).sub(this.target);let h=n.length();h*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*t*h/s.clientHeight,this.object.matrix),this._panUp(2*e*h/s.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(t*(this.object.right-this.object.left)/this.object.zoom/s.clientWidth,this.object.matrix),this._panUp(e*(this.object.top-this.object.bottom)/this.object.zoom/s.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(t){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=t:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(t,e){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const s=this.domElement.getBoundingClientRect(),a=t-s.left,h=e-s.top,l=s.width,d=s.height;this._mouse.x=a/l*2-1,this._mouse.y=-(h/d)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(t){return Math.max(this.minDistance,Math.min(this.maxDistance,t))}_handleMouseDownRotate(t){this._rotateStart.set(t.clientX,t.clientY)}_handleMouseDownDolly(t){this._updateZoomParameters(t.clientX,t.clientX),this._dollyStart.set(t.clientX,t.clientY)}_handleMouseDownPan(t){this._panStart.set(t.clientX,t.clientY)}_handleMouseMoveRotate(t){this._rotateEnd.set(t.clientX,t.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(r*this._rotateDelta.x/e.clientHeight),this._rotateUp(r*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(t){this._dollyEnd.set(t.clientX,t.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(t){this._panEnd.set(t.clientX,t.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(t){this._updateZoomParameters(t.clientX,t.clientY),t.deltaY<0?this._dollyIn(this._getZoomScale(t.deltaY)):t.deltaY>0&&this._dollyOut(this._getZoomScale(t.deltaY)),this.update()}_handleKeyDown(t){let e=!1;switch(t.code){case this.keys.UP:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(r*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),e=!0;break;case this.keys.BOTTOM:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateUp(-r*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),e=!0;break;case this.keys.LEFT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(r*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),e=!0;break;case this.keys.RIGHT:t.ctrlKey||t.metaKey||t.shiftKey?this.enableRotate&&this._rotateLeft(-r*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),e=!0;break}e&&(t.preventDefault(),this.update())}_handleTouchStartRotate(t){if(this._pointers.length===1)this._rotateStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),s=.5*(t.pageX+e.x),a=.5*(t.pageY+e.y);this._rotateStart.set(s,a)}}_handleTouchStartPan(t){if(this._pointers.length===1)this._panStart.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),s=.5*(t.pageX+e.x),a=.5*(t.pageY+e.y);this._panStart.set(s,a)}}_handleTouchStartDolly(t){const e=this._getSecondPointerPosition(t),s=t.pageX-e.x,a=t.pageY-e.y,h=Math.sqrt(s*s+a*a);this._dollyStart.set(0,h)}_handleTouchStartDollyPan(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enablePan&&this._handleTouchStartPan(t)}_handleTouchStartDollyRotate(t){this.enableZoom&&this._handleTouchStartDolly(t),this.enableRotate&&this._handleTouchStartRotate(t)}_handleTouchMoveRotate(t){if(this._pointers.length==1)this._rotateEnd.set(t.pageX,t.pageY);else{const s=this._getSecondPointerPosition(t),a=.5*(t.pageX+s.x),h=.5*(t.pageY+s.y);this._rotateEnd.set(a,h)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const e=this.domElement;this._rotateLeft(r*this._rotateDelta.x/e.clientHeight),this._rotateUp(r*this._rotateDelta.y/e.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(t){if(this._pointers.length===1)this._panEnd.set(t.pageX,t.pageY);else{const e=this._getSecondPointerPosition(t),s=.5*(t.pageX+e.x),a=.5*(t.pageY+e.y);this._panEnd.set(s,a)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(t){const e=this._getSecondPointerPosition(t),s=t.pageX-e.x,a=t.pageY-e.y,h=Math.sqrt(s*s+a*a);this._dollyEnd.set(0,h),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const l=(t.pageX+e.x)*.5,d=(t.pageY+e.y)*.5;this._updateZoomParameters(l,d)}_handleTouchMoveDollyPan(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enablePan&&this._handleTouchMovePan(t)}_handleTouchMoveDollyRotate(t){this.enableZoom&&this._handleTouchMoveDolly(t),this.enableRotate&&this._handleTouchMoveRotate(t)}_addPointer(t){this._pointers.push(t.pointerId)}_removePointer(t){delete this._pointerPositions[t.pointerId];for(let e=0;e<this._pointers.length;e++)if(this._pointers[e]==t.pointerId){this._pointers.splice(e,1);return}}_isTrackingPointer(t){for(let e=0;e<this._pointers.length;e++)if(this._pointers[e]==t.pointerId)return!0;return!1}_trackPointer(t){let e=this._pointerPositions[t.pointerId];e===void 0&&(e=new c,this._pointerPositions[t.pointerId]=e),e.set(t.pageX,t.pageY)}_getSecondPointerPosition(t){const e=t.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[e]}_customWheelEvent(t){const e=t.deltaMode,s={clientX:t.clientX,clientY:t.clientY,deltaY:t.deltaY};switch(e){case 1:s.deltaY*=16;break;case 2:s.deltaY*=100;break}return t.ctrlKey&&!this._controlActive&&(s.deltaY*=10),s}}function A(i){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(i.pointerId),this.domElement.addEventListener("pointermove",this._onPointerMove),this.domElement.addEventListener("pointerup",this._onPointerUp)),!this._isTrackingPointer(i)&&(this._addPointer(i),i.pointerType==="touch"?this._onTouchStart(i):this._onMouseDown(i)))}function L(i){this.enabled!==!1&&(i.pointerType==="touch"?this._onTouchMove(i):this._onMouseMove(i))}function k(i){switch(this._removePointer(i),this._pointers.length){case 0:this.domElement.releasePointerCapture(i.pointerId),this.domElement.removeEventListener("pointermove",this._onPointerMove),this.domElement.removeEventListener("pointerup",this._onPointerUp),this.dispatchEvent(M),this.state=o.NONE;break;case 1:const t=this._pointers[0],e=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:e.x,pageY:e.y});break}}function x(i){let t;switch(i.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=-1}switch(t){case u.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(i),this.state=o.DOLLY;break;case u.ROTATE:if(i.ctrlKey||i.metaKey||i.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(i),this.state=o.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(i),this.state=o.ROTATE}break;case u.PAN:if(i.ctrlKey||i.metaKey||i.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(i),this.state=o.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(i),this.state=o.PAN}break;default:this.state=o.NONE}this.state!==o.NONE&&this.dispatchEvent(b)}function C(i){switch(this.state){case o.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(i);break;case o.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(i);break;case o.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(i);break}}function N(i){this.enabled===!1||this.enableZoom===!1||this.state!==o.NONE||(i.preventDefault(),this.dispatchEvent(b),this._handleMouseWheel(this._customWheelEvent(i)),this.dispatchEvent(M))}function Y(i){this.enabled!==!1&&this._handleKeyDown(i)}function I(i){switch(this._trackPointer(i),this._pointers.length){case 1:switch(this.touches.ONE){case _.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(i),this.state=o.TOUCH_ROTATE;break;case _.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(i),this.state=o.TOUCH_PAN;break;default:this.state=o.NONE}break;case 2:switch(this.touches.TWO){case _.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(i),this.state=o.TOUCH_DOLLY_PAN;break;case _.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(i),this.state=o.TOUCH_DOLLY_ROTATE;break;default:this.state=o.NONE}break;default:this.state=o.NONE}this.state!==o.NONE&&this.dispatchEvent(b)}function U(i){switch(this._trackPointer(i),this.state){case o.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(i),this.update();break;case o.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(i),this.update();break;case o.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(i),this.update();break;case o.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(i),this.update();break;default:this.state=o.NONE}}function Z(i){this.enabled!==!1&&i.preventDefault()}function z(i){i.key==="Control"&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}function K(i){i.key==="Control"&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener("keyup",this._interceptControlUp,{passive:!0,capture:!0}))}export{X as O};
@@ -0,0 +1,2 @@
1
+ import{b2 as b,b3 as M,B as V,h,m as j,n as T}from"./three.module-CtVjCPcj.js";const f=new j;class G extends b{constructor(u){super(u),this.propertyNameMapping={},this.customPropertyMapping={}}load(u,C,x,y){const R=this,d=new M(this.manager);d.setPath(this.path),d.setResponseType("arraybuffer"),d.setRequestHeader(this.requestHeader),d.setWithCredentials(this.withCredentials),d.load(u,function(B){try{C(R.parse(B))}catch(v){y?y(v):console.error(v),R.manager.itemError(u)}},x,y)}setPropertyNameMapping(u){this.propertyNameMapping=u}setCustomPropertyNameMapping(u){this.customPropertyMapping=u}parse(u){function C(e,n=0){const r=/^ply([\s\S]*)end_header(\r\n|\r|\n)/;let t="";const s=r.exec(e);s!==null&&(t=s[1]);const o={comments:[],elements:[],headerLength:n,objInfo:""},i=t.split(/\r\n|\r|\n/);let a;function m(c,p){const l={type:c[0]};return l.type==="list"?(l.name=c[3],l.countType=c[1],l.itemType=c[2]):l.name=c[1],l.name in p&&(l.name=p[l.name]),l}for(let c=0;c<i.length;c++){let p=i[c];if(p=p.trim(),p==="")continue;const l=p.split(/\s+/),N=l.shift();switch(p=l.join(" "),N){case"format":o.format=l[0],o.version=l[1];break;case"comment":o.comments.push(p);break;case"element":a!==void 0&&o.elements.push(a),a={},a.name=l[0],a.count=parseInt(l[1]),a.properties=[];break;case"property":a.properties.push(m(l,g.propertyNameMapping));break;case"obj_info":o.objInfo=p;break;default:console.log("unhandled",N,l)}}return a!==void 0&&o.elements.push(a),o}function x(e,n){switch(n){case"char":case"uchar":case"short":case"ushort":case"int":case"uint":case"int8":case"uint8":case"int16":case"uint16":case"int32":case"uint32":return parseInt(e);case"float":case"double":case"float32":case"float64":return parseFloat(e)}}function y(e,n){const r={};for(let t=0;t<e.length;t++){if(n.empty())return null;if(e[t].type==="list"){const s=[],o=x(n.next(),e[t].countType);for(let i=0;i<o;i++){if(n.empty())return null;s.push(x(n.next(),e[t].itemType))}r[e[t].name]=s}else r[e[t].name]=x(n.next(),e[t].type)}return r}function R(){const e={indices:[],vertices:[],normals:[],uvs:[],faceVertexUvs:[],colors:[],faceVertexColors:[]};for(const n of Object.keys(g.customPropertyMapping))e[n]=[];return e}function d(e){const n=e.map(t=>t.name);function r(t){for(let s=0,o=t.length;s<o;s++){const i=t[s];if(n.includes(i))return i}return null}return{attrX:r(["x","px","posx"])||"x",attrY:r(["y","py","posy"])||"y",attrZ:r(["z","pz","posz"])||"z",attrNX:r(["nx","normalx"]),attrNY:r(["ny","normaly"]),attrNZ:r(["nz","normalz"]),attrS:r(["s","u","texture_u","tx"]),attrT:r(["t","v","texture_v","ty"]),attrR:r(["red","diffuse_red","r","diffuse_r"]),attrG:r(["green","diffuse_green","g","diffuse_g"]),attrB:r(["blue","diffuse_blue","b","diffuse_b"])}}function B(e,n){const r=R(),t=/end_header\s+(\S[\s\S]*\S|\S)\s*$/;let s,o;(o=t.exec(e))!==null?s=o[1].split(/\s+/):s=[];const i=new U(s);e:for(let a=0;a<n.elements.length;a++){const m=n.elements[a],c=d(m.properties);for(let p=0;p<m.count;p++){const l=y(m.properties,i);if(!l)break e;P(r,m.name,l,c)}}return v(r)}function v(e){let n=new V;e.indices.length>0&&n.setIndex(e.indices),n.setAttribute("position",new h(e.vertices,3)),e.normals.length>0&&n.setAttribute("normal",new h(e.normals,3)),e.uvs.length>0&&n.setAttribute("uv",new h(e.uvs,2)),e.colors.length>0&&n.setAttribute("color",new h(e.colors,3)),(e.faceVertexUvs.length>0||e.faceVertexColors.length>0)&&(n=n.toNonIndexed(),e.faceVertexUvs.length>0&&n.setAttribute("uv",new h(e.faceVertexUvs,2)),e.faceVertexColors.length>0&&n.setAttribute("color",new h(e.faceVertexColors,3)));for(const r of Object.keys(g.customPropertyMapping))e[r].length>0&&n.setAttribute(r,new h(e[r],g.customPropertyMapping[r].length));return n.computeBoundingSphere(),n}function P(e,n,r,t){if(n==="vertex"){e.vertices.push(r[t.attrX],r[t.attrY],r[t.attrZ]),t.attrNX!==null&&t.attrNY!==null&&t.attrNZ!==null&&e.normals.push(r[t.attrNX],r[t.attrNY],r[t.attrNZ]),t.attrS!==null&&t.attrT!==null&&e.uvs.push(r[t.attrS],r[t.attrT]),t.attrR!==null&&t.attrG!==null&&t.attrB!==null&&(f.setRGB(r[t.attrR]/255,r[t.attrG]/255,r[t.attrB]/255,T),e.colors.push(f.r,f.g,f.b));for(const s of Object.keys(g.customPropertyMapping))for(const o of g.customPropertyMapping[s])e[s].push(r[o])}else if(n==="face"){const s=r.vertex_indices||r.vertex_index,o=r.texcoord;s.length===3?(e.indices.push(s[0],s[1],s[2]),o&&o.length===6&&(e.faceVertexUvs.push(o[0],o[1]),e.faceVertexUvs.push(o[2],o[3]),e.faceVertexUvs.push(o[4],o[5]))):s.length===4&&(e.indices.push(s[0],s[1],s[3]),e.indices.push(s[1],s[2],s[3])),t.attrR!==null&&t.attrG!==null&&t.attrB!==null&&(f.setRGB(r[t.attrR]/255,r[t.attrG]/255,r[t.attrB]/255,T),e.faceVertexColors.push(f.r,f.g,f.b),e.faceVertexColors.push(f.r,f.g,f.b),e.faceVertexColors.push(f.r,f.g,f.b))}}function S(e,n){const r={};let t=0;for(let s=0;s<n.length;s++){const o=n[s],i=o.valueReader;if(o.type==="list"){const a=[],m=o.countReader.read(e+t);t+=o.countReader.size;for(let c=0;c<m;c++)a.push(i.read(e+t)),t+=i.size;r[o.name]=a}else r[o.name]=i.read(e+t),t+=i.size}return[r,t]}function I(e,n,r){function t(s,o,i){switch(o){case"int8":case"char":return{read:a=>s.getInt8(a),size:1};case"uint8":case"uchar":return{read:a=>s.getUint8(a),size:1};case"int16":case"short":return{read:a=>s.getInt16(a,i),size:2};case"uint16":case"ushort":return{read:a=>s.getUint16(a,i),size:2};case"int32":case"int":return{read:a=>s.getInt32(a,i),size:4};case"uint32":case"uint":return{read:a=>s.getUint32(a,i),size:4};case"float32":case"float":return{read:a=>s.getFloat32(a,i),size:4};case"float64":case"double":return{read:a=>s.getFloat64(a,i),size:8}}}for(let s=0,o=e.length;s<o;s++){const i=e[s];i.type==="list"?(i.countReader=t(n,i.countType,r),i.valueReader=t(n,i.itemType,r)):i.valueReader=t(n,i.type,r)}}function _(e,n){const r=R(),t=n.format==="binary_little_endian",s=new DataView(e,n.headerLength);let o,i=0;for(let a=0;a<n.elements.length;a++){const m=n.elements[a],c=m.properties,p=d(c);I(c,s,t);for(let l=0;l<m.count;l++){o=S(i,c),i+=o[1];const N=o[0];P(r,m.name,N,p)}}return v(r)}function w(e){let n=0,r=!0,t="";const s=[],o=new TextDecoder().decode(e.subarray(0,5)),i=/^ply\r\n/.test(o);do{const a=String.fromCharCode(e[n++]);a!==`
2
+ `&&a!=="\r"?t+=a:(t==="end_header"&&(r=!1),t!==""&&(s.push(t),t=""))}while(r&&n<e.length);return i===!0&&n++,{headerText:s.join("\r")+"\r",headerLength:n}}let z;const g=this;if(u instanceof ArrayBuffer){const e=new Uint8Array(u),{headerText:n,headerLength:r}=w(e),t=C(n,r);if(t.format==="ascii"){const s=new TextDecoder().decode(e);z=B(s,t)}else z=_(u,t)}else z=B(u,C(u));return z}}class U{constructor(u){this.arr=u,this.i=0}empty(){return this.i>=this.arr.length}next(){return this.arr[this.i++]}}export{G as PLYLoader};
@@ -0,0 +1,2 @@
1
+ import{n as d,j as b,t as O,kZ as C}from"./volter-sdk-DO4_-y9e.js";import{K as L}from"./asset-preview-CZzQwgFD.js";import{O as x,Q as z,V as y,C as Q,G as j}from"./StageHost-byzihJ82.js";import{t as M}from"./object3d-document-session-registry-DEoHbI_d.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./three-integration.service-Bc-N4c0t.js";import"./live-mixers-B-bwLZ7c.js";import"./linear-resolve-Cuka7Ypb.js";import"./model-inspection-ljY6Me_l.js";import"./standard-viewport-dressing-DeErCVm3.js";import"./OrbitControls-DrHRrSFA.js";function $(e){const t=[],r=new Set;return e.traverse(s=>{if(s.type!=="ParticleEmitter")return;const o=s.system;!o||typeof o.getRendererSettings!="function"||r.has(o)||(r.add(o),t.push(o))}),t}const S=new WeakMap;function h(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function E(e){return h(e)?e:null}function w(e,t){t(e);for(const r of e.children??[])w(r,t)}function V(e){if(!h(e))return!1;const t=E(e.object);if(!t)return!1;let r=!1;return w(t,s=>{s.type==="ParticleEmitter"&&h(s.ps)&&s.ps.version!==void 0&&(r=!0)}),r}function B(e){const t=new Map,r=E(e.object);return r&&w(r,s=>{typeof s.uuid=="string"&&t.set(s.uuid,s)}),t}function F(e){const t=new z().parse(e.json),r=B(e.json),s=$(t),o=new Map(s.map(a=>[a.emitter,a])),p=new Map;if(t.traverse(a=>{const f=o.get(a);if(!f)return;const i=r.get(a.uuid);if(!i?.ps)throw new Error(`Native Quarks emitter ${a.name||a.uuid} has no matching JSON node.`);p.set(a,{system:f,json:i})}),p.size===0)throw new Error("The Quarks document contains no loadable emitter.");const u={root:t,originalText:e.text,json:e.json,emitters:p,dirty:!1};return S.set(t,u),u}function J(e){const t=S.get(e);if(!t)throw new Error("Object3D is not a native three.quarks JSON document.");return t}function q(e){for(const t of e.emitters.values())t.system.dispose();S.delete(e.root)}function G(e){const t=J(e);return t.dirty?`${JSON.stringify(t.json,null,2)}
2
+ `:t.originalText}const U=new Set(["particles.duration","particles.looping","particles.prewarm","particles.worldSpace","particles.startLife","particles.startSpeed","particles.startRotation","particles.startSize","particles.startColor","particles.emissionOverTime","particles.emissionOverDistance"]);function W(){return[{path:"particles.duration",label:"Duration",type:"number",group:"Emission"},{path:"particles.looping",label:"Looping",type:"boolean",group:"Emission"},{path:"particles.prewarm",label:"Prewarm",type:"boolean",group:"Emission"},{path:"particles.emissionOverTime",label:"Rate over time",type:"json",group:"Emission"},{path:"particles.emissionOverDistance",label:"Rate over distance",type:"json",group:"Emission"},{path:"particles.startLife",label:"Lifetime",type:"json",group:"Start"},{path:"particles.startSpeed",label:"Speed",type:"json",group:"Start"},{path:"particles.startRotation",label:"Rotation",type:"json",group:"Start"},{path:"particles.startSize",label:"Size",type:"json",group:"Start"},{path:"particles.startColor",label:"Color",type:"json",group:"Start"},{path:"particles.worldSpace",label:"World space",type:"boolean",group:"Simulation"},{path:"particles.shape",label:"Shape",type:"string",readonly:!0,group:"Shape"},{path:"particles.behaviors",label:"Modules",type:"json",readonly:!0,group:"Behavior"},{path:"particles.renderMode",label:"Native render mode",type:"number",readonly:!0,group:"Renderer"}]}function m(e,t){if(!h(e)||typeof e.type!="string")throw new Error(`${t} must be a native quarks function JSON object with a type.`);return e}function k(e,t){const{system:r}=e;switch(t){case"particles.duration":return r.duration;case"particles.looping":return r.looping;case"particles.prewarm":return r.prewarm;case"particles.worldSpace":return r.worldSpace;case"particles.startLife":return r.startLife.toJSON();case"particles.startSpeed":return r.startSpeed.toJSON();case"particles.startRotation":return r.startRotation.toJSON();case"particles.startSize":return r.startSize.toJSON();case"particles.startColor":return r.startColor.toJSON();case"particles.emissionOverTime":return r.emissionOverTime.toJSON();case"particles.emissionOverDistance":return r.emissionOverDistance.toJSON();case"particles.shape":return r.emitterShape.type;case"particles.behaviors":return r.behaviors.map(s=>s.type);case"particles.renderMode":return r.renderMode;default:return}}function g(e){return e.slice(10)}function N(e,t,r){const{system:s}=e;switch(t){case"particles.duration":{const o=Number(r);if(!Number.isFinite(o)||o<=0)throw new Error("Particle duration must be a positive finite number.");s.duration=o;break}case"particles.looping":s.looping=!!r;break;case"particles.prewarm":s.prewarm=!!r;break;case"particles.worldSpace":s.worldSpace=!!r;break;case"particles.startLife":s.startLife=y(m(r,"Lifetime"));break;case"particles.startSpeed":s.startSpeed=y(m(r,"Speed"));break;case"particles.startRotation":s.startRotation=j(m(r,"Rotation"));break;case"particles.startSize":s.startSize=j(m(r,"Size"));break;case"particles.startColor":s.startColor=Q(m(r,"Color"));break;case"particles.emissionOverTime":s.emissionOverTime=y(m(r,"Rate over time"));break;case"particles.emissionOverDistance":s.emissionOverDistance=y(m(r,"Rate over distance"));break;default:throw new Error(`Particle field ${t} is read-only.`)}e.json.ps[g(t)]=r,s.restart()}function H(e,t,r,s){N(e,t,r),e.json.ps[g(t)]=s}function I(e){return e===void 0?void 0:JSON.parse(JSON.stringify(e))}const K=({root:e,defaultAdapter:t,commit:r})=>{const s=J(e),o=new Set,p=()=>{for(const i of o)i()},u=i=>{const n=M(t.hierarchy,i);return n?s.emitters.get(n)??null:null},a={properties:i=>[...t.inspector?.properties(i)??[],...u(i)?W():[]],get:(i,n)=>{const c=u(i);return c&&n.startsWith("particles.")?k(c,n):t.inspector?.get(i,n)},set:async(i,n,c)=>{const l=u(i);if(!l||!U.has(n)){await t.inspector?.set(i,n,c);return}const v=k(l,n),T=g(n),R=I(l.json.ps?.[T]),P=s.dirty;try{N(l,n,c),s.dirty=!0,p(),await r(`Edit ${l.system.emitter.name||"Particle Emitter"}`)}catch(D){throw H(l,n,v,R),s.dirty=P,p(),D}}};return{adapter:{capabilities:{...t.capabilities,inspectorFields:!0,persist:!0},provenance:{source:"document",label:"three.quarks JSON",detail:"The hierarchy and emitter fields are the native three.quarks Object3D JSON document."},hierarchy:t.hierarchy,...t.selection?{selection:t.selection}:{},...t.transforms?{transforms:t.transforms}:{},inspector:a,subscribe:i=>{o.add(i);const n=t.subscribe?.(i)??(()=>{});return()=>{o.delete(i),n()}}},dispose:()=>o.clear()}};async function at(e,t){const r=await fetch(L(e),{cache:"no-store",...t?{signal:t}:{}});if(!r.ok)throw new Error(`Could not load ${e}: HTTP ${r.status}.`);const s=await r.text();let o;try{o=JSON.parse(s)}catch{return null}return V(o)?{text:s,json:o,projectPath:C(e)}:null}function ct({documentId:e,assetPath:t,displayName:r,active:s,source:o}){const[p,u]=d.useState(null),[a,f]=d.useState(null);d.useEffect(()=>{if(!s){u(null);return}let c=null;try{c=F(o),u(c),f(null)}catch(l){f(l instanceof Error?l.message:String(l))}return()=>{c&&q(c)}},[s,o]);const i=d.useCallback(()=>{if(!p)throw new Error(`Particle asset ${t} is not loaded.`);return{root:p.root,dispose(){}}},[p,t]),n=d.useMemo(()=>({label:`Edit ${r}`,resources:[{path:o.projectPath,contentType:"application/json",serialize:({root:c})=>G(c)}]}),[r,o.projectPath]);return a?b.jsx("div",{role:"alert",style:{padding:20,color:O.semantic.danger},children:a}):p?b.jsx(x,{documentId:e,sourcePath:t,displayName:r,build:i,active:s,assetType:"particles",persistence:n,authoring:K,dressing:{grid:!0}}):b.jsxs("div",{style:{padding:20,color:O.content.muted},children:["Loading ",r,"…"]})}export{ct as QuarksAssetDocument,V as isNativeQuarksJson,at as loadNativeQuarksJsonSource};