@volter/game-editor 0.5.155 → 0.5.156

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 (294) 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 +2138 -2138
  5. package/dist/assets/{AssetBudgetPanel-B2Wb7-b1.js → AssetBudgetPanel-BQdPOlqp.js} +3 -3
  6. package/dist/assets/{AudioViewer-gge--M-h.js → AudioViewer-C5y-GQP-.js} +1 -1
  7. package/dist/assets/{CanvasBoardDocument-CyGiXrEJ.js → CanvasBoardDocument-DbChIzOl.js} +1 -1
  8. package/dist/assets/{CanvasSceneViewport-ChG9oRS8.js → CanvasSceneViewport-BAUsxjQl.js} +1 -1
  9. package/dist/assets/{ColorInput-Dzpqy-J3.js → ColorInput-DGN6sIXS.js} +1 -1
  10. package/dist/assets/{ColorPicker-CqJPBHlh.js → ColorPicker-C83d-sVK.js} +1 -1
  11. package/dist/assets/{EntityModelDocument-D7XDf6uB.js → EntityModelDocument-D4IbBjti.js} +1 -1
  12. package/dist/assets/{EnvironmentAssetDocument-BgO7Hl3g.js → EnvironmentAssetDocument-BqTeI8cz.js} +1 -1
  13. package/dist/assets/{GameplaySessionTimeline-BBmwHCKA.js → GameplaySessionTimeline-FqH6Sz1y.js} +1 -1
  14. package/dist/assets/{ImageViewer-BjxoscVa.js → ImageViewer-C_4yhkuB.js} +1 -1
  15. package/dist/assets/InspectorObjectPreview-DCEUdndv.js +1 -0
  16. package/dist/assets/{JsonAssetDocument-D81JuRAm.js → JsonAssetDocument-C-drMm6I.js} +1 -1
  17. package/dist/assets/{LiveModuleDocument-bgStMiU1.js → LiveModuleDocument-C73e8H-p.js} +1 -1
  18. package/dist/assets/{LutAssetDocument-cl9Jq0Zw.js → LutAssetDocument-DfBf46zV.js} +1 -1
  19. package/dist/assets/{ModelAssetDocument-CYCLKpxJ.js → ModelAssetDocument-BgP4YOdh.js} +1 -1
  20. package/dist/assets/{NonThreeAuthoringBootstrap-DhHjvD5d.js → NonThreeAuthoringBootstrap-qnG1AmuP.js} +1 -1
  21. package/dist/assets/{Object3DDocumentToolbar-CQbARBIW.js → Object3DDocumentToolbar-34bmavxS.js} +1 -1
  22. package/dist/assets/Object3DDocumentViewport-Blr8aQeS.js +2 -0
  23. package/dist/assets/{Object3DPreview-BOZYzjz_.js → Object3DPreview-wWjXCo6v.js} +1 -1
  24. package/dist/assets/{OnlineAssetDetail-DdKHHjxg.js → OnlineAssetDetail-C4iaJDOr.js} +1 -1
  25. package/dist/assets/{PlayBar-CAarfEOh.js → PlayBar-CBvuzv1Q.js} +1 -1
  26. package/dist/assets/{QuarksAssetDocument-GTbawoy7.js → QuarksAssetDocument-BlYjfRGp.js} +1 -1
  27. package/dist/assets/{ReactCanvasControls-DIFkxeKv.js → ReactCanvasControls-C06AmSIB.js} +1 -1
  28. package/dist/assets/{RootSelectionOverlay-Dv_w1D9s.js → RootSelectionOverlay-CPw5aFQf.js} +1 -1
  29. package/dist/assets/{ShaderAssetDocument-OA-nshNN.js → ShaderAssetDocument-BVeK6Owt.js} +1 -1
  30. package/dist/assets/{ShadowEditor-Cp1QVCo9.js → ShadowEditor-BKEyyzOq.js} +1 -1
  31. package/dist/assets/{SourceAssetViewer-CGGHBzgL.js → SourceAssetViewer-DB6Fg4Re.js} +1 -1
  32. package/dist/assets/{StageHost-BMgCrIPG.js → StageHost-dHitOcUe.js} +2 -2
  33. package/dist/assets/{StoryPreviewMount-CyF7FwI7.js → StoryPreviewMount-BONsNxze.js} +1 -1
  34. package/dist/assets/{ThreeBoardDocument-DCJkLWU8.js → ThreeBoardDocument-D4CSNWux.js} +2 -2
  35. package/dist/assets/{ThreeIsolationSceneContent-CxsM-QHW.js → ThreeIsolationSceneContent-DkXfPv14.js} +1 -1
  36. package/dist/assets/{ToolObject3DPreview-lsAoRxtr.js → ToolObject3DPreview-DvGqYC9c.js} +1 -1
  37. package/dist/assets/{Toolbar-yvFlRv8R.js → Toolbar-BqUPRrhs.js} +1 -1
  38. package/dist/assets/{TransientHint-Bslncm_l.js → TransientHint-w6qEumzV.js} +1 -1
  39. package/dist/assets/{VideoViewer-Ba-e91kP.js → VideoViewer-B99XdTSg.js} +1 -1
  40. package/dist/assets/{ViewportShadingMenu-CgbuQ0e-.js → ViewportShadingMenu-9AaJLhq_.js} +1 -1
  41. package/dist/assets/{active-ingest-CJ2U5L1O.js → active-ingest-DwF45MBm.js} +2 -2
  42. package/dist/assets/{animation-clock-CVpGQSVj.js → animation-clock-DW8tJ4l7.js} +1 -1
  43. package/dist/assets/{animation-mixers.service-CI0K1tfi.js → animation-mixers.service-kllpdYjk.js} +1 -1
  44. package/dist/assets/{animation-timeline.utility-Wg6WxkxK.js → animation-timeline.utility-C9UVqsSv.js} +1 -1
  45. package/dist/assets/{asset-budget-asset.menu-BbCBxjLY.js → asset-budget-asset.menu-Cl8tmAtz.js} +1 -1
  46. package/dist/assets/{asset-budget.action-CK8h0v1A.js → asset-budget.action-dw6ctYdi.js} +1 -1
  47. package/dist/assets/{asset-budget.document-CYVcDLvH.js → asset-budget.document-BfDL1bS4.js} +1 -1
  48. package/dist/assets/{asset-budget.menu-BcTijQ2R.js → asset-budget.menu-DiOMl0Yh.js} +1 -1
  49. package/dist/assets/{asset-editor-persistence-DWp0E8cc.js → asset-editor-persistence-D2o6zb5I.js} +1 -1
  50. package/dist/assets/{asset-loaders-Bo91oPiL.js → asset-loaders-bMb8Nvq8.js} +1 -1
  51. package/dist/assets/{asset-preview-BUpxsHNd.js → asset-preview-uRqIcg3G.js} +1 -1
  52. package/dist/assets/{audio-unlock.service-CyiXe5qk.js → audio-unlock.service-CBeaLfYT.js} +1 -1
  53. package/dist/assets/{audio.utility-BN4mANCx.js → audio.utility-iWLchCUR.js} +1 -1
  54. package/dist/assets/autoplay.service---Nu6koq.js +1 -0
  55. package/dist/assets/{babylon-authoring-adapter-C-EAsfMr.js → babylon-authoring-adapter-Bt8B089v.js} +1 -1
  56. package/dist/assets/{binding-resolver-DoOAFM2m.js → binding-resolver-qdReeiXP.js} +2 -2
  57. package/dist/assets/{blender-node-editor.document-BzkGPs0i.js → blender-node-editor.document-DHj3Luuz.js} +1 -1
  58. package/dist/assets/{blender-properties-tab-B1ggqOYB.js → blender-properties-tab-mrwIpZz_.js} +1 -1
  59. package/dist/assets/{blender-runtime-host-MJZEPwHA.js → blender-runtime-host-rAbOjzv5.js} +1 -1
  60. package/dist/assets/{blender-runtime-skin-hw-op7Nt.js → blender-runtime-skin-CVACAkwd.js} +2 -2
  61. package/dist/assets/{blender-runtime.document-CvTyAou8.js → blender-runtime.document-VP-2qjfk.js} +10 -10
  62. package/dist/assets/{blender-screenshot.menu-C4VXpXVa.js → blender-screenshot.menu-B_zThqdR.js} +1 -1
  63. package/dist/assets/{blender-timeline.document-BRFDd7JZ.js → blender-timeline.document-BMNJBWXP.js} +1 -1
  64. package/dist/assets/{blender-uv-editor.document-CM09ITWu.js → blender-uv-editor.document-B2xmye2O.js} +1 -1
  65. package/dist/assets/{blender-version.status-CPyc_-kA.js → blender-version.status-BzVGyJhB.js} +1 -1
  66. package/dist/assets/{blender.command-ktKz-2Zi.js → blender.command-CNlvvxaj.js} +1 -1
  67. package/dist/assets/{board-guides-CCiyx8cT.js → board-guides-BPvQZ1ob.js} +1 -1
  68. package/dist/assets/{bridge.command-tP5j6w72.js → bridge.command-dqFe1Lyp.js} +3 -3
  69. package/dist/assets/{browserAll-BSQVVrNG.js → browserAll-DLXEw1rV.js} +1 -1
  70. package/dist/assets/{build-player.document-BwbBXtF5.js → build-player.document-Bra3vDcF.js} +1 -1
  71. package/dist/assets/{build-profiles.document-UiF_BsjE.js → build-profiles.document-DuSvWEO8.js} +1 -1
  72. package/dist/assets/{build-progress.status-Bf5KpnxC.js → build-progress.status-hkKRXBcc.js} +1 -1
  73. package/dist/assets/{build-session-C4jVDt-u.js → build-session-B5GOV8fm.js} +1 -1
  74. package/dist/assets/{build.action-DP2d1Uhj.js → build.action-DUrS97Yw.js} +1 -1
  75. package/dist/assets/{build.command-D5pyNcoj.js → build.command-fNnr9pdz.js} +1 -1
  76. package/dist/assets/{build.header-DupBIAOw.js → build.header-C-WQMQD8.js} +1 -1
  77. package/dist/assets/{build.menu-DWrKtdoV.js → build.menu-CsVJRmY6.js} +1 -1
  78. package/dist/assets/{build.service-qnz73gSX.js → build.service-CJfK8K6X.js} +1 -1
  79. package/dist/assets/{camera-C74U5X7o.js → camera-CpvCFt-Y.js} +1 -1
  80. package/dist/assets/{camera-runtime.inspector-B2l34Xhl.js → camera-runtime.inspector-BwSdtfTT.js} +1 -1
  81. package/dist/assets/{canvas-design-mount-D4M3E1AX.js → canvas-design-mount-CE-67ZS9.js} +3 -3
  82. package/dist/assets/{canvas-entry-runtime-CLOuJcgT.js → canvas-entry-runtime-CBpGQGRw.js} +2 -2
  83. package/dist/assets/{canvas-preview-frames-CSCcu2sG.js → canvas-preview-frames-DoDVjE4O.js} +1 -1
  84. package/dist/assets/{canvas-story-capture.service-onD_xSpQ.js → canvas-story-capture.service-hibqSqwB.js} +2 -2
  85. package/dist/assets/{capability-coverage-EnZ99FoT.js → capability-coverage-DWVel6Wq.js} +1 -1
  86. package/dist/assets/{collaboration-presence-1_UMOAkw.js → collaboration-presence-B9eqNDDB.js} +1 -1
  87. package/dist/assets/{collider-C6R1tHfa.js → collider-DD5wreOq.js} +1 -1
  88. package/dist/assets/{component-board.service-BX_2bwX3.js → component-board.service-B1RineLo.js} +2 -2
  89. package/dist/assets/{component-board.service-Cuf_SXeA.js → component-board.service-eXvcrWzD.js} +2 -2
  90. package/dist/assets/{component-board.service-Ckl-5tA4.js → component-board.service-r8KlRes9.js} +2 -2
  91. package/dist/assets/{component-contracts.service-rI-rbvDG.js → component-contracts.service-YWaJqTzM.js} +1 -1
  92. package/dist/assets/{component-instance-root-wO1p-rLr.js → component-instance-root-BrRLxTKu.js} +1 -1
  93. package/dist/assets/{component-verbs.command-O2bwqmK3.js → component-verbs.command-D5LCfxHY.js} +1 -1
  94. package/dist/assets/{component-verbs.service-BiiQMtJt.js → component-verbs.service-BUTHHNRT.js} +1 -1
  95. package/dist/assets/{config-dVnV1cxW.js → config-DQqPM4dV.js} +2 -2
  96. package/dist/assets/{configurations-8qaUqMH7.js → configurations-Dn9LLbWO.js} +1 -1
  97. package/dist/assets/{connection.status-vH9WCDDg.js → connection.status-CMZKs7ch.js} +1 -1
  98. package/dist/assets/{constraints.inspector-C7UjUxPR.js → constraints.inspector-CRay8pK8.js} +1 -1
  99. package/dist/assets/{content-bounds-Dl5Y3LLv.js → content-bounds-UvcUv1DD.js} +1 -1
  100. package/dist/assets/{contract-system-adapters-BDUpDoKd.js → contract-system-adapters-Bbw5uUUi.js} +1 -1
  101. package/dist/assets/{coverage.service-IS7Oklo8.js → coverage.service-DeTXoRCC.js} +1 -1
  102. package/dist/assets/{create-runtime-Bucz0XVU.js → create-runtime-Z7LcpKwn.js} +1 -1
  103. package/dist/assets/{curve-D0Q6TczG.js → curve-DGhnvtG4.js} +1 -1
  104. package/dist/assets/{data-asset-B0a1y8M-.js → data-asset-CrnqULWS.js} +1 -1
  105. package/dist/assets/{data-ref-dRt2Wi5L.js → data-ref-ym18xkxV.js} +1 -1
  106. package/dist/assets/{debug-bridge-EhDkhrLX.js → debug-bridge-BknWW_8M.js} +1 -1
  107. package/dist/assets/{debug-registry-B2THKz1v.js → debug-registry-C7poEnyY.js} +1 -1
  108. package/dist/assets/{deferred-ingest-play-To3ZratW.js → deferred-ingest-play-3qS-wvgF.js} +2 -2
  109. package/dist/assets/{design-time-canvas-mount-BnSaRAbS.js → design-time-canvas-mount-JkGmMINz.js} +2 -2
  110. package/dist/assets/{design-time-layers-OMAIxOrv.js → design-time-layers-nxUfMfKI.js} +1 -1
  111. package/dist/assets/{design-time-mount.service-Bgr_nCDs.js → design-time-mount.service-DQganiM8.js} +2 -2
  112. package/dist/assets/{design-time-mount.service-RFkiqPIn.js → design-time-mount.service-EBZKN6cL.js} +2 -2
  113. package/dist/assets/{design-time-react-mount-BsSBoX7J.js → design-time-react-mount-COvuTCBY.js} +1 -1
  114. package/dist/assets/{document-preview-three-Qni0oVBw.js → document-preview-three-BaWpv458.js} +1 -1
  115. package/dist/assets/{dom-authoring-adapter-DsUgOtQy.js → dom-authoring-adapter-wlPbZwHo.js} +1 -1
  116. package/dist/assets/{draco3d-DyZllcka.js → draco3d-DdFfLaRu.js} +1 -1
  117. package/dist/assets/{edit-mode-audio.service-CjXNAZEs.js → edit-mode-audio.service-B74d6zkz.js} +1 -1
  118. package/dist/assets/{edit-mode-authoring-BDgZD47j.js → edit-mode-authoring-Cf83TffW.js} +1 -1
  119. package/dist/assets/{edit-mode-networking.service-3dUr2g_0.js → edit-mode-networking.service-C7FSPHzl.js} +1 -1
  120. package/dist/assets/{editor-api-DTrNJMXL.js → editor-api-DLfSJ2g2.js} +1 -1
  121. package/dist/assets/{editor-layers-DwaX5UFy.js → editor-layers-BVicagU1.js} +1 -1
  122. package/dist/assets/{editor-shell-store-aKHbAoCV.js → editor-shell-store-CV73gQk5.js} +1 -1
  123. package/dist/assets/{entity-object-BLJ-I8XT.js → entity-object-DTQ4I2K5.js} +1 -1
  124. package/dist/assets/{extend-6LrR7eSL.js → extend-B7YOIXSU.js} +1 -1
  125. package/dist/assets/{fork-menu-V-FM6YuY.js → fork-menu-BToX8Jv4.js} +1 -1
  126. package/dist/assets/{frame-debugger-store-DwDC0wAm.js → frame-debugger-store-CuCtiEQ1.js} +1 -1
  127. package/dist/assets/{game-contract-seams-C22a4B79.js → game-contract-seams-DRUf45xM.js} +1 -1
  128. package/dist/assets/{game-css-scope-transform-Wv0ZdTsR.js → game-css-scope-transform-rbFoxfMV.js} +1 -1
  129. package/dist/assets/{game-document.service-BzvFIWCc.js → game-document.service-D409VVnQ.js} +1 -1
  130. package/dist/assets/{game-eval.command-DpQn_nY8.js → game-eval.command-BJ51kPy3.js} +1 -1
  131. package/dist/assets/{game-module-access-BI6oBa8Y.js → game-module-access-ib9tWhJc.js} +1 -1
  132. package/dist/assets/{game-network-Deo8lcPw.js → game-network-BZM-o9Ey.js} +3 -3
  133. package/dist/assets/{gameplay-export-BOLhxmII.js → gameplay-export-Bsvbs7wO.js} +1 -1
  134. package/dist/assets/{gameplay-replay-Dkvmv6hf.js → gameplay-replay-k_14DJ5F.js} +1 -1
  135. package/dist/assets/{gameplay.command-DCKqLv7C.js → gameplay.command-DGVwoOz_.js} +1 -1
  136. package/dist/assets/{generation-jobs-6D562vMB.js → generation-jobs-BxpAnwDo.js} +1 -1
  137. package/dist/assets/{generation.service-BFRoLb7y.js → generation.service-D1win2Pl.js} +1 -1
  138. package/dist/assets/{generations-HwV1btKK.js → generations-Dlu2fhGN.js} +1 -1
  139. package/dist/assets/{generations.status-BLiDcKsg.js → generations.status-BPYUSGr_.js} +1 -1
  140. package/dist/assets/{hierarchy-marks-DeG4E4Ke.js → hierarchy-marks-Dn7SO2iG.js} +1 -1
  141. package/dist/assets/{hosted-asset-materialization-Bod7CEMF.js → hosted-asset-materialization-DPmn23AM.js} +1 -1
  142. package/dist/assets/{index-CLUA6PYq.js → index-B41IX0yA.js} +1 -1
  143. package/dist/assets/{index-CyLPQ8pY.js → index-B4NI0L5I.js} +1 -1
  144. package/dist/assets/{index-DkYeh000.js → index-BjUxirz3.js} +1 -1
  145. package/dist/assets/{index-KIR4Has5.js → index-C_XSSPHO.js} +1 -1
  146. package/dist/assets/{index-4hL3-0yz.js → index-Cp9b5Qfa.js} +1 -1
  147. package/dist/assets/{index-jS3rfNkZ.js → index-D1nMmQxJ.js} +1 -1
  148. package/dist/assets/{index-ClgrFOcX.js → index-D9shXtZ9.js} +7 -7
  149. package/dist/assets/{index-CHOT9sYh.js → index-FWtJb07f.js} +2 -2
  150. package/dist/assets/{index-CdLhNxor.js → index-_-7lUYI-.js} +1 -1
  151. package/dist/assets/{inference-diagnostics-BmZ5ggEK.js → inference-diagnostics-V4igFQX2.js} +1 -1
  152. package/dist/assets/{ingest-boot-viewport-CipkFljr.js → ingest-boot-viewport-DBpKatwo.js} +1 -1
  153. package/dist/assets/{ingest-siblings-CEwYp-xg.js → ingest-siblings-C8OmNNTc.js} +1 -1
  154. package/dist/assets/{ingest-source-persistence-CVU1rTj0.js → ingest-source-persistence-DH7q9G1S.js} +1 -1
  155. package/dist/assets/{ingest.service-bNqvcqoK.js → ingest.service-D3Ru3YUS.js} +1 -1
  156. package/dist/assets/{inspect-BunjdqX7.js → inspect-Bhr2b3pa.js} +1 -1
  157. package/dist/assets/instances.command-CDIwEW8H.js +1 -0
  158. package/dist/assets/{json-history-resource-CDEoQe1R.js → json-history-resource-B8_YpeAT.js} +1 -1
  159. package/dist/assets/{layered-pick-guh6WlA7.js → layered-pick-MdBIQeUt.js} +1 -1
  160. package/dist/assets/{light-BPZivpCK.js → light-BvCKNW4e.js} +1 -1
  161. package/dist/assets/{live-project-verbs-Bqmxbr2o.js → live-project-verbs-DggWGgn-.js} +1 -1
  162. package/dist/assets/{machine.document-CAFPFq5K.js → machine.document-CTyXmK5a.js} +1 -1
  163. package/dist/assets/{machines.finder-CbUWReMp.js → machines.finder-C6WR7N-k.js} +1 -1
  164. package/dist/assets/{material-huG6lNEK.js → material-BoHGaIcq.js} +1 -1
  165. package/dist/assets/{material-factory-BkyOzJ7B.js → material-factory-D-cyMEti.js} +1 -1
  166. package/dist/assets/{mesh-CjCfRcFK.js → mesh-B-ksBKUU.js} +1 -1
  167. package/dist/assets/{model-asset-sections.service-Dt4V2K2v.js → model-asset-sections.service-DHsGD1SZ.js} +1 -1
  168. package/dist/assets/{model-inspection-BDA5jikL.js → model-inspection-Bsfj6b48.js} +1 -1
  169. package/dist/assets/{model-thumbnail-CF3qGQWb.js → model-thumbnail-Bp-1yQ-X.js} +1 -1
  170. package/dist/assets/{models.finder-yh4YeGrA.js → models.finder-DksRlbR8.js} +1 -1
  171. package/dist/assets/{module-mode-D8en13PD.js → module-mode-qROy_5Tk.js} +2 -2
  172. package/dist/assets/{mount-canvas-ingest-root-JOkm2Ypj.js → mount-canvas-ingest-root-CLbJS_Ob.js} +2 -2
  173. package/dist/assets/{mount-dom-ingest-root-CVXFnJZb.js → mount-dom-ingest-root-CI7VtdaS.js} +2 -2
  174. package/dist/assets/{mount-ingest-root-C3o0o28C.js → mount-ingest-root-BX_usF8y.js} +2 -2
  175. package/dist/assets/{mount-manifest-d7WQ9MYp.js → mount-manifest-lQBlK2Y1.js} +1 -1
  176. package/dist/assets/{mount-three-ingest-root-Dqd4XWP1.js → mount-three-ingest-root-g6yhs1S-.js} +1 -1
  177. package/dist/assets/{mounted-authoring-B697dYuN.js → mounted-authoring-D5cvzNXX.js} +1 -1
  178. package/dist/assets/{mounted-story-viewport-source-BvNZ3QQn.js → mounted-story-viewport-source-C-RZo_xH.js} +1 -1
  179. package/dist/assets/{native-debug-module-iX2-V5kg.js → native-debug-module-Bh_HQdg_.js} +1 -1
  180. package/dist/assets/{navigation-CIl9OY1F.js → navigation-DVO5eQO6.js} +1 -1
  181. package/dist/assets/{navmesh.menu-DrMoj7Ag.js → navmesh.menu-Cu9R-p4V.js} +1 -1
  182. package/dist/assets/{navmesh.service-CTr1NVfz.js → navmesh.service-D6EeQxE0.js} +1 -1
  183. package/dist/assets/network-observer.service-CLE3M7gH.js +1 -0
  184. package/dist/assets/{network.utility-Btexm5ao.js → network.utility-D4Uo1xUC.js} +1 -1
  185. package/dist/assets/{object3d-document-session-registry-CADiW-LP.js → object3d-document-session-registry-bor-eSgr.js} +2 -2
  186. package/dist/assets/{oid-transform-Ca1oU_Ei.js → oid-transform-rEmA5PfE.js} +1 -1
  187. package/dist/assets/{particles-D1oPwNJh.js → particles-BxlIkQUX.js} +1 -1
  188. package/dist/assets/{pixi-authoring-adapter-B1BBfTju.js → pixi-authoring-adapter-CTSRtvNw.js} +1 -1
  189. package/dist/assets/{pixi-live-write-target-BcUhtqmJ.js → pixi-live-write-target-DaUAvNu7.js} +1 -1
  190. package/dist/assets/{play.command-ScnwcvJr.js → play.command-BtV56gUr.js} +2 -2
  191. package/dist/assets/{presentation-DPfnCjNA.js → presentation-DxTT40_3.js} +1 -1
  192. package/dist/assets/{product-D_9saRiZ.js → product-BAGhTFHw.js} +1 -1
  193. package/dist/assets/{profiler.action-PXTw93E5.js → profiler.action-DaSS1RoY.js} +1 -1
  194. package/dist/assets/{profiler.menu-DPFV6QQD.js → profiler.menu-5OyI3lyY.js} +1 -1
  195. package/dist/assets/{profiler.utility-eDooJGnI.js → profiler.utility-DLzaMOPh.js} +1 -1
  196. package/dist/assets/{project-authoring-session-BmeutotA.js → project-authoring-session-DZOgiTch.js} +2 -2
  197. package/dist/assets/{properties-bone-constraints.inspector-BW0V1WXQ.js → properties-bone-constraints.inspector-JMlHKfN2.js} +1 -1
  198. package/dist/assets/{properties-bone.inspector-DIvTZhY8.js → properties-bone.inspector-C-c7iGEx.js} +1 -1
  199. package/dist/assets/{properties-collection.inspector-Dbt5XMhs.js → properties-collection.inspector-PXHDUs1b.js} +1 -1
  200. package/dist/assets/{properties-constraints.inspector-5SvB0GDC.js → properties-constraints.inspector-CQnnGi1O.js} +1 -1
  201. package/dist/assets/{properties-data.inspector-C-SngIsI.js → properties-data.inspector-DuEPeVBm.js} +1 -1
  202. package/dist/assets/{properties-material.inspector-CYAWsvsX.js → properties-material.inspector-BhKP0Zc_.js} +1 -1
  203. package/dist/assets/{properties-modifiers.inspector-XN6BL-Ll.js → properties-modifiers.inspector-lOMb72vk.js} +1 -1
  204. package/dist/assets/{properties-object.inspector-CfryU0kN.js → properties-object.inspector-BU2hn26Q.js} +1 -1
  205. package/dist/assets/{properties-output.inspector-COfgmFUW.js → properties-output.inspector-yNaC3IgX.js} +1 -1
  206. package/dist/assets/{properties-particles.inspector-BCh0vFr6.js → properties-particles.inspector-CaHfdQZB.js} +1 -1
  207. package/dist/assets/{properties-physics.inspector-B6to1u6U.js → properties-physics.inspector-Bt9Xjyu-.js} +1 -1
  208. package/dist/assets/{properties-render.inspector-C4hVfo7j.js → properties-render.inspector-Cl8UBLPY.js} +1 -1
  209. package/dist/assets/{properties-scene.inspector-dKta4xn5.js → properties-scene.inspector-D9cgONMx.js} +1 -1
  210. package/dist/assets/{properties-texture.inspector-ZlNhW25m.js → properties-texture.inspector-804GEF8F.js} +1 -1
  211. package/dist/assets/{properties-view-layer.inspector-CIxHmkDR.js → properties-view-layer.inspector-CLo0Z-B1.js} +1 -1
  212. package/dist/assets/{properties-world.inspector-Ce0q2dmK.js → properties-world.inspector-CjywenDE.js} +1 -1
  213. package/dist/assets/{r3f-design-session-1riISktt.js → r3f-design-session-B2k02ypD.js} +2 -2
  214. package/dist/assets/{r3f-physics-binding-DuG97FR9.js → r3f-physics-binding-D1rgVgsz.js} +1 -1
  215. package/dist/assets/{r3f-source-authoring-adapter-B8qqrdwk.js → r3f-source-authoring-adapter-Dj0r13-b.js} +1 -1
  216. package/dist/assets/{react-canvas-navigation-CxBm8iw8.js → react-canvas-navigation-t00NiEKB.js} +1 -1
  217. package/dist/assets/{react-inspector.service-BcdePwno.js → react-inspector.service-Xp4f-M0O.js} +1 -1
  218. package/dist/assets/{react-story-board-CMvkLAkF.js → react-story-board-DAQaZNga.js} +1 -1
  219. package/dist/assets/{react-three-rapier.esm-D5svf-ME.js → react-three-rapier.esm-D13B7Exz.js} +1 -1
  220. package/dist/assets/{react-world-authoring-adapter-Dq8NqvWu.js → react-world-authoring-adapter-zzyaxcpN.js} +1 -1
  221. package/dist/assets/{realm-services-CqjVBanw.js → realm-services-CyeBcuLZ.js} +1 -1
  222. package/dist/assets/{reflection-probe-capture.inspector-uEvyppEj.js → reflection-probe-capture.inspector-BpdGQ2gf.js} +1 -1
  223. package/dist/assets/{registry-D7lFIA8c.js → registry-DM1tIelZ.js} +1 -1
  224. package/dist/assets/{relative-import-specifier-CA9mSNXO.js → relative-import-specifier-txHdCBKR.js} +1 -1
  225. package/dist/assets/{render-env-BHasp-z3.js → render-env-DiO35wd3.js} +1 -1
  226. package/dist/assets/{render-features-sSb1-c5x.js → render-features-Bv3_74_x.js} +1 -1
  227. package/dist/assets/{render-settings-CUbo4Sw5.js → render-settings-8kb_yvkr.js} +1 -1
  228. package/dist/assets/{resolve-three-TQ367RQD.js → resolve-three-D9rgCC5Z.js} +3 -3
  229. package/dist/assets/{root-seam-contract-CneTgNww.js → root-seam-contract-BgkkJVuJ.js} +1 -1
  230. package/dist/assets/{run-selection-CNsOQTEG.js → run-selection-WrcYgYP3.js} +1 -1
  231. package/dist/assets/{scene-capture-KbdRgsD3.js → scene-capture-C08wT5TW.js} +1 -1
  232. package/dist/assets/{scene-document.service-CmPSUocW.js → scene-document.service-D7sb6hvQ.js} +2 -2
  233. package/dist/assets/{scene-framing-B5JC4NeG.js → scene-framing-BSvegpi4.js} +1 -1
  234. package/dist/assets/{seeded-random-B6zqGkWP.js → seeded-random-Bc5190so.js} +1 -1
  235. package/dist/assets/{setup-renderer-efjIBSGF.js → setup-renderer-JwrNwzqH.js} +1 -1
  236. package/dist/assets/{source-object3d-authoring-adapter-DeeboYub.js → source-object3d-authoring-adapter-BJwLQVsv.js} +1 -1
  237. package/dist/assets/{source-persistence-backend-Cwy93SmQ.js → source-persistence-backend-DsG30XMj.js} +1 -1
  238. package/dist/assets/{stage-keyboard-GNCaTXLA.js → stage-keyboard-BnzybgXw.js} +1 -1
  239. package/dist/assets/{stage-overlay-set-DV3SCzJb.js → stage-overlay-set-BWxO_Pk6.js} +1 -1
  240. package/dist/assets/{stage-presence-markers-CBEU1Kzo.js → stage-presence-markers-BD5JPVX6.js} +1 -1
  241. package/dist/assets/{stage-transform-tools-C9nNDW6n.js → stage-transform-tools-CHvXlnKB.js} +1 -1
  242. package/dist/assets/{standard-viewport-dressing-BJkGwiNT.js → standard-viewport-dressing-4xAZCGJ3.js} +1 -1
  243. package/dist/assets/{state-watch.action-Doz_jrzS.js → state-watch.action-0KAywung.js} +1 -1
  244. package/dist/assets/{state-watch.menu-Dj4DUUxN.js → state-watch.menu-4xjTZIEx.js} +1 -1
  245. package/dist/assets/{state-watch.utility-COPa8xpV.js → state-watch.utility-DZgzPGEZ.js} +1 -1
  246. package/dist/assets/{story-capture-stRSY4PQ.js → story-capture-d695eMLJ.js} +1 -1
  247. package/dist/assets/{story-documents-CYzWYY1o.js → story-documents-C1hZeYU3.js} +1 -1
  248. package/dist/assets/{story-documents.service-DJBu4rve.js → story-documents.service-CSXB6uqT.js} +1 -1
  249. package/dist/assets/{story-documents.service-C5r8KFEG.js → story-documents.service-bB0UDbvA.js} +1 -1
  250. package/dist/assets/{story-media-presence-D4AIsAtK.js → story-media-presence-CxD6G_Mu.js} +1 -1
  251. package/dist/assets/{story-pixi-preview-mPo3OFOd.js → story-pixi-preview-CJKGDBKs.js} +1 -1
  252. package/dist/assets/{story-presentation-Dw4Vw65P.js → story-presentation-BBS9x4BP.js} +1 -1
  253. package/dist/assets/{story-three-preview-CWM0Rj7x.js → story-three-preview-v22RRpqB.js} +2 -2
  254. package/dist/assets/{studio-environment-Bw9zMFE8.js → studio-environment-CvCEc6PK.js} +1 -1
  255. package/dist/assets/{surface-state-b_H4iOCJ.js → surface-state-EsG-yMSi.js} +1 -1
  256. package/dist/assets/{syntactic-prop-specs-BCdwWi-T.js → syntactic-prop-specs-DvSr6VoQ.js} +1 -1
  257. package/dist/assets/{team-playtest.service-CnxdTghn.js → team-playtest.service-Bp6j6MAv.js} +1 -1
  258. package/dist/assets/{three-DWy0sZom.js → three-Do16bEo9.js} +1 -1
  259. package/dist/assets/{three-authoring-adapter-9LcUBPaU.js → three-authoring-adapter-C2QFVlpK.js} +1 -1
  260. package/dist/assets/three-authoring.service-DxL4grJx.js +2 -0
  261. package/dist/assets/{three-ingest-runtime-x9nLmUl-.js → three-ingest-runtime-DW-lHDmp.js} +1 -1
  262. package/dist/assets/{three-integration-DB-xQHD5.js → three-integration-C1onOQwq.js} +2 -2
  263. package/dist/assets/three-integration.service-26hsEOk3.js +1 -0
  264. package/dist/assets/{three-projection-core-IUovHgg_.js → three-projection-core-1FETWj5n.js} +1 -1
  265. package/dist/assets/{three-state-_ImCbP87.js → three-state-d-szeOea.js} +1 -1
  266. package/dist/assets/{three-story-capture.service-wKwfSnqA.js → three-story-capture.service-gnrRzcjj.js} +2 -2
  267. package/dist/assets/{three-story-model-BxWKcl9d.js → three-story-model-CbEMWEte.js} +1 -1
  268. package/dist/assets/{three-viewport-presentation-Bg86EsDJ.js → three-viewport-presentation-D1ysWIW4.js} +1 -1
  269. package/dist/assets/{transform-mode-request-BnV8FSnx.js → transform-mode-request-B3AxgwGW.js} +1 -1
  270. package/dist/assets/{transport-strip-BZQnaxFN.js → transport-strip-D4N14xHx.js} +1 -1
  271. package/dist/assets/transport.header-D3j_V-tN.js +1 -0
  272. package/dist/assets/{tuples-DR33sMq6.js → tuples-B3URXxaa.js} +1 -1
  273. package/dist/assets/{ui-board-document-VJMvm6Ks.js → ui-board-document-BSrfzH8L.js} +2 -2
  274. package/dist/assets/{user-data-DL6HsBPf.js → user-data-DHB4MWum.js} +1 -1
  275. package/dist/assets/{utility-view-state-ghWXsYXq.js → utility-view-state-CfZ51NRS.js} +1 -1
  276. package/dist/assets/{viewport-door-BV_lf5uK.js → viewport-door-DkDcO9tp.js} +1 -1
  277. package/dist/assets/{viewport-root-presentation-CKqhX3mt.js → viewport-root-presentation-DtuBFJ-J.js} +1 -1
  278. package/dist/assets/{viewport-surface-status-D7M2L2lI.js → viewport-surface-status-HKbJtC2G.js} +1 -1
  279. package/dist/assets/{webworkerAll-DDbFvxgB.js → webworkerAll-JD3yAUg1.js} +1 -1
  280. package/dist/assets/{workspace-arrangement-86_8Kk5K.js → workspace-arrangement-BOk46mGq.js} +1 -1
  281. package/dist/assets/{world-documents-DeNJUefV.js → world-documents-AnhAH_9y.js} +1 -1
  282. package/dist/assets/{world-root-stage-binding-VOrldLB4.js → world-root-stage-binding-H0SUNbfK.js} +1 -1
  283. package/dist/assets/{xstate-animation-binding-747CfEeB.js → xstate-animation-binding-BjWKb5ne.js} +1 -1
  284. package/dist/assets/{xstate-animation-meta-DNMlMnr-.js → xstate-animation-meta-CTBp-Vc5.js} +1 -1
  285. package/dist-node/cli.js +16 -16
  286. package/package.json +16 -16
  287. package/dist/assets/InspectorObjectPreview-C87CasN_.js +0 -1
  288. package/dist/assets/Object3DDocumentViewport-BpiyRQ5p.js +0 -2
  289. package/dist/assets/autoplay.service-CKBqjozr.js +0 -1
  290. package/dist/assets/instances.command-DzcXdKuG.js +0 -1
  291. package/dist/assets/network-observer.service-DyzpGKA7.js +0 -1
  292. package/dist/assets/three-authoring.service-DdTMF4A2.js +0 -2
  293. package/dist/assets/three-integration.service-DwToRGIc.js +0 -1
  294. package/dist/assets/transport.header-1SF4ZbEd.js +0 -1
@@ -1 +1 @@
1
- import{Z as a}from"./index-ClgrFOcX.js";const r=new Set;function i(t,e,n){return JSON.stringify([t,e,n])}function d(t,e,n){const o=i(t,e,n);r.has(o)||(r.add(o),a.warn(`No declaration covers \`${e}\` in ${t}, so the editor GUESSED \`${n}\` from its text. Declare it (a typed prop on the component, a token value that states its own kind) and the editor reads the declaration instead of a heuristic.`,"inspector"))}export{d as w};
1
+ import{Z as a}from"./index-D9shXtZ9.js";const r=new Set;function i(t,e,n){return JSON.stringify([t,e,n])}function d(t,e,n){const o=i(t,e,n);r.has(o)||(r.add(o),a.warn(`No declaration covers \`${e}\` in ${t}, so the editor GUESSED \`${n}\` from its text. Declare it (a typed prop on the component, a token value that states its own kind) and the editor reads the declaration instead of a heuristic.`,"inspector"))}export{d as w};
@@ -1 +1 @@
1
- import{Z as r,L as d,d3 as a,aK as c,d4 as p,d5 as m,aQ as l}from"./index-ClgrFOcX.js";import{h as u,f,a as I}from"./active-ingest-CJ2U5L1O.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"./game-contract-seams-C22a4B79.js";import"./capability-coverage-EnZ99FoT.js";import"./ingest-source-persistence-CVU1rTj0.js";import"./contract-system-adapters-BDUpDoKd.js";function b(){const o=I();if(o){if(!u())throw new Error(`Ingest "${o.worldId}" mounted without the required pause capability; refusing to expose a running game in Edit — ${f()??"no lifecycle control was bound"}.`);r.log(`Ingest "${o.worldId}" is HELD — content time does not advance in Edit until ▶`,"ingest")}const e=l(),i=d()?.scenes.default,n=i?m(i):void 0,s=(n?e.find(t=>t.descriptor.id===n):void 0)??e.find(t=>t.descriptor.id===a)??e.find(t=>t.descriptor.id===c);s&&p(s.descriptor.id)}export{b as landIngestBootInEdit};
1
+ import{Z as r,L as d,d3 as a,aK as c,d4 as p,d5 as m,aQ as l}from"./index-D9shXtZ9.js";import{h as u,f,a as I}from"./active-ingest-DwF45MBm.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"./game-contract-seams-DRUf45xM.js";import"./capability-coverage-DWVel6Wq.js";import"./ingest-source-persistence-DH7q9G1S.js";import"./contract-system-adapters-Bbw5uUUi.js";function b(){const o=I();if(o){if(!u())throw new Error(`Ingest "${o.worldId}" mounted without the required pause capability; refusing to expose a running game in Edit — ${f()??"no lifecycle control was bound"}.`);r.log(`Ingest "${o.worldId}" is HELD — content time does not advance in Edit until ▶`,"ingest")}const e=l(),i=d()?.scenes.default,n=i?m(i):void 0,s=(n?e.find(t=>t.descriptor.id===n):void 0)??e.find(t=>t.descriptor.id===a)??e.find(t=>t.descriptor.id===c);s&&p(s.descriptor.id)}export{b as landIngestBootInEdit};
@@ -1 +1 @@
1
- import{ag as y,Z as v,bX as b,bY as R,dw as S,dx as E,b_ as f}from"./index-ClgrFOcX.js";import{w}from"./mounted-authoring-B697dYuN.js";import{P as k}from"./pixi-authoring-adapter-B1BBfTju.js";import{createLiveCanvasWriteTarget as A}from"./pixi-live-write-target-BcUhtqmJ.js";import{resolveCanvasPixiForEditor as x}from"./canvas-entry-runtime-CLOuJcgT.js";import{C}from"./crash-null-boundary-v3a0uEgw.js";import{a as l}from"./json-history-resource-CDEoQe1R.js";import{a as I}from"./realm-services-CqjVBanw.js";import{r as P}from"./react-root-BHA-cdrW.js";import{D as $}from"./dom-authoring-adapter-DsUgOtQy.js";import{w as D,R as M}from"./react-world-authoring-adapter-Dq8NqvWu.js";import{createPhysics2DRegistry as j}from"./physics-registry-B2Jkp8e6.js";import{createPhysicsAdapter2D as z}from"./system-adapters-rIC8FSGP.js";import{s as B}from"./three-authoring-adapter-9LcUBPaU.js";import{r as h}from"./index-nmcBqr7Y.js";import{r as F}from"./index-CtzuWnCS.js";import{a as O}from"./client-DNXj_opT.js";import{mountModuleRootRuntime as T}from"./module-mode-D8en13PD.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./entity-object-BLJ-I8XT.js";import"./user-data-DL6HsBPf.js";import"./workspace-arrangement-86_8Kk5K.js";import"./three-contract-Dkt6PmWY.js";import"./index-CHOT9sYh.js";import"./source-persistence-backend-Cwy93SmQ.js";import"./ingest-source-persistence-CVU1rTj0.js";import"./component-instance-root-wO1p-rLr.js";import"./pixi-transform-channels-P4rvmusc.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./debug-registry-B2THKz1v.js";import"./three-ingest-runtime-x9nLmUl-.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./Pass-D1MRT672.js";import"./CSS3DRenderer-BsAqfavI.js";import"./inspect-BunjdqX7.js";import"./inference-diagnostics-BmZ5ggEK.js";import"./board-guides-CCiyx8cT.js";import"./relative-import-specifier-CA9mSNXO.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./writer-tw6EcuVO.js";import"./three-projection-core-IUovHgg_.js";import"./editor-layers-DwaX5UFy.js";import"./three-DWy0sZom.js";import"./viewport-editor-controls-BYaAZ_Ku.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-DuG97FR9.js";import"./capability-coverage-EnZ99FoT.js";import"./game-contract-seams-C22a4B79.js";import"./binding-resolver-DoOAFM2m.js";import"./native-debug-module-iX2-V5kg.js";import"./native-entry-surface-BE8LJNdu.js";import"./contract-system-adapters-BDUpDoKd.js";import"./adapter-surface-Y37Nzcyw.js";import"./index-DzuOGwVB.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./events-156d8d12.esm-DmeaOP4r.js";import"./relative-path-guard-GiM7Lsz8.js";function g(t,i,n){t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.width="100%",t.style.height="100%",t.style.zIndex=String(i.zOrder??0),t.style.pointerEvents=n}async function W(t,i,n,m){const r=await I(n,S()),a=await P(t,r),e=document.createElement("div");e.dataset.volterRootSurface="true",g(e,t,"none"),i.appendChild(e);const u=O.createRoot(e);let s=null;if(F.flushSync(()=>{u.render(h.createElement(C,{onCaught:c=>{s=c}},h.createElement(a)))}),s!==null)throw u.unmount(),e.remove(),s instanceof Error?s:new Error(String(s));let o;if(m)if(D(e).nodes.size>0){const p=E("An ingest sibling’s react layer");o=new M(e,m.shell,{...p?{writeBackend:p}:{}})}else o=new $(e,m,{journal:l(t.id)});return{worldId:t.id,...o?{authoring:o}:{},dispose(){u.unmount(),e.remove()}}}async function L(t,i,n,m,r){const a=document.createElement("div");g(a,i,"auto"),n.appendChild(a);try{const e=n.clientWidth||800,u=n.clientHeight||600,{session:s}=await T(t,i,m,a,e,u),o=s.game.roots[0],c=o.mounted.authoring;let p;if(r)if(c)p=w(c,r);else if(o.kind==="three")p=B(r,o.threeScene(),{frameControl:"host",journal:l(i.id)});else if(o.kind==="canvas")if(o.mounted.kind!=="canvas"||o.mounted.substrate.name!=="pixi")p=o.mounted.authoring??f(r.shell,`${i.id} (${o.mounted.kind==="canvas"?o.mounted.substrate.name:"unknown"} authoring unavailable)`);else{const d=z(o.physics2d??j());p=new k(o.canvasRoot(),r,{pixi:await x(),target:A({physics:d}),journal:l(i.id),surface:()=>a})}else p=f(r.shell,`${i.id} (no authoring surface)`);return{worldId:i.id,...p?{authoring:p}:{},setPaused(d){d?s.pause():s.resume()},dispose(){s.stop(),a.remove()}}}catch(e){throw a.remove(),e}}function N(t){throw new Error(`sibling world "${t.id}" (kind: ${t.surface}, adapter identity: "${t.adapter.identity}") has no known composite-sibling mount path — every currently-resolvable identity (three/canvas/dom/module) is routed above; this is reached only for a genuinely unroutable shape.`)}function H(t){return t.adapter.type==="module"||t.adapter.identity==="three"||t.adapter.identity==="canvas"?"scoped-runtime":t.adapter.identity==="dom"?"react-layer":null}async function J(t,i,n,m,r){switch(H(i)){case"scoped-runtime":return L(t,i,n,m,r);case"react-layer":return W(i,n,m,r);default:N(i)}}async function ae(t,i,n,m,r){const a=[];for(const e of y(t))if(e.id!==i)try{a.push(await J(t,e,n,m,r))}catch(u){v.error(`Composite sibling "${e.id}" failed to mount: ${u}`,"ingest"),b({worldId:e.id,kind:e.surface,identity:e.adapter.identity,message:R(u)})}return a}export{ae as mountIngestSiblings,H as siblingMountRoute};
1
+ import{ag as y,Z as v,bX as b,bY as R,dw as S,dx as E,b_ as f}from"./index-D9shXtZ9.js";import{w}from"./mounted-authoring-D5cvzNXX.js";import{P as k}from"./pixi-authoring-adapter-CTSRtvNw.js";import{createLiveCanvasWriteTarget as A}from"./pixi-live-write-target-DaUAvNu7.js";import{resolveCanvasPixiForEditor as x}from"./canvas-entry-runtime-CBpGQGRw.js";import{C}from"./crash-null-boundary-v3a0uEgw.js";import{a as l}from"./json-history-resource-B8_YpeAT.js";import{a as I}from"./realm-services-CyeBcuLZ.js";import{r as P}from"./react-root-BHA-cdrW.js";import{D as $}from"./dom-authoring-adapter-wlPbZwHo.js";import{w as D,R as M}from"./react-world-authoring-adapter-zzyaxcpN.js";import{createPhysics2DRegistry as j}from"./physics-registry-B2Jkp8e6.js";import{createPhysicsAdapter2D as z}from"./system-adapters-rIC8FSGP.js";import{s as B}from"./three-authoring-adapter-C2QFVlpK.js";import{r as h}from"./index-nmcBqr7Y.js";import{r as F}from"./index-CtzuWnCS.js";import{a as O}from"./client-DNXj_opT.js";import{mountModuleRootRuntime as T}from"./module-mode-qROy_5Tk.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./entity-object-DTQ4I2K5.js";import"./user-data-DHB4MWum.js";import"./workspace-arrangement-BOk46mGq.js";import"./three-contract-Dkt6PmWY.js";import"./index-FWtJb07f.js";import"./source-persistence-backend-DsG30XMj.js";import"./ingest-source-persistence-DH7q9G1S.js";import"./component-instance-root-BrRLxTKu.js";import"./pixi-transform-channels-P4rvmusc.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./debug-registry-C7poEnyY.js";import"./three-ingest-runtime-DW-lHDmp.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./EffectComposer-BEAt0PtQ.js";import"./CopyShader-BzTUYzf6.js";import"./ShaderPass-DTnDQXm0.js";import"./Pass-D1MRT672.js";import"./CSS3DRenderer-BsAqfavI.js";import"./inspect-Bhr2b3pa.js";import"./inference-diagnostics-V4igFQX2.js";import"./board-guides-BPvQZ1ob.js";import"./relative-import-specifier-txHdCBKR.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./writer-tw6EcuVO.js";import"./three-projection-core-1FETWj5n.js";import"./editor-layers-BVicagU1.js";import"./three-Do16bEo9.js";import"./viewport-editor-controls-BYaAZ_Ku.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-D1rgVgsz.js";import"./capability-coverage-DWVel6Wq.js";import"./game-contract-seams-DRUf45xM.js";import"./binding-resolver-qdReeiXP.js";import"./native-debug-module-Bh_HQdg_.js";import"./native-entry-surface-BE8LJNdu.js";import"./contract-system-adapters-Bbw5uUUi.js";import"./adapter-surface-Y37Nzcyw.js";import"./index-DzuOGwVB.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./events-156d8d12.esm-DmeaOP4r.js";import"./relative-path-guard-GiM7Lsz8.js";function g(t,i,n){t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.width="100%",t.style.height="100%",t.style.zIndex=String(i.zOrder??0),t.style.pointerEvents=n}async function W(t,i,n,m){const r=await I(n,S()),a=await P(t,r),e=document.createElement("div");e.dataset.volterRootSurface="true",g(e,t,"none"),i.appendChild(e);const u=O.createRoot(e);let s=null;if(F.flushSync(()=>{u.render(h.createElement(C,{onCaught:c=>{s=c}},h.createElement(a)))}),s!==null)throw u.unmount(),e.remove(),s instanceof Error?s:new Error(String(s));let o;if(m)if(D(e).nodes.size>0){const p=E("An ingest sibling’s react layer");o=new M(e,m.shell,{...p?{writeBackend:p}:{}})}else o=new $(e,m,{journal:l(t.id)});return{worldId:t.id,...o?{authoring:o}:{},dispose(){u.unmount(),e.remove()}}}async function L(t,i,n,m,r){const a=document.createElement("div");g(a,i,"auto"),n.appendChild(a);try{const e=n.clientWidth||800,u=n.clientHeight||600,{session:s}=await T(t,i,m,a,e,u),o=s.game.roots[0],c=o.mounted.authoring;let p;if(r)if(c)p=w(c,r);else if(o.kind==="three")p=B(r,o.threeScene(),{frameControl:"host",journal:l(i.id)});else if(o.kind==="canvas")if(o.mounted.kind!=="canvas"||o.mounted.substrate.name!=="pixi")p=o.mounted.authoring??f(r.shell,`${i.id} (${o.mounted.kind==="canvas"?o.mounted.substrate.name:"unknown"} authoring unavailable)`);else{const d=z(o.physics2d??j());p=new k(o.canvasRoot(),r,{pixi:await x(),target:A({physics:d}),journal:l(i.id),surface:()=>a})}else p=f(r.shell,`${i.id} (no authoring surface)`);return{worldId:i.id,...p?{authoring:p}:{},setPaused(d){d?s.pause():s.resume()},dispose(){s.stop(),a.remove()}}}catch(e){throw a.remove(),e}}function N(t){throw new Error(`sibling world "${t.id}" (kind: ${t.surface}, adapter identity: "${t.adapter.identity}") has no known composite-sibling mount path — every currently-resolvable identity (three/canvas/dom/module) is routed above; this is reached only for a genuinely unroutable shape.`)}function H(t){return t.adapter.type==="module"||t.adapter.identity==="three"||t.adapter.identity==="canvas"?"scoped-runtime":t.adapter.identity==="dom"?"react-layer":null}async function J(t,i,n,m,r){switch(H(i)){case"scoped-runtime":return L(t,i,n,m,r);case"react-layer":return W(i,n,m,r);default:N(i)}}async function ae(t,i,n,m,r){const a=[];for(const e of y(t))if(e.id!==i)try{a.push(await J(t,e,n,m,r))}catch(u){v.error(`Composite sibling "${e.id}" failed to mount: ${u}`,"ingest"),b({worldId:e.id,kind:e.surface,identity:e.adapter.identity,message:R(u)})}return a}export{ae as mountIngestSiblings,H as siblingMountRoute};
@@ -1 +1 @@
1
- import{Z as m,eb as f,ec as g,b3 as S,ed as b,ee as w}from"./index-ClgrFOcX.js";const $="volterRecordIndex";function R(i){const e=i?.userData;if(e===null||typeof e!="object")return null;const t=e[$];return typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}let d={state:"absent"},h=0;function j(i,e){const t=i;if(t===null||typeof t!="object")throw new Error(`the data writer "${e}" did not export a module object`);if(typeof t.dataFile!="string"||t.dataFile.length===0)throw new Error(`the data writer "${e}" exports no \`dataFile\` string — a writer must name the one project-relative file it edits`);if(typeof t.planDataEdit!="function")throw new Error(`the data writer "${e}" exports no \`planDataEdit\` function — that is the whole contract: (bytes, request) => {changed, bytes} | {changed, reason}`);return{dataFile:t.dataFile,...typeof t.canPlace=="function"?{canPlace:t.canPlace.bind(t)}:{},planDataEdit:t.planDataEdit.bind(t)}}function x(i){const e=++h;if(i===null){d={state:"absent"};return}d={state:"loading"},i.load().then(t=>{h===e&&(d={state:"ready",writer:j(t,i.specifier)})}).catch(t=>{h===e&&(d={state:"failed",reason:`this game's declared data writer (${i.specifier}) could not be loaded: ${t instanceof Error?t.message:String(t)}`})})}function k(){return d}function I(i){const e=d;if(e.state!=="ready"||!e.writer.canPlace)return null;const t=e.writer.canPlace(i);return t===!0?null:t}function _(i){const e=d;switch(e.state){case"ready":return{anchored:!0,kind:"data",file:e.writer.dataFile,record:i,display:`${e.writer.dataFile} record ${i}`};case"loading":return{anchored:!1,reason:`this object is record ${i} of its game's own level data; the game's data writer is still loading`};case"failed":return{anchored:!1,reason:`this object is record ${i}, but ${e.reason}`};default:return{anchored:!1,reason:`this object is record ${i} of its game's own level data, and this game declares no data writer (\`ingest.dataWriter\`) that could write that record back`}}}const u=new TextEncoder,E=new TextDecoder;let l=null,p=null;function D(){return l}async function y(i=fetch){return l||p||(p=(async()=>{try{const e=await i("/__ingest-source/ownership");if(!e.ok)throw new Error(`HTTP ${e.status}`);l=await e.json()}catch(e){l={writable:!1,reason:`the editor could not reach its dev server to check who owns this game's source (${e instanceof Error?e.message:String(e)})`,projectRoot:null}}return l})(),p)}function T(i){const e=async(r,s)=>{const n=await i(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)}),o=await n.json();if(!n.ok&&r.endsWith("/read"))throw new Error(`Reading ingested game source failed with HTTP ${n.status}: ${JSON.stringify(o)}`);return o},t=new Map,a=r=>{throw new Error(`The creation-site source backend has no "${r}" — an ingested game has no JSX oids; ingest edits are anchored by creation site.`)};return{historyIdentity:P,readSource:async r=>{const s=await e("/__ingest-source/read",{file:r}),n=s.encoding==="base64";return t.set(r,n?"base64":"utf8"),n?{...s,bytes:w(s.source)}:s},applySource:(r,s,n)=>e("/__ingest-source/apply",{file:r,source:typeof s=="string"?s:b(s),ifMatchSha:n,encoding:typeof s=="string"?t.get(r)??"utf8":"base64"}),writeStyle:()=>a("writeStyle"),removeStyle:()=>a("removeStyle"),writeStruct:()=>a("writeStruct")}}const P={};class N{backend;fetchImpl;history;live;liveResourceKey=null;unregisterLive=null;constructor(e){this.history=e.history,this.live=e.live,this.fetchImpl=e.fetchImpl??fetch.bind(globalThis),this.backend=T(this.fetchImpl),y(this.fetchImpl)}dispose(){this.unregisterLive?.(),this.unregisterLive=null}gate(e,t,a,r="instance"){if(!e.anchored)return{ok:!1,reason:e.reason};const s=e.kind==="data"?`held at ${e.display}`:`created at ${e.display}`;if(e.kind==="data"){const o=I(a);if(o)return{ok:!1,reason:`${s}, but ${o}`}}const n=l;return n?n.writable?e.kind==="source"&&t!==1&&r!=="creation-site"?{ok:!1,reason:t===0?`${s}, but nothing was recorded as constructed there — the editor cannot tell whether that line builds this object alone`:`${s}, but that creation site constructs ${t} objects; a per-object edit cannot be written there`}:f()?{ok:!0}:{ok:!1,reason:`${s}, but this game is playing — hold it to author, or the edit stays live-only`}:{ok:!1,reason:`${s}; ${n.reason??"this game’s source is not writable"}`}:{ok:!1,reason:`${s}; still checking who owns this game's source`}}canAttempt(e,t,a){return this.gate(e,t,a).ok}describe(e,t,a,r="instance"){const s=this.gate(e,t,a,r);return s.ok?`Persisting to ${e.display}.`:`Live-only edit — ${s.reason}.`}async inspect(e){const t=e.anchor;if(!t.anchored||t.kind!=="source")return{};if(e.properties.length===0)return{};try{return(await this.post("/__ingest-source/inspect",{site:{file:t.file,line:t.line,col:t.col},instances:e.instances,...e.writeScope?{writeScope:e.writeScope}:{},...e.surface?{surface:e.surface}:{},properties:e.properties})).properties??{}}catch{return{}}}async persist(e){if(!f())return{persisted:!1,reason:"this game is playing — a play-time edit lives on the running object only"};const t=e.anchor;if(!t.anchored)return{persisted:!1,reason:t.reason};const a=await y(this.fetchImpl);if(!a.writable)return{persisted:!1,reason:a.reason??"this game’s source is not writable"};if(!this.history)return{persisted:!1,reason:"this session has no project history to record into"};if(t.kind==="data")return this.persistData(e,t);const r=await this.post("/__ingest-source/prepare",{site:{file:t.file,line:t.line,col:t.col},instances:e.instances,...e.writeScope?{writeScope:e.writeScope}:{},property:e.property,...e.surface?{surface:e.surface}:{},baseline:e.baseline,next:e.next});if(!r.changed||!r.file||!r.resourcePath||r.prevSource===void 0||r.newSource===void 0||!r.prevSha)return{persisted:!1,reason:r.reason??"the edit was refused"};const s=await this.post("/__ingest-source/apply",{file:r.file,source:r.newSource,ifMatchSha:r.prevSha,note:`${e.property} at ${t.display}`});return s.applied?(await this.recordEdit(e,{file:r.file,resourcePath:r.resourcePath,before:r.prevSource,after:r.newSource}),{persisted:!0,file:r.file,detail:`${e.property} → ${r.file}:${t.line}`}):{persisted:!1,reason:s.error??"the write was refused"}}async remove(e){if(!f())return{persisted:!1,reason:"this game is playing — a play-time edit lives on the running object only"};const t=e.anchor;if(!t.anchored)return{persisted:!1,reason:t.reason};const a=await y(this.fetchImpl);if(!a.writable)return{persisted:!1,reason:a.reason??"this game’s source is not writable"};if(!this.history)return{persisted:!1,reason:"this session has no project history to record into"};if(t.kind==="data")return{persisted:!1,reason:"a level-data record has no removable source statement — its property is the record's own field, not an authored override"};const r=await this.post("/__ingest-source/prepare",{site:{file:t.file,line:t.line,col:t.col},instances:e.instances,...e.writeScope?{writeScope:e.writeScope}:{},property:e.property,...e.surface?{surface:e.surface}:{},remove:!0});if(!r.changed||!r.file||!r.resourcePath||r.prevSource===void 0||r.newSource===void 0||!r.prevSha)return{persisted:!1,reason:r.reason??"the removal was refused"};const s=await this.post("/__ingest-source/apply",{file:r.file,source:r.newSource,ifMatchSha:r.prevSha,note:`${e.property} removed at ${t.display}`});if(!s.applied)return{persisted:!1,reason:s.error??"the removal was refused"};const n=g(this.backend,this.history,{file:r.file,resourcePath:r.resourcePath,before:r.prevSource,after:r.newSource});return await this.history.recordAppliedTransaction({label:e.label,resources:[n.resource],scope:"project"},[n]),{persisted:!0,file:r.file,detail:`${e.property} dropped from ${r.file}:${t.line}`}}async persistData(e,t){const a=k();if(a.state!=="ready"){const c=_(t.record);return{persisted:!1,reason:c.anchored?"this game's data writer changed mid-gesture":c.reason}}const r=await this.post("/__ingest-source/read",{file:t.file});if(typeof r.source!="string"||!r.sha||!r.resourcePath)return{persisted:!1,reason:r.error??`this game's data file ${t.file} could not be read`};if(r.encoding!=="base64")return{persisted:!1,reason:`${t.file} came back as ${r.encoding??"utf8"} text, not bytes — a data writer edits binary game data, and writing text back through it would change the file`};let s;try{s=await a.writer.planDataEdit(w(r.source),{record:t.record,property:e.property,baseline:e.baseline,next:e.next})}catch(c){return{persisted:!1,reason:`this game's data writer refused: ${c instanceof Error?c.message:String(c)}`}}if(!s.changed)return{persisted:!1,reason:s.reason};const n=b(s.bytes),o=await this.post("/__ingest-source/apply",{file:t.file,source:n,encoding:"base64",ifMatchSha:r.sha,note:`${e.property} at ${t.display}`});return o.applied?(await this.recordEdit(e,{file:t.file,resourcePath:r.resourcePath,before:w(r.source),after:s.bytes}),{persisted:!0,file:t.file,detail:`${e.property} → ${t.display}`}):{persisted:!1,reason:o.error??"the write was refused"}}async recordEdit(e,t){const a=this.history,r=this.ensureLiveResource(),s=g(this.backend,a,t),n={objects:{[e.entityId]:{[e.property]:e.baseline}}},o={objects:{[e.entityId]:{[e.property]:e.next}}};await a.recordAppliedTransaction({label:e.label,resources:[s.resource,r],scope:"project"},[s,{resource:r,beforeBytes:u.encode(JSON.stringify(n)),afterBytes:u.encode(JSON.stringify(o)),contentType:"application/json"}])}async post(e,t){return await(await this.fetchImpl(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).json()}ensureLiveResource(){if(this.liveResourceKey)return this.liveResourceKey;const e=this.history,t=e.registry.registerProject("overlay",".volter/ingest-live-objects","Ingested game objects"),a={descriptor:t,capture:async()=>{const r=u.encode(JSON.stringify({objects:{}}));return{revision:0,contentType:"application/json",bytes:r,sha256:await S(r)}},preflight:async()=>({ok:!0}),restore:async r=>{const s=JSON.parse(E.decode(e.snapshots.read(r).bytes));for(const[n,o]of Object.entries(s.objects))for(const[c,v]of Object.entries(o))this.live.apply(n,c,v)},estimateBytes:r=>r.byteLength};return this.unregisterLive=e.registerDriver(a),this.liveResourceKey=t.key,t.key}}function A(i,e){m.warn(`[ingest] ${i} stayed live-only — ${e}.`)}export{N as I,_ as a,k as b,R as d,D as i,y as l,A as r,x as s};
1
+ import{Z as m,eb as f,ec as g,b3 as S,ed as b,ee as w}from"./index-D9shXtZ9.js";const $="volterRecordIndex";function R(i){const e=i?.userData;if(e===null||typeof e!="object")return null;const t=e[$];return typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}let d={state:"absent"},h=0;function j(i,e){const t=i;if(t===null||typeof t!="object")throw new Error(`the data writer "${e}" did not export a module object`);if(typeof t.dataFile!="string"||t.dataFile.length===0)throw new Error(`the data writer "${e}" exports no \`dataFile\` string — a writer must name the one project-relative file it edits`);if(typeof t.planDataEdit!="function")throw new Error(`the data writer "${e}" exports no \`planDataEdit\` function — that is the whole contract: (bytes, request) => {changed, bytes} | {changed, reason}`);return{dataFile:t.dataFile,...typeof t.canPlace=="function"?{canPlace:t.canPlace.bind(t)}:{},planDataEdit:t.planDataEdit.bind(t)}}function x(i){const e=++h;if(i===null){d={state:"absent"};return}d={state:"loading"},i.load().then(t=>{h===e&&(d={state:"ready",writer:j(t,i.specifier)})}).catch(t=>{h===e&&(d={state:"failed",reason:`this game's declared data writer (${i.specifier}) could not be loaded: ${t instanceof Error?t.message:String(t)}`})})}function k(){return d}function I(i){const e=d;if(e.state!=="ready"||!e.writer.canPlace)return null;const t=e.writer.canPlace(i);return t===!0?null:t}function _(i){const e=d;switch(e.state){case"ready":return{anchored:!0,kind:"data",file:e.writer.dataFile,record:i,display:`${e.writer.dataFile} record ${i}`};case"loading":return{anchored:!1,reason:`this object is record ${i} of its game's own level data; the game's data writer is still loading`};case"failed":return{anchored:!1,reason:`this object is record ${i}, but ${e.reason}`};default:return{anchored:!1,reason:`this object is record ${i} of its game's own level data, and this game declares no data writer (\`ingest.dataWriter\`) that could write that record back`}}}const u=new TextEncoder,E=new TextDecoder;let l=null,p=null;function D(){return l}async function y(i=fetch){return l||p||(p=(async()=>{try{const e=await i("/__ingest-source/ownership");if(!e.ok)throw new Error(`HTTP ${e.status}`);l=await e.json()}catch(e){l={writable:!1,reason:`the editor could not reach its dev server to check who owns this game's source (${e instanceof Error?e.message:String(e)})`,projectRoot:null}}return l})(),p)}function T(i){const e=async(r,s)=>{const n=await i(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)}),o=await n.json();if(!n.ok&&r.endsWith("/read"))throw new Error(`Reading ingested game source failed with HTTP ${n.status}: ${JSON.stringify(o)}`);return o},t=new Map,a=r=>{throw new Error(`The creation-site source backend has no "${r}" — an ingested game has no JSX oids; ingest edits are anchored by creation site.`)};return{historyIdentity:P,readSource:async r=>{const s=await e("/__ingest-source/read",{file:r}),n=s.encoding==="base64";return t.set(r,n?"base64":"utf8"),n?{...s,bytes:w(s.source)}:s},applySource:(r,s,n)=>e("/__ingest-source/apply",{file:r,source:typeof s=="string"?s:b(s),ifMatchSha:n,encoding:typeof s=="string"?t.get(r)??"utf8":"base64"}),writeStyle:()=>a("writeStyle"),removeStyle:()=>a("removeStyle"),writeStruct:()=>a("writeStruct")}}const P={};class N{backend;fetchImpl;history;live;liveResourceKey=null;unregisterLive=null;constructor(e){this.history=e.history,this.live=e.live,this.fetchImpl=e.fetchImpl??fetch.bind(globalThis),this.backend=T(this.fetchImpl),y(this.fetchImpl)}dispose(){this.unregisterLive?.(),this.unregisterLive=null}gate(e,t,a,r="instance"){if(!e.anchored)return{ok:!1,reason:e.reason};const s=e.kind==="data"?`held at ${e.display}`:`created at ${e.display}`;if(e.kind==="data"){const o=I(a);if(o)return{ok:!1,reason:`${s}, but ${o}`}}const n=l;return n?n.writable?e.kind==="source"&&t!==1&&r!=="creation-site"?{ok:!1,reason:t===0?`${s}, but nothing was recorded as constructed there — the editor cannot tell whether that line builds this object alone`:`${s}, but that creation site constructs ${t} objects; a per-object edit cannot be written there`}:f()?{ok:!0}:{ok:!1,reason:`${s}, but this game is playing — hold it to author, or the edit stays live-only`}:{ok:!1,reason:`${s}; ${n.reason??"this game’s source is not writable"}`}:{ok:!1,reason:`${s}; still checking who owns this game's source`}}canAttempt(e,t,a){return this.gate(e,t,a).ok}describe(e,t,a,r="instance"){const s=this.gate(e,t,a,r);return s.ok?`Persisting to ${e.display}.`:`Live-only edit — ${s.reason}.`}async inspect(e){const t=e.anchor;if(!t.anchored||t.kind!=="source")return{};if(e.properties.length===0)return{};try{return(await this.post("/__ingest-source/inspect",{site:{file:t.file,line:t.line,col:t.col},instances:e.instances,...e.writeScope?{writeScope:e.writeScope}:{},...e.surface?{surface:e.surface}:{},properties:e.properties})).properties??{}}catch{return{}}}async persist(e){if(!f())return{persisted:!1,reason:"this game is playing — a play-time edit lives on the running object only"};const t=e.anchor;if(!t.anchored)return{persisted:!1,reason:t.reason};const a=await y(this.fetchImpl);if(!a.writable)return{persisted:!1,reason:a.reason??"this game’s source is not writable"};if(!this.history)return{persisted:!1,reason:"this session has no project history to record into"};if(t.kind==="data")return this.persistData(e,t);const r=await this.post("/__ingest-source/prepare",{site:{file:t.file,line:t.line,col:t.col},instances:e.instances,...e.writeScope?{writeScope:e.writeScope}:{},property:e.property,...e.surface?{surface:e.surface}:{},baseline:e.baseline,next:e.next});if(!r.changed||!r.file||!r.resourcePath||r.prevSource===void 0||r.newSource===void 0||!r.prevSha)return{persisted:!1,reason:r.reason??"the edit was refused"};const s=await this.post("/__ingest-source/apply",{file:r.file,source:r.newSource,ifMatchSha:r.prevSha,note:`${e.property} at ${t.display}`});return s.applied?(await this.recordEdit(e,{file:r.file,resourcePath:r.resourcePath,before:r.prevSource,after:r.newSource}),{persisted:!0,file:r.file,detail:`${e.property} → ${r.file}:${t.line}`}):{persisted:!1,reason:s.error??"the write was refused"}}async remove(e){if(!f())return{persisted:!1,reason:"this game is playing — a play-time edit lives on the running object only"};const t=e.anchor;if(!t.anchored)return{persisted:!1,reason:t.reason};const a=await y(this.fetchImpl);if(!a.writable)return{persisted:!1,reason:a.reason??"this game’s source is not writable"};if(!this.history)return{persisted:!1,reason:"this session has no project history to record into"};if(t.kind==="data")return{persisted:!1,reason:"a level-data record has no removable source statement — its property is the record's own field, not an authored override"};const r=await this.post("/__ingest-source/prepare",{site:{file:t.file,line:t.line,col:t.col},instances:e.instances,...e.writeScope?{writeScope:e.writeScope}:{},property:e.property,...e.surface?{surface:e.surface}:{},remove:!0});if(!r.changed||!r.file||!r.resourcePath||r.prevSource===void 0||r.newSource===void 0||!r.prevSha)return{persisted:!1,reason:r.reason??"the removal was refused"};const s=await this.post("/__ingest-source/apply",{file:r.file,source:r.newSource,ifMatchSha:r.prevSha,note:`${e.property} removed at ${t.display}`});if(!s.applied)return{persisted:!1,reason:s.error??"the removal was refused"};const n=g(this.backend,this.history,{file:r.file,resourcePath:r.resourcePath,before:r.prevSource,after:r.newSource});return await this.history.recordAppliedTransaction({label:e.label,resources:[n.resource],scope:"project"},[n]),{persisted:!0,file:r.file,detail:`${e.property} dropped from ${r.file}:${t.line}`}}async persistData(e,t){const a=k();if(a.state!=="ready"){const c=_(t.record);return{persisted:!1,reason:c.anchored?"this game's data writer changed mid-gesture":c.reason}}const r=await this.post("/__ingest-source/read",{file:t.file});if(typeof r.source!="string"||!r.sha||!r.resourcePath)return{persisted:!1,reason:r.error??`this game's data file ${t.file} could not be read`};if(r.encoding!=="base64")return{persisted:!1,reason:`${t.file} came back as ${r.encoding??"utf8"} text, not bytes — a data writer edits binary game data, and writing text back through it would change the file`};let s;try{s=await a.writer.planDataEdit(w(r.source),{record:t.record,property:e.property,baseline:e.baseline,next:e.next})}catch(c){return{persisted:!1,reason:`this game's data writer refused: ${c instanceof Error?c.message:String(c)}`}}if(!s.changed)return{persisted:!1,reason:s.reason};const n=b(s.bytes),o=await this.post("/__ingest-source/apply",{file:t.file,source:n,encoding:"base64",ifMatchSha:r.sha,note:`${e.property} at ${t.display}`});return o.applied?(await this.recordEdit(e,{file:t.file,resourcePath:r.resourcePath,before:w(r.source),after:s.bytes}),{persisted:!0,file:t.file,detail:`${e.property} → ${t.display}`}):{persisted:!1,reason:o.error??"the write was refused"}}async recordEdit(e,t){const a=this.history,r=this.ensureLiveResource(),s=g(this.backend,a,t),n={objects:{[e.entityId]:{[e.property]:e.baseline}}},o={objects:{[e.entityId]:{[e.property]:e.next}}};await a.recordAppliedTransaction({label:e.label,resources:[s.resource,r],scope:"project"},[s,{resource:r,beforeBytes:u.encode(JSON.stringify(n)),afterBytes:u.encode(JSON.stringify(o)),contentType:"application/json"}])}async post(e,t){return await(await this.fetchImpl(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).json()}ensureLiveResource(){if(this.liveResourceKey)return this.liveResourceKey;const e=this.history,t=e.registry.registerProject("overlay",".volter/ingest-live-objects","Ingested game objects"),a={descriptor:t,capture:async()=>{const r=u.encode(JSON.stringify({objects:{}}));return{revision:0,contentType:"application/json",bytes:r,sha256:await S(r)}},preflight:async()=>({ok:!0}),restore:async r=>{const s=JSON.parse(E.decode(e.snapshots.read(r).bytes));for(const[n,o]of Object.entries(s.objects))for(const[c,v]of Object.entries(o))this.live.apply(n,c,v)},estimateBytes:r=>r.byteLength};return this.unregisterLive=e.registerDriver(a),this.liveResourceKey=t.key,t.key}}function A(i,e){m.warn(`[ingest] ${i} stayed live-only — ${e}.`)}export{N as I,_ as a,k as b,R as d,D as i,y as l,A as r,x as s};
@@ -1 +1 @@
1
- import{ae as i,r as e,Z as p}from"./index-ClgrFOcX.js";import{i as s,a as m}from"./registry-D7lFIA8c.js";import{a}from"./mount-ingest-root-C3o0o28C.js";import{t as n}from"./three-state-_ImCbP87.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"./active-ingest-CJ2U5L1O.js";import"./game-contract-seams-C22a4B79.js";import"./capability-coverage-EnZ99FoT.js";import"./ingest-source-persistence-CVU1rTj0.js";import"./contract-system-adapters-BDUpDoKd.js";import"./editor-shell-store-aKHbAoCV.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./Pass-D1MRT672.js";import"./editor-layers-DwaX5UFy.js";import"./workspace-arrangement-86_8Kk5K.js";import"./user-data-DL6HsBPf.js";import"./entity-object-BLJ-I8XT.js";import"./three-contract-Dkt6PmWY.js";const z="workspace.service";function B(){const o=i({id:"in-tree-ingest-registry",owner:"@volter/editor-game/contributions/ingest.service.ts",modulePathFor:t=>m(t),importModule:async t=>await s(t)}),r=e().project.onReady(async()=>{const t=n();if(!t){p.error("Ingest auto-launch skipped: the editor shell store had not arrived at project ready.","ingest");return}await a(t)});return()=>{r(),o()}}export{z as point,B as start};
1
+ import{ae as i,r as e,Z as p}from"./index-D9shXtZ9.js";import{i as s,a as m}from"./registry-DM1tIelZ.js";import{a}from"./mount-ingest-root-BX_usF8y.js";import{t as n}from"./three-state-d-szeOea.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"./active-ingest-DwF45MBm.js";import"./game-contract-seams-DRUf45xM.js";import"./capability-coverage-DWVel6Wq.js";import"./ingest-source-persistence-DH7q9G1S.js";import"./contract-system-adapters-Bbw5uUUi.js";import"./editor-shell-store-CV73gQk5.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./Pass-D1MRT672.js";import"./editor-layers-BVicagU1.js";import"./workspace-arrangement-BOk46mGq.js";import"./user-data-DHB4MWum.js";import"./entity-object-DTQ4I2K5.js";import"./three-contract-Dkt6PmWY.js";const z="workspace.service";function B(){const o=i({id:"in-tree-ingest-registry",owner:"@volter/editor-game/contributions/ingest.service.ts",modulePathFor:t=>m(t),importModule:async t=>await s(t)}),r=e().project.onReady(async()=>{const t=n();if(!t){p.error("Ingest auto-launch skipped: the editor shell store had not arrived at project ready.","ingest");return}await a(t)});return()=>{r(),o()}}export{z as point,B as start};
@@ -1 +1 @@
1
- import{w as p}from"./inference-diagnostics-BmZ5ggEK.js";const y="data-oid";function S(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function w(e){return e.replace(/-([a-z])/g,(n,t)=>t.toUpperCase())}function C(e,n){return e?e[n]:void 0}const R=e=>{const n=globalThis.window;if(n?.getComputedStyle)return n.getComputedStyle(e);const t=e.style;return{getPropertyValue:s=>String(C(t,w(s))??"")}};function L(e,n,t=R){return t(e).getPropertyValue(S(n))}function v(e){if(!e||typeof e!="object")return null;const n=Object.keys(e).find(t=>t.startsWith("__reactFiber$")||t.startsWith("__reactInternalInstance$"));return n?e[n]??null:null}function u(e){const n=v(e);if(!n?.return)return null;const t=n.return;return t.type&&typeof t.type=="function"?t:null}function $(e){const n=u(e);if(!n)return null;const t=n.type;return t.displayName||t.name||null}function _(e){const n=u(e);if(!n)return null;const t=n.memoizedProps?.[y];return typeof t=="string"?t:null}function P(e){const n=u(e);if(!n)return null;const t=n.memoizedProps;if(!t||typeof t!="object")return null;const s=new Set(["children","key","ref",y,"style","className"]),o={};for(const[r,i]of Object.entries(t))s.has(r)||(typeof i=="string"||typeof i=="number"||typeof i=="boolean")&&(o[r]=String(i));return Object.keys(o).length>0?o:null}function j(e){const n=_(e);if(!n)return null;const t=P(e);return t?{callSiteOid:n,props:t}:null}const f="__visual-edit-preview-styles";function m(e){const n=globalThis.CSSStyleRule;if(typeof n=="function")return e instanceof n;const t=e;return!!t&&typeof t.selectorText=="string"&&!!t.style}function W(e){const n={};for(let t=0;t<e.style.length;t++){const s=e.style[t];n[s]=e.style.getPropertyValue(s)}return n}function b(e,n){const t=globalThis.matchMedia,s=(o,r)=>{for(const i of Array.from(o)){if(m(i)){n(i,r);continue}const a=i;if(!a.cssRules)continue;const c=a.media?.mediaText;typeof c=="string"&&t&&!t(c).matches||typeof a.containerQuery=="string"||a.cssText?.trimStart().startsWith("@container")||s(a.cssRules,r)}};for(const o of e){const r=o.ownerNode;if(r?.id===f)continue;const i=r?.getAttribute?.("data-vite-dev-id")??null;if(i)try{s(o.cssRules,i)}catch{}}}function B(e,n=globalThis.document?.styleSheets??[]){let t=null;return b(n,(s,o)=>{s.selectorText.trim()===`.${e}`&&(t={sourceFile:o})}),t}function G(e=globalThis.document?.styleSheets??[]){const n=[];for(const t of e){const s=t.ownerNode;if(s?.id===f)continue;const o=s?.getAttribute?.("data-vite-dev-id")??null;if(!o)continue;(o.split("?")[0]??o).endsWith(".css")&&!n.includes(o)&&n.push(o)}return n}function z(e,n=globalThis.document?.styleSheets??[]){const t=[];return b(n,(s,o)=>{e.matches(s.selectorText)&&t.push({selectorText:s.selectorText,properties:W(s),sourceFile:o})}),t}function A(e=globalThis.document?.styleSheets??[]){const n=new Map,t=(s,o,r)=>{if(m(s)){const c=s.selectorText,d=r&&/(^|,)\s*:scope\s*($|,)/.test(c),T=/(^|,)\s*(:root|html)\s*($|,)/.test(c)&&!c.includes("[data-theme");if(!d&&!T)return;for(let l=0;l<s.style.length;l++){const h=s.style[l];h.startsWith("--")&&n.set(h,{sourceFile:o,selector:d?":root":c})}return}const i=s;if(!i.cssRules)return;const a=r||!!i.cssText?.trimStart().startsWith("@scope");for(const c of Array.from(i.cssRules))t(c,o,a)};for(const s of e){const o=s.ownerNode;if(o?.id===f)continue;const r=o?.getAttribute?.("data-vite-dev-id")??null;if(r)try{for(const i of Array.from(s.cssRules))t(i,r,!1)}catch{}}return n}function D(e=V()){if(!e)return[];const n=[],t=new Set;for(let o=0;o<e.length;o++){const r=e[o];if(!r.startsWith("--")||r.startsWith("--tw-")||r.startsWith("--fa-")||r.startsWith("--volter-")||r.startsWith("--vscode-")||r==="--chat-input-control-height"||r.startsWith("--dv-")||t.has(r))continue;t.add(r);const i=e.getPropertyValue(r).trim();i&&n.push({name:r,value:i,category:g(r,i)})}const s=A();for(const o of s.keys()){if(t.has(o)||o.startsWith("--tw-")||o.startsWith("--fa-")||o.startsWith("--volter-")||o.startsWith("--dv-")||o.startsWith("--vscode-")||o==="--chat-input-control-height")continue;t.add(o);const r=e.getPropertyValue(o).trim();r&&n.push({name:o,value:r,category:g(o,r)})}for(const o of n){const r=s.get(o.name);r&&(o.declaredIn=r)}return n}const x=/^(#[0-9a-f]{3,8}|rgba?\(|hsla?\(|oklch\()/i,N=/spacing|gap|margin|padding|radius|size|width|height/i,k=/color/i;function g(e,n){return x.test(n)?"color":k.test(e)?(p(":root",e,"color"),"color"):N.test(e)&&/^\d/.test(n)?(p(":root",e,"spacing"),"spacing"):"other"}function K(e){const n=[];for(const t of e){if(t.hasVisibleChildren||t.hasText||t.rect.width>=8&&t.rect.height>=8)continue;const s=Math.max(t.rect.width,40),o=Math.max(t.rect.height,24);n.push({oid:t.oid,displayName:t.displayName,rect:{x:t.rect.x-(s-t.rect.width)/2,y:t.rect.y-(o-t.rect.height)/2,width:s,height:o}})}return n}const E=new Set(["","transparent","rgba(0, 0, 0, 0)"]);function F(e){return E.has(e)}function U(e){for(const n of e)if(!F(n))return n;return"#fff"}const O=["Arial","Helvetica","Times New Roman","Georgia","Verdana","Courier New","Impact","Trebuchet MS","Palatino Linotype","Lucida Console","monospace","sans-serif","serif"];function I(e=[]){const n=new Set;for(const t of e)n.add(t.replace(/^["']|["']$/g,""));for(const t of O)n.add(t);return[...n].sort((t,s)=>t.localeCompare(s))}function H(){const e=globalThis,n=[],t=e.document?.fonts;if(t)for(const s of t)n.push(s.family);return I(n)}function V(){const e=globalThis,n=e.document?.documentElement;if(!(!n||!e.window?.getComputedStyle))return e.window.getComputedStyle(n)}export{z as a,R as b,D as c,$ as d,j as e,K as f,L as g,B as h,G as i,S as j,H as k,U as l};
1
+ import{w as p}from"./inference-diagnostics-V4igFQX2.js";const y="data-oid";function S(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function w(e){return e.replace(/-([a-z])/g,(n,t)=>t.toUpperCase())}function C(e,n){return e?e[n]:void 0}const R=e=>{const n=globalThis.window;if(n?.getComputedStyle)return n.getComputedStyle(e);const t=e.style;return{getPropertyValue:s=>String(C(t,w(s))??"")}};function L(e,n,t=R){return t(e).getPropertyValue(S(n))}function v(e){if(!e||typeof e!="object")return null;const n=Object.keys(e).find(t=>t.startsWith("__reactFiber$")||t.startsWith("__reactInternalInstance$"));return n?e[n]??null:null}function u(e){const n=v(e);if(!n?.return)return null;const t=n.return;return t.type&&typeof t.type=="function"?t:null}function $(e){const n=u(e);if(!n)return null;const t=n.type;return t.displayName||t.name||null}function _(e){const n=u(e);if(!n)return null;const t=n.memoizedProps?.[y];return typeof t=="string"?t:null}function P(e){const n=u(e);if(!n)return null;const t=n.memoizedProps;if(!t||typeof t!="object")return null;const s=new Set(["children","key","ref",y,"style","className"]),o={};for(const[r,i]of Object.entries(t))s.has(r)||(typeof i=="string"||typeof i=="number"||typeof i=="boolean")&&(o[r]=String(i));return Object.keys(o).length>0?o:null}function j(e){const n=_(e);if(!n)return null;const t=P(e);return t?{callSiteOid:n,props:t}:null}const f="__visual-edit-preview-styles";function m(e){const n=globalThis.CSSStyleRule;if(typeof n=="function")return e instanceof n;const t=e;return!!t&&typeof t.selectorText=="string"&&!!t.style}function W(e){const n={};for(let t=0;t<e.style.length;t++){const s=e.style[t];n[s]=e.style.getPropertyValue(s)}return n}function b(e,n){const t=globalThis.matchMedia,s=(o,r)=>{for(const i of Array.from(o)){if(m(i)){n(i,r);continue}const a=i;if(!a.cssRules)continue;const c=a.media?.mediaText;typeof c=="string"&&t&&!t(c).matches||typeof a.containerQuery=="string"||a.cssText?.trimStart().startsWith("@container")||s(a.cssRules,r)}};for(const o of e){const r=o.ownerNode;if(r?.id===f)continue;const i=r?.getAttribute?.("data-vite-dev-id")??null;if(i)try{s(o.cssRules,i)}catch{}}}function B(e,n=globalThis.document?.styleSheets??[]){let t=null;return b(n,(s,o)=>{s.selectorText.trim()===`.${e}`&&(t={sourceFile:o})}),t}function G(e=globalThis.document?.styleSheets??[]){const n=[];for(const t of e){const s=t.ownerNode;if(s?.id===f)continue;const o=s?.getAttribute?.("data-vite-dev-id")??null;if(!o)continue;(o.split("?")[0]??o).endsWith(".css")&&!n.includes(o)&&n.push(o)}return n}function z(e,n=globalThis.document?.styleSheets??[]){const t=[];return b(n,(s,o)=>{e.matches(s.selectorText)&&t.push({selectorText:s.selectorText,properties:W(s),sourceFile:o})}),t}function A(e=globalThis.document?.styleSheets??[]){const n=new Map,t=(s,o,r)=>{if(m(s)){const c=s.selectorText,d=r&&/(^|,)\s*:scope\s*($|,)/.test(c),T=/(^|,)\s*(:root|html)\s*($|,)/.test(c)&&!c.includes("[data-theme");if(!d&&!T)return;for(let l=0;l<s.style.length;l++){const h=s.style[l];h.startsWith("--")&&n.set(h,{sourceFile:o,selector:d?":root":c})}return}const i=s;if(!i.cssRules)return;const a=r||!!i.cssText?.trimStart().startsWith("@scope");for(const c of Array.from(i.cssRules))t(c,o,a)};for(const s of e){const o=s.ownerNode;if(o?.id===f)continue;const r=o?.getAttribute?.("data-vite-dev-id")??null;if(r)try{for(const i of Array.from(s.cssRules))t(i,r,!1)}catch{}}return n}function D(e=V()){if(!e)return[];const n=[],t=new Set;for(let o=0;o<e.length;o++){const r=e[o];if(!r.startsWith("--")||r.startsWith("--tw-")||r.startsWith("--fa-")||r.startsWith("--volter-")||r.startsWith("--vscode-")||r==="--chat-input-control-height"||r.startsWith("--dv-")||t.has(r))continue;t.add(r);const i=e.getPropertyValue(r).trim();i&&n.push({name:r,value:i,category:g(r,i)})}const s=A();for(const o of s.keys()){if(t.has(o)||o.startsWith("--tw-")||o.startsWith("--fa-")||o.startsWith("--volter-")||o.startsWith("--dv-")||o.startsWith("--vscode-")||o==="--chat-input-control-height")continue;t.add(o);const r=e.getPropertyValue(o).trim();r&&n.push({name:o,value:r,category:g(o,r)})}for(const o of n){const r=s.get(o.name);r&&(o.declaredIn=r)}return n}const x=/^(#[0-9a-f]{3,8}|rgba?\(|hsla?\(|oklch\()/i,N=/spacing|gap|margin|padding|radius|size|width|height/i,k=/color/i;function g(e,n){return x.test(n)?"color":k.test(e)?(p(":root",e,"color"),"color"):N.test(e)&&/^\d/.test(n)?(p(":root",e,"spacing"),"spacing"):"other"}function K(e){const n=[];for(const t of e){if(t.hasVisibleChildren||t.hasText||t.rect.width>=8&&t.rect.height>=8)continue;const s=Math.max(t.rect.width,40),o=Math.max(t.rect.height,24);n.push({oid:t.oid,displayName:t.displayName,rect:{x:t.rect.x-(s-t.rect.width)/2,y:t.rect.y-(o-t.rect.height)/2,width:s,height:o}})}return n}const E=new Set(["","transparent","rgba(0, 0, 0, 0)"]);function F(e){return E.has(e)}function U(e){for(const n of e)if(!F(n))return n;return"#fff"}const O=["Arial","Helvetica","Times New Roman","Georgia","Verdana","Courier New","Impact","Trebuchet MS","Palatino Linotype","Lucida Console","monospace","sans-serif","serif"];function I(e=[]){const n=new Set;for(const t of e)n.add(t.replace(/^["']|["']$/g,""));for(const t of O)n.add(t);return[...n].sort((t,s)=>t.localeCompare(s))}function H(){const e=globalThis,n=[],t=e.document?.fonts;if(t)for(const s of t)n.push(s.family);return I(n)}function V(){const e=globalThis,n=e.document?.documentElement;if(!(!n||!e.window?.getComputedStyle))return e.window.getComputedStyle(n)}export{z as a,R as b,D as c,$ as d,j as e,K as f,L as g,B as h,G as i,S as j,H as k,U as l};
@@ -0,0 +1 @@
1
+ import{ah as m}from"./index-D9shXtZ9.js";import{b as p,a as e,c as n,s}from"./game-network-BZM-o9Ey.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-Bh_HQdg_.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-C7poEnyY.js";import"./contract-system-adapters-Bbw5uUUi.js";import"./game-contract-seams-DRUf45xM.js";import"./seeded-random-Bc5190so.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-DmeaOP4r.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-DzuOGwVB.js";import"./live-project-verbs-DggWGgn-.js";import"./capability-coverage-DWVel6Wq.js";import"./edit-mode-authoring-Cf83TffW.js";import"./json-history-resource-B8_YpeAT.js";import"./binding-resolver-qdReeiXP.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-CyeBcuLZ.js";import"./canvas-entry-runtime-CBpGQGRw.js";import"./three-ingest-runtime-DW-lHDmp.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-DwF45MBm.js";import"./ingest-source-persistence-DH7q9G1S.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-DtuBFJ-J.js";import"./mounted-authoring-D5cvzNXX.js";import"./entity-object-DTQ4I2K5.js";import"./user-data-DHB4MWum.js";import"./workspace-arrangement-BOk46mGq.js";import"./three-contract-Dkt6PmWY.js";import"./three-Do16bEo9.js";import"./editor-layers-BVicagU1.js";import"./component-instance-root-BrRLxTKu.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-C2QFVlpK.js";import"./source-persistence-backend-DsG30XMj.js";import"./three-projection-core-1FETWj5n.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-D1rgVgsz.js";import"./deferred-ingest-play-3qS-wvgF.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-zzyaxcpN.js";import"./board-guides-BPvQZ1ob.js";import"./relative-import-specifier-txHdCBKR.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-Bhr2b3pa.js";import"./inference-diagnostics-V4igFQX2.js";import"./writer-tw6EcuVO.js";import"./three-state-d-szeOea.js";import"./editor-shell-store-CV73gQk5.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-DkDcO9tp.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 +1 @@
1
- import{e7 as u,e8 as y,b3 as n}from"./index-ClgrFOcX.js";function g(){return{isDirty:()=>!1,save:async()=>{},destination:u}}const p=new TextEncoder,c=new TextDecoder,l="authoring";function w(t){return{session:l,id:t}}function N(t,e){return{session:`play-${t}`,id:e}}class S{constructor(e){if(this.options=e,e.scope==="project"){if(!e.location)throw new Error("A project JSON history resource needs a location.");this.descriptor=e.history.registry.registerProject(e.kind,e.location,e.displayName)}else{if(!e.subject)throw new Error("A session JSON history resource needs a subject.");this.descriptor=e.history.registry.registerSession(e.kind,e.subject.session,e.subject.id,e.displayName)}const i={descriptor:this.descriptor,capture:async()=>{const s=this.encode(e.capture());return{revision:this.revision,contentType:"application/json",bytes:s,sha256:await n(s)}},preflight:async s=>{const r=this.encode(e.capture()),o=await n(r);if(!this.recorded)return{ok:!0};if(o===s.sha256)return{ok:!0};if(e.conflictIdentity){const a=JSON.parse(c.decode(e.history.snapshots.read(s).bytes)),d=JSON.stringify(e.conflictIdentity(a)),h=JSON.stringify(e.conflictIdentity(e.capture()));if(d===h)return{ok:!0}}return{ok:!1,reason:"content-conflict",actualRevision:this.revision,actualSha256:o}},restore:async s=>{const r=e.history.snapshots.read(s).bytes;await e.restore(JSON.parse(c.decode(r))),this.revision++},estimateBytes:s=>s.byteLength};this.unregister=e.history.registerDriver(i)}descriptor;revision=0;unregister;disposed=!1;recorded=!1;record(e,i,s){return this.disposed?Promise.reject(new Error("JSON history resource is disposed.")):(this.options.history.assertCanRecordAppliedChange(),this.revision++,this.recorded=!0,this.options.history.recordAppliedTransaction({label:e,resources:[this.descriptor.key],scope:this.descriptor.scope,...this.descriptor.sessionId?{sessionId:this.descriptor.sessionId}:{}},[{resource:this.descriptor.key,beforeBytes:this.encode(i),afterBytes:this.encode(s),contentType:"application/json"}]).catch(async r=>{try{await this.options.restore(structuredClone(i)),this.revision++}catch(o){throw this.options.history.blockForCompensationFailure(e,[this.descriptor.key],{operationError:r,compensationError:o})}throw r instanceof y||this.options.history.reportAppliedChangeFailure(e,[this.descriptor.key],r),r}))}assertCanMutate(){if(this.disposed)throw new Error("JSON history resource is disposed.");this.options.history.assertCanRecordAppliedChange()}dispose(){this.disposed||(this.disposed=!0,this.unregister())}encode(e){return p.encode(JSON.stringify(e,null,2))}}export{S as J,w as a,g as c,N as p};
1
+ import{e7 as u,e8 as y,b3 as n}from"./index-D9shXtZ9.js";function g(){return{isDirty:()=>!1,save:async()=>{},destination:u}}const p=new TextEncoder,c=new TextDecoder,l="authoring";function w(t){return{session:l,id:t}}function N(t,e){return{session:`play-${t}`,id:e}}class S{constructor(e){if(this.options=e,e.scope==="project"){if(!e.location)throw new Error("A project JSON history resource needs a location.");this.descriptor=e.history.registry.registerProject(e.kind,e.location,e.displayName)}else{if(!e.subject)throw new Error("A session JSON history resource needs a subject.");this.descriptor=e.history.registry.registerSession(e.kind,e.subject.session,e.subject.id,e.displayName)}const i={descriptor:this.descriptor,capture:async()=>{const s=this.encode(e.capture());return{revision:this.revision,contentType:"application/json",bytes:s,sha256:await n(s)}},preflight:async s=>{const r=this.encode(e.capture()),o=await n(r);if(!this.recorded)return{ok:!0};if(o===s.sha256)return{ok:!0};if(e.conflictIdentity){const a=JSON.parse(c.decode(e.history.snapshots.read(s).bytes)),d=JSON.stringify(e.conflictIdentity(a)),h=JSON.stringify(e.conflictIdentity(e.capture()));if(d===h)return{ok:!0}}return{ok:!1,reason:"content-conflict",actualRevision:this.revision,actualSha256:o}},restore:async s=>{const r=e.history.snapshots.read(s).bytes;await e.restore(JSON.parse(c.decode(r))),this.revision++},estimateBytes:s=>s.byteLength};this.unregister=e.history.registerDriver(i)}descriptor;revision=0;unregister;disposed=!1;recorded=!1;record(e,i,s){return this.disposed?Promise.reject(new Error("JSON history resource is disposed.")):(this.options.history.assertCanRecordAppliedChange(),this.revision++,this.recorded=!0,this.options.history.recordAppliedTransaction({label:e,resources:[this.descriptor.key],scope:this.descriptor.scope,...this.descriptor.sessionId?{sessionId:this.descriptor.sessionId}:{}},[{resource:this.descriptor.key,beforeBytes:this.encode(i),afterBytes:this.encode(s),contentType:"application/json"}]).catch(async r=>{try{await this.options.restore(structuredClone(i)),this.revision++}catch(o){throw this.options.history.blockForCompensationFailure(e,[this.descriptor.key],{operationError:r,compensationError:o})}throw r instanceof y||this.options.history.reportAppliedChangeFailure(e,[this.descriptor.key],r),r}))}assertCanMutate(){if(this.disposed)throw new Error("JSON history resource is disposed.");this.options.history.assertCanRecordAppliedChange()}dispose(){this.disposed||(this.disposed=!0,this.unregister())}encode(e){return p.encode(JSON.stringify(e,null,2))}}export{S as J,w as a,g as c,N as p};
@@ -1 +1 @@
1
- import{stackOrder as C}from"./root-stacking-BEd9ZvxC.js";import{aD as O,aG as g,aH as y,aI as S,aJ as b,y as z,aK as E}from"./index-ClgrFOcX.js";function m(d,o,r,c){const e=d.pickable?.pick(o,r)??null;return e?d.selection?.resolve?.(e,{intent:c,scopeId:b()})?.id??e:null}function D(d,o,r,c,e=!1){const a=d.pickable?.candidates?.(o,r,e?{includeLocked:e}:void 0)??[],s=[],l=new Set;for(const f of a){const i=d.selection?.resolve?.(f,{intent:c,scopeId:b()})?.id??f;l.has(i)||(l.add(i),s.push(i))}return s}function N(d,o,r,c={}){const e=c.intent??"normal",a=O(d);if(!(a instanceof g))return m(a,o,r,e);const s=a.childAdapters(),f=z()===E?[]:s.filter(n=>n.kind!=="three"),i=s.filter(n=>n.kind==="three"),h=f.map(n=>({id:n.worldId,zOrder:n.zOrder,worldId:n.worldId,adapter:n.adapter})),v=[...C(h).reverse(),...i];for(const{worldId:n,adapter:k}of v){if(y(n)||S(n))continue;const u=m(k,o,r,e);if(u)return u}return null}function P(d,o,r,c={}){const e=c.intent??"normal",a=c.includeLocked===!0,s=c.adapter??O(d);if(!(s instanceof g)){const t=D(s,o,r,e,a),p=m(s,o,r,e);return t.length>0?t:p?[p]:[]}const l=s.childAdapters(),i=z()===E?[]:l.filter(t=>t.kind!=="three"),h=l.filter(t=>t.kind==="three"),v=i.map(t=>({id:t.worldId,zOrder:t.zOrder,worldId:t.worldId,adapter:t.adapter})),n=[...C(v).reverse(),...h],k=[],u=new Set;for(const{worldId:t,adapter:p}of n){if(y(t)||S(t))continue;const w=D(p,o,r,e,a),A=m(p,o,r,e);for(const I of w.length>0?w:A?[A]:[])u.has(I)||(u.add(I),k.push(I))}return k}export{N as a,P as p};
1
+ import{stackOrder as C}from"./root-stacking-BEd9ZvxC.js";import{aD as O,aG as g,aH as y,aI as S,aJ as b,y as z,aK as E}from"./index-D9shXtZ9.js";function m(d,o,r,c){const e=d.pickable?.pick(o,r)??null;return e?d.selection?.resolve?.(e,{intent:c,scopeId:b()})?.id??e:null}function D(d,o,r,c,e=!1){const a=d.pickable?.candidates?.(o,r,e?{includeLocked:e}:void 0)??[],s=[],l=new Set;for(const f of a){const i=d.selection?.resolve?.(f,{intent:c,scopeId:b()})?.id??f;l.has(i)||(l.add(i),s.push(i))}return s}function N(d,o,r,c={}){const e=c.intent??"normal",a=O(d);if(!(a instanceof g))return m(a,o,r,e);const s=a.childAdapters(),f=z()===E?[]:s.filter(n=>n.kind!=="three"),i=s.filter(n=>n.kind==="three"),h=f.map(n=>({id:n.worldId,zOrder:n.zOrder,worldId:n.worldId,adapter:n.adapter})),v=[...C(h).reverse(),...i];for(const{worldId:n,adapter:k}of v){if(y(n)||S(n))continue;const u=m(k,o,r,e);if(u)return u}return null}function P(d,o,r,c={}){const e=c.intent??"normal",a=c.includeLocked===!0,s=c.adapter??O(d);if(!(s instanceof g)){const t=D(s,o,r,e,a),p=m(s,o,r,e);return t.length>0?t:p?[p]:[]}const l=s.childAdapters(),i=z()===E?[]:l.filter(t=>t.kind!=="three"),h=l.filter(t=>t.kind==="three"),v=i.map(t=>({id:t.worldId,zOrder:t.zOrder,worldId:t.worldId,adapter:t.adapter})),n=[...C(v).reverse(),...h],k=[],u=new Set;for(const{worldId:t,adapter:p}of n){if(y(t)||S(t))continue;const w=D(p,o,r,e,a),A=m(p,o,r,e);for(const I of w.length>0?w:A?[A]:[])u.has(I)||(u.add(I),k.push(I))}return k}export{N as a,P as p};
@@ -1 +1 @@
1
- import{u as o,c6 as e,w as i,c4 as a}from"./index-ClgrFOcX.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 s=o({type:a(["directional","point","spot","hemisphere","area"]).describe("Light type"),color:i().optional().describe("Light color as CSS hex string"),intensity:e().optional().describe("Native Three.js light intensity. Point and spot lights use candela with inverse-square falloff (a value near 1 is candle-scale); area lights use nit; directional and hemisphere lights use Three.js scene-light intensity units."),groundColor:i().optional().describe("Ground color for hemisphere lights"),distance:e().optional().describe("Maximum range of the light. 0 = infinite (point/spot only)"),decay:e().nonnegative().optional().describe("Native Three.js distance-decay exponent for point/spot lights. Default 2 gives physically correct inverse-square falloff."),angle:e().optional().describe("Spotlight cone angle in radians (spot only)"),penumbra:e().optional().describe("Spotlight penumbra softness 0–1 (spot only)"),width:e().optional().describe("Area light width (area only). RectAreaLight has NO shadow support and only affects Standard/Physical materials — degrades loudly, not silently."),height:e().optional().describe("Area light height (area only). RectAreaLight has NO shadow support and only affects Standard/Physical materials — degrades loudly, not silently.")}),u=s.refine(t=>t.type!=="spot"||t.angle===void 0||t.angle>0,{message:"Spot light angle must be positive"}).describe("Light source configuration");export{u as LightDescriptorSchema};
1
+ import{u as o,c6 as e,w as i,c4 as a}from"./index-D9shXtZ9.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 s=o({type:a(["directional","point","spot","hemisphere","area"]).describe("Light type"),color:i().optional().describe("Light color as CSS hex string"),intensity:e().optional().describe("Native Three.js light intensity. Point and spot lights use candela with inverse-square falloff (a value near 1 is candle-scale); area lights use nit; directional and hemisphere lights use Three.js scene-light intensity units."),groundColor:i().optional().describe("Ground color for hemisphere lights"),distance:e().optional().describe("Maximum range of the light. 0 = infinite (point/spot only)"),decay:e().nonnegative().optional().describe("Native Three.js distance-decay exponent for point/spot lights. Default 2 gives physically correct inverse-square falloff."),angle:e().optional().describe("Spotlight cone angle in radians (spot only)"),penumbra:e().optional().describe("Spotlight penumbra softness 0–1 (spot only)"),width:e().optional().describe("Area light width (area only). RectAreaLight has NO shadow support and only affects Standard/Physical materials — degrades loudly, not silently."),height:e().optional().describe("Area light height (area only). RectAreaLight has NO shadow support and only affects Standard/Physical materials — degrades loudly, not silently.")}),u=s.refine(t=>t.type!=="spot"||t.angle===void 0||t.angle>0,{message:"Spot light angle must be positive"}).describe("Light source configuration");export{u as LightDescriptorSchema};
@@ -1 +1 @@
1
- import{P as l,d as c}from"./capability-coverage-EnZ99FoT.js";import{aC as a,a3 as u}from"./index-ClgrFOcX.js";function d(e,t){return{slot:e,state:"unanswered",evidence:`nobody has read this project's own files yet, so ${e} is unmeasured — `+(t??"the editor has not asked its dev server for them")}}function p(e){return e.length>0&&e.every(t=>t.type==="ingest")}function h(e){const{scripts:t,roots:n}=e;return t===null||n===null?d("export",e.unavailable):t.includes("build")?{slot:"export",state:"present",evidence:`this project declares a \`build\` script, which is what the export path runs to emit the \`dist/\` it stages${p(n)?"; this ingest project ships the standalone bundle produced by its own build unchanged":""}`}:{slot:"export",state:"absent",evidence:e.hasPackageJson?"this project's package.json declares no `build` script, and the export path runs `npm run build` in the project and stages the `dist/` it emits":"this project has no package.json, so there is no `build` script for the export path to run",missing:"this project cannot produce a standalone build, so it runs NOWHERE but the editor — the dev-served standalone page refuses an unexported game outright",fix:"add the scaffold's `build` script (`build: tsc && vite build`), which is what the export path runs"}}function f(e){const t={export:h};return l.map(n=>t[n](e))}let r=null,i=null,o=null;function m(){r=null,i=null,o=null}async function b(e,t=fetch){return r&&o===e?r:(i&&o===e||(o=e,r=null,i=(async()=>{let n;try{const s=await t("/__editor/project-verbs");n=await u(s,"project-verbs did not answer")}catch(s){n={scripts:null,hasPackageJson:!1,dependencies:null,roots:null,unavailable:`the editor could not reach its dev server to read this project's own files (${s instanceof Error?s.message:String(s)})`}}return r=n,n})()),i)}function w(){const e=a();return e?(o===e.rootPath?r:null)?.dependencies??null:null}function g(){const e=a();if(!e)return null;b(e.rootPath);const t=o===e.rootPath?r:null;return{scripts:t?.scripts??null,hasPackageJson:t?.hasPackageJson??!1,roots:t?.roots??null,unavailable:t?.unavailable??(t?null:"the editor has not finished reading this project’s own files yet")}}function x(){const e=g();if(!e)return null;const t=a();return c({worldId:t?.config.name??"project",projectVerbs:f(e)})}export{x as a,g as b,m as i,w as p};
1
+ import{P as l,d as c}from"./capability-coverage-DWVel6Wq.js";import{aC as a,a3 as u}from"./index-D9shXtZ9.js";function d(e,t){return{slot:e,state:"unanswered",evidence:`nobody has read this project's own files yet, so ${e} is unmeasured — `+(t??"the editor has not asked its dev server for them")}}function p(e){return e.length>0&&e.every(t=>t.type==="ingest")}function h(e){const{scripts:t,roots:n}=e;return t===null||n===null?d("export",e.unavailable):t.includes("build")?{slot:"export",state:"present",evidence:`this project declares a \`build\` script, which is what the export path runs to emit the \`dist/\` it stages${p(n)?"; this ingest project ships the standalone bundle produced by its own build unchanged":""}`}:{slot:"export",state:"absent",evidence:e.hasPackageJson?"this project's package.json declares no `build` script, and the export path runs `npm run build` in the project and stages the `dist/` it emits":"this project has no package.json, so there is no `build` script for the export path to run",missing:"this project cannot produce a standalone build, so it runs NOWHERE but the editor — the dev-served standalone page refuses an unexported game outright",fix:"add the scaffold's `build` script (`build: tsc && vite build`), which is what the export path runs"}}function f(e){const t={export:h};return l.map(n=>t[n](e))}let r=null,i=null,o=null;function m(){r=null,i=null,o=null}async function b(e,t=fetch){return r&&o===e?r:(i&&o===e||(o=e,r=null,i=(async()=>{let n;try{const s=await t("/__editor/project-verbs");n=await u(s,"project-verbs did not answer")}catch(s){n={scripts:null,hasPackageJson:!1,dependencies:null,roots:null,unavailable:`the editor could not reach its dev server to read this project's own files (${s instanceof Error?s.message:String(s)})`}}return r=n,n})()),i)}function w(){const e=a();return e?(o===e.rootPath?r:null)?.dependencies??null:null}function g(){const e=a();if(!e)return null;b(e.rootPath);const t=o===e.rootPath?r:null;return{scripts:t?.scripts??null,hasPackageJson:t?.hasPackageJson??!1,roots:t?.roots??null,unavailable:t?.unavailable??(t?null:"the editor has not finished reading this project’s own files yet")}}function x(){const e=g();if(!e)return null;const t=a();return c({worldId:t?.config.name??"project",projectVerbs:f(e)})}export{x as a,g as b,m as i,w as p};