@volter/cyclotron 0.0.0-stage → 0.5.191

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 (607) hide show
  1. package/BUNDLED_NOTICES +6877 -0
  2. package/LICENSE +670 -0
  3. package/LICENSE-BLENDER +1409 -0
  4. package/LICENSE-MCP +21 -0
  5. package/NOTICE +20 -0
  6. package/README.md +91 -2
  7. package/dist/.vite/manifest.json +5432 -0
  8. package/dist/assets/BVHLoader-Dxn1IBPh.js +1 -0
  9. package/dist/assets/ColladaLoader-FWjhft-R.js +3 -0
  10. package/dist/assets/EntityModelDocument-H5MGTLgY.js +1 -0
  11. package/dist/assets/EnvironmentAssetDocument-DscnToFv.js +1 -0
  12. package/dist/assets/FBXLoader-B6D0-2sM.js +1 -0
  13. package/dist/assets/InspectorObjectPreview-DmgzscPS.js +1 -0
  14. package/dist/assets/LineSegments2-D1_2s-N-.js +370 -0
  15. package/dist/assets/LiveModuleDocument-DAYkZerk.js +2 -0
  16. package/dist/assets/LutAssetDocument-B7CFf1iQ.js +1 -0
  17. package/dist/assets/MTLLoader-BwtVpZY2.js +2 -0
  18. package/dist/assets/ModelAssetDocument-C3AYQW5D.js +1 -0
  19. package/dist/assets/NonThreeAuthoringBootstrap-BnkHNgwT.js +1 -0
  20. package/dist/assets/OBJLoader-Cwe-BN99.js +5 -0
  21. package/dist/assets/Object3DDocumentToolbar-6iKyx5P7.js +1 -0
  22. package/dist/assets/Object3DPreview-CVsX3Ez6.js +2 -0
  23. package/dist/assets/OrbitControls-Cn2q_IQK.js +1 -0
  24. package/dist/assets/PLYLoader-DOl6qb2a.js +2 -0
  25. package/dist/assets/QuarksAssetDocument-BrUx0sFF.js +2 -0
  26. package/dist/assets/RectAreaLightUniformsLib-CobhIWNK.js +1 -0
  27. package/dist/assets/STLLoader-B5YpfCGT.js +1 -0
  28. package/dist/assets/ShaderAssetDocument-8fZCtoKv.js +1 -0
  29. package/dist/assets/StageHost-CM6pXufo.js +1179 -0
  30. package/dist/assets/TDSLoader-BdQ2M2WU.js +1 -0
  31. package/dist/assets/ToolObject3DPreview-BY-w2JDK.js +1 -0
  32. package/dist/assets/ViewportShadingMenu-BcSW0SdM.js +1 -0
  33. package/dist/assets/animation-mixers.service-Dh2f8bk9.js +1 -0
  34. package/dist/assets/animation-timeline.utility-DTZfezuF.js +1 -0
  35. package/dist/assets/anthropic-DwpKRVGM.svg +1 -0
  36. package/dist/assets/asset-preview-BCSH6zvx.js +4 -0
  37. package/dist/assets/blender-display-shaders-BpnqnkG8.lut +0 -0
  38. package/dist/assets/blender-emscripten-engine-DEk9HdR1.js +2 -0
  39. package/dist/assets/blender-motion-worker-CtT2cV3V.js +1 -0
  40. package/dist/assets/blender-node-editor.document-sTxATkra.js +1 -0
  41. package/dist/assets/blender-properties-model-DG3h6RbJ.js +1 -0
  42. package/dist/assets/blender-properties-tab-kS_hNbKV.js +3 -0
  43. package/dist/assets/blender-runtime-host-CJ3l04y8.js +17 -0
  44. package/dist/assets/blender-runtime.document-CIJypNav.js +13 -0
  45. package/dist/assets/blender-screenshot.menu-B0WniIkP.js +1 -0
  46. package/dist/assets/blender-timeline.document-CCIcBTnZ.js +1 -0
  47. package/dist/assets/blender-uv-editor.document-CENezQQk.js +1 -0
  48. package/dist/assets/blender-version.status-aS3tabn9.js +1 -0
  49. package/dist/assets/blender-wali-engine-D2ymLooc.js +2 -0
  50. package/dist/assets/blender.command-Cl2XnwrS.js +1 -0
  51. package/dist/assets/blender.environment-CG-pC7sk.js +1 -0
  52. package/dist/assets/blender.keymap-BmOBRY7p.js +1 -0
  53. package/dist/assets/blender.status-BgdpgL9J.js +1 -0
  54. package/dist/assets/blender.style-DaIh9SiA.js +1 -0
  55. package/dist/assets/city-EkhAOo5s.exr +0 -0
  56. package/dist/assets/clip-planes-CmZu3QTO.js +8 -0
  57. package/dist/assets/content-bounds-Dg9hT5Gp.js +85 -0
  58. package/dist/assets/courtyard-DqlebbpC.exr +0 -0
  59. package/dist/assets/forest-P_CQY3b_.exr +0 -0
  60. package/dist/assets/icon-BkiLD9ed.png +0 -0
  61. package/dist/assets/index-7vd2obXq.js +3 -0
  62. package/dist/assets/index-BP6wv2A0.js +5 -0
  63. package/dist/assets/index-BRLA7zdc.js +7 -0
  64. package/dist/assets/index-BxW3iIJI.js +952 -0
  65. package/dist/assets/index-CnvSS9lU.js +2 -0
  66. package/dist/assets/index-DYNMP0kE.js +1 -0
  67. package/dist/assets/index-Dz8qGBZc.js +13 -0
  68. package/dist/assets/index-Fv4R0cYr.js +1 -0
  69. package/dist/assets/index-f-MQ14bP.js +1 -0
  70. package/dist/assets/index-ux8XhRyW.js +1 -0
  71. package/dist/assets/interior-Bo_lba15.exr +0 -0
  72. package/dist/assets/live-mixers-B-bwLZ7c.js +1 -0
  73. package/dist/assets/model-inspection-D_Z7lPhp.js +1 -0
  74. package/dist/assets/model.layout-BpZE1W9V.js +1 -0
  75. package/dist/assets/models.finder-n0qYfNhP.js +1 -0
  76. package/dist/assets/night-CvV4Gybt.exr +0 -0
  77. package/dist/assets/object3d-document-session-registry-Dso-3DdQ.js +2 -0
  78. package/dist/assets/openai-DHNKzFtc.svg +1 -0
  79. package/dist/assets/play-mode-CB-BAREv.js +7208 -0
  80. package/dist/assets/png-encode.worker-E8zk28Vl.js +1 -0
  81. package/dist/assets/product-2FMfCeKv.js +14 -0
  82. package/dist/assets/product-BxXXdFxI.css +1 -0
  83. package/dist/assets/properties-bone-constraints.inspector-DPD94zpc.js +1 -0
  84. package/dist/assets/properties-bone.inspector-CDYgJFMb.js +1 -0
  85. package/dist/assets/properties-collection.inspector-Bc7-DzEi.js +1 -0
  86. package/dist/assets/properties-constraints.inspector-CnyXcr_p.js +1 -0
  87. package/dist/assets/properties-data.inspector-Y9trp74x.js +1 -0
  88. package/dist/assets/properties-material.inspector-DKW8fWHF.js +1 -0
  89. package/dist/assets/properties-modifiers.inspector-CCxaKRAi.js +1 -0
  90. package/dist/assets/properties-object.inspector-DHCzFViD.js +1 -0
  91. package/dist/assets/properties-output.inspector-Jcvyw8r-.js +1 -0
  92. package/dist/assets/properties-particles.inspector-DHrpt9YM.js +1 -0
  93. package/dist/assets/properties-physics.inspector-BdCSY9ed.js +1 -0
  94. package/dist/assets/properties-render.inspector-DPNhVHyH.js +1 -0
  95. package/dist/assets/properties-scene.inspector-BEyWMESu.js +1 -0
  96. package/dist/assets/properties-texture.inspector-BDAHphbo.js +1 -0
  97. package/dist/assets/properties-view-layer.inspector-Dd1R2c8y.js +1 -0
  98. package/dist/assets/properties-world.inspector-GA10_Q2q.js +1 -0
  99. package/dist/assets/react-18-DLRa6EBJ.js +1 -0
  100. package/dist/assets/regions-DWeEBnE2.js +1 -0
  101. package/dist/assets/sculpt.layout-D-K5cLw6.js +1 -0
  102. package/dist/assets/session-C0OdhDD8.js +5393 -0
  103. package/dist/assets/shading.layout-CZZHKBer.js +1 -0
  104. package/dist/assets/sky-precompute-worker-CPGW9t_C.js +1 -0
  105. package/dist/assets/spark.module-GpLuSFtI.js +12120 -0
  106. package/dist/assets/stage-keyboard-DQMRbQSk.js +1 -0
  107. package/dist/assets/stage-overlay-set-BjkX6NS2.js +1 -0
  108. package/dist/assets/stage-presence-markers-BLzWksKB.js +1 -0
  109. package/dist/assets/stage-transform-tools-CmCouHjc.js +1 -0
  110. package/dist/assets/standard-viewport-dressing-tRKYG-Oe.js +24 -0
  111. package/dist/assets/studio-CysTBGIb.exr +0 -0
  112. package/dist/assets/sunrise-Dj0psFrf.exr +0 -0
  113. package/dist/assets/sunset-Bw3x2Bot.exr +0 -0
  114. package/dist/assets/texture.layout-DASpHVht.js +1 -0
  115. package/dist/assets/three-integration.service-CZBtvpOJ.js +2 -0
  116. package/dist/assets/three.module-dk_BdrjN.js +3840 -0
  117. package/dist/assets/uv-editing.layout-A8RA-cbM.js +1 -0
  118. package/dist/assets/volter-sdk-CTPCkGXt.js +2358 -0
  119. package/dist/assets/volter-sdk-account-C7TbJeFz.js +1 -0
  120. package/dist/assets/volter-sdk-client-DTdXvoMD.js +1 -0
  121. package/dist/assets/volter-sdk-contributions-eo4CPh2p.js +1 -0
  122. package/dist/assets/volter-sdk-css-numeric-style-Ttf_8Kmw.js +1 -0
  123. package/dist/assets/volter-sdk-document-probe-uMZJqaXu.js +1 -0
  124. package/dist/assets/volter-sdk-editor-view-CRZQicqm.js +1 -0
  125. package/dist/assets/volter-sdk-host-B-zxfcPu.js +1 -0
  126. package/dist/assets/volter-sdk-http-transport.browser-DPW20rVu.js +1 -0
  127. package/dist/assets/volter-sdk-index-Cb7Yywg-.js +1 -0
  128. package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-D0IDzMdi.js +1 -0
  129. package/dist/assets/volter-sdk-kit-account-client-BcyEmaPH.js +1 -0
  130. package/dist/assets/volter-sdk-kit-action-registry-DriAF6Sc.js +1 -0
  131. package/dist/assets/volter-sdk-kit-active-product-r7jCIax2.js +1 -0
  132. package/dist/assets/volter-sdk-kit-active-project-Cjf4pJ6J.js +1 -0
  133. package/dist/assets/volter-sdk-kit-adapter-editor-config-BaNyB8ig.js +1 -0
  134. package/dist/assets/volter-sdk-kit-adapter-observation-V71hItcC.js +1 -0
  135. package/dist/assets/volter-sdk-kit-animation-animation-clock-DmeLqo0W.js +1 -0
  136. package/dist/assets/volter-sdk-kit-animation-stage-transport-BaD_Lz7M.js +1 -0
  137. package/dist/assets/volter-sdk-kit-api-assets-D9KgHTyt.js +1 -0
  138. package/dist/assets/volter-sdk-kit-api-base-DH9EkQUe.js +1 -0
  139. package/dist/assets/volter-sdk-kit-api-build-DHp-caUc.js +1 -0
  140. package/dist/assets/volter-sdk-kit-api-logs-DLGBnX6D.js +1 -0
  141. package/dist/assets/volter-sdk-kit-api-project-identity-Ce2bcNI8.js +1 -0
  142. package/dist/assets/volter-sdk-kit-api-project-open-BUoW4R4G.js +1 -0
  143. package/dist/assets/volter-sdk-kit-api-project-source-D_ZKYf7K.js +1 -0
  144. package/dist/assets/volter-sdk-kit-api-project-state-fp96KH-b.js +1 -0
  145. package/dist/assets/volter-sdk-kit-api-relay-Da3eSdYq.js +1 -0
  146. package/dist/assets/volter-sdk-kit-api-settings-7nqXhmRG.js +1 -0
  147. package/dist/assets/volter-sdk-kit-api-themes-CcJT4tNc.js +1 -0
  148. package/dist/assets/volter-sdk-kit-api-worktrees-BPery5as.js +1 -0
  149. package/dist/assets/volter-sdk-kit-asset-capabilities-B0ay5F3v.js +1 -0
  150. package/dist/assets/volter-sdk-kit-asset-compare-core-BRjsa1JH.js +1 -0
  151. package/dist/assets/volter-sdk-kit-asset-editor-context-QSJFkrTF.js +1 -0
  152. package/dist/assets/volter-sdk-kit-asset-events-DhC-oWIc.js +1 -0
  153. package/dist/assets/volter-sdk-kit-asset-inspector-actions-DOGzxnKO.js +1 -0
  154. package/dist/assets/volter-sdk-kit-asset-selection-D3iKMZhc.js +1 -0
  155. package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-iSjetPTF.js +1 -0
  156. package/dist/assets/volter-sdk-kit-asset-thumbnails-B-rnrR4e.js +1 -0
  157. package/dist/assets/volter-sdk-kit-asset-viewers-DW_B6mUz.js +1 -0
  158. package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-zpDDAGhi.js +1 -0
  159. package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-BLvGK5K9.js +1 -0
  160. package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-R_sMRJxQ.js +1 -0
  161. package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-Cu8PzcuH.js +1 -0
  162. package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-CykYNw93.js +1 -0
  163. package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-DisMJvNX.js +1 -0
  164. package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-DaE4b6q5.js +1 -0
  165. package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-BA2DspQh.js +1 -0
  166. package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-CAs2DnB-.js +1 -0
  167. package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-CKGz1teu.js +1 -0
  168. package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-CUSx23CF.js +1 -0
  169. package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-20DVa19-.js +1 -0
  170. package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-9aCVJ5ZD.js +1 -0
  171. package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-D9rsm7id.js +1 -0
  172. package/dist/assets/volter-sdk-kit-asset-workflow-project-content-MiELo_O1.js +1 -0
  173. package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-C2_qZtHy.js +1 -0
  174. package/dist/assets/volter-sdk-kit-authoring-active-adapter-CF9u3FRf.js +1 -0
  175. package/dist/assets/volter-sdk-kit-authoring-active-systems-BHJmeKT1.js +1 -0
  176. package/dist/assets/volter-sdk-kit-authoring-adapter-key-Crk3ASvv.js +1 -0
  177. package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-DG5Fxmhm.js +1 -0
  178. package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-B0nbQdGo.js +1 -0
  179. package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-CeQy5qiB.js +1 -0
  180. package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-1JIcdD37.js +1 -0
  181. package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-B92Z3v81.js +1 -0
  182. package/dist/assets/volter-sdk-kit-authoring-consumer-actions-VKZPMDF4.js +1 -0
  183. package/dist/assets/volter-sdk-kit-authoring-design-time-layers-CjdjzFCK.js +1 -0
  184. package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-Dj9yuM04.js +1 -0
  185. package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-7WjAL2FS.js +1 -0
  186. package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-Cl7rnMX7.js +1 -0
  187. package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-D3W4NqNC.js +1 -0
  188. package/dist/assets/volter-sdk-kit-authoring-layered-pick-BdohFxNz.js +1 -0
  189. package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-Djn9pHUW.js +1 -0
  190. package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-B7eiKgrk.js +1 -0
  191. package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-DLcEQvHq.js +1 -0
  192. package/dist/assets/volter-sdk-kit-authoring-panel-authoring-gK-CPiH6.js +1 -0
  193. package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-uHS0CYvK.js +1 -0
  194. package/dist/assets/volter-sdk-kit-authoring-provenance-D-BET8RO.js +1 -0
  195. package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-B60IffcY.js +1 -0
  196. package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-ks9HoOST.js +1 -0
  197. package/dist/assets/volter-sdk-kit-authoring-react-story-board-C_LkOQ31.js +1 -0
  198. package/dist/assets/volter-sdk-kit-authoring-seam-evidence-Cs2OD8Mp.js +1 -0
  199. package/dist/assets/volter-sdk-kit-authoring-selection-scope-BBRJ_LYX.js +1 -0
  200. package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-BgFY_dTi.js +1 -0
  201. package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-DBmpy3fX.js +1 -0
  202. package/dist/assets/volter-sdk-kit-authoring-three-root-DcfxyBfe.js +1 -0
  203. package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-iBDEmcv0.js +1 -0
  204. package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-B_6F6Tjj.js +1 -0
  205. package/dist/assets/volter-sdk-kit-authoring-world-session-state-D5dzuuRn.js +1 -0
  206. package/dist/assets/volter-sdk-kit-availability-tick-CY8If63r.js +1 -0
  207. package/dist/assets/volter-sdk-kit-bitmap-label-Beh0HDVB.js +1 -0
  208. package/dist/assets/volter-sdk-kit-boot-routing-BJca1uda.js +1 -0
  209. package/dist/assets/volter-sdk-kit-breakpoint-state-CNWGaLfG.js +1 -0
  210. package/dist/assets/volter-sdk-kit-build-identity-BBdzUzJV.js +1 -0
  211. package/dist/assets/volter-sdk-kit-bytes-codec-DLFzHQUN.js +1 -0
  212. package/dist/assets/volter-sdk-kit-cancellation-reason-BH7-0ZVf.js +1 -0
  213. package/dist/assets/volter-sdk-kit-canvas-frames-BieYMTcU.js +1 -0
  214. package/dist/assets/volter-sdk-kit-capture-camera-pose-CHUoNB6d.js +1 -0
  215. package/dist/assets/volter-sdk-kit-capture-size-CAnl2oe2.js +1 -0
  216. package/dist/assets/volter-sdk-kit-chrome-registry-MC5H7QaT.js +1 -0
  217. package/dist/assets/volter-sdk-kit-chrome-slot-registry-0ZLiAfjQ.js +1 -0
  218. package/dist/assets/volter-sdk-kit-collaboration-client-BuG6oS42.js +1 -0
  219. package/dist/assets/volter-sdk-kit-collaboration-presence-De8jBlkX.js +1 -0
  220. package/dist/assets/volter-sdk-kit-command-dispatch-k9Qre0zs.js +1 -0
  221. package/dist/assets/volter-sdk-kit-command-listener-BCAbvhi5.js +1 -0
  222. package/dist/assets/volter-sdk-kit-command-registry-DhoVVzF5.js +1 -0
  223. package/dist/assets/volter-sdk-kit-component-board-registry-BeICFKFG.js +1 -0
  224. package/dist/assets/volter-sdk-kit-component-states-registry-QdCQHRDN.js +1 -0
  225. package/dist/assets/volter-sdk-kit-components-AlignToolbar-UuSLtczL.js +1 -0
  226. package/dist/assets/volter-sdk-kit-components-ApplicationMenus-DRnMid6h.js +1 -0
  227. package/dist/assets/volter-sdk-kit-components-AssetEditorShell-k_gEaNs8.js +1 -0
  228. package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-CgmL27Qf.js +1 -0
  229. package/dist/assets/volter-sdk-kit-components-BoardRulers-DaINv5KN.js +1 -0
  230. package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-D33j4CtY.js +1 -0
  231. package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-U0vUe3Gh.js +1 -0
  232. package/dist/assets/volter-sdk-kit-components-ChromeSlot-Di70MjzD.js +1 -0
  233. package/dist/assets/volter-sdk-kit-components-CodeView-Dw9qSGfW.js +1 -0
  234. package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-BSaITVHL.js +1 -0
  235. package/dist/assets/volter-sdk-kit-components-ConsolePanel-CBX_j1sn.js +1 -0
  236. package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-D_SOr8n1.js +1 -0
  237. package/dist/assets/volter-sdk-kit-components-InspectionProjection-BjmRH40i.js +1 -0
  238. package/dist/assets/volter-sdk-kit-components-Inspector-Bo9BYgAQ.js +1 -0
  239. package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-C2U561Ms.js +1 -0
  240. package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-CKikcRO-.js +1 -0
  241. package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-CamEatgb.js +1 -0
  242. package/dist/assets/volter-sdk-kit-components-InspectorToolSection-qZTCY7B0.js +1 -0
  243. package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-C1QrGase.js +1 -0
  244. package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-D0XCAqj9.js +1 -0
  245. package/dist/assets/volter-sdk-kit-components-MediaProperties-CdL2K3l0.js +1 -0
  246. package/dist/assets/volter-sdk-kit-components-ProjectHeader-Ds2BEQBR.js +1 -0
  247. package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-B-lQR6dk.js +1 -0
  248. package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-DL06pAbx.js +1 -0
  249. package/dist/assets/volter-sdk-kit-components-RootTextEditor-NXARIgKP.js +1 -0
  250. package/dist/assets/volter-sdk-kit-components-SaveStatus-D9k5E7Hu.js +1 -0
  251. package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-B1204CGs.js +1 -0
  252. package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-Dg-KoCOj.js +1 -0
  253. package/dist/assets/volter-sdk-kit-components-ToolHost-CQQFzB8P.js +1 -0
  254. package/dist/assets/volter-sdk-kit-components-Toolbar-B84RxD-H.js +1 -0
  255. package/dist/assets/volter-sdk-kit-components-TransientHint-Dm4X7E6D.js +1 -0
  256. package/dist/assets/volter-sdk-kit-components-VersionControlSection-fex1-uEJ.js +1 -0
  257. package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-BMtIjudq.js +1 -0
  258. package/dist/assets/volter-sdk-kit-components-VolterLogo-CtJX1fLJ.js +1 -0
  259. package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-I5L1eMS3.js +1 -0
  260. package/dist/assets/volter-sdk-kit-components-account-documents-Dlh8Fj4d.js +1 -0
  261. package/dist/assets/volter-sdk-kit-components-asset-documents-BGNKcXN5.js +1 -0
  262. package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-DYf1sB59.js +1 -0
  263. package/dist/assets/volter-sdk-kit-components-asset-selection-section-DTX5bWfY.js +1 -0
  264. package/dist/assets/volter-sdk-kit-components-asset-thumbnails-CMcb7LxE.js +1 -0
  265. package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-hYej0it1.js +1 -0
  266. package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-C29xbyEa.js +1 -0
  267. package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-DKm5c9pQ.js +1 -0
  268. package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-DlKL0CIE.js +1 -0
  269. package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-C4m5ChIc.js +1 -0
  270. package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-C14y3ihh.js +1 -0
  271. package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-CKB0yNjt.js +1 -0
  272. package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-BDVR2s-T.js +1 -0
  273. package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-DQ40_HIV.js +1 -0
  274. package/dist/assets/volter-sdk-kit-components-board-guides-vzj1_mB_.js +1 -0
  275. package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-BfUtoRtR.js +1 -0
  276. package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-BOXeKsL_.js +1 -0
  277. package/dist/assets/volter-sdk-kit-components-core-utilities-2xqqv2Xj.js +1 -0
  278. package/dist/assets/volter-sdk-kit-components-inspector-preview-section-CIf6SZcH.js +1 -0
  279. package/dist/assets/volter-sdk-kit-components-inspector-revert-label-CB8zytBo.js +1 -0
  280. package/dist/assets/volter-sdk-kit-components-inspector-selection-B7qYFl9c.js +1 -0
  281. package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-BBT6jLKq.js +1 -0
  282. package/dist/assets/volter-sdk-kit-components-inspector-transform-DfBSTsjH.js +1 -0
  283. package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-BNvFtyig.js +1 -0
  284. package/dist/assets/volter-sdk-kit-components-kind-documents-Cz1AqKrb.js +1 -0
  285. package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-2RRfpNhD.js +1 -0
  286. package/dist/assets/volter-sdk-kit-components-project-tool-documents-Baw6UVeU.js +1 -0
  287. package/dist/assets/volter-sdk-kit-components-scene-documents-Dp2nxLO5.js +1 -0
  288. package/dist/assets/volter-sdk-kit-components-status-contributions-0AL287G7.js +1 -0
  289. package/dist/assets/volter-sdk-kit-components-tool-documents-SxZNqv0G.js +1 -0
  290. package/dist/assets/volter-sdk-kit-components-tool-schema-form-CBlMD0L5.js +1 -0
  291. package/dist/assets/volter-sdk-kit-components-use-after-paint-HjJYZ8Gz.js +1 -0
  292. package/dist/assets/volter-sdk-kit-components-use-project-image-assets-BGRscgk_.js +1 -0
  293. package/dist/assets/volter-sdk-kit-components-workspace-history-BdMvmkrA.js +1 -0
  294. package/dist/assets/volter-sdk-kit-components-world-documents-BuIe0TVS.js +1 -0
  295. package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-BKlVnBSH.js +1 -0
  296. package/dist/assets/volter-sdk-kit-composite-screenshot-ClRYm_mt.js +1 -0
  297. package/dist/assets/volter-sdk-kit-content-entry-source-registry-BTxRwbHZ.js +1 -0
  298. package/dist/assets/volter-sdk-kit-contribution-surfaces-BBsj68Wz.js +1 -0
  299. package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-CPo5_e0H.js +1 -0
  300. package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-CZyb5EH5.js +1 -0
  301. package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-Blt31TSP.js +1 -0
  302. package/dist/assets/volter-sdk-kit-coverage-session-vitals-Da5QSNR9.js +1 -0
  303. package/dist/assets/volter-sdk-kit-creation-site-registry-wwmnNA8H.js +1 -0
  304. package/dist/assets/volter-sdk-kit-delegate-harness-registry-DZhtG99C.js +1 -0
  305. package/dist/assets/volter-sdk-kit-document-areas-D660d1pQ.js +1 -0
  306. package/dist/assets/volter-sdk-kit-document-context-registry-C7A14BNb.js +1 -0
  307. package/dist/assets/volter-sdk-kit-document-open-registry-o7VHt0RE.js +1 -0
  308. package/dist/assets/volter-sdk-kit-document-play-extension-DnympyQy.js +1 -0
  309. package/dist/assets/volter-sdk-kit-document-preview-source-BIfEWYvh.js +1 -0
  310. package/dist/assets/volter-sdk-kit-document-renderer-session-BAoAh3oc.js +1 -0
  311. package/dist/assets/volter-sdk-kit-document-stage-sessions-rp-lUOf7.js +1 -0
  312. package/dist/assets/volter-sdk-kit-document-viewports-nfnBmvxp.js +1 -0
  313. package/dist/assets/volter-sdk-kit-editor-api-B4otzopy.js +1 -0
  314. package/dist/assets/volter-sdk-kit-editor-chrome-capture-CWmg17HP.js +1 -0
  315. package/dist/assets/volter-sdk-kit-editor-commands-cJDgiqAt.js +1 -0
  316. package/dist/assets/volter-sdk-kit-editor-console-DPkmRwd6.js +1 -0
  317. package/dist/assets/volter-sdk-kit-editor-current-view-DxGCw3Wd.js +1 -0
  318. package/dist/assets/volter-sdk-kit-editor-document-probe-CN2yr1kY.js +1 -0
  319. package/dist/assets/volter-sdk-kit-editor-git-client-B46cp3L1.js +1 -0
  320. package/dist/assets/volter-sdk-kit-editor-hotkeys-Dce3EYk2.js +1 -0
  321. package/dist/assets/volter-sdk-kit-editor-lease-BN3_7vDZ.js +1 -0
  322. package/dist/assets/volter-sdk-kit-editor-lease-view-C8WlPz7s.js +1 -0
  323. package/dist/assets/volter-sdk-kit-editor-mode-B5EZmrCR.js +1 -0
  324. package/dist/assets/volter-sdk-kit-editor-notifications-sTGM7WtH.js +1 -0
  325. package/dist/assets/volter-sdk-kit-editor-presence-BHriH9Fy.js +1 -0
  326. package/dist/assets/volter-sdk-kit-editor-presentation-activity-CmD9eBZ_.js +1 -0
  327. package/dist/assets/volter-sdk-kit-editor-presentation-notice-Decyhm66.js +1 -0
  328. package/dist/assets/volter-sdk-kit-editor-runtime-DHQJcaKd.js +1 -0
  329. package/dist/assets/volter-sdk-kit-editor-server-response-BkWelHzj.js +1 -0
  330. package/dist/assets/volter-sdk-kit-editor-session-attribution-BR9UWdR6.js +1 -0
  331. package/dist/assets/volter-sdk-kit-editor-session-mode-hqIWdf2B.js +1 -0
  332. package/dist/assets/volter-sdk-kit-editor-state-facets-bvq2P7SA.js +1 -0
  333. package/dist/assets/volter-sdk-kit-editor-view-presentation-DLOWDzzy.js +1 -0
  334. package/dist/assets/volter-sdk-kit-environment-images-oMeHjbDw.js +1 -0
  335. package/dist/assets/volter-sdk-kit-eyedropper-session-DWAa-Biy.js +1 -0
  336. package/dist/assets/volter-sdk-kit-files-file-provider-U0Hd4ukx.js +1 -0
  337. package/dist/assets/volter-sdk-kit-files-project-files-4-kjPKJS.js +1 -0
  338. package/dist/assets/volter-sdk-kit-finders-index-CII4_28l.js +1 -0
  339. package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-B8hycBye.js +1 -0
  340. package/dist/assets/volter-sdk-kit-frame-frame-parts-D-8Ffbnn.js +1 -0
  341. package/dist/assets/volter-sdk-kit-framed-document-capture-xuaTlR2W.js +1 -0
  342. package/dist/assets/volter-sdk-kit-game-surface-defaults-DMPYj1cL.js +1 -0
  343. package/dist/assets/volter-sdk-kit-gameplay-export-state-DwPVbG_z.js +1 -0
  344. package/dist/assets/volter-sdk-kit-gameplay-replay-YQ9HaJ4D.js +1 -0
  345. package/dist/assets/volter-sdk-kit-gameplay-session-time-CHjy5x0w.js +1 -0
  346. package/dist/assets/volter-sdk-kit-gameplay-sessions-DVNFi3db.js +1 -0
  347. package/dist/assets/volter-sdk-kit-hierarchy-component-marks-BO6QFbcg.js +1 -0
  348. package/dist/assets/volter-sdk-kit-hierarchy-internals-DHl0iE2O.js +1 -0
  349. package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-CsQB7hVX.js +1 -0
  350. package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-BqwYB4wh.js +1 -0
  351. package/dist/assets/volter-sdk-kit-hierarchy-node-rows-SGt4wx3-.js +1 -0
  352. package/dist/assets/volter-sdk-kit-hierarchy-panel-view-j1CZFQrR.js +1 -0
  353. package/dist/assets/volter-sdk-kit-hierarchy-projection-DlD5Ge3J.js +1 -0
  354. package/dist/assets/volter-sdk-kit-hierarchy-row-media-C8NlC6Zs.js +1 -0
  355. package/dist/assets/volter-sdk-kit-hierarchy-row-model-CsxqvCkr.js +1 -0
  356. package/dist/assets/volter-sdk-kit-hierarchy-rows-B6vFr7fv.js +1 -0
  357. package/dist/assets/volter-sdk-kit-hierarchy-walk-BSorleKV.js +1 -0
  358. package/dist/assets/volter-sdk-kit-history-editor-session-Ch7Rju03.js +1 -0
  359. package/dist/assets/volter-sdk-kit-history-history-commands-DHfC2eEE.js +1 -0
  360. package/dist/assets/volter-sdk-kit-history-history-delegate-d1VrRfJ_.js +1 -0
  361. package/dist/assets/volter-sdk-kit-history-history-limit-notices-Cz_aUVbj.js +1 -0
  362. package/dist/assets/volter-sdk-kit-history-history-service-DQuzGZjj.js +1 -0
  363. package/dist/assets/volter-sdk-kit-history-persistence-coordinator-B_IHVPkm.js +1 -0
  364. package/dist/assets/volter-sdk-kit-history-project-file-history-Carvs4Xw.js +1 -0
  365. package/dist/assets/volter-sdk-kit-history-project-root-history-backends-BLD_AY74.js +1 -0
  366. package/dist/assets/volter-sdk-kit-history-resource-registry-CNjNiuSL.js +1 -0
  367. package/dist/assets/volter-sdk-kit-history-snapshot-store-CJSmgzLO.js +1 -0
  368. package/dist/assets/volter-sdk-kit-history-source-history-backend-Dl_iBeRi.js +1 -0
  369. package/dist/assets/volter-sdk-kit-hmr-registration-group-CXyUJGHt.js +1 -0
  370. package/dist/assets/volter-sdk-kit-hmr-stable-react-context-CcADd8vA.js +1 -0
  371. package/dist/assets/volter-sdk-kit-hotkeys-B5mfvdNj.js +1 -0
  372. package/dist/assets/volter-sdk-kit-inference-diagnostics-CKudL-Hd.js +1 -0
  373. package/dist/assets/volter-sdk-kit-initial-project-DxdY28Kn.js +1 -0
  374. package/dist/assets/volter-sdk-kit-inspection-active-subject-ayxYCqDa.js +1 -0
  375. package/dist/assets/volter-sdk-kit-inspection-active-surface-BU9dpZgu.js +1 -0
  376. package/dist/assets/volter-sdk-kit-inspection-compose-subject-qD3qBc4d.js +1 -0
  377. package/dist/assets/volter-sdk-kit-inspection-display-C5PF41kk.js +1 -0
  378. package/dist/assets/volter-sdk-kit-inspection-document-subject-C7wKxaTC.js +1 -0
  379. package/dist/assets/volter-sdk-kit-inspection-game-subject-DbMHqpER.js +1 -0
  380. package/dist/assets/volter-sdk-kit-inspection-model-7J8bEzro.js +1 -0
  381. package/dist/assets/volter-sdk-kit-inspection-node-media-CsqEbnmq.js +1 -0
  382. package/dist/assets/volter-sdk-kit-inspection-null-subject-DZbH2nfV.js +1 -0
  383. package/dist/assets/volter-sdk-kit-inspection-serialize-BRjHRzyv.js +1 -0
  384. package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-BwlJ4cum.js +1 -0
  385. package/dist/assets/volter-sdk-kit-inspector-presentation-BAs9sxmj.js +1 -0
  386. package/dist/assets/volter-sdk-kit-inspector-property-grouping-BMPF_r1R.js +1 -0
  387. package/dist/assets/volter-sdk-kit-inspector-section-registry-sIu0cDZ3.js +1 -0
  388. package/dist/assets/volter-sdk-kit-instance-source-actions-CuCpNP44.js +1 -0
  389. package/dist/assets/volter-sdk-kit-js-heap-33ODHy-d.js +1 -0
  390. package/dist/assets/volter-sdk-kit-key-actions-CsRondgE.js +1 -0
  391. package/dist/assets/volter-sdk-kit-keymap-presets-AscUFBGG.js +1 -0
  392. package/dist/assets/volter-sdk-kit-layout-policy-CWNvk4YG.js +1 -0
  393. package/dist/assets/volter-sdk-kit-light-explorer-model-DtNXjPVL.js +1 -0
  394. package/dist/assets/volter-sdk-kit-live-canvas-frame-BjCbO1ip.js +1 -0
  395. package/dist/assets/volter-sdk-kit-live-document-DcKqP5Vm.js +1 -0
  396. package/dist/assets/volter-sdk-kit-live-gesture-lock-D8Xw-crH.js +1 -0
  397. package/dist/assets/volter-sdk-kit-live-seam-evidence-BFvKDVcA.js +1 -0
  398. package/dist/assets/volter-sdk-kit-live-session-registry-DH6Gw6mD.js +1 -0
  399. package/dist/assets/volter-sdk-kit-live-transition-BqyCVB6M.js +1 -0
  400. package/dist/assets/volter-sdk-kit-manifest-project-DB9obnxF.js +1 -0
  401. package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-UWhRbWd2.js +1 -0
  402. package/dist/assets/volter-sdk-kit-mount-failure-report-CUeYgCgW.js +1 -0
  403. package/dist/assets/volter-sdk-kit-native-selection-style-Cn13Teb3.js +1 -0
  404. package/dist/assets/volter-sdk-kit-object3d-document-write-policy-CAuCUEuz.js +1 -0
  405. package/dist/assets/volter-sdk-kit-packaged-runtime-CfWW26Lw.js +1 -0
  406. package/dist/assets/volter-sdk-kit-performance-profiler-Drw2xyyh.js +1 -0
  407. package/dist/assets/volter-sdk-kit-performance-sources-C5_qaCKL.js +1 -0
  408. package/dist/assets/volter-sdk-kit-photograph-notice-BorTV754.js +1 -0
  409. package/dist/assets/volter-sdk-kit-play-boot-phase-DRILY5HB.js +1 -0
  410. package/dist/assets/volter-sdk-kit-play-camera-flight-xWnFHyCJ.js +1 -0
  411. package/dist/assets/volter-sdk-kit-presentation-surface-BVjhfPW_.js +1 -0
  412. package/dist/assets/volter-sdk-kit-product-command-Z3FUyOZH.js +1 -0
  413. package/dist/assets/volter-sdk-kit-project-adapter-DYLGSL7n.js +1 -0
  414. package/dist/assets/volter-sdk-kit-project-asset-refresh-BQRieOTY.js +1 -0
  415. package/dist/assets/volter-sdk-kit-project-asset-roots-BzvdTX0f.js +1 -0
  416. package/dist/assets/volter-sdk-kit-project-local-state-C3v2aoZe.js +1 -0
  417. package/dist/assets/volter-sdk-kit-project-manager-BhNOa6yj.js +1 -0
  418. package/dist/assets/volter-sdk-kit-project-module-changes-D6xXn9e0.js +1 -0
  419. package/dist/assets/volter-sdk-kit-project-module-split-hrsUcLWw.js +1 -0
  420. package/dist/assets/volter-sdk-kit-project-provenance-Ch-TcC33.js +1 -0
  421. package/dist/assets/volter-sdk-kit-project-ready-DIs3PAtE.js +1 -0
  422. package/dist/assets/volter-sdk-kit-project-shape-cp-U044u.js +1 -0
  423. package/dist/assets/volter-sdk-kit-project-tools-Dsz8XxT2.js +1 -0
  424. package/dist/assets/volter-sdk-kit-readiness-DGy_iPng.js +1 -0
  425. package/dist/assets/volter-sdk-kit-renderer-resource-counts-CSFdq6cn.js +1 -0
  426. package/dist/assets/volter-sdk-kit-reported-play-state-Bbfug76r.js +1 -0
  427. package/dist/assets/volter-sdk-kit-resolve-contributed-command-BbMh2utc.js +1 -0
  428. package/dist/assets/volter-sdk-kit-resolve-relative-specifier-BuivsBeF.js +1 -0
  429. package/dist/assets/volter-sdk-kit-retained-document-states-CxqjPi-M.js +1 -0
  430. package/dist/assets/volter-sdk-kit-scene-document-plan-Pq2qwZBi.js +1 -0
  431. package/dist/assets/volter-sdk-kit-scene-live-open-u4QDXpQ0.js +1 -0
  432. package/dist/assets/volter-sdk-kit-scoped-game-css-tb7gOlcn.js +1 -0
  433. package/dist/assets/volter-sdk-kit-served-url-DtZEq2OD.js +1 -0
  434. package/dist/assets/volter-sdk-kit-session-close-BE3nJmiM.js +1 -0
  435. package/dist/assets/volter-sdk-kit-session-tombstone-B9q2Gxk2.js +1 -0
  436. package/dist/assets/volter-sdk-kit-settings-settings-provider-Bo5k3qZx.js +1 -0
  437. package/dist/assets/volter-sdk-kit-settings-store-BJ_3jPnk.js +1 -0
  438. package/dist/assets/volter-sdk-kit-shell-store-CA_p9YRS.js +1 -0
  439. package/dist/assets/volter-sdk-kit-shell-store-door-DrDJAdEA.js +1 -0
  440. package/dist/assets/volter-sdk-kit-source-conflict-BskWTHl1.js +1 -0
  441. package/dist/assets/volter-sdk-kit-stage-context-d2MOE3m1.js +1 -0
  442. package/dist/assets/volter-sdk-kit-stage-invalidation-CaUfxL_V.js +1 -0
  443. package/dist/assets/volter-sdk-kit-stage-store-registry-CsPquPQN.js +1 -0
  444. package/dist/assets/volter-sdk-kit-startup-failure-Bf4E0YMD.js +1 -0
  445. package/dist/assets/volter-sdk-kit-state-report-deferral-CKxDlryl.js +1 -0
  446. package/dist/assets/volter-sdk-kit-storage-host-files-storage-DpV1XxZk.js +1 -0
  447. package/dist/assets/volter-sdk-kit-storage-http-storage-Bu87cOj_.js +1 -0
  448. package/dist/assets/volter-sdk-kit-storage-index-j54mTIme.js +1 -0
  449. package/dist/assets/volter-sdk-kit-storage-mem-storage-CtFx_JD9.js +1 -0
  450. package/dist/assets/volter-sdk-kit-storage-path-lock-CzDbr7Zo.js +1 -0
  451. package/dist/assets/volter-sdk-kit-storage-paths-C-fXy9NI.js +1 -0
  452. package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-X17hefjP.js +1 -0
  453. package/dist/assets/volter-sdk-kit-stories-compose-project-stories-Dm6PyZ2j.js +1 -0
  454. package/dist/assets/volter-sdk-kit-stories-prefabs-finder-Ch6FzvvU.js +1 -0
  455. package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-vm7c5Dez.js +1 -0
  456. package/dist/assets/volter-sdk-kit-stories-project-story-regions-0zBaevxR.js +1 -0
  457. package/dist/assets/volter-sdk-kit-stories-scope-CQF_Wn9H.js +1 -0
  458. package/dist/assets/volter-sdk-kit-stories-story-capture-CuSMTSru.js +1 -0
  459. package/dist/assets/volter-sdk-kit-stories-story-declared-medium-D5fxOuPe.js +1 -0
  460. package/dist/assets/volter-sdk-kit-stories-story-discovery-CARKaW03.js +1 -0
  461. package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-SNxzbxPZ.js +1 -0
  462. package/dist/assets/volter-sdk-kit-stories-story-grouping-DyuyTFov.js +1 -0
  463. package/dist/assets/volter-sdk-kit-stories-story-presentation-DB5Pqlf7.js +1 -0
  464. package/dist/assets/volter-sdk-kit-stories-story-registry-C4PxIVxf.js +1 -0
  465. package/dist/assets/volter-sdk-kit-story-document-openers-BLRErv4h.js +1 -0
  466. package/dist/assets/volter-sdk-kit-story-thumbnails-nRyLNJxw.js +1 -0
  467. package/dist/assets/volter-sdk-kit-surface-keyboard-C5VehlZB.js +1 -0
  468. package/dist/assets/volter-sdk-kit-surface-state-D2RWtgU_.js +1 -0
  469. package/dist/assets/volter-sdk-kit-system-seam-evidence-DBmKEA5N.js +1 -0
  470. package/dist/assets/volter-sdk-kit-tab-census-DCYP_c6M.js +1 -0
  471. package/dist/assets/volter-sdk-kit-tab-lifecycle-client-B2dkacMA.js +1 -0
  472. package/dist/assets/volter-sdk-kit-theme-library-D2z9TIt_.js +1 -0
  473. package/dist/assets/volter-sdk-kit-theme-preference-CQYPOsMY.js +1 -0
  474. package/dist/assets/volter-sdk-kit-three-viewport-presentation-DjqLHzpC.js +1 -0
  475. package/dist/assets/volter-sdk-kit-tool-contribution-play-BJf9frMP.js +1 -0
  476. package/dist/assets/volter-sdk-kit-tool-loader-BJSPdpDJ.js +1 -0
  477. package/dist/assets/volter-sdk-kit-transform-mode-request-BysdaJxj.js +1 -0
  478. package/dist/assets/volter-sdk-kit-transient-hint-BCAURwwB.js +1 -0
  479. package/dist/assets/volter-sdk-kit-transport-strip-Dh_gh_Ar.js +1 -0
  480. package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-3PTxxNEF.js +1 -0
  481. package/dist/assets/volter-sdk-kit-ui-source-inspect-htLRFbbl.js +1 -0
  482. package/dist/assets/volter-sdk-kit-ui-source-source-write-backend--mXzGN0l.js +1 -0
  483. package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-BLldmdDB.js +1 -0
  484. package/dist/assets/volter-sdk-kit-user-local-state-BG9yY7wu.js +1 -0
  485. package/dist/assets/volter-sdk-kit-viewport-activation-timings-DI9VeZ8I.js +1 -0
  486. package/dist/assets/volter-sdk-kit-viewport-editor-controls-yx73yxqB.js +1 -0
  487. package/dist/assets/volter-sdk-kit-viewport-presentation-BiXyPx_l.js +1 -0
  488. package/dist/assets/volter-sdk-kit-viewport-surface-status-DhOHcCGA.js +1 -0
  489. package/dist/assets/volter-sdk-kit-wait-until-BxjkicFp.js +1 -0
  490. package/dist/assets/volter-sdk-kit-worker-call-metrics-CxIIhpb2.js +1 -0
  491. package/dist/assets/volter-sdk-kit-workspace-areas-CnNrdXA2.js +1 -0
  492. package/dist/assets/volter-sdk-kit-workspace-aux-commands-3Si9v39s.js +1 -0
  493. package/dist/assets/volter-sdk-kit-workspace-available-documents-DiQ-lLLQ.js +1 -0
  494. package/dist/assets/volter-sdk-kit-workspace-core-utilities-Htvt6dsG.js +1 -0
  495. package/dist/assets/volter-sdk-kit-workspace-document-ids-CaVQDIFY.js +1 -0
  496. package/dist/assets/volter-sdk-kit-workspace-document-registry-C-JtMmAl.js +1 -0
  497. package/dist/assets/volter-sdk-kit-workspace-document-restore-BMR96t8y.js +1 -0
  498. package/dist/assets/volter-sdk-kit-workspace-host-commands-lzroQNX_.js +1 -0
  499. package/dist/assets/volter-sdk-kit-workspace-persistence-gate-DuvwxRnn.js +1 -0
  500. package/dist/assets/volter-sdk-kit-workspace-play-utilities-C98Lvagt.js +1 -0
  501. package/dist/assets/volter-sdk-kit-workspace-presets-D-_A7JDE.js +1 -0
  502. package/dist/assets/volter-sdk-kit-workspace-regions-CjlUpZr0.js +1 -0
  503. package/dist/assets/volter-sdk-kit-workspace-static-panels-CMqSE6J4.js +1 -0
  504. package/dist/assets/volter-sdk-kit-workspace-status-registry-7kSA_sJg.js +1 -0
  505. package/dist/assets/volter-sdk-kit-workspace-storage-Dg-zwxJa.js +1 -0
  506. package/dist/assets/volter-sdk-kit-workspace-style-DOuNQjxD.js +1 -0
  507. package/dist/assets/volter-sdk-kit-workspace-utility-commands-Cb2B-wJ4.js +1 -0
  508. package/dist/assets/volter-sdk-kit-workspace-utility-registry-Bm-lvH6A.js +1 -0
  509. package/dist/assets/volter-sdk-kit-world-adoption-ndmh4Nmf.js +1 -0
  510. package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-EnXhxxxs.js +1 -0
  511. package/dist/assets/volter-sdk-kit-world-document-routing-DBACuFYQ.js +1 -0
  512. package/dist/assets/volter-sdk-kit-world-pan-state-BGY2sBjP.js +1 -0
  513. package/dist/assets/volter-sdk-kit-write-pipe-D-TR3xVs.js +1 -0
  514. package/dist/assets/volter-sdk-layout-arrangements-DUPpMeSr.js +1 -0
  515. package/dist/assets/volter-sdk-layouts-CGyUD29k.js +1 -0
  516. package/dist/assets/volter-sdk-selection-tCvpnXRn.js +1 -0
  517. package/dist/assets/volter-sdk-session-command-table-BxONBy05.js +1 -0
  518. package/dist/assets/volter-sdk-session-editor-brand-BG0ODZ-8.js +1 -0
  519. package/dist/assets/volter-sdk-session-editor-compatibility-BHTMjwNA.js +1 -0
  520. package/dist/assets/volter-sdk-session-editor-control-protocol-CN7sZXZb.js +1 -0
  521. package/dist/assets/volter-sdk-session-entrypoint-selection-readers-9vLAGmig.js +1 -0
  522. package/dist/assets/volter-sdk-session-game-css-scope-BM1eAf3p.js +1 -0
  523. package/dist/assets/volter-sdk-session-project-module-url-CYuYhJk6.js +1 -0
  524. package/dist/assets/volter-sdk-session-relative-path-guard-BIEldh0Z.js +1 -0
  525. package/dist/assets/volter-sdk-session-tool-contribution-convention-DvN_LWlB.js +1 -0
  526. package/dist/assets/volter-sdk-types-BvyVPR_Q.js +1 -0
  527. package/dist/assets/volter-sdk-views-BDaWlMYB.js +1 -0
  528. package/dist/assets/volter-sdk-widgets-design-system-QBgXzl9_.js +1 -0
  529. package/dist/assets/volter-sdk-widgets-editor-appearance-BrIPELML.js +1 -0
  530. package/dist/assets/volter-sdk-widgets-editor-material-B_fvft70.js +1 -0
  531. package/dist/assets/volter-sdk-widgets-icon-set-registry-T4Dmzqt7.js +1 -0
  532. package/dist/assets/volter-sdk-widgets-index-B3HpUbVG.js +1 -0
  533. package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-CDr_zdnY.js +1 -0
  534. package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-BWxes3gA.js +1 -0
  535. package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-etYg4PmT.js +1 -0
  536. package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-DetQDh_f.js +1 -0
  537. package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-BfTn_BsC.js +1 -0
  538. package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-saO-J7Oq.js +1 -0
  539. package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-CZ7FmWxG.js +1 -0
  540. package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-ChiCM1d4.js +1 -0
  541. package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-Dz-bVsZ8.js +1 -0
  542. package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-BAugA19h.js +1 -0
  543. package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-DxraCOXQ.js +1 -0
  544. package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-kkJukQ0s.js +1 -0
  545. package/dist/assets/volter-sdk-widgets-inspector-widgets-index-B3vyn0Ai.js +1 -0
  546. package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-CPkFF1JF.js +1 -0
  547. package/dist/assets/volter-sdk-widgets-interactive-edit-scope-D4_tVXsa.js +1 -0
  548. package/dist/assets/volter-sdk-widgets-patterns-Dialog-CkPDHAWE.js +1 -0
  549. package/dist/assets/volter-sdk-widgets-patterns-Fields-BJShETId.js +1 -0
  550. package/dist/assets/volter-sdk-widgets-patterns-List-BgG2_2xL.js +1 -0
  551. package/dist/assets/volter-sdk-widgets-patterns-StateSurface-G2He1eZg.js +1 -0
  552. package/dist/assets/volter-sdk-widgets-patterns-Surfaces-N-ry8Gth.js +1 -0
  553. package/dist/assets/volter-sdk-widgets-patterns-Tabs-gSMJ3Pp_.js +1 -0
  554. package/dist/assets/volter-sdk-widgets-patterns-Toolbar-BVbWQJC-.js +1 -0
  555. package/dist/assets/volter-sdk-widgets-patterns-Tree-BsJEhxbv.js +1 -0
  556. package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-CaiLdn6d.js +1 -0
  557. package/dist/assets/volter-sdk-widgets-primitives-Button-C0ugJ_I6.js +1 -0
  558. package/dist/assets/volter-sdk-widgets-primitives-ColorInput-CJcVDa_m.js +1 -0
  559. package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-B-I_hC_P.js +1 -0
  560. package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-BUbAPjrv.js +1 -0
  561. package/dist/assets/volter-sdk-widgets-primitives-FormControls-9Ke8qtZ8.js +1 -0
  562. package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-IgTEdXXe.js +1 -0
  563. package/dist/assets/volter-sdk-widgets-primitives-JsonInput-Dj0j9sft.js +1 -0
  564. package/dist/assets/volter-sdk-widgets-primitives-Layout-BfWHHWVT.js +1 -0
  565. package/dist/assets/volter-sdk-widgets-primitives-Menu-hgt5A7Kd.js +1 -0
  566. package/dist/assets/volter-sdk-widgets-primitives-NumberInput-B_EwFkyN.js +1 -0
  567. package/dist/assets/volter-sdk-widgets-primitives-Panel-Bv-Dt2pg.js +1 -0
  568. package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-CtGyBmQ7.js +1 -0
  569. package/dist/assets/volter-sdk-widgets-primitives-Text-CROeI4AB.js +1 -0
  570. package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-Bp6LhOHs.js +1 -0
  571. package/dist/assets/volter-sdk-widgets-primitives-Tooltip-CKGQWC6W.js +1 -0
  572. package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-DKN5rnzb.js +1 -0
  573. package/dist/assets/volter-sdk-widgets-primitives-banner-tones-2b5QAcYe.js +1 -0
  574. package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-D94XgQyr.js +1 -0
  575. package/dist/assets/volter-sdk-widgets-primitives-editor-icons-D9930eKI.js +1 -0
  576. package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-DmH6-h4B.js +1 -0
  577. package/dist/assets/volter-sdk-widgets-theme-ah2w0Fkn.js +1 -0
  578. package/dist/assets/volter-sdk-widgets-z-index-BTO2KQ8P.js +1 -0
  579. package/dist/assets/volter-shared-fontawesome-BjL6w6Cn.js +1 -0
  580. package/dist/assets/volter-shared-jsx-dev-runtime-Bz1gHaPC.js +1 -0
  581. package/dist/assets/volter-shared-jsx-runtime-DZaM4mR0.js +1 -0
  582. package/dist/assets/volter-shared-react-71UsCCPo.js +1 -0
  583. package/dist/assets/volter-shared-react-dom-BJsW7Z0N.js +1 -0
  584. package/dist/assets/volter-shared-react-dom-client-Yf5gYUSE.js +1 -0
  585. package/dist/assets/volter-shared-three-wYzUWvH9.js +1 -0
  586. package/dist/assets/worker-D1j8wqVo.js +4 -0
  587. package/dist/volter-shared-react.json +10 -0
  588. package/dist/volter-shared-sdk.json +462 -0
  589. package/dist/volter-shared-three.json +3 -0
  590. package/dist-node/cli.js +21181 -0
  591. package/dist-node/create.js +14272 -0
  592. package/package.json +84 -4
  593. package/presets.mjs +2 -0
  594. package/src/contributions.d.ts +4 -0
  595. package/src/index.ts +10 -0
  596. package/starter/AGENTS.md +400 -0
  597. package/starter/CLAUDE.md +1 -0
  598. package/starter/cube.blend +0 -0
  599. package/starter/cube.py +82 -0
  600. package/starter/package.json +9 -0
  601. package/starter/race-state.ts +22 -0
  602. package/starter/track.blend +0 -0
  603. package/starter/track.play.ts +343 -0
  604. package/starter/track.py +324 -0
  605. package/starter/ui/game.stories.tsx +12 -0
  606. package/starter/ui/game.tsx +10 -0
  607. package/starter/ui/race-hud.tsx +29 -0
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/StageHost-CM6pXufo.js","assets/volter-sdk-CTPCkGXt.js","assets/three-integration.service-CZBtvpOJ.js","assets/content-bounds-Dg9hT5Gp.js","assets/three.module-dk_BdrjN.js","assets/asset-preview-BCSH6zvx.js","assets/object3d-document-session-registry-Dso-3DdQ.js","assets/live-mixers-B-bwLZ7c.js","assets/clip-planes-CmZu3QTO.js","assets/model-inspection-D_Z7lPhp.js","assets/standard-viewport-dressing-tRKYG-Oe.js","assets/OrbitControls-Cn2q_IQK.js","assets/LineSegments2-D1_2s-N-.js"])))=>i.map(i=>d[i]);
2
+ import{kT as W,j as o,n as c,kg as q,kh as P,iM as G,g as J,gM as X,kU as K,t as g,kV as Q,kW as Y,as as Z,iq as ee,kX as te}from"./volter-sdk-CTPCkGXt.js";import{d as A}from"./asset-preview-BCSH6zvx.js";import{i as re,o as ne}from"./object3d-document-session-registry-Dso-3DdQ.js";import{b as oe}from"./standard-viewport-dressing-tRKYG-Oe.js";import{a3 as se,a1 as ie}from"./three.module-dk_BdrjN.js";import"./content-bounds-Dg9hT5Gp.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 J(()=>import("./StageHost-CM6pXufo.js").then(t=>t.S),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))).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 G(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 xe({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]),M=c.useRef(!1);c.useEffect(()=>{let i=!1,k=0,m=null,p=Promise.resolve(),j=null,y=null;const S=()=>{m&&(f.remove(m),f.animations=[],y?y():A(m),m=null,y=null)},B=(n,h)=>{S(),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=Q();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,Y(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=X(n=>{K(n,r)&&E()});return()=>{i=!0,z(),U(),S()}},[f,e,r,t]),c.useEffect(()=>{if(d.status!=="live"||M.current)return;let i=0,k=0;const m=()=>{const p=ne(e);if(p){M.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{xe as LiveModuleDocument};
@@ -0,0 +1 @@
1
+ import{n as w,kD as z,kE as U,kJ as A,kG as I,kH as N,j as i,t as y,ki as M,h2 as P,kI as L,C as F}from"./volter-sdk-CTPCkGXt.js";import{EffectComposer as B,LUT3DEffect as O,RenderPass as _,EffectPass as $}from"./index-BxW3iIJI.js";import{b5 as G,aI as T,b6 as H,V as v,D as V,L as D,C as j,A as q,S as W,Y as X,i as Z,f as R,l as J,bP as Y,ad as K,q as C,a6 as Q,p as ee,aq as te,n as ne}from"./three.module-dk_BdrjN.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 v(0,0,0),m=new v(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 Z;n.background=new R("#171a22");const t=new J(34,1,.1,100);t.position.set(6.6,4.6,8.8),t.lookAt(0,.7,0),n.add(new Y("#dce8ff","#322a27",2.1));const a=new K("#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 Q(.48,48,32),new C({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 C({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 C({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=W,e.toneMapping=X,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(L,{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(L,{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(F,{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 P(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:A,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:N,order:I,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{b5 as b,ba as w,b6 as M,a5 as x,am as F,J as d,f as u,S as f,cI as O,m as g,cJ as y,bc as L}from"./three.module-dk_BdrjN.js";class S 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{S as MTLLoader};
@@ -0,0 +1 @@
1
+ import{n as l,j as u,t as a}from"./volter-sdk-CTPCkGXt.js";import{F as w,d as f}from"./asset-preview-BCSH6zvx.js";import{m as x,l as E,c as S}from"./three-integration.service-CZBtvpOJ.js";import{O as M}from"./StageHost-CM6pXufo.js";import"./content-bounds-Dg9hT5Gp.js";import"./three.module-dk_BdrjN.js";import"./object3d-document-session-registry-Dso-3DdQ.js";import"./live-mixers-B-bwLZ7c.js";import"./clip-planes-CmZu3QTO.js";import"./model-inspection-D_Z7lPhp.js";import"./standard-viewport-dressing-tRKYG-Oe.js";import"./OrbitControls-Cn2q_IQK.js";import"./LineSegments2-D1_2s-N-.js";function L({documentId:g,assetPath:o,displayName:d,active:i}){const[j,s]=l.useState(null),[c,p]=l.useState(null);l.useEffect(()=>{if(!i){s(null);return}const n=new AbortController;let m=null;s(null),p(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||p(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 c?u.jsx("div",{role:"alert",style:{padding:20,color:a.semantic.danger},children:c}):e?u.jsx(M,{documentId:g,sourcePath:o,displayName:d,build:b,active:i,assetType:"model",modelSource:{kind:"project-file",path:o}}):u.jsxs("div",{style:{padding:20,color:a.content.muted},children:["Loading ",d,"…"]})}export{L as ModelAssetDocument};
@@ -0,0 +1 @@
1
+ import{n,jf as r,as as e}from"./volter-sdk-CTPCkGXt.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{b5 as N,b6 as R,f as H,S as T,a3 as k,B as P,o as w,au as C,ap as U,a_ as L,cI as J,at as S,aZ as z,n as B,V}from"./three.module-dk_BdrjN.js";const q=/^[og]\s*(.+)?/,W=/^mtllib /,Z=/^usemtl /,K=/^usemap /,D=/\s+/,E=new V,F=new V,G=new V,O=new V,j=new V,_=new H;function Q(){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 Y extends N{constructor(s){super(s),this.materials=null}load(s,e,n,t){const i=this,a=new R(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 Q;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(D);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(D),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(Z.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(K.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 S(c,p):u?b=new z(c,p):b=new B(c,p)}else l?b=new S(c,p[0]):u?b=new z(c,p[0]):b=new B(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{Y as OBJLoader};
@@ -0,0 +1 @@
1
+ import{n as o,b7 as ee,b8 as R,ir as se,jg as N,iw as ie,gu as te,jh as B,iv as L,iz as ae,iA as oe,ih as S,ji as re,j as s,du as A,eD as m,cs as b,bN as l,jj as ne,B as G,jk as le,cu as ce,il as $,dM as d,ij as F,bP as de,jl as pe,jm as ue,jn as H,jo as W,jp as he,jq as me,ip as U,cw as ge,T as K,ev as ve,jr as be,j6 as xe,iB as _,js as je,eJ as we,jt as fe,ju as Se,jv as ye,jw as Ce,eO as ke}from"./volter-sdk-CTPCkGXt.js";import{y as Pe,z as Ve}from"./asset-preview-BCSH6zvx.js";import{s as Ee}from"./model-inspection-D_Z7lPhp.js";import{s as Me,e as q,o as De,f as ze}from"./object3d-document-session-registry-Dso-3DdQ.js";import{v as J,V as Oe,a as Te,p as Re}from"./ViewportShadingMenu-BcSW0SdM.js";import"./content-bounds-Dg9hT5Gp.js";import"./three.module-dk_BdrjN.js";const Q=()=>()=>{},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??Q,i?.getSnapshot??x,i?.getSnapshot??x),o.useSyncExternalStore(se,N,N);const a=ie(t);o.useSyncExternalStore(a?.subscribe??Q,a?.getSnapshot??x,a?.getSnapshot??x);const X=ze(t),[y,C]=o.useState(null),[k,g]=o.useState(null),[P,v]=o.useState(!1),[V,c]=o.useState(!1),E=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,z=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(Ee(i.root).filter(e=>e.available).map(e=>e.mode)),Z=[...j?J.map(e=>e.mode==="solid"?{...e,label:"Solid",description:"Materials' colours under the studio lights"}:e.mode==="clay"?{...e,label:"Clay"}:e):J,...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"}]:[]],O=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):Ve(i.root,e);C(`data:image/png;base64,${n.contactSheet.base64}`)}catch(e){g(e instanceof Error?e.message:String(e))}},T=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:T,children:s.jsx(b,{"aria-label":T,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:E,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:E,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(Oe,{mode:r.mode,onChange:e=>i.setMode(e),choices:Z,segments:j?Re(w):Te,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,z(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,z({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":V,onClick:()=>c(e=>!e),children:s.jsx(l,{icon:we,size:"md"})})}),V&&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),O(!1)},children:"Save thumbnail framing"}),s.jsx(d,{onSelect:()=>{c(!1),O(!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-GpLuSFtI.js","assets/three.module-dk_BdrjN.js","assets/content-bounds-Dg9hT5Gp.js"])))=>i.map(i=>d[i]);
2
+ import{n as A,jx as Z,jy as O,jz as ee,jA as F,j as y,t as j,g as te}from"./volter-sdk-CTPCkGXt.js";import{A as re,i as ne,l as ie,S as oe,Y as se,bP as ae,ad as le,bQ as ce,bR as de,a$ as pe,V as me,aP as ue}from"./three.module-dk_BdrjN.js";import{O as fe}from"./OrbitControls-Cn2q_IQK.js";import{A as we,c as ge,d as Q,h as he,m as ve,B as be}from"./asset-preview-BCSH6zvx.js";import{m as xe,l as Ae,c as ye,d as je}from"./three-integration.service-CZBtvpOJ.js";import"./content-bounds-Dg9hT5Gp.js";import"./object3d-document-session-registry-Dso-3DdQ.js";function Ee(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 Ce=0;function ke({assetPath:o,materialPath:p,displayName:m="Object3D preview",active:g=!0,sourceFactory:E,showSkeleton:D=!1,background:_,cameraDirection:C,showGrid:k=!0,useDefaultLighting:z=!0,exposure:H=1,setupPreview:L}){const T=A.useRef(null),[S,W]=A.useState(null),[$,M]=A.useState(!0);return A.useEffect(()=>{if(!g)return;const i=T.current;if(!i)return;const b=new AbortController,Y=Z({id:`preview-card:${++Ce}`,label:`${m} (preview card)`,contentClock:()=>0}),t=new re({antialias:!0,alpha:!0}),J=O("webglContext"),K=O("animationFrame"),N=O("resizeObserver"),s=new ne,u=new ie(35,1,.01,1e3),f=new fe(u,t.domElement),q=new de;let V=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=C?new me(...C):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-GpLuSFtI.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),V=Ee(e),D){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(E){x=we(E),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 Ae({url:o,format:e,...p?{materialUrl:p}:{}});if(w=ye(r),b.signal.aborted||d){Q(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||!F())return;const e=Math.min(q.getDelta(),.1);f.update(),a&&s.add(a);try{l?.render?l.render(e):t.render(s,u)}finally{a?.removeFromParent()}c=requestAnimationFrame(P)},X=ee(()=>{F()?!d&&c===0&&(q.getDelta(),P()):(cancelAnimationFrame(c),c=0)});return F()&&(c=requestAnimationFrame(P)),()=>{d=!0,X(),Y(),b.abort(new Error("Compact Object3D preview closed.")),cancelAnimationFrame(c),U.disconnect(),V?.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&&Q(w),i.contains(t.domElement)&&i.removeChild(t.domElement),N(),K(),J()}},[g,o,_,C,H,p,L,k,D,E,z]),y.jsxs("div",{ref:T,"data-testid":"object3d-compact-preview",role:"region","aria-label":`Interactive 3D preview: ${m}`,"aria-busy":$,style:{width:"100%",height:"100%",minHeight:220,overflow:"hidden",position:"relative",background:j.surface.inset},children:[$&&!S?y.jsx("span",{style:{position:"absolute",padding:10,color:j.content.muted},children:"Loading…"}):null,g?null:y.jsx("span",{style:{position:"absolute",padding:10,color:j.content.muted},children:"Preview suspended while inactive."}),S?y.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{bS as S,V as p,bT as u,bU as _,ab as E,bV as P,m as c,bW as w,aj as O,aa as R}from"./three.module-dk_BdrjN.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{b5 as b,b6 as M,B as V,o as h,f as j,S}from"./three.module-dk_BdrjN.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,S),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,S),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 A(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=A(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,kY as C}from"./volter-sdk-CTPCkGXt.js";import{H as L}from"./asset-preview-BCSH6zvx.js";import{O as x,Q as z,V as y,C as Q,G as j}from"./StageHost-CM6pXufo.js";import{t as M}from"./object3d-document-session-registry-Dso-3DdQ.js";import"./content-bounds-Dg9hT5Gp.js";import"./three.module-dk_BdrjN.js";import"./three-integration.service-CZBtvpOJ.js";import"./live-mixers-B-bwLZ7c.js";import"./clip-planes-CmZu3QTO.js";import"./model-inspection-D_Z7lPhp.js";import"./standard-viewport-dressing-tRKYG-Oe.js";import"./OrbitControls-Cn2q_IQK.js";import"./LineSegments2-D1_2s-N-.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 H=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 U(){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 W(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 _=({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)?U():[]],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||!H.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 W(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 ct(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 pt({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:_,dressing:{grid:!0}}):b.jsxs("div",{style:{padding:20,color:O.content.muted},children:["Loading ",r,"…"]})}export{pt as QuarksAssetDocument,V as isNativeQuarksJson,ct as loadNativeQuarksJsonSource};