@volter/game-editor 0.5.83 → 0.5.84

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 (297) hide show
  1. package/BUNDLED_NOTICES +22 -22
  2. package/catalog/entries/blender.json +2 -2
  3. package/catalog/entries/music.json +2 -2
  4. package/dist/.vite/manifest.json +2108 -2108
  5. package/dist/assets/{AssetBudgetPanel-SrgQ5Lx5.js → AssetBudgetPanel-BZy2XeqE.js} +3 -3
  6. package/dist/assets/{AudioViewer-BqEwLSZN.js → AudioViewer-DIuzLzET.js} +1 -1
  7. package/dist/assets/{CanvasBoardDocument-BfzWZdLX.js → CanvasBoardDocument-3ZxWTKes.js} +1 -1
  8. package/dist/assets/{CanvasSceneViewport-CQ7ewAlO.js → CanvasSceneViewport-BP7FC2z5.js} +1 -1
  9. package/dist/assets/{ColorInput-DQ6YyPD_.js → ColorInput-Bm2EzmOy.js} +1 -1
  10. package/dist/assets/{EntityModelDocument-By-BM9dS.js → EntityModelDocument-Cy-Qproq.js} +1 -1
  11. package/dist/assets/{EnvironmentAssetDocument-CrD37BI0.js → EnvironmentAssetDocument-B8VmbxfT.js} +1 -1
  12. package/dist/assets/{GameplaySessionTimeline-DYtnW0Si.js → GameplaySessionTimeline-CDcfr07j.js} +1 -1
  13. package/dist/assets/{ImageViewer-CZNpdUEA.js → ImageViewer-BNFjkWbV.js} +1 -1
  14. package/dist/assets/InspectorObjectPreview-DZS_A4lG.js +1 -0
  15. package/dist/assets/{JsonAssetDocument-Bg74MDXy.js → JsonAssetDocument-BkdsklFn.js} +1 -1
  16. package/dist/assets/{LiveModuleDocument-CSqzNMjn.js → LiveModuleDocument-BEDGzgpM.js} +1 -1
  17. package/dist/assets/{LutAssetDocument-CsboXa8x.js → LutAssetDocument-RmvH4zzl.js} +1 -1
  18. package/dist/assets/{ModelAssetDocument-DDVoKZpQ.js → ModelAssetDocument-BgkVc8nF.js} +1 -1
  19. package/dist/assets/{NonThreeAuthoringBootstrap-DcqD6_34.js → NonThreeAuthoringBootstrap-CcXUHOp3.js} +1 -1
  20. package/dist/assets/{Object3DDocumentToolbar-p2pd2TuS.js → Object3DDocumentToolbar-DaqNoA9f.js} +1 -1
  21. package/dist/assets/Object3DDocumentViewport-DFMCzcLc.js +2 -0
  22. package/dist/assets/{Object3DPreview-Bv0fZcdS.js → Object3DPreview-Dr4GQgGl.js} +1 -1
  23. package/dist/assets/{OnlineAssetDetail-CPDafN4x.js → OnlineAssetDetail-BPAK7Ras.js} +1 -1
  24. package/dist/assets/{PlayBar-CBD4rcED.js → PlayBar--cmmDXMt.js} +1 -1
  25. package/dist/assets/{QuarksAssetDocument-DUUhKUxZ.js → QuarksAssetDocument-DYr9l2tH.js} +1 -1
  26. package/dist/assets/{ReactCanvasControls-3ual87uP.js → ReactCanvasControls-CoK-IJcH.js} +1 -1
  27. package/dist/assets/{RootSelectionOverlay-DtX8yWUQ.js → RootSelectionOverlay-Jz5Ll7BT.js} +1 -1
  28. package/dist/assets/{ShaderAssetDocument-rkhRdPRk.js → ShaderAssetDocument-Fn1SuMaS.js} +1 -1
  29. package/dist/assets/{ShadowEditor-B-3FlftY.js → ShadowEditor-IrEJWfde.js} +1 -1
  30. package/dist/assets/{SourceAssetViewer-CsMPohqK.js → SourceAssetViewer-C6gxbMdi.js} +1 -1
  31. package/dist/assets/{StageHost-BOaImrmu.js → StageHost-eySsTLUI.js} +2 -2
  32. package/dist/assets/{StoryPreviewMount-BI-ANJix.js → StoryPreviewMount-CkBS-oOC.js} +1 -1
  33. package/dist/assets/{ThreeBoardDocument-CoBjs8BP.js → ThreeBoardDocument-DiQabLNJ.js} +2 -2
  34. package/dist/assets/{ThreeIsolationSceneContent-uShwSK1O.js → ThreeIsolationSceneContent-_p4Y5QZ6.js} +1 -1
  35. package/dist/assets/{ToolObject3DPreview-CBZdWA_7.js → ToolObject3DPreview-CSADrilV.js} +1 -1
  36. package/dist/assets/{Toolbar-DJK7o_be.js → Toolbar-DhQAiAOw.js} +1 -1
  37. package/dist/assets/{TransientHint-Dgu6u7U5.js → TransientHint-B3roDMmv.js} +1 -1
  38. package/dist/assets/{VideoViewer-BwTcASO2.js → VideoViewer-DARXMIes.js} +1 -1
  39. package/dist/assets/{ViewportShadingMenu-DUROUZdC.js → ViewportShadingMenu-DC5996me.js} +1 -1
  40. package/dist/assets/{active-ingest-Ra07ruDo.js → active-ingest-BQBCy_Hx.js} +2 -2
  41. package/dist/assets/{animation-clock-CKeqYCt9.js → animation-clock-DAhQxVz9.js} +1 -1
  42. package/dist/assets/{animation-mixers.service-BNiEU2dA.js → animation-mixers.service-cc5qCZnh.js} +1 -1
  43. package/dist/assets/{animation-timeline.utility-DQqMh1lF.js → animation-timeline.utility-DXa0g-qN.js} +1 -1
  44. package/dist/assets/{asset-budget-asset.menu-DFFih9b4.js → asset-budget-asset.menu-DjEcxL08.js} +1 -1
  45. package/dist/assets/{asset-budget.action-C3SMMeSX.js → asset-budget.action-D7-3Scj7.js} +1 -1
  46. package/dist/assets/{asset-budget.document-B5NTy5dU.js → asset-budget.document-Dmn7QkMR.js} +1 -1
  47. package/dist/assets/{asset-budget.menu-Cclz2utV.js → asset-budget.menu-djdA3Q-S.js} +1 -1
  48. package/dist/assets/{asset-editor-persistence-DsIjTddX.js → asset-editor-persistence-Dcy1Joo-.js} +1 -1
  49. package/dist/assets/{asset-loaders-CQiLyapK.js → asset-loaders-B0eV8Nk_.js} +1 -1
  50. package/dist/assets/{asset-preview-BkFAKkZH.js → asset-preview-CGO8kmg5.js} +1 -1
  51. package/dist/assets/{audio-unlock.service-CupzdUuC.js → audio-unlock.service-Bgp8fUjH.js} +1 -1
  52. package/dist/assets/{audio.utility-0il96T5s.js → audio.utility-DM2IZjJR.js} +1 -1
  53. package/dist/assets/autoplay.service-aGTnDCDQ.js +1 -0
  54. package/dist/assets/{babylon-authoring-adapter-HZ_SbAet.js → babylon-authoring-adapter-CNYnKhpl.js} +1 -1
  55. package/dist/assets/{binding-resolver-BoecCqTq.js → binding-resolver-By6DQSMJ.js} +2 -2
  56. package/dist/assets/{blender-emscripten-engine-Dk-rq4bm.js → blender-emscripten-engine-3RrRUwov.js} +1 -1
  57. package/dist/assets/{blender-node-editor.document-B_MGPd1D.js → blender-node-editor.document-DDxLnK24.js} +1 -1
  58. package/dist/assets/{blender-properties-tab-ITmWT_gZ.js → blender-properties-tab-DoLvP4a6.js} +1 -1
  59. package/dist/assets/{blender-runtime-host-CACzxt1b.js → blender-runtime-host-pYPr56UP.js} +2 -2
  60. package/dist/assets/{blender-runtime-skin-CwFW2Hj7.js → blender-runtime-skin-DGw7Uk4l.js} +1 -1
  61. package/dist/assets/{blender-runtime.document-CozOB5TX.js → blender-runtime.document-Bvlzayok.js} +1 -1
  62. package/dist/assets/{blender-screenshot.menu-BFR44H0L.js → blender-screenshot.menu-BSfC-1EL.js} +1 -1
  63. package/dist/assets/{blender-timeline.document-C0Zzi8Vo.js → blender-timeline.document-D0P1AfdK.js} +1 -1
  64. package/dist/assets/{blender-uv-editor.document-BktbYoor.js → blender-uv-editor.document-DEb_AwLC.js} +1 -1
  65. package/dist/assets/{blender-version.status-CLPjDPFV.js → blender-version.status-LifaPI0C.js} +1 -1
  66. package/dist/assets/blender-wali-engine-DGwF1KiV.js +2 -0
  67. package/dist/assets/{blender.command-DdHEHM62.js → blender.command-DDOcs1dZ.js} +1 -1
  68. package/dist/assets/{board-guides-DhwRYHGT.js → board-guides-CQWXbsSW.js} +1 -1
  69. package/dist/assets/{bridge.command-D4O9w4ft.js → bridge.command-CJCc-avL.js} +3 -3
  70. package/dist/assets/{browserAll-BhQBgoJL.js → browserAll-_6V_eM5P.js} +1 -1
  71. package/dist/assets/{build-player.document-DFr-d97N.js → build-player.document-Dz_Mq8Pd.js} +1 -1
  72. package/dist/assets/{build-profiles.document-C-64YHSV.js → build-profiles.document-CLCc3EbW.js} +1 -1
  73. package/dist/assets/{build-progress.status-DVm95Lmt.js → build-progress.status-BfR8rtJ_.js} +1 -1
  74. package/dist/assets/{build-session-C_SD2MNJ.js → build-session-BkZeQ_S3.js} +1 -1
  75. package/dist/assets/{build.action-CPee4b_9.js → build.action-SVlllu1R.js} +1 -1
  76. package/dist/assets/{build.command-CrZ5sHYt.js → build.command-D6c8WqIx.js} +1 -1
  77. package/dist/assets/{build.header-DDbhXD6t.js → build.header-B_QEABFH.js} +1 -1
  78. package/dist/assets/{build.menu-Ci-W_A1E.js → build.menu-wIEk8uq4.js} +1 -1
  79. package/dist/assets/{build.service-CpUtTLP4.js → build.service-C24aQmEn.js} +1 -1
  80. package/dist/assets/{camera-BZM67LhS.js → camera-AsAJwixA.js} +1 -1
  81. package/dist/assets/{camera-runtime.inspector-BLgPGd97.js → camera-runtime.inspector-EWiln7HZ.js} +1 -1
  82. package/dist/assets/{canvas-design-mount-DPAhHuIQ.js → canvas-design-mount-7wA1io5I.js} +3 -3
  83. package/dist/assets/{canvas-entry-runtime-DeyvFKWS.js → canvas-entry-runtime-DxHv6Yxk.js} +2 -2
  84. package/dist/assets/{canvas-preview-frames-Cm0GJ-40.js → canvas-preview-frames-BJNr8ArE.js} +1 -1
  85. package/dist/assets/{canvas-story-capture.service-Ziv9XNot.js → canvas-story-capture.service-DaHquc4I.js} +2 -2
  86. package/dist/assets/{capability-coverage-39yK3DGt.js → capability-coverage-Fjv84QQN.js} +1 -1
  87. package/dist/assets/{collaboration-presence-MR8LW4mZ.js → collaboration-presence-BYi9wylK.js} +1 -1
  88. package/dist/assets/{collider-4Sgmy-qt.js → collider-BVans4YU.js} +1 -1
  89. package/dist/assets/{component-board.service-DRJcETCR.js → component-board.service-6eXUhS3p.js} +2 -2
  90. package/dist/assets/{component-board.service-BdcOkwgn.js → component-board.service-C1VJog-q.js} +2 -2
  91. package/dist/assets/{component-board.service-DO_oHdnS.js → component-board.service-cNKaXoxN.js} +2 -2
  92. package/dist/assets/{component-contracts.service-BYQTO1HK.js → component-contracts.service-B9e64gRX.js} +1 -1
  93. package/dist/assets/{component-instance-root-CzRnRMe6.js → component-instance-root-Cw2jcbxa.js} +1 -1
  94. package/dist/assets/{component-verbs.command-CFv5y_pR.js → component-verbs.command-CKmDlrFh.js} +1 -1
  95. package/dist/assets/{component-verbs.service-BMBAwqjA.js → component-verbs.service-C6MrL6R1.js} +1 -1
  96. package/dist/assets/{config-C6iAsozB.js → config-CXA3itWR.js} +2 -2
  97. package/dist/assets/{configurations-Dua_x6Wx.js → configurations-fjyekkEX.js} +1 -1
  98. package/dist/assets/{connection.status-DQJvEgdT.js → connection.status-DmthQqVz.js} +1 -1
  99. package/dist/assets/{constraints.inspector-AHeP-LBc.js → constraints.inspector-CvJlw3rw.js} +1 -1
  100. package/dist/assets/{content-bounds-tMCAobKq.js → content-bounds-vfJMc-IO.js} +1 -1
  101. package/dist/assets/{contract-system-adapters-D6ion7SF.js → contract-system-adapters-BL22QlsE.js} +1 -1
  102. package/dist/assets/{coverage.service-Dm_H5o74.js → coverage.service-BO-eNB08.js} +1 -1
  103. package/dist/assets/{create-runtime-C82CmCbc.js → create-runtime-DJ21Fa_i.js} +1 -1
  104. package/dist/assets/{curve-C7Gg05DV.js → curve-CiO2-ZoW.js} +1 -1
  105. package/dist/assets/{data-asset-BquhdFX2.js → data-asset-ByLXUC98.js} +1 -1
  106. package/dist/assets/{data-ref-Dcq9KJIG.js → data-ref-DpW1ZAc3.js} +1 -1
  107. package/dist/assets/{debug-bridge-DODnLefz.js → debug-bridge-Bjh7HoG_.js} +1 -1
  108. package/dist/assets/{debug-registry-CwYeaZ9J.js → debug-registry-Bty6AiHN.js} +1 -1
  109. package/dist/assets/{deferred-ingest-play-7EJo_GNB.js → deferred-ingest-play-BDtHDAut.js} +2 -2
  110. package/dist/assets/{design-time-canvas-mount-DCINR1Hg.js → design-time-canvas-mount-CpNAFajF.js} +2 -2
  111. package/dist/assets/{design-time-layers-i1N-JjPz.js → design-time-layers-BjbCzOaH.js} +1 -1
  112. package/dist/assets/{design-time-mount.service-DrUVDx2-.js → design-time-mount.service-D2nvXCrm.js} +2 -2
  113. package/dist/assets/{design-time-mount.service-CtnijZJJ.js → design-time-mount.service-x4-8taot.js} +2 -2
  114. package/dist/assets/{design-time-react-mount-CpgoPMGr.js → design-time-react-mount-DlBtYE3L.js} +1 -1
  115. package/dist/assets/{document-preview-three-CuBUMP4o.js → document-preview-three-CSHYA1BH.js} +1 -1
  116. package/dist/assets/{dom-authoring-adapter-DSM-2JgU.js → dom-authoring-adapter-BRkZp4sE.js} +1 -1
  117. package/dist/assets/{draco3d--d91Ay95.js → draco3d-az59P8mF.js} +1 -1
  118. package/dist/assets/{edit-mode-audio.service-C9_299G0.js → edit-mode-audio.service--N5HyK0y.js} +1 -1
  119. package/dist/assets/{edit-mode-authoring-DgvzXpiM.js → edit-mode-authoring-BeMAYXYR.js} +1 -1
  120. package/dist/assets/{edit-mode-networking.service-B6l9ESo-.js → edit-mode-networking.service-ByUOzpRh.js} +1 -1
  121. package/dist/assets/{editor-api-D9NJWRVZ.js → editor-api-dfe-lCMZ.js} +1 -1
  122. package/dist/assets/{editor-layers-D7HXdvWY.js → editor-layers-Djcn6Scw.js} +1 -1
  123. package/dist/assets/{editor-shell-store-CGWO4Ldz.js → editor-shell-store-Br2L1Fw1.js} +1 -1
  124. package/dist/assets/{entity-object-Dl04-FE8.js → entity-object-BiOrbQZM.js} +1 -1
  125. package/dist/assets/{extend-GXzJ7XU_.js → extend-BMnknpN1.js} +1 -1
  126. package/dist/assets/{fork-menu-DO1KASKk.js → fork-menu-BOn71mbn.js} +1 -1
  127. package/dist/assets/{frame-debugger-store-DOewah-x.js → frame-debugger-store-DVchJN-z.js} +1 -1
  128. package/dist/assets/{game-contract-seams-B5a-Ev-f.js → game-contract-seams-gIFojMW2.js} +1 -1
  129. package/dist/assets/{game-css-scope-transform-CQhuDfMR.js → game-css-scope-transform-Dab-AkD5.js} +1 -1
  130. package/dist/assets/{game-document.service-CMc6SfH9.js → game-document.service-CFLg-vRz.js} +1 -1
  131. package/dist/assets/{game-eval.command-MY5YxNL-.js → game-eval.command-Xch06afq.js} +1 -1
  132. package/dist/assets/{game-module-access-BafPamOR.js → game-module-access-BDliSO9v.js} +1 -1
  133. package/dist/assets/{game-network-COQRxS_4.js → game-network-CTdS02CN.js} +3 -3
  134. package/dist/assets/{gameplay-export-i_fnSpRp.js → gameplay-export-Ct4wopUb.js} +1 -1
  135. package/dist/assets/{gameplay-replay-BM_frdpr.js → gameplay-replay-xk1wnQ88.js} +1 -1
  136. package/dist/assets/{gameplay.command-Dkp2IG9Q.js → gameplay.command-W3Sq7zn-.js} +1 -1
  137. package/dist/assets/{generation-jobs-B6T_j2D_.js → generation-jobs-BTP2zuZi.js} +1 -1
  138. package/dist/assets/{generation.service-BXJTa6dr.js → generation.service-CHPmGb7B.js} +1 -1
  139. package/dist/assets/{generations-DqNhoKz8.js → generations-C7ppzxDW.js} +1 -1
  140. package/dist/assets/{generations.status-Dt8TW7Lk.js → generations.status-Cxb0-UxC.js} +1 -1
  141. package/dist/assets/{hierarchy-marks-fSNwXIFe.js → hierarchy-marks-3Iq1RFIh.js} +1 -1
  142. package/dist/assets/{hosted-asset-materialization-76jdNP28.js → hosted-asset-materialization-BK8ZfMnr.js} +1 -1
  143. package/dist/assets/{index-C5tasxXb.js → index-BXH2Jsun.js} +7 -7
  144. package/dist/assets/{index-CO6HFW9e.js → index-CAf6mYXW.js} +1 -1
  145. package/dist/assets/{index-Cf-uQvPt.js → index-CP5WJuE9.js} +1 -1
  146. package/dist/assets/{index-Cub6ESrb.js → index-D9H8FkR3.js} +2 -2
  147. package/dist/assets/{index-D5pDWxZH.js → index-DAuA0xMo.js} +1 -1
  148. package/dist/assets/{index-cGaEzVz5.js → index-DkTiDXNY.js} +1 -1
  149. package/dist/assets/{index-cNdu8TlA.js → index-Kznwz4yS.js} +1 -1
  150. package/dist/assets/{index-CKznhnFr.js → index-Yw9pOoLh.js} +1 -1
  151. package/dist/assets/{index-c6fd_bqy.js → index-k1tDFKMg.js} +1 -1
  152. package/dist/assets/{inference-diagnostics-D7uYs70A.js → inference-diagnostics-CxWL3UhK.js} +1 -1
  153. package/dist/assets/{ingest-boot-viewport-CjtFKkMD.js → ingest-boot-viewport-BeYyFYst.js} +1 -1
  154. package/dist/assets/{ingest-siblings-Dlx0quan.js → ingest-siblings-DGjWGyZo.js} +1 -1
  155. package/dist/assets/{ingest-source-persistence-SAe0xIy-.js → ingest-source-persistence-BFkLdeMy.js} +1 -1
  156. package/dist/assets/{ingest.service-BXkZ1vXa.js → ingest.service-adZJNY83.js} +1 -1
  157. package/dist/assets/{inspect-BqIL-41D.js → inspect-Dah00n9O.js} +1 -1
  158. package/dist/assets/instances.command-neq95jyN.js +1 -0
  159. package/dist/assets/{json-history-resource-BUJgH5iK.js → json-history-resource-DYW614tc.js} +1 -1
  160. package/dist/assets/{layered-pick-RElCrqXb.js → layered-pick-Cn98HSnj.js} +1 -1
  161. package/dist/assets/{light-DLADuHH2.js → light-nb6H9zi_.js} +1 -1
  162. package/dist/assets/{live-project-verbs-Cc1GXtG5.js → live-project-verbs-CyWrvvzK.js} +1 -1
  163. package/dist/assets/{machine.document-ER7OD-37.js → machine.document-BlWIYspE.js} +1 -1
  164. package/dist/assets/{machines.finder-CZ2ZxPFR.js → machines.finder-D-nBx1QJ.js} +1 -1
  165. package/dist/assets/{material-CspuVO3Q.js → material-CcQQ-mP8.js} +1 -1
  166. package/dist/assets/{material-factory-KV4mqSzl.js → material-factory-CKO4sgCS.js} +1 -1
  167. package/dist/assets/{mesh-CrIkl8_H.js → mesh-CGB8fhbT.js} +1 -1
  168. package/dist/assets/{model-asset-sections.service-Cyom1FRs.js → model-asset-sections.service-oZwOlxI-.js} +1 -1
  169. package/dist/assets/{model-inspection-BLOiPoW4.js → model-inspection-B5p-uq9q.js} +1 -1
  170. package/dist/assets/{model-thumbnail-B7DVMYtQ.js → model-thumbnail-Cgyfafqg.js} +1 -1
  171. package/dist/assets/{models.finder-At2wuWE3.js → models.finder-v4ShdgaO.js} +1 -1
  172. package/dist/assets/{module-mode-CHqvCb69.js → module-mode-BBCbx1-D.js} +2 -2
  173. package/dist/assets/{mount-canvas-ingest-root-uISMj3zn.js → mount-canvas-ingest-root-9CLvzAsA.js} +2 -2
  174. package/dist/assets/{mount-dom-ingest-root-C8PsgrCd.js → mount-dom-ingest-root-CZA1Dw6t.js} +2 -2
  175. package/dist/assets/{mount-ingest-root-Dmb_D_oY.js → mount-ingest-root-hudyfrT7.js} +2 -2
  176. package/dist/assets/{mount-manifest-CGwCOZO6.js → mount-manifest-C_z-xK97.js} +1 -1
  177. package/dist/assets/{mount-three-ingest-root-BGdd6UoG.js → mount-three-ingest-root-DWoCP70F.js} +1 -1
  178. package/dist/assets/{mounted-authoring-BS53gpIm.js → mounted-authoring-DMWjUr2Z.js} +1 -1
  179. package/dist/assets/{mounted-story-viewport-source-CL9Ra-_N.js → mounted-story-viewport-source-Iq6tisms.js} +1 -1
  180. package/dist/assets/{native-debug-module-DRmkIrIW.js → native-debug-module-BO5dlpfD.js} +1 -1
  181. package/dist/assets/{navigation-DOuNvaV6.js → navigation-BzH049Ad.js} +1 -1
  182. package/dist/assets/{navmesh.menu-9g4nO2dp.js → navmesh.menu-CicRFavg.js} +1 -1
  183. package/dist/assets/{navmesh.service-B7MllQj9.js → navmesh.service-B0zUTaL0.js} +1 -1
  184. package/dist/assets/network-observer.service-CvC30rDc.js +1 -0
  185. package/dist/assets/{network.utility-BgzPLUS5.js → network.utility-DTpK-Ri9.js} +1 -1
  186. package/dist/assets/{object3d-document-session-registry-Bk-I9jZH.js → object3d-document-session-registry-CTeivmwK.js} +2 -2
  187. package/dist/assets/{oid-transform-CHeHFNUu.js → oid-transform-xxKy1722.js} +1 -1
  188. package/dist/assets/{particles-RD4cI69F.js → particles-CeOU09tg.js} +1 -1
  189. package/dist/assets/{pixi-authoring-adapter-BuP3Qc7X.js → pixi-authoring-adapter-qwgLB4nb.js} +1 -1
  190. package/dist/assets/{pixi-live-write-target-DzyXhmiw.js → pixi-live-write-target-B-E2O-WC.js} +1 -1
  191. package/dist/assets/{play.command-C7iZbm26.js → play.command-CAhUsYcp.js} +2 -2
  192. package/dist/assets/{presentation-43UAzXCV.js → presentation-BKcWD0nx.js} +1 -1
  193. package/dist/assets/{product-BfaoEtK8.js → product-C8OFGza7.js} +1 -1
  194. package/dist/assets/{profiler.action-DIp4OPNA.js → profiler.action-CyjXGHbx.js} +1 -1
  195. package/dist/assets/{profiler.menu-tHZqii7c.js → profiler.menu-DXHAGF3Z.js} +1 -1
  196. package/dist/assets/{profiler.utility-CSg5WNN8.js → profiler.utility-Qx-aaTdo.js} +1 -1
  197. package/dist/assets/{project-authoring-session-BbwFHEzZ.js → project-authoring-session-B0YSloNS.js} +2 -2
  198. package/dist/assets/{properties-bone-constraints.inspector-ooGWoGiI.js → properties-bone-constraints.inspector-C-dwjglB.js} +1 -1
  199. package/dist/assets/{properties-bone.inspector-C_UdJjDe.js → properties-bone.inspector-CeZIE99V.js} +1 -1
  200. package/dist/assets/{properties-collection.inspector-Dm4MNZQK.js → properties-collection.inspector-DiSBJpTu.js} +1 -1
  201. package/dist/assets/{properties-constraints.inspector-DlCHF3Nd.js → properties-constraints.inspector-2DxnBAIf.js} +1 -1
  202. package/dist/assets/{properties-data.inspector-DTfv2ILq.js → properties-data.inspector-DvSzTW7_.js} +1 -1
  203. package/dist/assets/{properties-material.inspector-C_-GsOvF.js → properties-material.inspector-XPNSk9iW.js} +1 -1
  204. package/dist/assets/{properties-modifiers.inspector-BELGiG49.js → properties-modifiers.inspector-8pjl5OY9.js} +1 -1
  205. package/dist/assets/{properties-object.inspector-COLlzAo4.js → properties-object.inspector-a30WyA7Q.js} +1 -1
  206. package/dist/assets/{properties-output.inspector-DLpqLRCp.js → properties-output.inspector-B9JochaR.js} +1 -1
  207. package/dist/assets/{properties-particles.inspector-C8ZhuG-X.js → properties-particles.inspector-D6rRhjyA.js} +1 -1
  208. package/dist/assets/{properties-physics.inspector-DQ3fUdPx.js → properties-physics.inspector-BcJFxv6L.js} +1 -1
  209. package/dist/assets/{properties-render.inspector-DlPuoXQ-.js → properties-render.inspector-DHPbElDL.js} +1 -1
  210. package/dist/assets/{properties-scene.inspector-itnV8qGu.js → properties-scene.inspector-ZJueIZwx.js} +1 -1
  211. package/dist/assets/{properties-texture.inspector-BZbBAQ_O.js → properties-texture.inspector-CvUhb-u8.js} +1 -1
  212. package/dist/assets/{properties-view-layer.inspector-CNOevOy3.js → properties-view-layer.inspector-CaaGgMEq.js} +1 -1
  213. package/dist/assets/{properties-world.inspector-C7u-dAkO.js → properties-world.inspector-10GD8Fpy.js} +1 -1
  214. package/dist/assets/{r3f-design-session-DbXiRez3.js → r3f-design-session-CVxU3s62.js} +2 -2
  215. package/dist/assets/{r3f-physics-binding-B8Je7bNy.js → r3f-physics-binding-jUszsaB2.js} +1 -1
  216. package/dist/assets/{r3f-source-authoring-adapter-CarxaAwC.js → r3f-source-authoring-adapter-Cmxf0Hvz.js} +1 -1
  217. package/dist/assets/{react-canvas-navigation-BTVCmK_d.js → react-canvas-navigation-B-5CNIty.js} +1 -1
  218. package/dist/assets/{react-inspector.service-BV9ZVls7.js → react-inspector.service-wpEmCNFv.js} +1 -1
  219. package/dist/assets/{react-story-board-CETbMKNG.js → react-story-board-CMghMNcN.js} +1 -1
  220. package/dist/assets/{react-three-rapier.esm-BQ3IBcaP.js → react-three-rapier.esm-LvsEG944.js} +1 -1
  221. package/dist/assets/{react-world-authoring-adapter-DsywMgco.js → react-world-authoring-adapter-qVYWC2NO.js} +1 -1
  222. package/dist/assets/{realm-services-DoN23Ol2.js → realm-services-DvRrMpdg.js} +1 -1
  223. package/dist/assets/{reflection-probe-capture.inspector-D0grUDdX.js → reflection-probe-capture.inspector-vo8ShT8w.js} +1 -1
  224. package/dist/assets/{registry-CZxNkOhN.js → registry-CC-Vb6qS.js} +1 -1
  225. package/dist/assets/{relative-import-specifier-DMppRnNH.js → relative-import-specifier-CT_YQo7I.js} +1 -1
  226. package/dist/assets/{render-env-BAO3Rc6G.js → render-env-YEmoFtX3.js} +1 -1
  227. package/dist/assets/{render-features-CBm-s0QE.js → render-features-B7OI7f1i.js} +1 -1
  228. package/dist/assets/{render-settings-DCZaLK-j.js → render-settings-Mh_ddGef.js} +1 -1
  229. package/dist/assets/{resolve-three-Bwj7rkZB.js → resolve-three-0A-COMTr.js} +3 -3
  230. package/dist/assets/{root-seam-contract-DMUsCBFW.js → root-seam-contract-SVcCHdYl.js} +1 -1
  231. package/dist/assets/{run-selection-DRkjJF-w.js → run-selection-HF9_7IwN.js} +1 -1
  232. package/dist/assets/{scene-capture-DVXdql_1.js → scene-capture-BvNIvwYD.js} +1 -1
  233. package/dist/assets/{scene-document.service-CxGQ1BN-.js → scene-document.service-Ck2pGl4I.js} +2 -2
  234. package/dist/assets/{scene-framing-DUd4lKtW.js → scene-framing-BgT3O3rp.js} +1 -1
  235. package/dist/assets/{seeded-random-DzZFJTfh.js → seeded-random-BVxDLbEH.js} +1 -1
  236. package/dist/assets/{setup-renderer-DF2zFw-E.js → setup-renderer-BCSUurTm.js} +1 -1
  237. package/dist/assets/{source-object3d-authoring-adapter-RimvAMDG.js → source-object3d-authoring-adapter-CShEQbUV.js} +1 -1
  238. package/dist/assets/{source-persistence-backend-BRcy23H9.js → source-persistence-backend-DOkAuppW.js} +1 -1
  239. package/dist/assets/{stage-keyboard-JRZ1CNbL.js → stage-keyboard-BJEP_zFM.js} +1 -1
  240. package/dist/assets/{stage-overlay-set-DHN11xPU.js → stage-overlay-set-U3RYk04i.js} +1 -1
  241. package/dist/assets/{stage-presence-markers-AQuGIbnu.js → stage-presence-markers-C9j53BR-.js} +1 -1
  242. package/dist/assets/{stage-transform-tools-B8u8n8gJ.js → stage-transform-tools-D9eCTssP.js} +1 -1
  243. package/dist/assets/{standard-viewport-dressing-NHKaiGVg.js → standard-viewport-dressing-CCVrTojE.js} +1 -1
  244. package/dist/assets/{state-watch.action-B_conRk5.js → state-watch.action-fGEIwj5w.js} +1 -1
  245. package/dist/assets/{state-watch.menu-B6GNrnYH.js → state-watch.menu-Bvi0XsP3.js} +1 -1
  246. package/dist/assets/{state-watch.utility-CxuUOPhl.js → state-watch.utility-BNhj8Nnx.js} +1 -1
  247. package/dist/assets/{story-capture-DYXQlnlZ.js → story-capture-D0GNxNYo.js} +1 -1
  248. package/dist/assets/{story-documents-D_Tg0idt.js → story-documents-BF53RkDW.js} +1 -1
  249. package/dist/assets/{story-documents.service-ES8nxeNu.js → story-documents.service-cTbf9p1e.js} +1 -1
  250. package/dist/assets/{story-documents.service-DQh0SkkQ.js → story-documents.service-mW6CBXLc.js} +1 -1
  251. package/dist/assets/{story-media-presence-D4w-waFJ.js → story-media-presence-DsyVqDVF.js} +1 -1
  252. package/dist/assets/{story-pixi-preview-B6GFGUQG.js → story-pixi-preview-DpjZcKtE.js} +1 -1
  253. package/dist/assets/{story-presentation-6qhUDkv4.js → story-presentation-CNkoc9rw.js} +1 -1
  254. package/dist/assets/{story-three-preview-BgLSJIlN.js → story-three-preview--fB-XR3A.js} +2 -2
  255. package/dist/assets/{studio-environment-BGU84AOG.js → studio-environment-TibfpTB9.js} +1 -1
  256. package/dist/assets/{surface-state-BtNEZzCd.js → surface-state-Bt3iAf79.js} +1 -1
  257. package/dist/assets/{syntactic-prop-specs-B309atpv.js → syntactic-prop-specs-CN0U9uqz.js} +1 -1
  258. package/dist/assets/{team-playtest.service-B8leDEE-.js → team-playtest.service-DiziYIhq.js} +1 -1
  259. package/dist/assets/{three-BRZq2Px5.js → three-DfbLdx-e.js} +1 -1
  260. package/dist/assets/{three-authoring-adapter-DkfGlaNQ.js → three-authoring-adapter-CtjX4v6r.js} +1 -1
  261. package/dist/assets/three-authoring.service-BruYh1LE.js +2 -0
  262. package/dist/assets/{three-ingest-runtime-D9JoNRjk.js → three-ingest-runtime-V4l_ZpBp.js} +1 -1
  263. package/dist/assets/{three-integration-D3zBmOoj.js → three-integration-BxG_D6RK.js} +2 -2
  264. package/dist/assets/three-integration.service-CBSTLULk.js +1 -0
  265. package/dist/assets/{three-projection-core-Dt5ARGlM.js → three-projection-core-CyqdOvLG.js} +1 -1
  266. package/dist/assets/{three-state-3qPk0Sq8.js → three-state-B9ax7cgA.js} +1 -1
  267. package/dist/assets/{three-story-capture.service-B3U2L4qG.js → three-story-capture.service-CUVsgZa5.js} +2 -2
  268. package/dist/assets/{three-story-model-C96x-E0V.js → three-story-model-NEuWKJe1.js} +1 -1
  269. package/dist/assets/{three-viewport-presentation-DGctcUkE.js → three-viewport-presentation-Da0lYO0_.js} +1 -1
  270. package/dist/assets/{transform-mode-request-C0cdwtJf.js → transform-mode-request-Bfse_kvX.js} +1 -1
  271. package/dist/assets/{transport-strip-8OsPiJIm.js → transport-strip-DYbGjuX-.js} +1 -1
  272. package/dist/assets/transport.header-BglFgDzu.js +1 -0
  273. package/dist/assets/{tuples-CaBWqclR.js → tuples-CMTm7T5T.js} +1 -1
  274. package/dist/assets/{ui-board-document-BMTAhmJP.js → ui-board-document-GaFlpf81.js} +2 -2
  275. package/dist/assets/{user-data-4Ls0MsfF.js → user-data-CYeyy9Su.js} +1 -1
  276. package/dist/assets/{utility-view-state-gIzv2Oo_.js → utility-view-state-Ye00iOCB.js} +1 -1
  277. package/dist/assets/{viewport-door-C4Fu0zS3.js → viewport-door-CCXNhxOW.js} +1 -1
  278. package/dist/assets/{viewport-root-presentation-DMMIH4rt.js → viewport-root-presentation-52V6g9Ae.js} +1 -1
  279. package/dist/assets/{viewport-surface-status-CdI6sQko.js → viewport-surface-status-BtHfBssH.js} +1 -1
  280. package/dist/assets/{webworkerAll-BINEvomm.js → webworkerAll-D7_8g3e0.js} +1 -1
  281. package/dist/assets/{worker-Cu9kIzIf.js → worker-BRY0I3XJ.js} +1 -1
  282. package/dist/assets/{workspace-arrangement-w-T2xUGF.js → workspace-arrangement-D8CXsifv.js} +1 -1
  283. package/dist/assets/{world-documents-feEUCgVE.js → world-documents-C4AdTIHw.js} +1 -1
  284. package/dist/assets/{world-root-stage-binding-BDb6wt_C.js → world-root-stage-binding-CvEyzq0c.js} +1 -1
  285. package/dist/assets/{xstate-animation-binding-Bhz1Uhhw.js → xstate-animation-binding-CmmOqqwV.js} +1 -1
  286. package/dist/assets/{xstate-animation-meta-CvDlYgrt.js → xstate-animation-meta-BSBJhOAT.js} +1 -1
  287. package/dist-node/cli.js +16 -16
  288. package/package.json +16 -16
  289. package/dist/assets/InspectorObjectPreview-gWOVV6Ll.js +0 -1
  290. package/dist/assets/Object3DDocumentViewport-BvNfSHi_.js +0 -2
  291. package/dist/assets/autoplay.service-SQBFaKvM.js +0 -1
  292. package/dist/assets/blender-wali-engine-CUWSQ_vI.js +0 -2
  293. package/dist/assets/instances.command-wpQVWPb9.js +0 -1
  294. package/dist/assets/network-observer.service-DY_39EdG.js +0 -1
  295. package/dist/assets/three-authoring.service-sOchR4o8.js +0 -2
  296. package/dist/assets/three-integration.service-CE8aNHob.js +0 -1
  297. package/dist/assets/transport.header-D1Otpit3.js +0 -1
@@ -1 +1 @@
1
- import{a as i}from"./jsx-runtime-DPjLkJKQ.js";import{EDITOR_LAYER as Ke}from"./editor-layers-D7HXdvWY.js";import{df as Oe,a7 as V,bN as Ye,aL as te,bw as $,aM as G,kI as Je,bM as Ze,bP as et,a6 as Q,g$ as tt,hF as rt,j_ as nt,kJ as ot,Z as j,K as st,ci as at,kK as Se,cx as it,kL as ct,kM as lt,kN as ut,kO as Ce,kP as xe,aD as x,cU as dt,kQ as mt,cq as pt,cv as ft,kR as Pe,kS as Ee,kT as je,kU as ht,al as gt,kV as bt,kW as ke,dI as vt,kX as wt,kY as yt,j3 as St,iV as Ct,iW as xt,gK as Pt,gL as Et,j1 as jt,g2 as kt,g3 as Tt,g4 as At,g5 as Rt}from"./index-C5tasxXb.js";import{s as Mt,o as Vt}from"./object3d-document-session-registry-Bk-I9jZH.js";import{R as Ot}from"./RootSelectionOverlay-DtX8yWUQ.js";import{e as Lt,S as Ft}from"./surface-state-BtNEZzCd.js";import{r as f}from"./index-nmcBqr7Y.js";import{t as It}from"./surface-content-Dg9Kkazf.js";import"./index-CtzuWnCS.js";import{s as zt,d as Te,c as U,t as Wt,p as Le,v as Ae,b as Nt,e as _t,l as Dt,i as Qt}from"./camera-authoring-DYjhU5Zp.js";import{c as $t}from"./performance-profiler-CMbwGBuk.js";import{m as Gt}from"./renderer-ownership-BovSEcLv.js";import{applyWorldRendererConfig as Ut}from"./renderer-config-CaPR4dB_.js";import{getUserData as Fe}from"./user-data-CODoGZqA.js";import{detectKtx2Support as Bt}from"./loader-BTUKnX5Q.js";import{resolveRenderSettings as Ht}from"./render-settings-DCZaLK-j.js";import{createSoftParticleDepthPass as qt}from"./soft-particle-depth-DNGwWJ8c.js";import{ViewportShadingRenderer as Xt}from"./viewport-shading-D9BMDb1N.js";import{applyRendererSettings as Kt,applySceneRenderPipeline as Yt}from"./setup-renderer-DF2zFw-E.js";import{EffectComposer as Jt,EffectPass as Zt,BlendFunction as er,KernelSize as tr,OutlineEffect as rr}from"./index-DHhMOs_s.js";import{W as nr,T as or}from"./three.module-BLhyNg0e.js";import{d as sr}from"./design-time-mount-registry-DUpXCg1U.js";import{a as ar}from"./project-authoring-session-BbwFHEzZ.js";import"./three-integration-D3zBmOoj.js";import{registerPresentedCanvasFrame as ir}from"./canvas-preview-frames-Cm0GJ-40.js";import{i as cr}from"./editor-presentation-activity-CqJH4G9t.js";import{E as lr,s as ur,a as dr,t as mr,b as pr,c as fr,d as hr,r as gr,i as br}from"./three-viewport-presentation-DGctcUkE.js";import{a as Z}from"./entity-object-Dl04-FE8.js";import{w as vr}from"./editor-shell-store-CGWO4Ldz.js";import{p as wr}from"./viewport-root-presentation-DMMIH4rt.js";import{d as yr}from"./asset-editor-persistence-DsIjTddX.js";import{bindStagePresenceMarkers as Sr}from"./stage-presence-markers-AQuGIbnu.js";import{el as Cr,_ as ee,fo as D,d7 as xr,dp as Re}from"./three.core-3arARmh6.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./workspace-arrangement-w-T2xUGF.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./eyedropper-session-bjPXnfeX.js";import"./layered-pick-RElCrqXb.js";import"./root-stacking-BEd9ZvxC.js";import"./react-story-board-CETbMKNG.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./inspect-BqIL-41D.js";import"./inference-diagnostics-D7uYs70A.js";import"./object-marks-BnvSuCTt.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./render-features-CBm-s0QE.js";import"./matcap-texture-Dm2c-VQa.js";import"./defaults-DKiBJCPN.js";import"./edit-mode-authoring-DgvzXpiM.js";import"./host-hierarchy-objects-BV3WqU2w.js";import"./preview-renderer-BrYNFV1p.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./user-data-4Ls0MsfF.js";import"./model-thumbnail-B7DVMYtQ.js";import"./studio-environment-BGU84AOG.js";import"./three-state-3qPk0Sq8.js";import"./hierarchy-marks-fSNwXIFe.js";import"./component-instance-root-CzRnRMe6.js";import"./three-contract-Dkt6PmWY.js";import"./viewport-door-C4Fu0zS3.js";import"./content-bounds-tMCAobKq.js";import"./asset-preview-BkFAKkZH.js";import"./bitmap-label-Ct4k6ehY.js";import"./index-Cub6ESrb.js";import"./standard-viewport-dressing-NHKaiGVg.js";import"./clip-planes-CnAI6DZn.js";import"./three-BRZq2Px5.js";import"./model-inspection-BLOiPoW4.js";import"./OrbitControls-B13MKuwC.js";import"./LineSegments2-DN9pUfWA.js";import"./three.quarks.esm-C_HmSKXo.js";import"./live-gesture-lock-DJbrjOqf.js";import"./scene-framing-DUd4lKtW.js";import"./live-mixers-B-bwLZ7c.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./mounted-authoring-BS53gpIm.js";import"./collaboration-presence-MR8LW4mZ.js";function Pr({previewRef:r}){const{preview:e,previewPinned:s}=U(),[o,c]=f.useState(!1),a=f.useRef(null);if(f.useEffect(()=>{if(!o)return;const u=E=>{a.current?.contains(E.target)||c(!1)};return document.addEventListener("pointerdown",u),()=>document.removeEventListener("pointerdown",u)},[o]),!e)return null;const m=e.camera.isPerspectiveCamera&&Number.isFinite(e.camera.aspect)?e.camera.aspect:16/9;return i.jsxs("div",{className:"volter-camera-preview","data-testid":"camera-preview",children:[i.jsxs(Oe,{className:"volter-camera-preview-header",gap:4,align:"center",children:[i.jsx(V,{icon:Ye,size:"sm"}),i.jsx(te,{variant:"label",truncate:!0,className:"volter-camera-preview-title",title:`${e.name} · ${e.lens}`,children:e.name}),i.jsx($,{text:s?"Unpin camera preview":"Pin camera preview",children:i.jsx(G,{"aria-label":s?"Unpin camera preview":"Pin camera preview","aria-pressed":s,size:"compact",onClick:Wt,children:i.jsx(V,{icon:Je,size:"sm"})})}),i.jsxs("div",{ref:a,className:"volter-camera-preview-menu-anchor",children:[i.jsx($,{text:"Camera actions",children:i.jsx(G,{"aria-label":"Camera actions","aria-expanded":o,size:"compact",onClick:()=>c(u=>!u),children:i.jsx(V,{icon:Ze,size:"sm"})})}),o?i.jsxs(et,{className:"volter-camera-preview-menu",children:[i.jsx(Q,{variant:"ghost",size:"compact",disabled:!e.canAuthorPose,title:e.poseRefusal,onClick:()=>{c(!1),Le(e)},children:"Pilot Camera"}),i.jsx(Q,{variant:"ghost",size:"compact",onClick:()=>{c(!1),Ae(e)},children:"View Through Camera"}),i.jsx(Q,{variant:"ghost",size:"compact",disabled:!e.canAuthorPose,title:e.poseRefusal,onClick:()=>{c(!1),Nt(e)},children:"Align Camera to Current View"})]}):null]})]}),i.jsx("div",{ref:r,className:"volter-camera-preview-image",style:{aspectRatio:String(Math.max(.5,Math.min(3,m)))},role:"img","aria-label":`Live view through ${e.name}`,onDoubleClick:()=>Ae(e)})]})}function Er(){return i.jsxs("div",{className:"volter-camera-guides","aria-hidden":"true",children:[i.jsx("div",{className:"volter-camera-guide volter-camera-guide-v1"}),i.jsx("div",{className:"volter-camera-guide volter-camera-guide-v2"}),i.jsx("div",{className:"volter-camera-guide volter-camera-guide-h1"}),i.jsx("div",{className:"volter-camera-guide volter-camera-guide-h2"}),i.jsx("div",{className:"volter-camera-safe-frame"}),i.jsx("div",{className:"volter-camera-center-mark"})]})}function jr(){const{view:r,guidesVisible:e}=U();if(!r)return null;const s=r.mode==="pilot";return i.jsxs(i.Fragment,{children:[e?i.jsx(Er,{}):null,i.jsx(tt,{variant:"overlay",border:!0,className:"volter-camera-view-banner volter-chrome-island volter-glass-island","data-testid":"camera-view-banner",children:i.jsxs(Oe,{gap:6,align:"center",children:[i.jsx(rt,{children:s?"PILOTING":"CAMERA VIEW"}),i.jsx(te,{variant:"label",children:r.subject.name}),i.jsx(te,{variant:"caption",tone:"muted",children:"Exact camera view"}),i.jsx($,{text:e?"Hide composition guides":"Show composition guides",children:i.jsx(G,{"aria-label":e?"Hide composition guides":"Show composition guides","aria-pressed":e,size:"compact",onClick:_t,children:i.jsx(V,{icon:nt,size:"sm"})})}),s?null:i.jsx(Q,{size:"compact",variant:"primary",disabled:!r.subject.canAuthorPose,title:r.subject.poseRefusal,onClick:()=>Le(r.subject),children:"Pilot"}),i.jsx($,{text:"Exit camera view",children:i.jsx(G,{"aria-label":"Exit camera view",size:"compact",onClick:Dt,children:i.jsx(V,{icon:ot,size:"sm"})})})]})})]})}function kr({previewRef:r}){return f.useSyncExternalStore(zt,Te,Te),i.jsxs(i.Fragment,{children:[i.jsx(Pr,{previewRef:r}),i.jsx(jr,{})]})}function Tr(r){const e=r,s=e.getExtension("EXT_disjoint_timer_query_webgl2"),o=s!==null&&typeof e.createQuery=="function",c=[];let a=null,m=null;return{begin(){!o||a||(a=e.createQuery(),a&&e.beginQuery(s.TIME_ELAPSED_EXT,a))},end(){!o||!a||(e.endQuery(s.TIME_ELAPSED_EXT),c.push(a),a=null)},poll(){if(!o)return null;if(e.getParameter(s.GPU_DISJOINT_EXT)){for(const u of c.splice(0))e.deleteQuery(u);return null}for(;c.length>0;){const u=c[0];if(!e.getQueryParameter(u,e.QUERY_RESULT_AVAILABLE))break;c.shift(),m=e.getQueryParameter(u,e.QUERY_RESULT)/1e6,e.deleteQuery(u)}return m},dispose(){a&&(e.endQuery(s.TIME_ELAPSED_EXT),e.deleteQuery(a),a=null);for(const u of c.splice(0))e.deleteQuery(u)}}}const Ar=2e4,Rr=250,Mr=5e3;class Vr{#e=0;#t=0;#r=0;#n;constructor(e){this.#n=e}get pending(){return this.#e>0||this.#t>0}begin(e,s){this.#e=e+Ar,this.#t=s?e+Mr:0,this.#r=0,this.tick(e)}tick(e){if(!(!this.pending||e<this.#r)){if(this.#r=e+Rr,this.#t>0&&this.#n.seedFromGameCamera()){this.cancel();return}this.#e>0&&this.#n.frameContent()&&(this.#e=0),e>=this.#e&&(this.#e=0),e>=this.#t&&(this.#t=0)}}cancel(){this.#e=0,this.#t=0}}const Me=new WeakMap;function Or(r,e){if(!r)return e(),!0;if(Me.has(r))return!1;try{return e(),!0}catch(s){const o=s instanceof Error?s.message:String(s);return Me.set(r,o),j.warn(`The Scene view cannot draw this world with the editor's own renderer, and has stopped trying: ${o}. This world was built by a copy of three the editor did not make (a vendored bundle pins its own revision), and the editor draws it with ITS three — across a wide enough revision gap the two disagree about the renderer/material contract. The game itself is unaffected and still drawing: its own canvas is what the Game tab and ${st("screenshot")} show, and hierarchy, selection and inspection all still read the live world. It closes when the game resolves \`three\` to the host's instance — a bare, un-rewritten \`import 'three'\` in its own source.`,"ingest"),!1}}function Lr(){const r=at();r.addEventListener("server-log",s=>{try{Se(JSON.parse(s.data))}catch{}});let e=!1;return(async()=>{try{const s=await it();if(e)return;for(const o of s)Se(o)}catch{}})(),()=>{e=!0,r.close()}}const Ie="viewportPose";function Fr(){const r=ct(Ie);return r&&Array.isArray(r.position)&&r.position.length===3&&r.position.every(Number.isFinite)&&Array.isArray(r.target)&&r.target.length===3&&r.target.every(Number.isFinite)?r:null}function Ir(r,e){lt(Ie,{position:[r.position.x,r.position.y,r.position.z],target:[e.x,e.y,e.z]})}const Ve={id:"world",title:"World",lights:[{color:"#ffffff",intensity:1,direction:[-10,-20,-10],space:"world"}],ambient:{color:"#ffffff",intensity:.5},environmentIntensity:0};yt(Ve),St("world",{all:{lighting:{source:"studio",studioPreset:Ve.id,auto:{takeover:["light"],overridable:!0}}}});function zr(r,e,s){const o=document.createElement("canvas");o.setAttribute("aria-label",`${s} authoring viewport`),o.setAttribute("data-testid","editor-canvas"),o.setAttribute("aria-hidden","true"),o.tabIndex=-1,o.style.width="100%",o.style.height="100%",o.style.display="block",o.style.pointerEvents="auto",r.appendChild(o);const c=Math.max(1,e.clientWidth),a=Math.max(1,e.clientHeight),m=Math.min(window.devicePixelRatio||1,2);o.width=Math.ceil(c*m),o.height=Math.ceil(a*m);const u=Gt(new nr({canvas:o,antialias:!!Ht(void 0).antialias,powerPreference:"high-performance"}));return Kt(u,void 0,m),u.setSize(c,a),u.shadowMap.type=xr,u.info.autoReset=!1,Bt(u),{canvas:o,renderer:u,lease:null}}async function Wr(r){const e=pt(r.source,r.id);if(e)return e;let s=r.url,o=r.format??"gltf",c=r.includes;if(!s){const u=(await ft(r.source,r.id))[0];if(!u)return j.error(`No downloadable files for ${r.name}.`,"asset"),null;s=u.url,o=u.format,c=u.includes}const a={source:r.source,id:r.id,name:r.name,url:s,format:o};c&&(a.includes=c);const m=await yr(a);return m.ok&&m.path?`/${m.path}`:(j.error(`Could not download ${r.name}.`,"asset"),null)}function Nr(r){if(r.isCamera)return r;const e=Fe(r,"_camera");return e?.isCamera?e:null}function _r(r){const e=r;if(e.isPerspectiveCamera)return`${e.fov.toFixed(0)}° perspective`;const s=r;return s.isOrthographicCamera?`Orthographic · ${s.zoom.toFixed(2)}×`:r.type}function Dr(r,e){const s=r.transforms;if(!s)return{canAuthorPose:!1,poseRefusal:"This camera has no transform authoring path."};const o=s.editability?.(e,"position")??{writable:!0},c=s.editability?.(e,"rotation")??{writable:!0};return o.writable&&c.writable?{canAuthorPose:!0}:{canAuthorPose:!1,poseRefusal:o.reason??c.reason??"This camera pose is read-only."}}function Qr(r,e,s){const o=e.get(s)??null;if(!o)return null;const c=Nr(o);return c?{id:s,name:o.name||c.name||"Camera",camera:c,lens:_r(c),...Dr(r,s)}:null}function $r(r){const e=new Map;for(const[s,o]of r.objectMap){const c=Fe(o,"tags");Array.isArray(c)&&c.length>0&&e.set(s,c)}return e}function Gr(r){const{store:e,documentId:s,container:o,canvas:c,renderer:a,stats:m}=r,u=new Jt(a),E=qt(),O=new Xt,g=$t(),L=Tr(a.getContext()),ze=t=>{g.enabled&&L.begin();try{t()}finally{L.end()}},We=()=>g.enabled?L.poll():null,Ne=ut({id:s,label:"Scene viewport",kind:"scene",profiler:g}),b=new Cr,re=11184810;let B=Ce(c).background??re;b.background=new ee(B);const _e=xe(c,()=>{const t=Ce(c).background??re,l=b.background;l instanceof ee&&l.getHex()===B&&(b.background=new ee(t)),B=t});e.bindScene(b,a);const n=new lr(c,b,e,o,{renderer:a,onlineAssetResolver:Wr,onProjectionChange:ur}),De=n.bindPresentation(s,"world");e.bindScene(b,a,n.batchedRenderer,n.camera),e.setOrbitTarget(n.orbitControls.target);const H=new D,F=new D,ne=new D,oe=()=>{const t=n.renderCamera;t.getWorldPosition(H),n.cameraViewMode==="pilot"?F.copy(n.orbitControls.target):n.cameraViewMode?(t.getWorldDirection(ne),F.copy(H).add(ne.multiplyScalar(10))):F.copy(n.orbitControls.target);const l=t.fov;return{position:H,target:F,fov:typeof l=="number"?l:0}},k=Sr({scene:b,store:e,documentId:s,container:o,canvas:c,viewport:n,readVisibleCameraPose:oe});let se="",q=null,h=null,S=null,I=null;const ae=()=>{h&&fr(h,ke(a.domElement))},Qe=xe(a.domElement,ae),ie=()=>{if(!h)return;const t=x(e.shell),l=[...e.shell.selectedEntityIds].filter(d=>t.hierarchy.node(d)!==null).map(d=>Z(t,e.objectMap,d)).filter(d=>d!==null);hr(h,l);const p=h.selection.size>0;S&&(S.enabled=p,S.renderToScreen=p),I&&(I.renderToScreen=!p)};function T(){bt(e.shell),q?.(),q=null,h&&gr(a,h,S),h=null,S=null,I=null,Yt(u,a,e.scene??b,n.renderCamera,void 0,{basePixelRatio:Math.min(window.devicePixelRatio||1,2),objectMap:e.objectMap,entityTags:$r(e)}),h=pr({BlendFunction:er,KernelSize:tr,OutlineEffect:rr},a,e.scene??b,n.renderCamera,ke(a.domElement)),ae(),I=u.passes.at(-1)??null,S=new Zt(n.renderCamera,h),S.enabled=!1,u.addPass(S),ie();const t=e.adoptedImageConfig;t&&(q=Ut(or,a,t))}const ce=()=>{n.setProjection(mr().projection),e.setViewportCamera(n.freeCamera),T()},$e=dr(ce);ce();const X=t=>Qr(x(e.shell),e.objectMap,t);let v=null;const A=()=>{v&&(je(x(e.shell),v),v=null)},le=()=>{const t=U().view;t?.mode!=="pilot"||!t.subject.canAuthorPose||(v=t.subject.id,Pe(x(e.shell),v))},ue=()=>{if(!v||n.cameraViewMode!=="pilot")return;const t=X(v),l=x(e.shell),p=l.transforms;if(!t||!p)return;let d;try{d=p.get(v)}catch(w){j.error(w instanceof Error?w.message:String(w),"camera-authoring"),A();return}Ee(l,v,{position:t.camera.position.toArray(),rotation:t.camera.quaternion.toArray(),scale:d.scale}),e.shell.notifyIngestEdit()};n.orbitControls.addEventListener("start",le),n.orbitControls.addEventListener("change",ue),n.orbitControls.addEventListener("end",A);const Ge=Qt({active:()=>e.shell.playState==="stopped"&&e.shell.activeViewportTab==="edit",selected:()=>{const t=e.shell.selectedEntityId;return t?X(t):null},resolve:X,showView:(t,l)=>{A(),n.setCameraView(t.camera,l),T(),k.reportCamera()},leaveView:()=>{A(),n.clearCameraView(),T(),k.reportCamera()},alignToViewport:t=>{const l=x(e.shell),p=l.transforms;if(!p||!t.canAuthorPose)return;const d=e.objectMap.get(t.id)??null;if(!d)return;const w=n.camera.getWorldPosition(new D),C=n.camera.getWorldQuaternion(new Re),y=w.clone(),R=C.clone();if(d.parent){d.parent.updateWorldMatrix(!0,!1),d.parent.worldToLocal(y);const M=d.parent.getWorldQuaternion(new Re);R.premultiply(M.invert())}let ye;try{ye=p.get(t.id)}catch(M){j.error(M instanceof Error?M.message:String(M),"camera-authoring");return}Pe(l,t.id),Ee(l,t.id,{position:y.toArray(),rotation:R.toArray(),scale:ye.scale}),e.shell.notifyIngestEdit(),je(l,t.id)},subscribe:e.shell.subscribe});let de=null;const me=()=>{const t=ht(e.shell);t!==de&&(de=t,c.style.opacity=t?"1":"0",o.style.backgroundColor=t?"":gt.surface.raised,o.style.backgroundImage=t?"":"linear-gradient(45deg, #444649 25%, transparent 25%, transparent 75%, #444649 75%), linear-gradient(45deg, #444649 25%, transparent 25%, transparent 75%, #444649 75%)",o.style.backgroundPosition=t?"":"0 0, 8px 8px",o.style.backgroundSize=t?"":"16px 16px")};me();let pe=e.composerVersion;const Ue=e.shell.subscribe(()=>{me();const t=e.scene;t&&t!==n.currentScene&&n.setScene(t),n.objectMap=e.objectMap,n.syncFromStore(),e.composerVersion!==pe?(pe=e.composerVersion,T()):ie()});let z=null;const K=new Vr({seedFromGameCamera:()=>{const t=z?.()??null;return!!t&&n.seedFromGameCamera(t)},frameContent:()=>n.focusOnScene()}),fe=()=>{K.cancel(),z=null};n.orbitControls.addEventListener("start",fe);const he=()=>Ir(n.camera,n.orbitControls.target);n.orbitControls.addEventListener("end",he);const Be=e.shell.onViewportAction(t=>{switch(t.type){case"focus-entity":{const l=Z(x(e.shell),e.objectMap,t.id);l&&n.focusOn(l);break}case"focus-scene":{{const l=Fr();if(l){n.camera.position.set(...l.position),n.orbitControls.target.set(...l.target),n.orbitControls.update();break}}z=e.sceneCameraLookup,K.begin(performance.now(),z!==null);break}case"focus-selection":{const l=x(e.shell),p=[...e.shell.selectedEntityIds].map(d=>Z(l,e.objectMap,d)).filter(d=>d!==null);n.focusOnMultiple(p);break}case"snap-selection-to-floor":n.snapSelectionToFloor();break;case"set-view-preset":n.setViewPreset(t.preset);break;case"step-view":n.stepView(t.step);break;case"frame-all":n.focusOnScene();break;case"zoom-view":n.zoomStep(t.direction);break;case"set-camera-pose":n.setPose(t.position,t.target,t.fov);break}});Lr();const ge=new ResizeObserver(()=>{const t=Math.max(1,o.clientWidth),l=Math.max(1,o.clientHeight);a.setSize(t,l),u.setSize(t,l),n.resize(t,l)});ge.observe(o);let W=performance.now(),N=!0,P=!1,be=!1;function ve(t){return Or(n.currentScene,()=>{E.render(a,n.currentScene,n.renderCamera),n.renderWithInfrastructure(()=>{vr(n.currentScene,()=>O.render(n.currentScene,e.shadingMode,()=>u.render(t),br)),n.renderViewCube(a),n.renderCameraPreview(a,U().preview?.camera??null,r.cameraPreview())})})}const He=ir(c,async()=>{if(P||!cr()||!o.checkVisibility({visibilityProperty:!0,checkVisibilityCSS:!0})||!ve(0))return null;const t=document.createElement("canvas");return t.width=c.width,t.height=c.height,t.getContext("2d").drawImage(c,0,0),t}),Y=()=>wt(e.shell)===e.shell;function qe(t,l){if(P)return;if(l&&(W=t),!o.checkVisibility({visibilityProperty:!0,checkVisibilityCSS:!0})){W=t,N=!0,n.resolvePresentation();return}g.beginFrame();const p=t-W,d=p/1e3;Y()&&(m.frameTime=p,m.fps=1e3/p),W=t,k.syncMarkers(d),K.tick(t),g.beginPhase(),n.update(d),r.runFrame(d),n.batchedRenderer.update(d),g.endPhase("editor"),g.beginPhase(),a.info.reset(),ze(()=>{ve(d)}),g.reportRender({gpuMs:We(),drawCalls:a.info.render.calls,triangles:a.info.render.triangles,geometries:a.info.memory.geometries,textures:a.info.memory.textures}),g.endPhase("render"),Y()&&(m.drawCalls=a.info.render.calls,m.triangles=a.info.render.triangles),N&&be&&(N=!1,vt(s)),g.endFrame();const w=oe(),C=w.position,y=w.target;Y()&&(m.cameraPosition.x=C.x,m.cameraPosition.y=C.y,m.cameraPosition.z=C.z,m.cameraTarget.x=y.x,m.cameraTarget.y=y.y,m.cameraTarget.z=y.z);const R=`${C.x},${C.y},${C.z},${y.x},${y.y},${y.z},${w.fov}`;R!==se&&(se=R,k.reportCamera())}n.objectMap=e.objectMap,n.syncFromStore(),T();let J,_;async function Xe(t){if(P)return;r.onMountStatus("mounting"),_?.(),_=void 0,J=t,r.onRootIds(t.childAdapters().filter(d=>d.role==="world"&&d.kind==="three").map(d=>d.worldId));const l=sr("three");if(P||J!==t)return;const p=l?await l.mountWorldRootSession({store:e,composite:t,renderer:a}):()=>{};if(P||J!==t){p();return}_=p,P||r.onMountStatus("ready")}const we=ar(e.shell,Xe);return we.ready.then(()=>dt(mt(e.shell))).catch(t=>{j.error(`Editor boot failed: ${t instanceof Error?t.message:String(t)}`,"scene"),r.onMountStatus("ready")}).finally(()=>{be=!0,N=!0}),{scene:b,viewport:n,frame:qe,present:t=>wr(e,t),setHelper:(t,l)=>n.setHelper(t,l),dispose:()=>{P=!0,Ne(),He(),ge.disconnect(),Ue(),Be(),Ge(),n.orbitControls.removeEventListener("start",le),n.orbitControls.removeEventListener("change",ue),n.orbitControls.removeEventListener("end",A),n.orbitControls.removeEventListener("start",fe),n.orbitControls.removeEventListener("end",he),we.dispose(),_?.(),k.dispose(),O.dispose(),L.dispose(),$e(),Qe(),_e(),De(),h?.selection.clear(),E.dispose(),u.dispose()}}}function Ur({store:r,rootIds:e,mountStatus:s}){f.useSyncExternalStore(r.shell.subscribe,r.shell.getSnapshot);const o=f.useSyncExternalStore(kt,Tt),c=f.useSyncExternalStore(At,Rt),a=r.scene?.background,m=a!==null&&!(a?.isColor===!0&&a.getHex()===11184810),u=f.useMemo(()=>!!(r.scene&&It(r.scene,{includeBackground:!1,ignoredLayer:Ke})),[r.scene,r.shell.contentVersion]),E=!!(r.scene&&(m||u)),O=Lt({surface:"Scene",rootIds:e,phase:s==="mounting"?"loading":"ready",content:E?"present":s==="mounting"?"unknown":"empty",readiness:o,failures:c});return i.jsx(Ft,{explanation:O,testId:"scene-viewport-status"})}function Br({store:r,documentId:e,cameraPreviewRef:s,mountStatus:o,rootIds:c}){f.useSyncExternalStore(r.shell.subscribe,r.shell.getShellSnapshot??r.shell.getSnapshot),f.useSyncExternalStore(Ct,xt),f.useSyncExternalStore(Mt,Vt),f.useSyncExternalStore(Pt,Et);const a=jt(r.shell,e,"document");return i.jsxs(i.Fragment,{children:[a.surface!==null?i.jsx(Ot,{}):null,a.surface==="three"?i.jsx(kr,{previewRef:s}):null,i.jsx(Ur,{store:r,rootIds:c,mountStatus:o})]})}const ko={mountWorldRootSurface:zr,installWorldRootStage:Gr,Overlays:Br};export{ko as worldRootStageBinding};
1
+ import{a as i}from"./jsx-runtime-DPjLkJKQ.js";import{EDITOR_LAYER as Ke}from"./editor-layers-Djcn6Scw.js";import{df as Oe,a7 as V,bN as Ye,aL as te,bw as $,aM as G,kI as Je,bM as Ze,bP as et,a6 as Q,g$ as tt,hF as rt,j_ as nt,kJ as ot,Z as j,K as st,ci as at,kK as Se,cx as it,kL as ct,kM as lt,kN as ut,kO as Ce,kP as xe,aD as x,cU as dt,kQ as mt,cq as pt,cv as ft,kR as Pe,kS as Ee,kT as je,kU as ht,al as gt,kV as bt,kW as ke,dI as vt,kX as wt,kY as yt,j3 as St,iV as Ct,iW as xt,gK as Pt,gL as Et,j1 as jt,g2 as kt,g3 as Tt,g4 as At,g5 as Rt}from"./index-BXH2Jsun.js";import{s as Mt,o as Vt}from"./object3d-document-session-registry-CTeivmwK.js";import{R as Ot}from"./RootSelectionOverlay-Jz5Ll7BT.js";import{e as Lt,S as Ft}from"./surface-state-Bt3iAf79.js";import{r as f}from"./index-nmcBqr7Y.js";import{t as It}from"./surface-content-Dg9Kkazf.js";import"./index-CtzuWnCS.js";import{s as zt,d as Te,c as U,t as Wt,p as Le,v as Ae,b as Nt,e as _t,l as Dt,i as Qt}from"./camera-authoring-DYjhU5Zp.js";import{c as $t}from"./performance-profiler-CMbwGBuk.js";import{m as Gt}from"./renderer-ownership-BovSEcLv.js";import{applyWorldRendererConfig as Ut}from"./renderer-config-CaPR4dB_.js";import{getUserData as Fe}from"./user-data-CODoGZqA.js";import{detectKtx2Support as Bt}from"./loader-BTUKnX5Q.js";import{resolveRenderSettings as Ht}from"./render-settings-Mh_ddGef.js";import{createSoftParticleDepthPass as qt}from"./soft-particle-depth-DNGwWJ8c.js";import{ViewportShadingRenderer as Xt}from"./viewport-shading-D9BMDb1N.js";import{applyRendererSettings as Kt,applySceneRenderPipeline as Yt}from"./setup-renderer-BCSUurTm.js";import{EffectComposer as Jt,EffectPass as Zt,BlendFunction as er,KernelSize as tr,OutlineEffect as rr}from"./index-DHhMOs_s.js";import{W as nr,T as or}from"./three.module-BLhyNg0e.js";import{d as sr}from"./design-time-mount-registry-DUpXCg1U.js";import{a as ar}from"./project-authoring-session-B0YSloNS.js";import"./three-integration-BxG_D6RK.js";import{registerPresentedCanvasFrame as ir}from"./canvas-preview-frames-BJNr8ArE.js";import{i as cr}from"./editor-presentation-activity-CqJH4G9t.js";import{E as lr,s as ur,a as dr,t as mr,b as pr,c as fr,d as hr,r as gr,i as br}from"./three-viewport-presentation-Da0lYO0_.js";import{a as Z}from"./entity-object-BiOrbQZM.js";import{w as vr}from"./editor-shell-store-Br2L1Fw1.js";import{p as wr}from"./viewport-root-presentation-52V6g9Ae.js";import{d as yr}from"./asset-editor-persistence-Dcy1Joo-.js";import{bindStagePresenceMarkers as Sr}from"./stage-presence-markers-C9j53BR-.js";import{el as Cr,_ as ee,fo as D,d7 as xr,dp as Re}from"./three.core-3arARmh6.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./workspace-arrangement-D8CXsifv.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./eyedropper-session-bjPXnfeX.js";import"./layered-pick-Cn98HSnj.js";import"./root-stacking-BEd9ZvxC.js";import"./react-story-board-CMghMNcN.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./inspect-Dah00n9O.js";import"./inference-diagnostics-CxWL3UhK.js";import"./object-marks-BnvSuCTt.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./render-features-B7OI7f1i.js";import"./matcap-texture-Dm2c-VQa.js";import"./defaults-DKiBJCPN.js";import"./edit-mode-authoring-BeMAYXYR.js";import"./host-hierarchy-objects-BV3WqU2w.js";import"./preview-renderer-BrYNFV1p.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./user-data-CYeyy9Su.js";import"./model-thumbnail-Cgyfafqg.js";import"./studio-environment-TibfpTB9.js";import"./three-state-B9ax7cgA.js";import"./hierarchy-marks-3Iq1RFIh.js";import"./component-instance-root-Cw2jcbxa.js";import"./three-contract-Dkt6PmWY.js";import"./viewport-door-CCXNhxOW.js";import"./content-bounds-vfJMc-IO.js";import"./asset-preview-CGO8kmg5.js";import"./bitmap-label-Ct4k6ehY.js";import"./index-D9H8FkR3.js";import"./standard-viewport-dressing-CCVrTojE.js";import"./clip-planes-CnAI6DZn.js";import"./three-DfbLdx-e.js";import"./model-inspection-B5p-uq9q.js";import"./OrbitControls-B13MKuwC.js";import"./LineSegments2-DN9pUfWA.js";import"./three.quarks.esm-C_HmSKXo.js";import"./live-gesture-lock-DJbrjOqf.js";import"./scene-framing-BgT3O3rp.js";import"./live-mixers-B-bwLZ7c.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./mounted-authoring-DMWjUr2Z.js";import"./collaboration-presence-BYi9wylK.js";function Pr({previewRef:r}){const{preview:e,previewPinned:s}=U(),[o,c]=f.useState(!1),a=f.useRef(null);if(f.useEffect(()=>{if(!o)return;const u=E=>{a.current?.contains(E.target)||c(!1)};return document.addEventListener("pointerdown",u),()=>document.removeEventListener("pointerdown",u)},[o]),!e)return null;const m=e.camera.isPerspectiveCamera&&Number.isFinite(e.camera.aspect)?e.camera.aspect:16/9;return i.jsxs("div",{className:"volter-camera-preview","data-testid":"camera-preview",children:[i.jsxs(Oe,{className:"volter-camera-preview-header",gap:4,align:"center",children:[i.jsx(V,{icon:Ye,size:"sm"}),i.jsx(te,{variant:"label",truncate:!0,className:"volter-camera-preview-title",title:`${e.name} · ${e.lens}`,children:e.name}),i.jsx($,{text:s?"Unpin camera preview":"Pin camera preview",children:i.jsx(G,{"aria-label":s?"Unpin camera preview":"Pin camera preview","aria-pressed":s,size:"compact",onClick:Wt,children:i.jsx(V,{icon:Je,size:"sm"})})}),i.jsxs("div",{ref:a,className:"volter-camera-preview-menu-anchor",children:[i.jsx($,{text:"Camera actions",children:i.jsx(G,{"aria-label":"Camera actions","aria-expanded":o,size:"compact",onClick:()=>c(u=>!u),children:i.jsx(V,{icon:Ze,size:"sm"})})}),o?i.jsxs(et,{className:"volter-camera-preview-menu",children:[i.jsx(Q,{variant:"ghost",size:"compact",disabled:!e.canAuthorPose,title:e.poseRefusal,onClick:()=>{c(!1),Le(e)},children:"Pilot Camera"}),i.jsx(Q,{variant:"ghost",size:"compact",onClick:()=>{c(!1),Ae(e)},children:"View Through Camera"}),i.jsx(Q,{variant:"ghost",size:"compact",disabled:!e.canAuthorPose,title:e.poseRefusal,onClick:()=>{c(!1),Nt(e)},children:"Align Camera to Current View"})]}):null]})]}),i.jsx("div",{ref:r,className:"volter-camera-preview-image",style:{aspectRatio:String(Math.max(.5,Math.min(3,m)))},role:"img","aria-label":`Live view through ${e.name}`,onDoubleClick:()=>Ae(e)})]})}function Er(){return i.jsxs("div",{className:"volter-camera-guides","aria-hidden":"true",children:[i.jsx("div",{className:"volter-camera-guide volter-camera-guide-v1"}),i.jsx("div",{className:"volter-camera-guide volter-camera-guide-v2"}),i.jsx("div",{className:"volter-camera-guide volter-camera-guide-h1"}),i.jsx("div",{className:"volter-camera-guide volter-camera-guide-h2"}),i.jsx("div",{className:"volter-camera-safe-frame"}),i.jsx("div",{className:"volter-camera-center-mark"})]})}function jr(){const{view:r,guidesVisible:e}=U();if(!r)return null;const s=r.mode==="pilot";return i.jsxs(i.Fragment,{children:[e?i.jsx(Er,{}):null,i.jsx(tt,{variant:"overlay",border:!0,className:"volter-camera-view-banner volter-chrome-island volter-glass-island","data-testid":"camera-view-banner",children:i.jsxs(Oe,{gap:6,align:"center",children:[i.jsx(rt,{children:s?"PILOTING":"CAMERA VIEW"}),i.jsx(te,{variant:"label",children:r.subject.name}),i.jsx(te,{variant:"caption",tone:"muted",children:"Exact camera view"}),i.jsx($,{text:e?"Hide composition guides":"Show composition guides",children:i.jsx(G,{"aria-label":e?"Hide composition guides":"Show composition guides","aria-pressed":e,size:"compact",onClick:_t,children:i.jsx(V,{icon:nt,size:"sm"})})}),s?null:i.jsx(Q,{size:"compact",variant:"primary",disabled:!r.subject.canAuthorPose,title:r.subject.poseRefusal,onClick:()=>Le(r.subject),children:"Pilot"}),i.jsx($,{text:"Exit camera view",children:i.jsx(G,{"aria-label":"Exit camera view",size:"compact",onClick:Dt,children:i.jsx(V,{icon:ot,size:"sm"})})})]})})]})}function kr({previewRef:r}){return f.useSyncExternalStore(zt,Te,Te),i.jsxs(i.Fragment,{children:[i.jsx(Pr,{previewRef:r}),i.jsx(jr,{})]})}function Tr(r){const e=r,s=e.getExtension("EXT_disjoint_timer_query_webgl2"),o=s!==null&&typeof e.createQuery=="function",c=[];let a=null,m=null;return{begin(){!o||a||(a=e.createQuery(),a&&e.beginQuery(s.TIME_ELAPSED_EXT,a))},end(){!o||!a||(e.endQuery(s.TIME_ELAPSED_EXT),c.push(a),a=null)},poll(){if(!o)return null;if(e.getParameter(s.GPU_DISJOINT_EXT)){for(const u of c.splice(0))e.deleteQuery(u);return null}for(;c.length>0;){const u=c[0];if(!e.getQueryParameter(u,e.QUERY_RESULT_AVAILABLE))break;c.shift(),m=e.getQueryParameter(u,e.QUERY_RESULT)/1e6,e.deleteQuery(u)}return m},dispose(){a&&(e.endQuery(s.TIME_ELAPSED_EXT),e.deleteQuery(a),a=null);for(const u of c.splice(0))e.deleteQuery(u)}}}const Ar=2e4,Rr=250,Mr=5e3;class Vr{#e=0;#t=0;#r=0;#n;constructor(e){this.#n=e}get pending(){return this.#e>0||this.#t>0}begin(e,s){this.#e=e+Ar,this.#t=s?e+Mr:0,this.#r=0,this.tick(e)}tick(e){if(!(!this.pending||e<this.#r)){if(this.#r=e+Rr,this.#t>0&&this.#n.seedFromGameCamera()){this.cancel();return}this.#e>0&&this.#n.frameContent()&&(this.#e=0),e>=this.#e&&(this.#e=0),e>=this.#t&&(this.#t=0)}}cancel(){this.#e=0,this.#t=0}}const Me=new WeakMap;function Or(r,e){if(!r)return e(),!0;if(Me.has(r))return!1;try{return e(),!0}catch(s){const o=s instanceof Error?s.message:String(s);return Me.set(r,o),j.warn(`The Scene view cannot draw this world with the editor's own renderer, and has stopped trying: ${o}. This world was built by a copy of three the editor did not make (a vendored bundle pins its own revision), and the editor draws it with ITS three — across a wide enough revision gap the two disagree about the renderer/material contract. The game itself is unaffected and still drawing: its own canvas is what the Game tab and ${st("screenshot")} show, and hierarchy, selection and inspection all still read the live world. It closes when the game resolves \`three\` to the host's instance — a bare, un-rewritten \`import 'three'\` in its own source.`,"ingest"),!1}}function Lr(){const r=at();r.addEventListener("server-log",s=>{try{Se(JSON.parse(s.data))}catch{}});let e=!1;return(async()=>{try{const s=await it();if(e)return;for(const o of s)Se(o)}catch{}})(),()=>{e=!0,r.close()}}const Ie="viewportPose";function Fr(){const r=ct(Ie);return r&&Array.isArray(r.position)&&r.position.length===3&&r.position.every(Number.isFinite)&&Array.isArray(r.target)&&r.target.length===3&&r.target.every(Number.isFinite)?r:null}function Ir(r,e){lt(Ie,{position:[r.position.x,r.position.y,r.position.z],target:[e.x,e.y,e.z]})}const Ve={id:"world",title:"World",lights:[{color:"#ffffff",intensity:1,direction:[-10,-20,-10],space:"world"}],ambient:{color:"#ffffff",intensity:.5},environmentIntensity:0};yt(Ve),St("world",{all:{lighting:{source:"studio",studioPreset:Ve.id,auto:{takeover:["light"],overridable:!0}}}});function zr(r,e,s){const o=document.createElement("canvas");o.setAttribute("aria-label",`${s} authoring viewport`),o.setAttribute("data-testid","editor-canvas"),o.setAttribute("aria-hidden","true"),o.tabIndex=-1,o.style.width="100%",o.style.height="100%",o.style.display="block",o.style.pointerEvents="auto",r.appendChild(o);const c=Math.max(1,e.clientWidth),a=Math.max(1,e.clientHeight),m=Math.min(window.devicePixelRatio||1,2);o.width=Math.ceil(c*m),o.height=Math.ceil(a*m);const u=Gt(new nr({canvas:o,antialias:!!Ht(void 0).antialias,powerPreference:"high-performance"}));return Kt(u,void 0,m),u.setSize(c,a),u.shadowMap.type=xr,u.info.autoReset=!1,Bt(u),{canvas:o,renderer:u,lease:null}}async function Wr(r){const e=pt(r.source,r.id);if(e)return e;let s=r.url,o=r.format??"gltf",c=r.includes;if(!s){const u=(await ft(r.source,r.id))[0];if(!u)return j.error(`No downloadable files for ${r.name}.`,"asset"),null;s=u.url,o=u.format,c=u.includes}const a={source:r.source,id:r.id,name:r.name,url:s,format:o};c&&(a.includes=c);const m=await yr(a);return m.ok&&m.path?`/${m.path}`:(j.error(`Could not download ${r.name}.`,"asset"),null)}function Nr(r){if(r.isCamera)return r;const e=Fe(r,"_camera");return e?.isCamera?e:null}function _r(r){const e=r;if(e.isPerspectiveCamera)return`${e.fov.toFixed(0)}° perspective`;const s=r;return s.isOrthographicCamera?`Orthographic · ${s.zoom.toFixed(2)}×`:r.type}function Dr(r,e){const s=r.transforms;if(!s)return{canAuthorPose:!1,poseRefusal:"This camera has no transform authoring path."};const o=s.editability?.(e,"position")??{writable:!0},c=s.editability?.(e,"rotation")??{writable:!0};return o.writable&&c.writable?{canAuthorPose:!0}:{canAuthorPose:!1,poseRefusal:o.reason??c.reason??"This camera pose is read-only."}}function Qr(r,e,s){const o=e.get(s)??null;if(!o)return null;const c=Nr(o);return c?{id:s,name:o.name||c.name||"Camera",camera:c,lens:_r(c),...Dr(r,s)}:null}function $r(r){const e=new Map;for(const[s,o]of r.objectMap){const c=Fe(o,"tags");Array.isArray(c)&&c.length>0&&e.set(s,c)}return e}function Gr(r){const{store:e,documentId:s,container:o,canvas:c,renderer:a,stats:m}=r,u=new Jt(a),E=qt(),O=new Xt,g=$t(),L=Tr(a.getContext()),ze=t=>{g.enabled&&L.begin();try{t()}finally{L.end()}},We=()=>g.enabled?L.poll():null,Ne=ut({id:s,label:"Scene viewport",kind:"scene",profiler:g}),b=new Cr,re=11184810;let B=Ce(c).background??re;b.background=new ee(B);const _e=xe(c,()=>{const t=Ce(c).background??re,l=b.background;l instanceof ee&&l.getHex()===B&&(b.background=new ee(t)),B=t});e.bindScene(b,a);const n=new lr(c,b,e,o,{renderer:a,onlineAssetResolver:Wr,onProjectionChange:ur}),De=n.bindPresentation(s,"world");e.bindScene(b,a,n.batchedRenderer,n.camera),e.setOrbitTarget(n.orbitControls.target);const H=new D,F=new D,ne=new D,oe=()=>{const t=n.renderCamera;t.getWorldPosition(H),n.cameraViewMode==="pilot"?F.copy(n.orbitControls.target):n.cameraViewMode?(t.getWorldDirection(ne),F.copy(H).add(ne.multiplyScalar(10))):F.copy(n.orbitControls.target);const l=t.fov;return{position:H,target:F,fov:typeof l=="number"?l:0}},k=Sr({scene:b,store:e,documentId:s,container:o,canvas:c,viewport:n,readVisibleCameraPose:oe});let se="",q=null,h=null,S=null,I=null;const ae=()=>{h&&fr(h,ke(a.domElement))},Qe=xe(a.domElement,ae),ie=()=>{if(!h)return;const t=x(e.shell),l=[...e.shell.selectedEntityIds].filter(d=>t.hierarchy.node(d)!==null).map(d=>Z(t,e.objectMap,d)).filter(d=>d!==null);hr(h,l);const p=h.selection.size>0;S&&(S.enabled=p,S.renderToScreen=p),I&&(I.renderToScreen=!p)};function T(){bt(e.shell),q?.(),q=null,h&&gr(a,h,S),h=null,S=null,I=null,Yt(u,a,e.scene??b,n.renderCamera,void 0,{basePixelRatio:Math.min(window.devicePixelRatio||1,2),objectMap:e.objectMap,entityTags:$r(e)}),h=pr({BlendFunction:er,KernelSize:tr,OutlineEffect:rr},a,e.scene??b,n.renderCamera,ke(a.domElement)),ae(),I=u.passes.at(-1)??null,S=new Zt(n.renderCamera,h),S.enabled=!1,u.addPass(S),ie();const t=e.adoptedImageConfig;t&&(q=Ut(or,a,t))}const ce=()=>{n.setProjection(mr().projection),e.setViewportCamera(n.freeCamera),T()},$e=dr(ce);ce();const X=t=>Qr(x(e.shell),e.objectMap,t);let v=null;const A=()=>{v&&(je(x(e.shell),v),v=null)},le=()=>{const t=U().view;t?.mode!=="pilot"||!t.subject.canAuthorPose||(v=t.subject.id,Pe(x(e.shell),v))},ue=()=>{if(!v||n.cameraViewMode!=="pilot")return;const t=X(v),l=x(e.shell),p=l.transforms;if(!t||!p)return;let d;try{d=p.get(v)}catch(w){j.error(w instanceof Error?w.message:String(w),"camera-authoring"),A();return}Ee(l,v,{position:t.camera.position.toArray(),rotation:t.camera.quaternion.toArray(),scale:d.scale}),e.shell.notifyIngestEdit()};n.orbitControls.addEventListener("start",le),n.orbitControls.addEventListener("change",ue),n.orbitControls.addEventListener("end",A);const Ge=Qt({active:()=>e.shell.playState==="stopped"&&e.shell.activeViewportTab==="edit",selected:()=>{const t=e.shell.selectedEntityId;return t?X(t):null},resolve:X,showView:(t,l)=>{A(),n.setCameraView(t.camera,l),T(),k.reportCamera()},leaveView:()=>{A(),n.clearCameraView(),T(),k.reportCamera()},alignToViewport:t=>{const l=x(e.shell),p=l.transforms;if(!p||!t.canAuthorPose)return;const d=e.objectMap.get(t.id)??null;if(!d)return;const w=n.camera.getWorldPosition(new D),C=n.camera.getWorldQuaternion(new Re),y=w.clone(),R=C.clone();if(d.parent){d.parent.updateWorldMatrix(!0,!1),d.parent.worldToLocal(y);const M=d.parent.getWorldQuaternion(new Re);R.premultiply(M.invert())}let ye;try{ye=p.get(t.id)}catch(M){j.error(M instanceof Error?M.message:String(M),"camera-authoring");return}Pe(l,t.id),Ee(l,t.id,{position:y.toArray(),rotation:R.toArray(),scale:ye.scale}),e.shell.notifyIngestEdit(),je(l,t.id)},subscribe:e.shell.subscribe});let de=null;const me=()=>{const t=ht(e.shell);t!==de&&(de=t,c.style.opacity=t?"1":"0",o.style.backgroundColor=t?"":gt.surface.raised,o.style.backgroundImage=t?"":"linear-gradient(45deg, #444649 25%, transparent 25%, transparent 75%, #444649 75%), linear-gradient(45deg, #444649 25%, transparent 25%, transparent 75%, #444649 75%)",o.style.backgroundPosition=t?"":"0 0, 8px 8px",o.style.backgroundSize=t?"":"16px 16px")};me();let pe=e.composerVersion;const Ue=e.shell.subscribe(()=>{me();const t=e.scene;t&&t!==n.currentScene&&n.setScene(t),n.objectMap=e.objectMap,n.syncFromStore(),e.composerVersion!==pe?(pe=e.composerVersion,T()):ie()});let z=null;const K=new Vr({seedFromGameCamera:()=>{const t=z?.()??null;return!!t&&n.seedFromGameCamera(t)},frameContent:()=>n.focusOnScene()}),fe=()=>{K.cancel(),z=null};n.orbitControls.addEventListener("start",fe);const he=()=>Ir(n.camera,n.orbitControls.target);n.orbitControls.addEventListener("end",he);const Be=e.shell.onViewportAction(t=>{switch(t.type){case"focus-entity":{const l=Z(x(e.shell),e.objectMap,t.id);l&&n.focusOn(l);break}case"focus-scene":{{const l=Fr();if(l){n.camera.position.set(...l.position),n.orbitControls.target.set(...l.target),n.orbitControls.update();break}}z=e.sceneCameraLookup,K.begin(performance.now(),z!==null);break}case"focus-selection":{const l=x(e.shell),p=[...e.shell.selectedEntityIds].map(d=>Z(l,e.objectMap,d)).filter(d=>d!==null);n.focusOnMultiple(p);break}case"snap-selection-to-floor":n.snapSelectionToFloor();break;case"set-view-preset":n.setViewPreset(t.preset);break;case"step-view":n.stepView(t.step);break;case"frame-all":n.focusOnScene();break;case"zoom-view":n.zoomStep(t.direction);break;case"set-camera-pose":n.setPose(t.position,t.target,t.fov);break}});Lr();const ge=new ResizeObserver(()=>{const t=Math.max(1,o.clientWidth),l=Math.max(1,o.clientHeight);a.setSize(t,l),u.setSize(t,l),n.resize(t,l)});ge.observe(o);let W=performance.now(),N=!0,P=!1,be=!1;function ve(t){return Or(n.currentScene,()=>{E.render(a,n.currentScene,n.renderCamera),n.renderWithInfrastructure(()=>{vr(n.currentScene,()=>O.render(n.currentScene,e.shadingMode,()=>u.render(t),br)),n.renderViewCube(a),n.renderCameraPreview(a,U().preview?.camera??null,r.cameraPreview())})})}const He=ir(c,async()=>{if(P||!cr()||!o.checkVisibility({visibilityProperty:!0,checkVisibilityCSS:!0})||!ve(0))return null;const t=document.createElement("canvas");return t.width=c.width,t.height=c.height,t.getContext("2d").drawImage(c,0,0),t}),Y=()=>wt(e.shell)===e.shell;function qe(t,l){if(P)return;if(l&&(W=t),!o.checkVisibility({visibilityProperty:!0,checkVisibilityCSS:!0})){W=t,N=!0,n.resolvePresentation();return}g.beginFrame();const p=t-W,d=p/1e3;Y()&&(m.frameTime=p,m.fps=1e3/p),W=t,k.syncMarkers(d),K.tick(t),g.beginPhase(),n.update(d),r.runFrame(d),n.batchedRenderer.update(d),g.endPhase("editor"),g.beginPhase(),a.info.reset(),ze(()=>{ve(d)}),g.reportRender({gpuMs:We(),drawCalls:a.info.render.calls,triangles:a.info.render.triangles,geometries:a.info.memory.geometries,textures:a.info.memory.textures}),g.endPhase("render"),Y()&&(m.drawCalls=a.info.render.calls,m.triangles=a.info.render.triangles),N&&be&&(N=!1,vt(s)),g.endFrame();const w=oe(),C=w.position,y=w.target;Y()&&(m.cameraPosition.x=C.x,m.cameraPosition.y=C.y,m.cameraPosition.z=C.z,m.cameraTarget.x=y.x,m.cameraTarget.y=y.y,m.cameraTarget.z=y.z);const R=`${C.x},${C.y},${C.z},${y.x},${y.y},${y.z},${w.fov}`;R!==se&&(se=R,k.reportCamera())}n.objectMap=e.objectMap,n.syncFromStore(),T();let J,_;async function Xe(t){if(P)return;r.onMountStatus("mounting"),_?.(),_=void 0,J=t,r.onRootIds(t.childAdapters().filter(d=>d.role==="world"&&d.kind==="three").map(d=>d.worldId));const l=sr("three");if(P||J!==t)return;const p=l?await l.mountWorldRootSession({store:e,composite:t,renderer:a}):()=>{};if(P||J!==t){p();return}_=p,P||r.onMountStatus("ready")}const we=ar(e.shell,Xe);return we.ready.then(()=>dt(mt(e.shell))).catch(t=>{j.error(`Editor boot failed: ${t instanceof Error?t.message:String(t)}`,"scene"),r.onMountStatus("ready")}).finally(()=>{be=!0,N=!0}),{scene:b,viewport:n,frame:qe,present:t=>wr(e,t),setHelper:(t,l)=>n.setHelper(t,l),dispose:()=>{P=!0,Ne(),He(),ge.disconnect(),Ue(),Be(),Ge(),n.orbitControls.removeEventListener("start",le),n.orbitControls.removeEventListener("change",ue),n.orbitControls.removeEventListener("end",A),n.orbitControls.removeEventListener("start",fe),n.orbitControls.removeEventListener("end",he),we.dispose(),_?.(),k.dispose(),O.dispose(),L.dispose(),$e(),Qe(),_e(),De(),h?.selection.clear(),E.dispose(),u.dispose()}}}function Ur({store:r,rootIds:e,mountStatus:s}){f.useSyncExternalStore(r.shell.subscribe,r.shell.getSnapshot);const o=f.useSyncExternalStore(kt,Tt),c=f.useSyncExternalStore(At,Rt),a=r.scene?.background,m=a!==null&&!(a?.isColor===!0&&a.getHex()===11184810),u=f.useMemo(()=>!!(r.scene&&It(r.scene,{includeBackground:!1,ignoredLayer:Ke})),[r.scene,r.shell.contentVersion]),E=!!(r.scene&&(m||u)),O=Lt({surface:"Scene",rootIds:e,phase:s==="mounting"?"loading":"ready",content:E?"present":s==="mounting"?"unknown":"empty",readiness:o,failures:c});return i.jsx(Ft,{explanation:O,testId:"scene-viewport-status"})}function Br({store:r,documentId:e,cameraPreviewRef:s,mountStatus:o,rootIds:c}){f.useSyncExternalStore(r.shell.subscribe,r.shell.getShellSnapshot??r.shell.getSnapshot),f.useSyncExternalStore(Ct,xt),f.useSyncExternalStore(Mt,Vt),f.useSyncExternalStore(Pt,Et);const a=jt(r.shell,e,"document");return i.jsxs(i.Fragment,{children:[a.surface!==null?i.jsx(Ot,{}):null,a.surface==="three"?i.jsx(kr,{previewRef:s}):null,i.jsx(Ur,{store:r,rootIds:c,mountStatus:o})]})}const ko={mountWorldRootSurface:zr,installWorldRootStage:Gr,Overlays:Br};export{ko as worldRootStageBinding};
@@ -1 +1 @@
1
- import{collectMachineAnimationMeta as V,clipNamesOf as L,isBlendTreeAnimationMeta as S,asBlendTreeDef as z}from"./xstate-animation-meta-CvDlYgrt.js";import{cW as J,p as Z,c as _,cQ as ee,l as te,dk as ne,cf as ie,cd as oe}from"./three.core-3arARmh6.js";import"./index-C5tasxXb.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";class M extends Error{constructor(i,c){super(i),this.stateId=c,this.name="AnimationBindingError"}}function ae(n){const i=n.logic;if(i?.root)return i;const c=n.getSnapshot();if(c?.machine?.root)return c.machine;throw new M("[bindXStateAnimation] the actor exposes no state machine — only a state-machine actor carries the `meta.animation` this binder reads")}const W=n=>n.layer??"base",B=n=>n.weight??1,I=n=>n.blendMode??"override";function T(n){try{return ne.parseTrackName(n.name).nodeName??""}catch{const i=n.name.indexOf(".");return i<0?n.name:n.name.slice(0,i)}}function C(n,i,c){const o=new Set,l=[];for(const f of i){let u=!1;n.traverse(m=>{m.name===f&&(u=!0,m.traverse(d=>{d.name&&o.add(d.name)}))}),c.has(f)&&(u=!0,o.add(f)),u||l.push(f)}return{names:o,missing:l}}function se(n,i,c,o){const l=new Set(n.tracks.map(T)),f=i.include?C(c,i.include,l):void 0,u=i.exclude?C(c,i.exclude,l):void 0,m=[...f?.missing??[],...u?.missing??[]];if(m.length)throw new M(`[bindXStateAnimation] state "${o}" boneMask names unknown bones/objects: ${m.join(", ")}`,o);const d=n.tracks.filter(p=>{const w=T(p);return(!f||f.names.has(w))&&!u?.names.has(w)});if(d.length===0)throw new M(`[bindXStateAnimation] state "${o}" boneMask removes every track from clip "${n.name}"`,o);return new te(n.name,n.duration,d.map(p=>p.clone()))}function re(n){return n.reduce((i,c)=>c.weight>i.weight?c:i,n[0])}function Se(n,i,c,o={}){const l=i.getRoot(),f=o.root??(l instanceof J?l:void 0);if(!f)throw new M("[bindXStateAnimation] a THREE.Object3D `root` option is required when the mixer uses AnimationObjectGroup");const u=ae(n).root,m=V(u),d=new Map(m.map(t=>[t.stateId,t.meta]));for(const t of m)for(const e of L(t.meta))if(!c.has(e))throw new M(`[bindXStateAnimation] state "${t.stateId}" references clip "${e}", which is not present in the supplied clips map. Known clips: ${[...c.keys()].join(", ")||"(none)"}`,t.stateId);const p=new Map;function w(t,e,s){return W(e)!=="base"||!!e.boneMask||I(e)==="additive"?`${t}\0${s}`:s}for(const{stateId:t,meta:e}of m)for(const s of L(e)){const a=w(t,e,s);if(p.has(a))continue;const r=c.get(s);let h=e.boneMask?se(r,e.boneMask,f,t):r;(h!==r||a!==s)&&(h===r&&(h=r.clone()),h.name=`${r.name}@${W(e)}:${t}`),I(e)==="additive"?(Z.makeClipAdditive(h),h.blendMode=_):h.blendMode=ee,p.set(a,h)}const g=new Map;function K(t,e,s,a){let r=g.get(t);if(!r){const h=p.get(t);if(!h)throw new M(`[bindXStateAnimation] prepared clip "${t}" not found`);const v=i.clipAction(h);v.setEffectiveWeight(0),v.play(),r={action:v,clip:h},g.set(t,r)}return r.action.setLoop(e?ie:oe,1/0),r.action.clampWhenFinished=!e,r.action.timeScale=s,r.action.weight=a,r.action}function N(t){const e=o.selectParameters?o.selectParameters(t):t;return new Map(Object.entries(e??{}))}function D(t,e,s){return(S(e)?ce(z(e.blendTree),N(s)):[{clip:e.clip,weight:1}]).map(({clip:r,weight:h})=>({clip:r,weight:h,actionKey:w(t,e,r)}))}const y=new Map;let O=!1;function R(t,e,s){for(const a of t){if(a.actionKey===e)continue;const r=g.get(a.actionKey)?.action;r&&(s>0?r.fadeOut(s):r.setEffectiveWeight(0))}}function k(t,e){if(!S(t.meta))return;t.natural=D(t.stateId,t.meta,e);const s=B(t.meta);for(const a of t.natural)g.get(a.actionKey)?.action.setEffectiveWeight(a.weight*s)}function P(t,e,s){const a=W(e),r=y.get(a)??null,h=D(t,e,s),v=re(h),H=S(e)?!0:e.loop,Q=S(e)?1:e.speed,x=B(e);for(const b of h)K(b.actionKey,H,Q,x);const $=g.get(v.actionKey).action;$.reset().setEffectiveWeight(x);for(const b of h)b.actionKey!==v.actionKey&&g.get(b.actionKey).action.reset().setEffectiveWeight(0);const A=e.crossfade?.duration??0,U=e.crossfade?.warp??!1;if(!r)A>0&&$.fadeIn(A);else{R(r.natural,r.dominantActionKey,A);const b=g.get(r.dominantActionKey)?.action;b&&A>0?b.crossFadeTo($,A,U):(b?.setEffectiveWeight(0),$.setEffectiveWeight(x))}const j={layer:a,stateId:t,meta:e,natural:h,dominantActionKey:v.actionKey,crossfadeRemaining:A};y.set(a,j),S(e)&&A<=0&&k(j,s)}function q(t){return Object.keys(t.getMeta()).filter(e=>d.has(e))}function X(t){const e=new Map;for(const s of q(t)){const a=d.get(s),r=W(a),h=e.get(r);if(h)throw new M(`[bindXStateAnimation] animated states "${h}" and "${s}" are both active on layer "${r}". Give parallel regions distinct meta.animation.layer names.`,s);e.set(r,s)}for(const[s,a]of y)e.has(s)||(R(a.natural,void 0,0),y.delete(s));for(const[s,a]of e)y.get(s)?.stateId!==a&&P(a,d.get(a),t.context)}const F=n.getSnapshot();X(F);const G=n.subscribe(t=>{O||X(t)});function E(t){if(O)return;const e=t,s=n.getSnapshot().context;for(const a of y.values())a.crossfadeRemaining>0?(a.crossfadeRemaining=Math.max(0,a.crossfadeRemaining-e),a.crossfadeRemaining<=0&&k(a,s)):k(a,s);i.update(e)}const Y={tick:E,actor:n,getParameters:()=>N(n.getSnapshot().context),getActiveLayers:()=>[...y.values()].map(t=>({layer:t.layer,stateId:t.stateId,clips:t.natural.map(e=>e.clip),clipWeights:t.natural.map(e=>({clip:e.clip,weight:g.get(e.actionKey)?.action.getEffectiveWeight()??0})),weight:B(t.meta),blendMode:I(t.meta),...t.meta.boneMask?{boneMask:t.meta.boneMask}:{}})),dispose(){if(!O){O=!0,o.systems?.remove("animation",E),G.unsubscribe();for(const{action:t,clip:e}of g.values())t.stop(),i.uncacheAction(e,t.getRoot());g.clear(),y.clear()}}};return o.systems?.add("animation",E),Y}function ce(n,i){switch(n.type){case"1D":return le(n,i);case"2D":return fe(n,i);case"direct":return de(n);default:return n.children.map(c=>({clip:c.clip,weight:1/n.children.length}))}}function le(n,i){const c=Number(i.get(n.parameter)??0),o=[...n.children].sort((f,u)=>f.threshold-u.threshold),l=o.map(f=>({clip:f.clip,weight:0}));if(o.length===0)return l;if(o.length===1||c<=o[0].threshold)return l[0].weight=1,l;if(c>=o[o.length-1].threshold)return l[l.length-1].weight=1,l;for(let f=0;f<o.length-1;f++){const u=o[f],m=o[f+1];if(c>=u.threshold&&c<=m.threshold){const d=m.threshold-u.threshold,p=d>0?(c-u.threshold)/d:0;return l[f].weight=1-p,l[f+1].weight=p,l}}return l}function fe(n,i){const c=Number(i.get(n.parameter)??0),o=Number(i.get(n.parameterY??"")??0),l=n.children,f=l.map(d=>({clip:d.clip,weight:0}));let u=0;const m=[];for(const d of l){const p=c-d.threshold,w=o-(d.thresholdY??0),g=Math.sqrt(p*p+w*w),K=g<.001?1e3:1/g;m.push(K),u+=K}if(u>0)for(let d=0;d<f.length;d++)f[d].weight=m[d]/u;return f}function de(n){const i=n.children.map(o=>({clip:o.clip,weight:o.weight??0})),c=i.reduce((o,l)=>o+l.weight,0);if(c>0)for(const o of i)o.weight/=c;return i}export{M as AnimationBindingError,Se as bindXStateAnimation,ce as evaluateBlendTree,ae as machineOfXStateActor};
1
+ import{collectMachineAnimationMeta as V,clipNamesOf as L,isBlendTreeAnimationMeta as S,asBlendTreeDef as z}from"./xstate-animation-meta-BSBJhOAT.js";import{cW as J,p as Z,c as _,cQ as ee,l as te,dk as ne,cf as ie,cd as oe}from"./three.core-3arARmh6.js";import"./index-BXH2Jsun.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";class M extends Error{constructor(i,c){super(i),this.stateId=c,this.name="AnimationBindingError"}}function ae(n){const i=n.logic;if(i?.root)return i;const c=n.getSnapshot();if(c?.machine?.root)return c.machine;throw new M("[bindXStateAnimation] the actor exposes no state machine — only a state-machine actor carries the `meta.animation` this binder reads")}const W=n=>n.layer??"base",B=n=>n.weight??1,I=n=>n.blendMode??"override";function T(n){try{return ne.parseTrackName(n.name).nodeName??""}catch{const i=n.name.indexOf(".");return i<0?n.name:n.name.slice(0,i)}}function C(n,i,c){const o=new Set,l=[];for(const f of i){let u=!1;n.traverse(m=>{m.name===f&&(u=!0,m.traverse(d=>{d.name&&o.add(d.name)}))}),c.has(f)&&(u=!0,o.add(f)),u||l.push(f)}return{names:o,missing:l}}function se(n,i,c,o){const l=new Set(n.tracks.map(T)),f=i.include?C(c,i.include,l):void 0,u=i.exclude?C(c,i.exclude,l):void 0,m=[...f?.missing??[],...u?.missing??[]];if(m.length)throw new M(`[bindXStateAnimation] state "${o}" boneMask names unknown bones/objects: ${m.join(", ")}`,o);const d=n.tracks.filter(p=>{const w=T(p);return(!f||f.names.has(w))&&!u?.names.has(w)});if(d.length===0)throw new M(`[bindXStateAnimation] state "${o}" boneMask removes every track from clip "${n.name}"`,o);return new te(n.name,n.duration,d.map(p=>p.clone()))}function re(n){return n.reduce((i,c)=>c.weight>i.weight?c:i,n[0])}function Se(n,i,c,o={}){const l=i.getRoot(),f=o.root??(l instanceof J?l:void 0);if(!f)throw new M("[bindXStateAnimation] a THREE.Object3D `root` option is required when the mixer uses AnimationObjectGroup");const u=ae(n).root,m=V(u),d=new Map(m.map(t=>[t.stateId,t.meta]));for(const t of m)for(const e of L(t.meta))if(!c.has(e))throw new M(`[bindXStateAnimation] state "${t.stateId}" references clip "${e}", which is not present in the supplied clips map. Known clips: ${[...c.keys()].join(", ")||"(none)"}`,t.stateId);const p=new Map;function w(t,e,s){return W(e)!=="base"||!!e.boneMask||I(e)==="additive"?`${t}\0${s}`:s}for(const{stateId:t,meta:e}of m)for(const s of L(e)){const a=w(t,e,s);if(p.has(a))continue;const r=c.get(s);let h=e.boneMask?se(r,e.boneMask,f,t):r;(h!==r||a!==s)&&(h===r&&(h=r.clone()),h.name=`${r.name}@${W(e)}:${t}`),I(e)==="additive"?(Z.makeClipAdditive(h),h.blendMode=_):h.blendMode=ee,p.set(a,h)}const g=new Map;function K(t,e,s,a){let r=g.get(t);if(!r){const h=p.get(t);if(!h)throw new M(`[bindXStateAnimation] prepared clip "${t}" not found`);const v=i.clipAction(h);v.setEffectiveWeight(0),v.play(),r={action:v,clip:h},g.set(t,r)}return r.action.setLoop(e?ie:oe,1/0),r.action.clampWhenFinished=!e,r.action.timeScale=s,r.action.weight=a,r.action}function N(t){const e=o.selectParameters?o.selectParameters(t):t;return new Map(Object.entries(e??{}))}function D(t,e,s){return(S(e)?ce(z(e.blendTree),N(s)):[{clip:e.clip,weight:1}]).map(({clip:r,weight:h})=>({clip:r,weight:h,actionKey:w(t,e,r)}))}const y=new Map;let O=!1;function R(t,e,s){for(const a of t){if(a.actionKey===e)continue;const r=g.get(a.actionKey)?.action;r&&(s>0?r.fadeOut(s):r.setEffectiveWeight(0))}}function k(t,e){if(!S(t.meta))return;t.natural=D(t.stateId,t.meta,e);const s=B(t.meta);for(const a of t.natural)g.get(a.actionKey)?.action.setEffectiveWeight(a.weight*s)}function P(t,e,s){const a=W(e),r=y.get(a)??null,h=D(t,e,s),v=re(h),H=S(e)?!0:e.loop,Q=S(e)?1:e.speed,x=B(e);for(const b of h)K(b.actionKey,H,Q,x);const $=g.get(v.actionKey).action;$.reset().setEffectiveWeight(x);for(const b of h)b.actionKey!==v.actionKey&&g.get(b.actionKey).action.reset().setEffectiveWeight(0);const A=e.crossfade?.duration??0,U=e.crossfade?.warp??!1;if(!r)A>0&&$.fadeIn(A);else{R(r.natural,r.dominantActionKey,A);const b=g.get(r.dominantActionKey)?.action;b&&A>0?b.crossFadeTo($,A,U):(b?.setEffectiveWeight(0),$.setEffectiveWeight(x))}const j={layer:a,stateId:t,meta:e,natural:h,dominantActionKey:v.actionKey,crossfadeRemaining:A};y.set(a,j),S(e)&&A<=0&&k(j,s)}function q(t){return Object.keys(t.getMeta()).filter(e=>d.has(e))}function X(t){const e=new Map;for(const s of q(t)){const a=d.get(s),r=W(a),h=e.get(r);if(h)throw new M(`[bindXStateAnimation] animated states "${h}" and "${s}" are both active on layer "${r}". Give parallel regions distinct meta.animation.layer names.`,s);e.set(r,s)}for(const[s,a]of y)e.has(s)||(R(a.natural,void 0,0),y.delete(s));for(const[s,a]of e)y.get(s)?.stateId!==a&&P(a,d.get(a),t.context)}const F=n.getSnapshot();X(F);const G=n.subscribe(t=>{O||X(t)});function E(t){if(O)return;const e=t,s=n.getSnapshot().context;for(const a of y.values())a.crossfadeRemaining>0?(a.crossfadeRemaining=Math.max(0,a.crossfadeRemaining-e),a.crossfadeRemaining<=0&&k(a,s)):k(a,s);i.update(e)}const Y={tick:E,actor:n,getParameters:()=>N(n.getSnapshot().context),getActiveLayers:()=>[...y.values()].map(t=>({layer:t.layer,stateId:t.stateId,clips:t.natural.map(e=>e.clip),clipWeights:t.natural.map(e=>({clip:e.clip,weight:g.get(e.actionKey)?.action.getEffectiveWeight()??0})),weight:B(t.meta),blendMode:I(t.meta),...t.meta.boneMask?{boneMask:t.meta.boneMask}:{}})),dispose(){if(!O){O=!0,o.systems?.remove("animation",E),G.unsubscribe();for(const{action:t,clip:e}of g.values())t.stop(),i.uncacheAction(e,t.getRoot());g.clear(),y.clear()}}};return o.systems?.add("animation",E),Y}function ce(n,i){switch(n.type){case"1D":return le(n,i);case"2D":return fe(n,i);case"direct":return de(n);default:return n.children.map(c=>({clip:c.clip,weight:1/n.children.length}))}}function le(n,i){const c=Number(i.get(n.parameter)??0),o=[...n.children].sort((f,u)=>f.threshold-u.threshold),l=o.map(f=>({clip:f.clip,weight:0}));if(o.length===0)return l;if(o.length===1||c<=o[0].threshold)return l[0].weight=1,l;if(c>=o[o.length-1].threshold)return l[l.length-1].weight=1,l;for(let f=0;f<o.length-1;f++){const u=o[f],m=o[f+1];if(c>=u.threshold&&c<=m.threshold){const d=m.threshold-u.threshold,p=d>0?(c-u.threshold)/d:0;return l[f].weight=1-p,l[f+1].weight=p,l}}return l}function fe(n,i){const c=Number(i.get(n.parameter)??0),o=Number(i.get(n.parameterY??"")??0),l=n.children,f=l.map(d=>({clip:d.clip,weight:0}));let u=0;const m=[];for(const d of l){const p=c-d.threshold,w=o-(d.thresholdY??0),g=Math.sqrt(p*p+w*w),K=g<.001?1e3:1/g;m.push(K),u+=K}if(u>0)for(let d=0;d<f.length;d++)f[d].weight=m[d]/u;return f}function de(n){const i=n.children.map(o=>({clip:o.clip,weight:o.weight??0})),c=i.reduce((o,l)=>o+l.weight,0);if(c>0)for(const o of i)o.weight/=c;return i}export{M as AnimationBindingError,Se as bindXStateAnimation,ce as evaluateBlendTree,ae as machineOfXStateActor};
@@ -1 +1 @@
1
- import{dZ as b,d_ as u,u as o,v as c,w as n,x as l,c6 as r,c5 as m,c4 as f}from"./index-C5tasxXb.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const d=o({clip:n().min(1).describe("Animation clip name this child plays"),threshold:r().describe("1D/2D blend position on the primary parameter axis"),thresholdY:r().optional().describe("2D blend position on the secondary parameter axis (2D blend trees only)"),weight:r().min(0).optional().describe('Explicit weight for "direct" blend trees (ignored by 1D/2D)')}).strict(),y=o({type:l("1D").describe("Interpolates linearly between sorted children by threshold"),parameter:n().min(1).describe("Context/selector value driving the blend"),children:c(d).min(2,"1D blend tree needs at least 2 children to interpolate between")}).strict(),v=o({type:l("2D").describe("Inverse-distance-weights children by (parameter, parameterY) position"),parameter:n().min(1).describe("Primary axis context/selector value"),parameterY:n().min(1).describe("Secondary axis context/selector value"),children:c(d.extend({thresholdY:r()})).min(1,"2D blend tree needs at least 1 child")}).strict(),g=o({type:l("direct").describe("Each child has an explicit weight, normalized to sum to 1"),parameter:n().default(""),children:c(d.extend({weight:r().min(0)})).min(1,"direct blend tree needs at least 1 child")}).strict(),A=b("type",[y,v,g]);function Y(e){return e}const p=o({duration:r().min(0).default(0).describe("Seconds to blend from the previously active clip into this state on entry, applied via native `AnimationAction.crossFadeTo`/`fadeIn` (E2). 0 = instant activation, no fade."),warp:m().default(!1).describe("Passed through to AnimationAction.crossFadeTo's `warp` param — linearly warps timeScale across the two clips during the blend so differing clip lengths line up. Default false.")}).strict().describe("Blend-in/out/crossfade timing for entering this state"),x=o({include:c(n().min(1)).min(1).optional().describe("Bone/object names whose complete descendant subtrees are retained"),exclude:c(n().min(1)).min(1).optional().describe("Bone/object names whose complete descendant subtrees are removed")}).strict().refine(e=>!!(e.include?.length||e.exclude?.length),{message:"boneMask needs at least one include or exclude bone name"}).describe("Filters animation tracks by named Object3D/Bone subtrees"),h={layer:n().min(1).optional().describe("Composition layer name; omitted means the single base layer"),weight:r().min(0).max(1).optional().describe("Layer weight multiplier from 0 to 1; defaults to 1"),blendMode:f(["override","additive"]).optional().describe("Native Three normal/override or additive action blending; defaults to override"),boneMask:x.optional().describe("Optional include/exclude filter applied to every clip track in this state")},w=o({clip:n().min(1).describe("Single clip to play while this XState state is active"),loop:m().default(!0).describe("Loop the clip (THREE.LoopRepeat) vs play once (THREE.LoopOnce, clamped on last frame)"),speed:r().positive().default(1).describe("Playback speed multiplier (AnimationAction.timeScale)"),crossfade:p.optional(),...h}).strict(),S=o({blendTree:A.describe("Multiple clips blended by a live context/selector-driven parameter"),crossfade:p.optional(),...h}).strict(),D=u([w,S]);function M(e){return"clip"in e}function $(e){return"blendTree"in e}class T extends Error{constructor(a,i,t){super(a),this.stateId=i,this.issues=t,this.name="AnimationMetaValidationError"}}function B(e,a){const i=D.safeParse(a);if(!i.success){const t=i.error.issues.map(s=>`${s.path.length?s.path.join("."):"(root)"}: ${s.message}`).join("; ");throw new T(`[xstate-animation] invalid meta.animation for state "${e}": ${t}`,e,i.error.issues)}return i.data}function R(e){const a=[],i=t=>{t.meta&&"animation"in t.meta&&t.meta.animation!==void 0&&a.push({stateId:t.id,meta:B(t.id,t.meta.animation)});for(const s of Object.values(t.states??{}))i(s)};return i(e),a}function H(e){return M(e)?[e.clip]:e.blendTree.children.map(a=>a.clip)}export{A as AnimationBlendTreeSchema,T as AnimationMetaValidationError,D as StateAnimationMetaSchema,Y as asBlendTreeDef,H as clipNamesOf,R as collectMachineAnimationMeta,$ as isBlendTreeAnimationMeta,M as isClipAnimationMeta,B as parseStateAnimationMeta};
1
+ import{dZ as b,d_ as u,u as o,v as c,w as n,x as l,c6 as r,c5 as m,c4 as f}from"./index-BXH2Jsun.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const d=o({clip:n().min(1).describe("Animation clip name this child plays"),threshold:r().describe("1D/2D blend position on the primary parameter axis"),thresholdY:r().optional().describe("2D blend position on the secondary parameter axis (2D blend trees only)"),weight:r().min(0).optional().describe('Explicit weight for "direct" blend trees (ignored by 1D/2D)')}).strict(),y=o({type:l("1D").describe("Interpolates linearly between sorted children by threshold"),parameter:n().min(1).describe("Context/selector value driving the blend"),children:c(d).min(2,"1D blend tree needs at least 2 children to interpolate between")}).strict(),v=o({type:l("2D").describe("Inverse-distance-weights children by (parameter, parameterY) position"),parameter:n().min(1).describe("Primary axis context/selector value"),parameterY:n().min(1).describe("Secondary axis context/selector value"),children:c(d.extend({thresholdY:r()})).min(1,"2D blend tree needs at least 1 child")}).strict(),g=o({type:l("direct").describe("Each child has an explicit weight, normalized to sum to 1"),parameter:n().default(""),children:c(d.extend({weight:r().min(0)})).min(1,"direct blend tree needs at least 1 child")}).strict(),A=b("type",[y,v,g]);function Y(e){return e}const p=o({duration:r().min(0).default(0).describe("Seconds to blend from the previously active clip into this state on entry, applied via native `AnimationAction.crossFadeTo`/`fadeIn` (E2). 0 = instant activation, no fade."),warp:m().default(!1).describe("Passed through to AnimationAction.crossFadeTo's `warp` param — linearly warps timeScale across the two clips during the blend so differing clip lengths line up. Default false.")}).strict().describe("Blend-in/out/crossfade timing for entering this state"),x=o({include:c(n().min(1)).min(1).optional().describe("Bone/object names whose complete descendant subtrees are retained"),exclude:c(n().min(1)).min(1).optional().describe("Bone/object names whose complete descendant subtrees are removed")}).strict().refine(e=>!!(e.include?.length||e.exclude?.length),{message:"boneMask needs at least one include or exclude bone name"}).describe("Filters animation tracks by named Object3D/Bone subtrees"),h={layer:n().min(1).optional().describe("Composition layer name; omitted means the single base layer"),weight:r().min(0).max(1).optional().describe("Layer weight multiplier from 0 to 1; defaults to 1"),blendMode:f(["override","additive"]).optional().describe("Native Three normal/override or additive action blending; defaults to override"),boneMask:x.optional().describe("Optional include/exclude filter applied to every clip track in this state")},w=o({clip:n().min(1).describe("Single clip to play while this XState state is active"),loop:m().default(!0).describe("Loop the clip (THREE.LoopRepeat) vs play once (THREE.LoopOnce, clamped on last frame)"),speed:r().positive().default(1).describe("Playback speed multiplier (AnimationAction.timeScale)"),crossfade:p.optional(),...h}).strict(),S=o({blendTree:A.describe("Multiple clips blended by a live context/selector-driven parameter"),crossfade:p.optional(),...h}).strict(),D=u([w,S]);function M(e){return"clip"in e}function $(e){return"blendTree"in e}class T extends Error{constructor(a,i,t){super(a),this.stateId=i,this.issues=t,this.name="AnimationMetaValidationError"}}function B(e,a){const i=D.safeParse(a);if(!i.success){const t=i.error.issues.map(s=>`${s.path.length?s.path.join("."):"(root)"}: ${s.message}`).join("; ");throw new T(`[xstate-animation] invalid meta.animation for state "${e}": ${t}`,e,i.error.issues)}return i.data}function R(e){const a=[],i=t=>{t.meta&&"animation"in t.meta&&t.meta.animation!==void 0&&a.push({stateId:t.id,meta:B(t.id,t.meta.animation)});for(const s of Object.values(t.states??{}))i(s)};return i(e),a}function H(e){return M(e)?[e.clip]:e.blendTree.children.map(a=>a.clip)}export{A as AnimationBlendTreeSchema,T as AnimationMetaValidationError,D as StateAnimationMetaSchema,Y as asBlendTreeDef,H as clipNamesOf,R as collectMachineAnimationMeta,$ as isBlendTreeAnimationMeta,M as isClipAnimationMeta,B as parseStateAnimationMeta};
package/dist-node/cli.js CHANGED
@@ -2313,7 +2313,7 @@ import { fileURLToPath as fileURLToPath2 } from "node:url";
2313
2313
  var package_default = {
2314
2314
  name: "@volter/game-editor",
2315
2315
  author: "Volter AI, Inc.",
2316
- version: "0.5.83",
2316
+ version: "0.5.84",
2317
2317
  publishConfig: {
2318
2318
  access: "public"
2319
2319
  },
@@ -2362,22 +2362,22 @@ var package_default = {
2362
2362
  }
2363
2363
  },
2364
2364
  dependencies: {
2365
- "@volter/editor-core": "0.5.83",
2366
- "@volter/editor-game": "0.5.83",
2367
- "@volter/editor-react": "0.5.83",
2368
- "@volter/editor-threejs": "0.5.83",
2369
- "@volter/editor-xstate": "0.5.83",
2370
- "@volter/editor-blender": "0.1.23",
2371
- "@volter/dawproject": "0.5.83",
2372
- "@volter/editor-dawproject": "0.5.83",
2373
- "@volter/blender-engine": "0.1.21",
2374
- "@volter/editor-project": "0.5.83",
2375
- "@volter/editor-sdk": "0.5.83",
2376
- "@volter/editor-live": "0.5.83",
2377
- "@volter/game-live": "0.5.83",
2365
+ "@volter/editor-core": "0.5.84",
2366
+ "@volter/editor-game": "0.5.84",
2367
+ "@volter/editor-react": "0.5.84",
2368
+ "@volter/editor-threejs": "0.5.84",
2369
+ "@volter/editor-xstate": "0.5.84",
2370
+ "@volter/editor-blender": "0.1.24",
2371
+ "@volter/dawproject": "0.5.84",
2372
+ "@volter/editor-dawproject": "0.5.84",
2373
+ "@volter/blender-engine": "0.1.22",
2374
+ "@volter/editor-project": "0.5.84",
2375
+ "@volter/editor-sdk": "0.5.84",
2376
+ "@volter/editor-live": "0.5.84",
2377
+ "@volter/game-live": "0.5.84",
2378
2378
  "@modelcontextprotocol/sdk": "1.30.0",
2379
- "@volter/game-runtime": "0.5.83",
2380
- "@volter/threejs-runtime": "0.5.83",
2379
+ "@volter/game-runtime": "0.5.84",
2380
+ "@volter/threejs-runtime": "0.5.84",
2381
2381
  undici: "7.29.1",
2382
2382
  typescript: "5.9.3",
2383
2383
  "@colyseus/schema": "^4.0.14",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@volter/game-editor",
3
3
  "author": "Volter AI, Inc.",
4
- "version": "0.5.83",
4
+ "version": "0.5.84",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -50,22 +50,22 @@
50
50
  }
51
51
  },
52
52
  "dependencies": {
53
- "@volter/editor-core": "0.5.83",
54
- "@volter/editor-game": "0.5.83",
55
- "@volter/editor-react": "0.5.83",
56
- "@volter/editor-threejs": "0.5.83",
57
- "@volter/editor-xstate": "0.5.83",
58
- "@volter/editor-blender": "0.1.23",
59
- "@volter/dawproject": "0.5.83",
60
- "@volter/editor-dawproject": "0.5.83",
61
- "@volter/blender-engine": "0.1.21",
62
- "@volter/editor-project": "0.5.83",
63
- "@volter/editor-sdk": "0.5.83",
64
- "@volter/editor-live": "0.5.83",
65
- "@volter/game-live": "0.5.83",
53
+ "@volter/editor-core": "0.5.84",
54
+ "@volter/editor-game": "0.5.84",
55
+ "@volter/editor-react": "0.5.84",
56
+ "@volter/editor-threejs": "0.5.84",
57
+ "@volter/editor-xstate": "0.5.84",
58
+ "@volter/editor-blender": "0.1.24",
59
+ "@volter/dawproject": "0.5.84",
60
+ "@volter/editor-dawproject": "0.5.84",
61
+ "@volter/blender-engine": "0.1.22",
62
+ "@volter/editor-project": "0.5.84",
63
+ "@volter/editor-sdk": "0.5.84",
64
+ "@volter/editor-live": "0.5.84",
65
+ "@volter/game-live": "0.5.84",
66
66
  "@modelcontextprotocol/sdk": "1.30.0",
67
- "@volter/game-runtime": "0.5.83",
68
- "@volter/threejs-runtime": "0.5.83",
67
+ "@volter/game-runtime": "0.5.84",
68
+ "@volter/threejs-runtime": "0.5.84",
69
69
  "undici": "7.29.1",
70
70
  "typescript": "5.9.3",
71
71
  "@colyseus/schema": "^4.0.14",
@@ -1 +0,0 @@
1
- import{a as t}from"./jsx-runtime-DPjLkJKQ.js";import{Object3DSnapshotDocument as m}from"./EntityModelDocument-By-BM9dS.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./editor-shell-store-CGWO4Ldz.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./Pass-D1MRT672.js";import"./editor-layers-D7HXdvWY.js";import"./workspace-arrangement-w-T2xUGF.js";import"./index-C5tasxXb.js";import"./index-nmcBqr7Y.js";import"./index-D_NuPfjr.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./user-data-4Ls0MsfF.js";import"./entity-object-Dl04-FE8.js";import"./three-contract-Dkt6PmWY.js";import"./live-mixers-B-bwLZ7c.js";import"./asset-preview-BkFAKkZH.js";import"./renderer-ownership-BovSEcLv.js";import"./hierarchy-marks-fSNwXIFe.js";import"./studio-environment-BGU84AOG.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./bitmap-label-Ct4k6ehY.js";import"./StageHost-BOaImrmu.js";import"./three-state-3qPk0Sq8.js";import"./standard-viewport-dressing-NHKaiGVg.js";import"./content-bounds-tMCAobKq.js";import"./preview-renderer-BrYNFV1p.js";import"./live-gesture-lock-DJbrjOqf.js";import"./three-integration-D3zBmOoj.js";import"./host-hierarchy-objects-BV3WqU2w.js";import"./layered-pick-RElCrqXb.js";import"./root-stacking-BEd9ZvxC.js";import"./model-thumbnail-B7DVMYtQ.js";import"./object3d-document-session-registry-Bk-I9jZH.js";import"./component-instance-root-CzRnRMe6.js";import"./viewport-door-C4Fu0zS3.js";import"./model-inspection-BLOiPoW4.js";import"./three-viewport-presentation-DGctcUkE.js";import"./clip-planes-CnAI6DZn.js";import"./three-BRZq2Px5.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./OrbitControls-B13MKuwC.js";import"./LineSegments2-DN9pUfWA.js";import"./three.quarks.esm-C_HmSKXo.js";import"./scene-framing-DUd4lKtW.js";import"./source-object3d-authoring-adapter-RimvAMDG.js";import"./three-projection-core-Dt5ARGlM.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./transport-strip-8OsPiJIm.js";import"./viewport-surface-status-CdI6sQko.js";function ut({previewKey:o,object:r,displayName:i,fill:p=!1}){return t.jsx("div",{"data-testid":"inspector-object-preview",style:p?{position:"absolute",inset:0,overflow:"hidden"}:{width:"100%",height:220,minHeight:220,borderBottom:"1px solid var(--volter-structural-divider)",overflow:"hidden",position:"relative"},children:t.jsx(m,{documentId:`inspector-preview:${o}`,source:r,displayName:i,active:!0,chromeless:!0})})}export{ut as InspectorObjectPreview};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/StageHost-BOaImrmu.js","assets/index-C5tasxXb.js","assets/index-nmcBqr7Y.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-D_NuPfjr.js","assets/jsx-runtime-DPjLkJKQ.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/three-state-3qPk0Sq8.js","assets/editor-shell-store-CGWO4Ldz.js","assets/output-pass-HurwNl0G.js","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/Pass-D1MRT672.js","assets/editor-layers-D7HXdvWY.js","assets/workspace-arrangement-w-T2xUGF.js","assets/user-data-4Ls0MsfF.js","assets/entity-object-Dl04-FE8.js","assets/three-contract-Dkt6PmWY.js","assets/standard-viewport-dressing-NHKaiGVg.js","assets/content-bounds-tMCAobKq.js","assets/hierarchy-marks-fSNwXIFe.js","assets/environment-Dg-YaLsA.js","assets/RoomEnvironment-BkknvS_I.js","assets/EXRLoader-CITMBvGd.js","assets/HDRLoader-BTGuGhVo.js","assets/preview-renderer-BrYNFV1p.js","assets/renderer-ownership-BovSEcLv.js","assets/live-mixers-B-bwLZ7c.js","assets/live-gesture-lock-DJbrjOqf.js","assets/three-integration-D3zBmOoj.js","assets/host-hierarchy-objects-BV3WqU2w.js","assets/layered-pick-RElCrqXb.js","assets/root-stacking-BEd9ZvxC.js","assets/model-thumbnail-B7DVMYtQ.js","assets/studio-environment-BGU84AOG.js","assets/KTX2Loader-CaqVE6nY.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/object3d-document-session-registry-Bk-I9jZH.js","assets/component-instance-root-CzRnRMe6.js","assets/viewport-door-C4Fu0zS3.js","assets/asset-preview-BkFAKkZH.js","assets/bitmap-label-Ct4k6ehY.js","assets/model-inspection-BLOiPoW4.js","assets/three-viewport-presentation-DGctcUkE.js","assets/clip-planes-CnAI6DZn.js","assets/three-BRZq2Px5.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/OrbitControls-B13MKuwC.js","assets/LineSegments2-DN9pUfWA.js","assets/three.quarks.esm-C_HmSKXo.js","assets/scene-framing-DUd4lKtW.js","assets/source-object3d-authoring-adapter-RimvAMDG.js","assets/three-projection-core-Dt5ARGlM.js","assets/editor-presentation-activity-CqJH4G9t.js","assets/transport-strip-8OsPiJIm.js","assets/viewport-surface-status-CdI6sQko.js"])))=>i.map(i=>d[i]);
2
- import{ak as r,_ as a}from"./index-C5tasxXb.js";import{a as o}from"./jsx-runtime-DPjLkJKQ.js";import{r as n}from"./index-nmcBqr7Y.js";import{V as c,O as u}from"./viewport-surface-status-CdI6sQko.js";const s=n.lazy(async()=>({default:(await a(()=>import("./StageHost-BOaImrmu.js").then(e=>e.S),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]))).Object3DDocumentViewport}));function l(t){return i(t.documentId,t.chromeless),o.jsx(n.Suspense,{fallback:o.jsx(c,{testId:"object3d-document-loading",children:u}),children:o.jsx(s,{...t})})}function i(t,e=!1){n.useEffect(()=>{if(!e)return r(t)},[t,e])}export{l as O};
@@ -1 +0,0 @@
1
- import{T as i,r as m}from"./index-C5tasxXb.js";import{e as p}from"./game-network-COQRxS_4.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./native-debug-module-DRmkIrIW.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-CwYeaZ9J.js";import"./contract-system-adapters-D6ion7SF.js";import"./game-contract-seams-B5a-Ev-f.js";import"./seeded-random-DzZFJTfh.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-Cc1GXtG5.js";import"./capability-coverage-39yK3DGt.js";import"./edit-mode-authoring-DgvzXpiM.js";import"./json-history-resource-BUJgH5iK.js";import"./binding-resolver-BoecCqTq.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-DoN23Ol2.js";import"./canvas-entry-runtime-DeyvFKWS.js";import"./three-ingest-runtime-D9JoNRjk.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./Pass-D1MRT672.js";import"./CSS3DRenderer-BsAqfavI.js";import"./relative-path-guard-GiM7Lsz8.js";import"./react-root-BHA-cdrW.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./active-ingest-Ra07ruDo.js";import"./ingest-source-persistence-SAe0xIy-.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-DMMIH4rt.js";import"./mounted-authoring-BS53gpIm.js";import"./entity-object-Dl04-FE8.js";import"./user-data-4Ls0MsfF.js";import"./workspace-arrangement-w-T2xUGF.js";import"./three-contract-Dkt6PmWY.js";import"./three-BRZq2Px5.js";import"./editor-layers-D7HXdvWY.js";import"./component-instance-root-CzRnRMe6.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-DkfGlaNQ.js";import"./source-persistence-backend-BRcy23H9.js";import"./three-projection-core-Dt5ARGlM.js";import"./body-marks-C1LxJtQb.js";import"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";import"./structural-ids-BOo2BRoY.js";import"./object3d-authoring-subject-XccsO0xG.js";import"./r3f-physics-binding-B8Je7bNy.js";import"./deferred-ingest-play-7EJo_GNB.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-DsywMgco.js";import"./board-guides-DhwRYHGT.js";import"./relative-import-specifier-DMppRnNH.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-BqIL-41D.js";import"./inference-diagnostics-D7uYs70A.js";import"./writer-tw6EcuVO.js";import"./three-state-3qPk0Sq8.js";import"./editor-shell-store-CGWO4Ldz.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-C4Fu0zS3.js";import"./game-surface-defaults-D8S4cRxi.js";const Ut="workspace.service";function e(o){p().catch(t=>{m().console.error(`${o}: ${t instanceof Error?t.message:String(t)}`,"play")})}function bt(){let o,t=!1;const r=i(()=>{t||new URLSearchParams(window.location.search).get("play")==="1"&&(t=!0,o=window.setTimeout(()=>e("Could not enter requested Play mode"),0))});return()=>{o!==void 0&&window.clearTimeout(o),r()}}export{Ut as point,bt as start};
@@ -1,2 +0,0 @@
1
- import{a as f,S as R,P,b as A,s as x,A as S,c as v,o as I}from"./worker-Cu9kIzIf.js";import{s as F}from"./session-kSIjcXJT.js";const u="/bw",O=`${R}/frame.bin`,k=new Set(["scripts/startup/vgai_three.py","scripts/startup/volter_three.py"]);async function p(e){const o=f(`wali/${e}`);try{return await import(o)}catch(l){throw new Error(`The substrate skew needs ${e}, which this editor serves from the WALI pack directory beside blender.wasm (${o}): ${l instanceof Error?l.message:String(l)}`)}}async function M(e,o){const l=performance.now(),r=await fetch(f("runtime.idx"));if(!r.ok)throw new Error(`${S}/runtime.idx answered ${r.status}`);const n=await r.json(),i=await fetch(f("runtime.bin"));if(!i.ok)throw new Error(`${S}/runtime.bin answered ${i.status}`);const s=new Uint8Array(await i.arrayBuffer());let a=0;for(const t of n.files){if(a+t.size>s.byteLength)throw new Error(`Blender runtime ${t.path}: bytes ${a}..${a+t.size} lie outside the ${s.byteLength}-byte runtime blob`);if(k.has(t.path)){a+=t.size;continue}const w=`${u}/${t.path}`;e.mkdirSync(w.slice(0,w.lastIndexOf("/")),{recursive:!0}),e.writeFileSync(w,s.subarray(a,a+t.size)),a+=t.size}if(a!==s.byteLength)throw new Error(`Blender runtime index accounts for ${a} of the ${s.byteLength} bytes served`);const h=Math.round(performance.now()-l);return o("log",`blender: staged Blender's ${n.files.length}-file runtime tree in ${h} ms`),{files:n.files.length,bytes:s.byteLength,ms:h}}async function D(e,o){const l=performance.now(),r=await fetch(f("runtime.idx"));if(!r.ok)throw new Error(`${S}/runtime.idx answered ${r.status}`);const n=await r.json(),i=n.files.reduce((d,m)=>d+m.size,0),s=await fetch(f("runtime.bin"));if(!s.ok||!s.body)throw new Error(`${S}/runtime.bin answered ${s.status}`);const a=new SharedArrayBuffer(i),h=new Uint8Array(a);let t=0;const w=s.body.getReader();for(;;){const{done:d,value:m}=await w.read();if(d)break;if(t+m.byteLength>i)throw new Error(`Blender runtime blob is longer than the ${i} bytes its index accounts for`);h.set(m,t),t+=m.byteLength}if(t!==i)throw new Error(`Blender runtime index accounts for ${i} bytes; the blob served ${t}`);const b=e(u,n.files,a,{mtimeMs:Date.now(),include:d=>!k.has(d)});return o("log",`blender: shared Blender's ${n.files.length}-file runtime tree in ${Math.round(performance.now()-l)} ms`),b}function N(e){const o=new Set,l=()=>{for(const r of[...o])r()};return e.on?.("change",l),e.on?.("delete",l),{...e.on?{changed:r=>new Promise(n=>{const i=()=>{clearTimeout(s),o.delete(i),n()},s=setTimeout(i,r);o.add(i)})}:{},readFile:r=>e.readFile(r),writeFile:(r,n)=>(e.writeFileSync(r,n),Promise.resolve()),mkdirTree:async r=>e.mkdirSync(r,{recursive:!0}),readdir:async r=>e.readdirSync(r),stat:async r=>{if(!e.existsSync(r))return null;const n=e.statSync(r);return{size:n.size,mode:n.mode&4095|(n.isDirectory()?16384:32768),mtimeMs:n.mtimeMs}},unlink:async r=>e.unlinkSync(r)}}async function C(e,o){const l=performance.now(),[r,n,i]=await Promise.all([p("browser-wali/worker-program.js"),p("browser-runtime/browser-memory-filesystem.js"),p("browser-wali/shared-file-layer.js").catch(()=>({}))]),s=r.BrowserWaliWorkerProgram,a=n.BrowserMemoryFileSystem;if(!s||!a)throw new Error("The substrate modules this editor served do not export BrowserWaliWorkerProgram and BrowserMemoryFileSystem; the WALI pack directory holds a browser-substrate this engine does not know.");const h=r.preloadWaliModule;h&&o.integrity&&h(f("blender.wasm"),o.integrity).catch(()=>{});const t=new a;for(const c of["/tmp","/root","/work",R,...P,e.project])t.mkdirSync(c,{recursive:!0});const w=i.sharedFileLayerFromIndex,b=w?await D(w,e.log):void 0;b||await M(t,e.log),t.writeFileSync(A,F);const d=o.workers??{pool:16,blender:4},m=new s(t,{url:f("blender.wasm"),...o.integrity?{integrity:o.integrity}:{},cwd:"/work",env:{HOME:"/root",TMPDIR:"/tmp",PATH:"/usr/bin:/bin",BLENDER_SYSTEM_RESOURCES:u,BLENDER_SYSTEM_SCRIPTS:`${u}/scripts`,BLENDER_SYSTEM_DATAFILES:`${u}/datafiles`,BLENDER_SYSTEM_PYTHON:`${u}/python`,PYTHONPATH:`${u}/python/lib/numpy313.zip:${u}/python/lib/wheels313.zip`,VOLTER_SESSION_ROOT:R,VOLTER_EXPORT_BUFFER_PATH:O,OPENIMAGEIO_THREADS:"1"},...b?{layers:[b]}:{},privateRoots:["/tmp"],threadPoolSize:d.pool,network:{allowedHosts:[],maxConnections:0,maxBytes:0}});let g=null,y=null;const $=c=>{for(const E of c.split(`
2
- `))E!==""&&(E.startsWith("@@VOLTER-READY ")&&(g=E.slice(15)),e.log(v(E),E))};for(m.run(["/blender","-b","--factory-startup","-noaudio","--python-use-system-env","-t",String(d.blender),"--python",A],{onStdout:$,onStderr:$,onDiagnostic:c=>e.log("error",`@@VOLTER-ERROR ${c}`)}).then(c=>{y=`Blender exited ${c.exitCode}`},c=>{y=c instanceof Error?c.message:String(c)}).finally(()=>{y!==null&&e.log("error",`@@VOLTER-ERROR the Blender program ended: ${y}`)});g===null;){if(y!==null)throw new Error(`Blender never reached its session: ${y}`);await x(5)}const B=performance.now()-l,L=JSON.parse(g);e.log("log",`blender: the substrate skew is up (${d.blender} Blender threads in a pool of ${d.pool}; Blender is SERIAL without -t N and says so)`);const T=N(t),{request:_}=I(T,e,()=>y);return{skew:"wali",banner:L,files:T,request:_,readArena:()=>t.readFile(O),bootMs:B,memoryBytes:()=>null,releasedPayloadBytes:null}}export{C as startWaliBlenderEngine};
@@ -1 +0,0 @@
1
- import{ah as m}from"./index-C5tasxXb.js";import{b as p,a as e,c as n,s}from"./game-network-COQRxS_4.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./native-debug-module-DRmkIrIW.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-CwYeaZ9J.js";import"./contract-system-adapters-D6ion7SF.js";import"./game-contract-seams-B5a-Ev-f.js";import"./seeded-random-DzZFJTfh.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-Cc1GXtG5.js";import"./capability-coverage-39yK3DGt.js";import"./edit-mode-authoring-DgvzXpiM.js";import"./json-history-resource-BUJgH5iK.js";import"./binding-resolver-BoecCqTq.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-DoN23Ol2.js";import"./canvas-entry-runtime-DeyvFKWS.js";import"./three-ingest-runtime-D9JoNRjk.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./Pass-D1MRT672.js";import"./CSS3DRenderer-BsAqfavI.js";import"./relative-path-guard-GiM7Lsz8.js";import"./react-root-BHA-cdrW.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./active-ingest-Ra07ruDo.js";import"./ingest-source-persistence-SAe0xIy-.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-DMMIH4rt.js";import"./mounted-authoring-BS53gpIm.js";import"./entity-object-Dl04-FE8.js";import"./user-data-4Ls0MsfF.js";import"./workspace-arrangement-w-T2xUGF.js";import"./three-contract-Dkt6PmWY.js";import"./three-BRZq2Px5.js";import"./editor-layers-D7HXdvWY.js";import"./component-instance-root-CzRnRMe6.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-DkfGlaNQ.js";import"./source-persistence-backend-BRcy23H9.js";import"./three-projection-core-Dt5ARGlM.js";import"./body-marks-C1LxJtQb.js";import"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";import"./structural-ids-BOo2BRoY.js";import"./object3d-authoring-subject-XccsO0xG.js";import"./r3f-physics-binding-B8Je7bNy.js";import"./deferred-ingest-play-7EJo_GNB.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-DsywMgco.js";import"./board-guides-DhwRYHGT.js";import"./relative-import-specifier-DMppRnNH.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-BqIL-41D.js";import"./inference-diagnostics-D7uYs70A.js";import"./writer-tw6EcuVO.js";import"./three-state-3qPk0Sq8.js";import"./editor-shell-store-CGWO4Ldz.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-C4Fu0zS3.js";import"./game-surface-defaults-D8S4cRxi.js";const zt="workspace.command",a=()=>({ok:!1,error:"not in play mode — start play before using the debug seam"}),Bt={"set-instance-count":{derivedRefresh:"always",handle:o=>{if(!e())return a();const r=o.names;if(Array.isArray(r)&&r.every(i=>typeof i=="string"))return r.length<1?{ok:!1,error:'set-instance-count "names" must have at least one entry.'}:(n(r),{ok:!0});const t=o.count;return typeof t!="number"||!Number.isFinite(t)||t<1?{ok:!1,error:`set-instance-count requires a whole "count" >= 1 (or a "names" array), got ${String(t)}.`}:(s(Math.floor(t)-1),{ok:!0})}},"list-instances":{derivedRefresh:"if-content-changed",handle:()=>({ok:!0,data:{instances:m(),named:p()}})}};export{Bt as commands,zt as point};
@@ -1 +0,0 @@
1
- import{i as t}from"./game-network-COQRxS_4.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-C5tasxXb.js";import"./index-nmcBqr7Y.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./native-debug-module-DRmkIrIW.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-CwYeaZ9J.js";import"./contract-system-adapters-D6ion7SF.js";import"./game-contract-seams-B5a-Ev-f.js";import"./seeded-random-DzZFJTfh.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-Cc1GXtG5.js";import"./capability-coverage-39yK3DGt.js";import"./edit-mode-authoring-DgvzXpiM.js";import"./json-history-resource-BUJgH5iK.js";import"./binding-resolver-BoecCqTq.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-DoN23Ol2.js";import"./canvas-entry-runtime-DeyvFKWS.js";import"./three-ingest-runtime-D9JoNRjk.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./Pass-D1MRT672.js";import"./CSS3DRenderer-BsAqfavI.js";import"./relative-path-guard-GiM7Lsz8.js";import"./react-root-BHA-cdrW.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./active-ingest-Ra07ruDo.js";import"./ingest-source-persistence-SAe0xIy-.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-DMMIH4rt.js";import"./mounted-authoring-BS53gpIm.js";import"./entity-object-Dl04-FE8.js";import"./user-data-4Ls0MsfF.js";import"./workspace-arrangement-w-T2xUGF.js";import"./three-contract-Dkt6PmWY.js";import"./three-BRZq2Px5.js";import"./editor-layers-D7HXdvWY.js";import"./component-instance-root-CzRnRMe6.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-DkfGlaNQ.js";import"./source-persistence-backend-BRcy23H9.js";import"./three-projection-core-Dt5ARGlM.js";import"./body-marks-C1LxJtQb.js";import"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";import"./structural-ids-BOo2BRoY.js";import"./object3d-authoring-subject-XccsO0xG.js";import"./r3f-physics-binding-B8Je7bNy.js";import"./deferred-ingest-play-7EJo_GNB.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-DsywMgco.js";import"./board-guides-DhwRYHGT.js";import"./relative-import-specifier-DMppRnNH.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-BqIL-41D.js";import"./inference-diagnostics-D7uYs70A.js";import"./writer-tw6EcuVO.js";import"./three-state-3qPk0Sq8.js";import"./editor-shell-store-CGWO4Ldz.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-C4Fu0zS3.js";import"./game-surface-defaults-D8S4cRxi.js";const zt="workspace.service";function At(){t()}export{zt as point,At as start};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/r3f-design-session-DbXiRez3.js","assets/index-C5tasxXb.js","assets/index-nmcBqr7Y.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-D_NuPfjr.js","assets/jsx-runtime-DPjLkJKQ.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/edit-mode-authoring-DgvzXpiM.js","assets/game-network-COQRxS_4.js","assets/index-OZVqp6xS.js","assets/index-Da9JhEvW.js","assets/native-debug-module-DRmkIrIW.js","assets/native-entry-surface-BE8LJNdu.js","assets/debug-registry-CwYeaZ9J.js","assets/contract-system-adapters-D6ion7SF.js","assets/game-contract-seams-B5a-Ev-f.js","assets/seeded-random-DzZFJTfh.js","assets/game-audio-BeCyd0Ha.js","assets/rapier-physics-adapter-CaZqWLu0.js","assets/events-156d8d12.esm-CYeuVCYr.js","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/index-bQE2NA0D.js","assets/live-project-verbs-Cc1GXtG5.js","assets/capability-coverage-39yK3DGt.js","assets/json-history-resource-BUJgH5iK.js","assets/binding-resolver-BoecCqTq.js","assets/adapter-surface-Y37Nzcyw.js","assets/structural-signature-Dc7skRiy.js","assets/webgl-frame-capture-DdJkM2mi.js","assets/realm-services-DoN23Ol2.js","assets/canvas-entry-runtime-DeyvFKWS.js","assets/three-ingest-runtime-D9JoNRjk.js","assets/EffectComposer-BEAt0PtQ.js","assets/CopyShader-BzTUYzf6.js","assets/ShaderPass-DTnDQXm0.js","assets/Pass-D1MRT672.js","assets/CSS3DRenderer-BsAqfavI.js","assets/relative-path-guard-GiM7Lsz8.js","assets/react-root-BHA-cdrW.js","assets/editor-presentation-activity-CqJH4G9t.js","assets/active-ingest-Ra07ruDo.js","assets/ingest-source-persistence-SAe0xIy-.js","assets/pixi-story-model-DNkfnWUV.js","assets/surface-content-Dg9Kkazf.js","assets/viewport-root-presentation-DMMIH4rt.js","assets/mounted-authoring-BS53gpIm.js","assets/entity-object-Dl04-FE8.js","assets/user-data-4Ls0MsfF.js","assets/workspace-arrangement-w-T2xUGF.js","assets/three-contract-Dkt6PmWY.js","assets/three-BRZq2Px5.js","assets/editor-layers-D7HXdvWY.js","assets/component-instance-root-CzRnRMe6.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/three-authoring-adapter-DkfGlaNQ.js","assets/source-persistence-backend-BRcy23H9.js","assets/three-projection-core-Dt5ARGlM.js","assets/body-marks-C1LxJtQb.js","assets/user-data-CODoGZqA.js","assets/object-marks-BnvSuCTt.js","assets/structural-ids-BOo2BRoY.js","assets/object3d-authoring-subject-XccsO0xG.js","assets/r3f-physics-binding-B8Je7bNy.js","assets/deferred-ingest-play-7EJo_GNB.js","assets/rrweb-Cd2ifIRP.js","assets/react-world-authoring-adapter-DsywMgco.js","assets/board-guides-DhwRYHGT.js","assets/relative-import-specifier-DMppRnNH.js","assets/story-arg-descriptors-Ek86ExX7.js","assets/inspect-BqIL-41D.js","assets/inference-diagnostics-D7uYs70A.js","assets/writer-tw6EcuVO.js","assets/three-state-3qPk0Sq8.js","assets/editor-shell-store-CGWO4Ldz.js","assets/output-pass-HurwNl0G.js","assets/viewport-door-C4Fu0zS3.js","assets/game-surface-defaults-D8S4cRxi.js","assets/scene-framing-DUd4lKtW.js","assets/assets-BcrMQHRv.js","assets/loader-BTUKnX5Q.js","assets/KTX2Loader-CaqVE6nY.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/create-runtime-C82CmCbc.js","assets/binding-Bmxqznjk.js","assets/root-stacking-BEd9ZvxC.js","assets/setup-renderer-DF2zFw-E.js","assets/index-DHhMOs_s.js","assets/defaults-DKiBJCPN.js","assets/render-settings-DCZaLK-j.js","assets/render-features-CBm-s0QE.js","assets/loop-gate-report-N52EWFGD.js","assets/system-slot-E2mEdiih.js","assets/performance-profiler-CMbwGBuk.js","assets/live-gesture-lock-DJbrjOqf.js"])))=>i.map(i=>d[i]);
2
- import{_ as s,aF as n}from"./index-C5tasxXb.js";import{r as a}from"./design-time-mount-registry-DUpXCg1U.js";import{q as c}from"./edit-mode-authoring-DgvzXpiM.js";import{a as u}from"./json-history-resource-BUJgH5iK.js";import{o as h}from"./three-authoring-adapter-DkfGlaNQ.js";import{t as i}from"./editor-shell-store-CGWO4Ldz.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./component-instance-root-CzRnRMe6.js";import"./user-data-4Ls0MsfF.js";import"./workspace-arrangement-w-T2xUGF.js";import"./source-persistence-backend-BRcy23H9.js";import"./ingest-source-persistence-SAe0xIy-.js";import"./three-projection-core-Dt5ARGlM.js";import"./editor-layers-D7HXdvWY.js";import"./three-BRZq2Px5.js";import"./entity-object-Dl04-FE8.js";import"./three-contract-Dkt6PmWY.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three.core-3arARmh6.js";import"./body-marks-C1LxJtQb.js";import"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";import"./structural-ids-BOo2BRoY.js";import"./object3d-authoring-subject-XccsO0xG.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./r3f-physics-binding-B8Je7bNy.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./Pass-D1MRT672.js";const U="workspace.service";function X(){const r=s(()=>import("./r3f-design-session-DbXiRez3.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99]));r.catch(()=>{});const m=n("three",(t,o)=>h(i(t),()=>i(t).scene,o,u(o))),e=a({kind:"three",owner:"@volter/editor-game/three/three-authoring",async mountWorldRootSession(t){const o=t,{mountR3FDesignSession:p}=await r;return p(o.store,o.composite,o.renderer)}});return c(),()=>{e(),m()}}export{U as point,X as start};
@@ -1 +0,0 @@
1
- import{e as r}from"./three-integration-D3zBmOoj.js";import"./index-C5tasxXb.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./host-hierarchy-objects-BV3WqU2w.js";import"./renderer-ownership-BovSEcLv.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./preview-renderer-BrYNFV1p.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./layered-pick-RElCrqXb.js";import"./root-stacking-BEd9ZvxC.js";import"./user-data-4Ls0MsfF.js";import"./workspace-arrangement-w-T2xUGF.js";import"./model-thumbnail-B7DVMYtQ.js";import"./studio-environment-BGU84AOG.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./object3d-document-session-registry-Bk-I9jZH.js";import"./three-state-3qPk0Sq8.js";import"./editor-shell-store-CGWO4Ldz.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./editor-layers-D7HXdvWY.js";import"./entity-object-Dl04-FE8.js";import"./three-contract-Dkt6PmWY.js";import"./hierarchy-marks-fSNwXIFe.js";import"./component-instance-root-CzRnRMe6.js";import"./viewport-door-C4Fu0zS3.js";import"./content-bounds-tMCAobKq.js";import"./asset-preview-BkFAKkZH.js";import"./bitmap-label-Ct4k6ehY.js";const Q="workspace.service";function R(){return r()}export{Q as point,R as start};
@@ -1 +0,0 @@
1
- import{a as o}from"./jsx-runtime-DPjLkJKQ.js";import{r as t}from"./index-C5tasxXb.js";import{r as m}from"./index-nmcBqr7Y.js";import{P as p}from"./PlayBar-CBD4rcED.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-D_NuPfjr.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./configurations-Dua_x6Wx.js";import"./run-selection-DRkjJF-w.js";import"./game-network-COQRxS_4.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./native-debug-module-DRmkIrIW.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-CwYeaZ9J.js";import"./contract-system-adapters-D6ion7SF.js";import"./game-contract-seams-B5a-Ev-f.js";import"./seeded-random-DzZFJTfh.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-Cc1GXtG5.js";import"./capability-coverage-39yK3DGt.js";import"./edit-mode-authoring-DgvzXpiM.js";import"./json-history-resource-BUJgH5iK.js";import"./binding-resolver-BoecCqTq.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-DoN23Ol2.js";import"./canvas-entry-runtime-DeyvFKWS.js";import"./three-ingest-runtime-D9JoNRjk.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./Pass-D1MRT672.js";import"./CSS3DRenderer-BsAqfavI.js";import"./relative-path-guard-GiM7Lsz8.js";import"./react-root-BHA-cdrW.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./active-ingest-Ra07ruDo.js";import"./ingest-source-persistence-SAe0xIy-.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-DMMIH4rt.js";import"./mounted-authoring-BS53gpIm.js";import"./entity-object-Dl04-FE8.js";import"./user-data-4Ls0MsfF.js";import"./workspace-arrangement-w-T2xUGF.js";import"./three-contract-Dkt6PmWY.js";import"./three-BRZq2Px5.js";import"./editor-layers-D7HXdvWY.js";import"./component-instance-root-CzRnRMe6.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-DkfGlaNQ.js";import"./source-persistence-backend-BRcy23H9.js";import"./three-projection-core-Dt5ARGlM.js";import"./body-marks-C1LxJtQb.js";import"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";import"./structural-ids-BOo2BRoY.js";import"./object3d-authoring-subject-XccsO0xG.js";import"./r3f-physics-binding-B8Je7bNy.js";import"./deferred-ingest-play-7EJo_GNB.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-DsywMgco.js";import"./board-guides-DhwRYHGT.js";import"./relative-import-specifier-DMppRnNH.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-BqIL-41D.js";import"./inference-diagnostics-D7uYs70A.js";import"./writer-tw6EcuVO.js";import"./three-state-3qPk0Sq8.js";import"./editor-shell-store-CGWO4Ldz.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-C4Fu0zS3.js";import"./game-surface-defaults-D8S4cRxi.js";const Dr="workspace.header",Fr=0;function Gr(){const{project:r}=t();return m.useSyncExternalStore(r.subscribe,r.mounts,r.mounts)?o.jsx(p,{}):null}export{Gr as default,Fr as order,Dr as point};