@volter/game-editor 0.5.149 → 0.5.151

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 +2160 -2160
  5. package/dist/assets/{AssetBudgetPanel-R13-q4G0.js → AssetBudgetPanel-C4OyZCzx.js} +3 -3
  6. package/dist/assets/{AudioViewer-CPfBzLaX.js → AudioViewer-C-hM8gd1.js} +1 -1
  7. package/dist/assets/{CanvasBoardDocument-Bb9YueVN.js → CanvasBoardDocument-CzdU0n-s.js} +1 -1
  8. package/dist/assets/{CanvasSceneViewport-DhoMq0X0.js → CanvasSceneViewport-Y394P33k.js} +1 -1
  9. package/dist/assets/{ColorInput-Cj2epoyS.js → ColorInput-CGEsse4C.js} +1 -1
  10. package/dist/assets/{ColorPicker-B2Ov9s62.js → ColorPicker-DHbzz5rN.js} +1 -1
  11. package/dist/assets/{EntityModelDocument-BqVdc9Bn.js → EntityModelDocument-DFlFF9ZG.js} +1 -1
  12. package/dist/assets/{EnvironmentAssetDocument-CtORxpQG.js → EnvironmentAssetDocument-DwyxnuLl.js} +1 -1
  13. package/dist/assets/{GameplaySessionTimeline-DCfFg8Yd.js → GameplaySessionTimeline-D3uJXkLL.js} +1 -1
  14. package/dist/assets/{ImageViewer-DHxgbL2O.js → ImageViewer-CMjsK0tM.js} +1 -1
  15. package/dist/assets/InspectorObjectPreview-BKnVQ4o2.js +1 -0
  16. package/dist/assets/{JsonAssetDocument-D5vV0tca.js → JsonAssetDocument-Bx4lstjN.js} +1 -1
  17. package/dist/assets/{LiveModuleDocument-plTjlSmQ.js → LiveModuleDocument-DqCrfGex.js} +1 -1
  18. package/dist/assets/{LutAssetDocument-CC89mNb1.js → LutAssetDocument-C1MHSRKw.js} +1 -1
  19. package/dist/assets/{ModelAssetDocument-BPsAxSGk.js → ModelAssetDocument-BK7JHqWO.js} +1 -1
  20. package/dist/assets/{NonThreeAuthoringBootstrap-CU7BfRcI.js → NonThreeAuthoringBootstrap-BsNkQs2R.js} +1 -1
  21. package/dist/assets/{Object3DDocumentToolbar-VIW6_zzI.js → Object3DDocumentToolbar-Cbx4jB9p.js} +1 -1
  22. package/dist/assets/Object3DDocumentViewport-ChFwEXeC.js +2 -0
  23. package/dist/assets/{Object3DPreview-5ELE44Wm.js → Object3DPreview-Q4cXgeF6.js} +1 -1
  24. package/dist/assets/{OnlineAssetDetail-CBcZeSKi.js → OnlineAssetDetail-BizPmyVh.js} +1 -1
  25. package/dist/assets/{PlayBar-CPsWTHI3.js → PlayBar-BxgAn8p7.js} +1 -1
  26. package/dist/assets/{QuarksAssetDocument-CXBUu1nB.js → QuarksAssetDocument-Da669euE.js} +1 -1
  27. package/dist/assets/{ReactCanvasControls-DJMQXWoI.js → ReactCanvasControls-1kESx_ED.js} +1 -1
  28. package/dist/assets/{RootSelectionOverlay-BaLWMalK.js → RootSelectionOverlay-p79TNquo.js} +1 -1
  29. package/dist/assets/{ShaderAssetDocument-BpO8rXv6.js → ShaderAssetDocument-Cp41lQpx.js} +1 -1
  30. package/dist/assets/{ShadowEditor-B18zcMZ8.js → ShadowEditor-BBe-rxfE.js} +1 -1
  31. package/dist/assets/{SourceAssetViewer-DvubNSiQ.js → SourceAssetViewer-DqMZDRJA.js} +1 -1
  32. package/dist/assets/{StageHost-CHuqXwVa.js → StageHost-H7VPZ-sR.js} +2 -2
  33. package/dist/assets/{StoryPreviewMount-CZlvvexf.js → StoryPreviewMount-s_1ftRRU.js} +1 -1
  34. package/dist/assets/{ThreeBoardDocument-Jx5fVYa-.js → ThreeBoardDocument-BgnljUGT.js} +2 -2
  35. package/dist/assets/{ThreeIsolationSceneContent-bkMa9UUj.js → ThreeIsolationSceneContent-B-IkLJrX.js} +1 -1
  36. package/dist/assets/{ToolObject3DPreview-4npPV2f_.js → ToolObject3DPreview-LODJ6jfF.js} +1 -1
  37. package/dist/assets/{Toolbar-C9AAF-Qx.js → Toolbar-BzpxBtwB.js} +1 -1
  38. package/dist/assets/{TransientHint-huJltaDD.js → TransientHint-Blj0Zwn3.js} +1 -1
  39. package/dist/assets/{VideoViewer-DNYVH4Dg.js → VideoViewer-BUa_MOhs.js} +1 -1
  40. package/dist/assets/{ViewportShadingMenu-D1uir_nK.js → ViewportShadingMenu-FB4inp58.js} +1 -1
  41. package/dist/assets/{active-ingest-DorXVmsi.js → active-ingest-Dc8fMyIX.js} +2 -2
  42. package/dist/assets/{animation-clock-7peG_AyK.js → animation-clock-DhSUmCo9.js} +1 -1
  43. package/dist/assets/{animation-mixers.service-VBZZGalq.js → animation-mixers.service-DqipQxr4.js} +1 -1
  44. package/dist/assets/{animation-timeline.utility-CtKuohFG.js → animation-timeline.utility-D1DmxJaZ.js} +1 -1
  45. package/dist/assets/{asset-budget-asset.menu-CEdnQGu_.js → asset-budget-asset.menu-USArAq-_.js} +1 -1
  46. package/dist/assets/{asset-budget.action-CPB8HaDa.js → asset-budget.action-BKj73eX6.js} +1 -1
  47. package/dist/assets/{asset-budget.document-Bi6SjuFT.js → asset-budget.document-BwUxJOvx.js} +1 -1
  48. package/dist/assets/{asset-budget.menu-5CMYie5Q.js → asset-budget.menu-CO1Y8QGj.js} +1 -1
  49. package/dist/assets/{asset-editor-persistence-DmLpoY0_.js → asset-editor-persistence-CYGpUeVh.js} +1 -1
  50. package/dist/assets/{asset-loaders-_w8Au_ym.js → asset-loaders-CfIRzkyi.js} +1 -1
  51. package/dist/assets/{asset-preview-vb2Jqrv6.js → asset-preview-BZnQsIhE.js} +1 -1
  52. package/dist/assets/{audio-unlock.service-3Y35eECU.js → audio-unlock.service-D-zkniJF.js} +1 -1
  53. package/dist/assets/{audio.utility-Cleya02q.js → audio.utility-ChxQd5iC.js} +1 -1
  54. package/dist/assets/autoplay.service-BuLBDSbB.js +1 -0
  55. package/dist/assets/{babylon-authoring-adapter-DCCMAnY8.js → babylon-authoring-adapter-DVjjjFhH.js} +1 -1
  56. package/dist/assets/{binding-resolver-CTzdinpQ.js → binding-resolver-ByoEiLk3.js} +2 -2
  57. package/dist/assets/{blender-node-editor.document-CrvECFGo.js → blender-node-editor.document-Ck9wuQYQ.js} +1 -1
  58. package/dist/assets/{blender-properties-tab-CyDcMOUi.js → blender-properties-tab-2Zt0ZgR2.js} +1 -1
  59. package/dist/assets/{blender-runtime-host-COFoa5Ol.js → blender-runtime-host-RaX-JAxZ.js} +1 -1
  60. package/dist/assets/{blender-runtime-skin-CqPNowhu.js → blender-runtime-skin-BPulw3QH.js} +1 -1
  61. package/dist/assets/{blender-runtime.document-ucFQOWbO.js → blender-runtime.document-BAJAZjHz.js} +1 -1
  62. package/dist/assets/{blender-screenshot.menu-C7BidCI1.js → blender-screenshot.menu-Cji0_H9E.js} +1 -1
  63. package/dist/assets/{blender-timeline.document-vE-dlfMu.js → blender-timeline.document-CrZMZeyq.js} +1 -1
  64. package/dist/assets/{blender-uv-editor.document-BPhyOvrh.js → blender-uv-editor.document-DknzAoYR.js} +1 -1
  65. package/dist/assets/{blender-version.status-rG-dcepW.js → blender-version.status-CKMwIq_1.js} +1 -1
  66. package/dist/assets/{blender.command-LfpaGuFA.js → blender.command-C4atlb3V.js} +1 -1
  67. package/dist/assets/{board-guides-DqdrMxrY.js → board-guides-C6HbbTzb.js} +1 -1
  68. package/dist/assets/{bridge.command-D6wreKYJ.js → bridge.command-CCyUbh7E.js} +3 -3
  69. package/dist/assets/{browserAll-YvznqLVY.js → browserAll-CKEAT607.js} +1 -1
  70. package/dist/assets/{build-player.document-DHLxdk5P.js → build-player.document-BveNA1PX.js} +1 -1
  71. package/dist/assets/{build-profiles.document-CRQskDsu.js → build-profiles.document-D1A4dKPQ.js} +1 -1
  72. package/dist/assets/{build-progress.status-CzrNkKrH.js → build-progress.status-CfJ4X1n-.js} +1 -1
  73. package/dist/assets/{build-session-BzeRK57W.js → build-session-D24xsQBQ.js} +1 -1
  74. package/dist/assets/{build.action-BUOobNV0.js → build.action-BI1fZe7q.js} +1 -1
  75. package/dist/assets/{build.command-DmpH0LrV.js → build.command-BOMulmqO.js} +1 -1
  76. package/dist/assets/{build.header-DI_U3B7Q.js → build.header-VIt9ktol.js} +1 -1
  77. package/dist/assets/{build.menu-DUXB6HEP.js → build.menu-pDI5oQAr.js} +1 -1
  78. package/dist/assets/{build.service-B_K81q7a.js → build.service-Dq0iuFBt.js} +1 -1
  79. package/dist/assets/{camera-BojB7DPC.js → camera-I5VuZBXq.js} +1 -1
  80. package/dist/assets/{camera-runtime.inspector-mI9xx-Tn.js → camera-runtime.inspector-BAqWCoHP.js} +1 -1
  81. package/dist/assets/{canvas-design-mount-CcJRYUrV.js → canvas-design-mount-DShSquA-.js} +3 -3
  82. package/dist/assets/{canvas-entry-runtime-BYFZ1jkq.js → canvas-entry-runtime-CmAdA7mP.js} +2 -2
  83. package/dist/assets/{canvas-preview-frames-Dh4QqQeu.js → canvas-preview-frames-BvPr-5-l.js} +1 -1
  84. package/dist/assets/{canvas-story-capture.service-DVtMnHMc.js → canvas-story-capture.service-Dpu18cgz.js} +2 -2
  85. package/dist/assets/{capability-coverage-B-Qy8mji.js → capability-coverage-ir5zRJFr.js} +1 -1
  86. package/dist/assets/{collaboration-presence-CpORAsB5.js → collaboration-presence-DcLJuuXB.js} +1 -1
  87. package/dist/assets/{collider-CBOqT-CW.js → collider-CSWEaVtz.js} +1 -1
  88. package/dist/assets/{component-board.service-qkaBIHAS.js → component-board.service-CUpcnwFS.js} +2 -2
  89. package/dist/assets/{component-board.service-B1OMDeZG.js → component-board.service-CutL7t0X.js} +2 -2
  90. package/dist/assets/{component-board.service-BlLWMTgf.js → component-board.service-DjkOUQZz.js} +2 -2
  91. package/dist/assets/{component-contracts.service-DSeZsSPm.js → component-contracts.service-CUBhlNfz.js} +1 -1
  92. package/dist/assets/{component-instance-root-CiA1Zm8c.js → component-instance-root-Cx7gmDOy.js} +1 -1
  93. package/dist/assets/{component-verbs.command-CXlmetSk.js → component-verbs.command-BBlkysLV.js} +1 -1
  94. package/dist/assets/{component-verbs.service-BmHE4a21.js → component-verbs.service-CLbcq8Vw.js} +1 -1
  95. package/dist/assets/{config-sBb979N0.js → config-BV9SzGFv.js} +2 -2
  96. package/dist/assets/{configurations-CX68kHcx.js → configurations-Cqu8dn03.js} +1 -1
  97. package/dist/assets/{connection.status-CQNnu2xo.js → connection.status-CHw4Imj2.js} +1 -1
  98. package/dist/assets/{constraints.inspector-DgtnBEpy.js → constraints.inspector-BiXBI0bD.js} +1 -1
  99. package/dist/assets/{content-bounds-lLnFEeA7.js → content-bounds-BNMGLm-D.js} +1 -1
  100. package/dist/assets/{contract-system-adapters-BRV5CGn2.js → contract-system-adapters-BdX2f-t8.js} +1 -1
  101. package/dist/assets/{coverage.service-DTiWpc4T.js → coverage.service-es-q_QOo.js} +1 -1
  102. package/dist/assets/{create-runtime-DuqGQ1UM.js → create-runtime-euNCNG2m.js} +1 -1
  103. package/dist/assets/{curve-2OHy8nEm.js → curve-DHSQYR7T.js} +1 -1
  104. package/dist/assets/{data-asset-ByvP_6yi.js → data-asset-S8N2Hvn5.js} +1 -1
  105. package/dist/assets/{data-ref-zuBvU0WG.js → data-ref-D-nT3-r8.js} +1 -1
  106. package/dist/assets/{debug-bridge-BQixFA0s.js → debug-bridge-30K18Jpj.js} +1 -1
  107. package/dist/assets/{debug-registry-um1fpy-u.js → debug-registry-9TuqM9UA.js} +1 -1
  108. package/dist/assets/{deferred-ingest-play-AqC5iyjB.js → deferred-ingest-play-Dybh7KIk.js} +2 -2
  109. package/dist/assets/{design-time-canvas-mount-BMbnAXlQ.js → design-time-canvas-mount-f5v5SCXP.js} +2 -2
  110. package/dist/assets/{design-time-layers-CVGiSJ7z.js → design-time-layers-C40Oj7df.js} +1 -1
  111. package/dist/assets/{design-time-mount.service-kMO10mXx.js → design-time-mount.service-B0U0Otct.js} +2 -2
  112. package/dist/assets/{design-time-mount.service-BInNZQzu.js → design-time-mount.service-CNrBtii0.js} +2 -2
  113. package/dist/assets/{design-time-react-mount-qK6L3K0C.js → design-time-react-mount-CEHl-ZFu.js} +1 -1
  114. package/dist/assets/{document-preview-three-Cx5DlBqx.js → document-preview-three-AirIDFoZ.js} +1 -1
  115. package/dist/assets/{dom-authoring-adapter-Bv0VPgpI.js → dom-authoring-adapter-Q3siA5LQ.js} +1 -1
  116. package/dist/assets/{draco3d-Cf321iec.js → draco3d-BJZx9d4M.js} +1 -1
  117. package/dist/assets/{edit-mode-audio.service-DVC_SKcO.js → edit-mode-audio.service-BKnfc7io.js} +1 -1
  118. package/dist/assets/{edit-mode-authoring-DIKdS0Hm.js → edit-mode-authoring-DPKyu7IT.js} +1 -1
  119. package/dist/assets/{edit-mode-networking.service-B7qmkTGd.js → edit-mode-networking.service-ZpDHLoMS.js} +1 -1
  120. package/dist/assets/{editor-api-DjB0j3AK.js → editor-api-D2CW0AGm.js} +1 -1
  121. package/dist/assets/{editor-layers-DSKskK3B.js → editor-layers-KmhRTl5z.js} +1 -1
  122. package/dist/assets/{editor-shell-store-CDNZwGzX.js → editor-shell-store-xXZ_3Vca.js} +1 -1
  123. package/dist/assets/{entity-object-TF8v8bMc.js → entity-object-Cw5lqi8N.js} +1 -1
  124. package/dist/assets/{extend-yH-06cUj.js → extend-BHlsCjW5.js} +1 -1
  125. package/dist/assets/{fork-menu-C2BlMeOL.js → fork-menu-Dueo63LR.js} +1 -1
  126. package/dist/assets/{frame-debugger-store-B3yEv9EG.js → frame-debugger-store-KBTiXI7n.js} +1 -1
  127. package/dist/assets/{game-contract-seams-D5AK_gNL.js → game-contract-seams-B1hBrlH9.js} +1 -1
  128. package/dist/assets/{game-css-scope-transform-04enB5hf.js → game-css-scope-transform-C4ZW5_3P.js} +1 -1
  129. package/dist/assets/{game-document.service-B2Lh_A2n.js → game-document.service-jRxnG9lB.js} +1 -1
  130. package/dist/assets/{game-eval.command-DcSRBwde.js → game-eval.command-BP8eKVxd.js} +1 -1
  131. package/dist/assets/{game-module-access-CqBCzuTm.js → game-module-access-C-BXp2nT.js} +1 -1
  132. package/dist/assets/{game-network-CbKgBsGi.js → game-network-CPmpSW6X.js} +3 -3
  133. package/dist/assets/{gameplay-export-DQFmdznJ.js → gameplay-export-CmD4JZ9f.js} +1 -1
  134. package/dist/assets/{gameplay-replay-p6pGZGsT.js → gameplay-replay-B5D7VdTP.js} +1 -1
  135. package/dist/assets/{gameplay.command-DnNZYsuf.js → gameplay.command-DZANiER_.js} +1 -1
  136. package/dist/assets/{generation-jobs-D5ZCtACf.js → generation-jobs-A1hRT8nJ.js} +1 -1
  137. package/dist/assets/{generation.service-CyirUhCZ.js → generation.service-Di_fDXLK.js} +1 -1
  138. package/dist/assets/{generations-DWCfEiv3.js → generations-CzPRF5Sm.js} +1 -1
  139. package/dist/assets/{generations.status-BseAoTMx.js → generations.status-CzJqXN9U.js} +1 -1
  140. package/dist/assets/{hierarchy-marks-B1ZDqOtA.js → hierarchy-marks-CcI_j5WN.js} +1 -1
  141. package/dist/assets/{hosted-asset-materialization-Cy0W5tPg.js → hosted-asset-materialization-CAJOMSGd.js} +1 -1
  142. package/dist/assets/{index-D-dX1y6R.js → index-Bb_oU2AN.js} +1 -1
  143. package/dist/assets/{index-BKHfoI39.js → index-CT82WIOK.js} +2 -2
  144. package/dist/assets/{index-C7VGwP-r.js → index-CbQOGPZ7.js} +1 -1
  145. package/dist/assets/{index-BZLJMzrD.js → index-CdKnPNAZ.js} +1 -1
  146. package/dist/assets/{index-PFqAtsnV.js → index-Cok_vZzh.js} +1 -1
  147. package/dist/assets/{index-BVJOjNkv.js → index-D-bf1M-_.js} +7 -7
  148. package/dist/assets/{index-DJOGFKY9.js → index-DxWuAdkn.js} +1 -1
  149. package/dist/assets/{index-DpYLPYOQ.js → index-G6H5rcTw.js} +1 -1
  150. package/dist/assets/{index-DLj-yYRW.js → index-y117JhHl.js} +1 -1
  151. package/dist/assets/{inference-diagnostics-BQdc8K6I.js → inference-diagnostics-zatIyL4O.js} +1 -1
  152. package/dist/assets/{ingest-boot-viewport-BcC2ywYG.js → ingest-boot-viewport-B8VmCRjT.js} +1 -1
  153. package/dist/assets/{ingest-siblings-C7DSjeZE.js → ingest-siblings-CU6iUlyk.js} +1 -1
  154. package/dist/assets/{ingest-source-persistence-Cnvx4VG6.js → ingest-source-persistence-C0Ex41I6.js} +1 -1
  155. package/dist/assets/{ingest.service-DBZts_6Q.js → ingest.service-Cb529IMn.js} +1 -1
  156. package/dist/assets/{inspect-BDoIwNpv.js → inspect-msIG8Qeu.js} +1 -1
  157. package/dist/assets/instances.command-l7ehb4Mp.js +1 -0
  158. package/dist/assets/{json-history-resource-BKI0DEXU.js → json-history-resource-CTmpVR0-.js} +1 -1
  159. package/dist/assets/{layered-pick-CvHiePf4.js → layered-pick-DoJB09fE.js} +1 -1
  160. package/dist/assets/{light-CeqYb8FV.js → light-CgIm77Wo.js} +1 -1
  161. package/dist/assets/{live-project-verbs-CL5ufdnB.js → live-project-verbs-DgMSiFrB.js} +1 -1
  162. package/dist/assets/{machine.document-BjOPLcWK.js → machine.document-StBuWcKq.js} +1 -1
  163. package/dist/assets/{machines.finder-DPhxOoIw.js → machines.finder-BpHkAP3W.js} +1 -1
  164. package/dist/assets/{material-Bd0Me6AP.js → material-Bain34oO.js} +1 -1
  165. package/dist/assets/{material-factory-BtKClLKe.js → material-factory-BjkdY_AZ.js} +1 -1
  166. package/dist/assets/{mesh-CB4Ljr0D.js → mesh-C-o5rW8Q.js} +1 -1
  167. package/dist/assets/{model-asset-sections.service-D7ApoZ7Q.js → model-asset-sections.service-CtcsJdc3.js} +1 -1
  168. package/dist/assets/{model-inspection-Dfo-KJUX.js → model-inspection-D1VGXQ6p.js} +1 -1
  169. package/dist/assets/{model-thumbnail-U11QlHvW.js → model-thumbnail-CCE-pNSu.js} +1 -1
  170. package/dist/assets/{models.finder-CGDxeMC4.js → models.finder-B361VkAD.js} +1 -1
  171. package/dist/assets/{module-mode-kMW3qzri.js → module-mode-DSRb7X7Q.js} +2 -2
  172. package/dist/assets/{mount-canvas-ingest-root-C9eDm-sD.js → mount-canvas-ingest-root-DGRh2uWc.js} +2 -2
  173. package/dist/assets/{mount-dom-ingest-root-BBvTvPFk.js → mount-dom-ingest-root-D5KBEgAI.js} +2 -2
  174. package/dist/assets/{mount-ingest-root-D3rwg-Rj.js → mount-ingest-root-C5ZYFXm7.js} +2 -2
  175. package/dist/assets/{mount-manifest-BhOdpBYG.js → mount-manifest-BIj4lnEl.js} +1 -1
  176. package/dist/assets/{mount-three-ingest-root-DcFDnDuJ.js → mount-three-ingest-root-BvEtSn1V.js} +1 -1
  177. package/dist/assets/{mounted-authoring-Bv-Jx5CD.js → mounted-authoring-D0nt0boC.js} +1 -1
  178. package/dist/assets/{mounted-story-viewport-source-C-aO96aM.js → mounted-story-viewport-source-CxoI7KMz.js} +1 -1
  179. package/dist/assets/{native-debug-module-CXfN3uno.js → native-debug-module-UkvSJ8h6.js} +1 -1
  180. package/dist/assets/{navigation-6x5we3g1.js → navigation-CA77lEJc.js} +1 -1
  181. package/dist/assets/{navmesh.menu-BDHbssFJ.js → navmesh.menu-BENBP4AA.js} +1 -1
  182. package/dist/assets/{navmesh.service-CvsvM1_2.js → navmesh.service-BGHeQ1K1.js} +1 -1
  183. package/dist/assets/network-observer.service-B1AoF_5W.js +1 -0
  184. package/dist/assets/{network.utility-Bu9gU_ip.js → network.utility-CT3l1KVz.js} +1 -1
  185. package/dist/assets/{object3d-document-session-registry-BeA0Rya2.js → object3d-document-session-registry-DdFGkOyQ.js} +2 -2
  186. package/dist/assets/{oid-transform-D5irs2yC.js → oid-transform-D_tqQSXR.js} +1 -1
  187. package/dist/assets/{particles-DrPW-6YO.js → particles-B7YDnxCR.js} +1 -1
  188. package/dist/assets/{pixi-authoring-adapter-DcaiC9oX.js → pixi-authoring-adapter-WIDqEfD_.js} +1 -1
  189. package/dist/assets/{pixi-live-write-target-qTC-BP-O.js → pixi-live-write-target-D6rZZgKb.js} +1 -1
  190. package/dist/assets/{play.command-SGyaz5CC.js → play.command-Be1-OEzn.js} +2 -2
  191. package/dist/assets/{presentation-BN9umkP6.js → presentation-BaniJniW.js} +1 -1
  192. package/dist/assets/{product-Bd9oc9kY.js → product-D7gWfYmx.js} +1 -1
  193. package/dist/assets/{profiler.action-DM16j9gA.js → profiler.action-DrfqW7Fp.js} +1 -1
  194. package/dist/assets/{profiler.menu-BWqCmkTn.js → profiler.menu-IXTa1fpI.js} +1 -1
  195. package/dist/assets/{profiler.utility-DZXtXCtg.js → profiler.utility-DAoZhtos.js} +1 -1
  196. package/dist/assets/{project-authoring-session-BnvyT6Ia.js → project-authoring-session-BE90ZeWb.js} +2 -2
  197. package/dist/assets/{properties-bone-constraints.inspector-BR1t_unx.js → properties-bone-constraints.inspector-BeXTuKoG.js} +1 -1
  198. package/dist/assets/{properties-bone.inspector-B-VeHIXx.js → properties-bone.inspector-CrZHkmoa.js} +1 -1
  199. package/dist/assets/{properties-collection.inspector-DTG1r3gI.js → properties-collection.inspector-DsFvcEDW.js} +1 -1
  200. package/dist/assets/{properties-constraints.inspector-CWJrVLAT.js → properties-constraints.inspector-C2GveZn8.js} +1 -1
  201. package/dist/assets/{properties-data.inspector-mIqeYQCH.js → properties-data.inspector-D3DisEY_.js} +1 -1
  202. package/dist/assets/{properties-material.inspector-C1Uqav2H.js → properties-material.inspector-BPViYKtJ.js} +1 -1
  203. package/dist/assets/{properties-modifiers.inspector-C1k1hzy3.js → properties-modifiers.inspector-B903eYtf.js} +1 -1
  204. package/dist/assets/{properties-object.inspector-IySYBkgT.js → properties-object.inspector-w6SFre_k.js} +1 -1
  205. package/dist/assets/{properties-output.inspector-aqhDa-Vo.js → properties-output.inspector-BiuWtJrv.js} +1 -1
  206. package/dist/assets/{properties-particles.inspector-CDVvmN4o.js → properties-particles.inspector-B7CYK7pA.js} +1 -1
  207. package/dist/assets/{properties-physics.inspector-D1Rnw8o-.js → properties-physics.inspector-kc9VUPT-.js} +1 -1
  208. package/dist/assets/{properties-render.inspector-UaJpfy7e.js → properties-render.inspector-CnoLQedm.js} +1 -1
  209. package/dist/assets/{properties-scene.inspector-C0hydVMV.js → properties-scene.inspector-DDRsqA41.js} +1 -1
  210. package/dist/assets/{properties-texture.inspector-XC9EDqtc.js → properties-texture.inspector-BkxLHc-i.js} +1 -1
  211. package/dist/assets/{properties-view-layer.inspector-BMZThuqU.js → properties-view-layer.inspector-Bxz7rl3F.js} +1 -1
  212. package/dist/assets/{properties-world.inspector-DyiHpp_e.js → properties-world.inspector-CKrRrca8.js} +1 -1
  213. package/dist/assets/{r3f-design-session-Blnl08uu.js → r3f-design-session-jS_TqqTC.js} +2 -2
  214. package/dist/assets/{r3f-physics-binding-Db96EJAn.js → r3f-physics-binding-Bs1QjbGv.js} +1 -1
  215. package/dist/assets/{r3f-source-authoring-adapter-CcGGth2L.js → r3f-source-authoring-adapter-DokwQxG4.js} +1 -1
  216. package/dist/assets/{react-canvas-navigation-Dh6Ch6ZS.js → react-canvas-navigation-DSYnw5Zp.js} +1 -1
  217. package/dist/assets/{react-inspector.service-DtpdKoWL.js → react-inspector.service-DCbojt3m.js} +1 -1
  218. package/dist/assets/{react-story-board-DQuQMo43.js → react-story-board-DaNqP7VU.js} +1 -1
  219. package/dist/assets/{react-three-rapier.esm-Ckb6Eqmp.js → react-three-rapier.esm-D_HKfJNf.js} +1 -1
  220. package/dist/assets/{react-world-authoring-adapter-C3Crd65-.js → react-world-authoring-adapter-aQJF6lY7.js} +1 -1
  221. package/dist/assets/{realm-services-CEq-cFVm.js → realm-services-DOX3MdjT.js} +1 -1
  222. package/dist/assets/{reflection-probe-capture.inspector-o-zeqj4s.js → reflection-probe-capture.inspector-jbphsKpt.js} +1 -1
  223. package/dist/assets/{registry-ZSDZiyoY.js → registry-6AYLU18z.js} +1 -1
  224. package/dist/assets/{relative-import-specifier-CZC7CmId.js → relative-import-specifier-CEoSx6qX.js} +1 -1
  225. package/dist/assets/{render-env-CDgW88DQ.js → render-env-GHmWAidt.js} +1 -1
  226. package/dist/assets/{render-features-IAqBX1bX.js → render-features-BnN-3KIj.js} +1 -1
  227. package/dist/assets/{render-settings-e5stKUF5.js → render-settings-CdIopzph.js} +1 -1
  228. package/dist/assets/{resolve-three-BOwPm2Tk.js → resolve-three-B1MiWN_4.js} +3 -3
  229. package/dist/assets/{root-seam-contract-D66JIhAB.js → root-seam-contract-CyHNRUVA.js} +1 -1
  230. package/dist/assets/{run-selection-C2X-7hok.js → run-selection-Dmdw5L3A.js} +1 -1
  231. package/dist/assets/{scene-capture-sPCoPMz_.js → scene-capture-DNZ8tULq.js} +1 -1
  232. package/dist/assets/{scene-document.service-C6EFBGrD.js → scene-document.service-C3cH65I2.js} +2 -2
  233. package/dist/assets/{scene-framing-CZL7JE-C.js → scene-framing-Df1IIw8U.js} +1 -1
  234. package/dist/assets/{seeded-random-FQMhesOh.js → seeded-random-DJsnjfHE.js} +1 -1
  235. package/dist/assets/{setup-renderer-DprpG_j4.js → setup-renderer-B0BrvLJA.js} +1 -1
  236. package/dist/assets/{source-object3d-authoring-adapter-Dg1PpiBD.js → source-object3d-authoring-adapter-BkX86nvs.js} +1 -1
  237. package/dist/assets/{source-persistence-backend-DDpEIwn_.js → source-persistence-backend-5wzSP0Hv.js} +1 -1
  238. package/dist/assets/{stage-keyboard-p9kcvO8-.js → stage-keyboard-BafIUlb1.js} +1 -1
  239. package/dist/assets/{stage-overlay-set-DJyK25bM.js → stage-overlay-set-P6sSedlY.js} +1 -1
  240. package/dist/assets/{stage-presence-markers-DYTxaIxY.js → stage-presence-markers-D6fqD4cV.js} +1 -1
  241. package/dist/assets/{stage-transform-tools-CrxcLjQ6.js → stage-transform-tools-C0HYMFKg.js} +1 -1
  242. package/dist/assets/{standard-viewport-dressing-Dvoaw5rb.js → standard-viewport-dressing-CYrAwzFP.js} +1 -1
  243. package/dist/assets/{state-watch.action--e3w1sxt.js → state-watch.action-eFcVnt40.js} +1 -1
  244. package/dist/assets/{state-watch.menu-BJzWYijG.js → state-watch.menu-BjfS6jPz.js} +1 -1
  245. package/dist/assets/{state-watch.utility-3mf17mOQ.js → state-watch.utility-DZ739lYu.js} +1 -1
  246. package/dist/assets/{story-capture-VrnjiPP2.js → story-capture-DJz_km5a.js} +1 -1
  247. package/dist/assets/{story-documents-BSknIMXp.js → story-documents-BLuVXMcG.js} +1 -1
  248. package/dist/assets/{story-documents.service-C3-a6FRQ.js → story-documents.service-C8t8zDKt.js} +1 -1
  249. package/dist/assets/{story-documents.service-BAs0tsTR.js → story-documents.service-Nr2mlY6i.js} +1 -1
  250. package/dist/assets/{story-media-presence-CJQQoARb.js → story-media-presence-BMk1gvnk.js} +1 -1
  251. package/dist/assets/{story-pixi-preview-C2xacloi.js → story-pixi-preview-q-LdrkbO.js} +1 -1
  252. package/dist/assets/{story-presentation-BlBp6Xsb.js → story-presentation-Dq8lNMcW.js} +1 -1
  253. package/dist/assets/{story-three-preview-DSSX6fb_.js → story-three-preview-nb1nTNzG.js} +2 -2
  254. package/dist/assets/{studio-environment-TRja3rg7.js → studio-environment-BAGHJ-DI.js} +1 -1
  255. package/dist/assets/{surface-state-D7WtJVjn.js → surface-state-DeU08O7x.js} +1 -1
  256. package/dist/assets/{syntactic-prop-specs-BuZW4yOc.js → syntactic-prop-specs-CGQ5OGuF.js} +1 -1
  257. package/dist/assets/{team-playtest.service-9pO9SMku.js → team-playtest.service-CfwnHVT1.js} +1 -1
  258. package/dist/assets/{three-D_yBxBQ_.js → three-Blh8FcB2.js} +1 -1
  259. package/dist/assets/{three-authoring-adapter-CO48brnD.js → three-authoring-adapter-gR5zFyrx.js} +1 -1
  260. package/dist/assets/three-authoring.service-NDPCWm6z.js +2 -0
  261. package/dist/assets/{three-ingest-runtime-CzzFrzA6.js → three-ingest-runtime-DF6VCu5H.js} +1 -1
  262. package/dist/assets/{three-integration-BSprDHJN.js → three-integration-DCPe6kSM.js} +2 -2
  263. package/dist/assets/three-integration.service-DkX-Wv1L.js +1 -0
  264. package/dist/assets/{three-projection-core-DtdO8Ll7.js → three-projection-core-B5hJO7jz.js} +1 -1
  265. package/dist/assets/{three-state-CC9cH07G.js → three-state-BnjjVq1e.js} +1 -1
  266. package/dist/assets/{three-story-capture.service-CuQ-YqaI.js → three-story-capture.service-B2GBKDpG.js} +2 -2
  267. package/dist/assets/{three-story-model-JFLCfX8l.js → three-story-model-SlKZtTCQ.js} +1 -1
  268. package/dist/assets/{three-viewport-presentation-BAXpodtw.js → three-viewport-presentation-JbkCfwHo.js} +1 -1
  269. package/dist/assets/{transform-mode-request-DW6902wp.js → transform-mode-request-D1gRXuu6.js} +1 -1
  270. package/dist/assets/{transport-strip-Ok5dLfE8.js → transport-strip-gvNM76PW.js} +1 -1
  271. package/dist/assets/transport.header-CgRXL2qe.js +1 -0
  272. package/dist/assets/{tuples-3yxfLj6f.js → tuples-tnCRZFVA.js} +1 -1
  273. package/dist/assets/{ui-board-document-d636hmQb.js → ui-board-document-18oVOMSi.js} +2 -2
  274. package/dist/assets/{user-data-ag0BxD5m.js → user-data-BPYoci0m.js} +1 -1
  275. package/dist/assets/{utility-view-state-C-ushn0d.js → utility-view-state-DcfNE5Gn.js} +1 -1
  276. package/dist/assets/{viewport-door-CzmZHXKk.js → viewport-door-DQc77Qy-.js} +1 -1
  277. package/dist/assets/{viewport-root-presentation-Uc3fuVv3.js → viewport-root-presentation-DW02euUT.js} +1 -1
  278. package/dist/assets/{viewport-surface-status-DSzWwdVZ.js → viewport-surface-status-BeyOQmhG.js} +1 -1
  279. package/dist/assets/{webworkerAll-DGBHxlwz.js → webworkerAll-Bskpz0Su.js} +1 -1
  280. package/dist/assets/{workspace-arrangement-ByHLr8Qc.js → workspace-arrangement-BWddjPjg.js} +1 -1
  281. package/dist/assets/{world-documents-Boau_B1X.js → world-documents-AJRJlod0.js} +1 -1
  282. package/dist/assets/{world-root-stage-binding-Bpq57rgS.js → world-root-stage-binding-DKfFhSZz.js} +1 -1
  283. package/dist/assets/{xstate-animation-binding-Cs9SUNKx.js → xstate-animation-binding-BBFfNG6Q.js} +1 -1
  284. package/dist/assets/{xstate-animation-meta-BjwXc5LV.js → xstate-animation-meta-DNePLuc6.js} +1 -1
  285. package/dist-node/cli.js +16 -16
  286. package/package.json +16 -16
  287. package/dist/assets/InspectorObjectPreview-C6_bgi8M.js +0 -1
  288. package/dist/assets/Object3DDocumentViewport-CwTrSl8T.js +0 -2
  289. package/dist/assets/autoplay.service-BcXV8-Em.js +0 -1
  290. package/dist/assets/instances.command-CudpuqCp.js +0 -1
  291. package/dist/assets/network-observer.service-RhwjvBxI.js +0 -1
  292. package/dist/assets/three-authoring.service-B1u33b-O.js +0 -2
  293. package/dist/assets/three-integration.service-CHKUi9PZ.js +0 -1
  294. package/dist/assets/transport.header-DWvQYBkk.js +0 -1
@@ -1 +1 @@
1
- import{bA as nt,aN as st,al as ot,e4 as E,dV as U,a6 as at,e6 as rt,e5 as it}from"./index-BVJOjNkv.js";import{hp as wt,hq as Rt,hr as Nt,aS as _t,dX as Ct,hs as Ft,ht as Ot,hu as kt,hv as Lt,hw as jt,hx as Bt,hy as Gt,eJ as Pt,hz as Ht,e_ as $t,hA as zt,hB as Wt,hC as Vt,hD as Kt,hE as Jt,dz as Ut,hF as qt,bQ as Yt,a7 as Qt,eq as Xt,bP as Zt,h1 as te,hG as ee,hH as ne,bv as se,hI as oe,hJ as ae,hK as re,eY as ie,fe as ce,hL as ue,ff as le,hM as de,d9 as pe,hN as fe,aM as he,df as me,hO as xe,hP as Ee,hQ as ge,dg as Se,f1 as Te,fz as be,bB as De,bC as Me,fN as ye,hR as Ae,hS as Ie,aT as ve,hT as we,hU as Re,aU as Ne,bH as _e,hV as Ce,db as Fe,de as Oe,eB as ke,hW as Le,hX as je,aL as Be,e$ as Ge,hY as Pe,hZ as He,gK as $e,h_ as ze,bw as We,h$ as Ve,i0 as Ke,es as Je,i1 as Ue,i2 as qe,i3 as Ye,i4 as Qe,i5 as Xe,eo as Ze,ep as tn,i6 as en,i7 as nn,i8 as sn,i9 as on,ev as an,ia as rn,ib as cn,ic as un,id as ln,ie as dn,a8 as pn,ig as fn,ih as hn,ii as mn,ij as xn,ik as En,il as gn,ew as Sn,im as Tn,io as bn,et as Dn,ip as Mn,iq as yn,ir as An,dA as In,is as vn,it as wn,iu as Rn,iv as Nn,iw as _n,ix as Cn,iy as Fn,eW as On,iz as kn,iA as Ln,iB as jn,iC as Bn,iD as Gn,iE as Pn,ex as Hn,iF as $n,iG as zn,iH as Wn,f0 as Vn,iI as Kn,iJ as Jn,iK as Un,iL as qn,dq as Yn,er as Qn,iM as Xn,iN as Zn,iO as ts,eu as es,iP as ns,aZ as ss,dW as os,iQ as as,iR as rs,iS as is,dp as cs}from"./index-BVJOjNkv.js";import{C as ls}from"./ColorInput-Cj2epoyS.js";import{a as p}from"./jsx-runtime-DPjLkJKQ.js";import{r as b}from"./index-nmcBqr7Y.js";import{A as ps,k as fs,B as hs,a as ms,D as xs,l as Es,F as gs,h as Ss,G as Ts,m as bs,Q as Ds,S as Ms,f as ys,n as As,T as Is,d as vs,c as ws,g as Rs,i as Ns,j as _s,b as Cs,p as Fs,e as Os,u as ks,o as Ls}from"./ShadowEditor-B18zcMZ8.js";import{a as Bs,C as Gs,h as Ps,p as Hs,t as $s}from"./ColorPicker-B2Ov9s62.js";import"./index-CtzuWnCS.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";function Dt({preview:t,children:e,...r}){const[o,a]=b.useState(!1),l=b.useRef(null),c=b.useId(),s=()=>a(!1),d=i=>{l.current=i,a(!0)};let m=e;if(b.isValidElement(e)){const i=[e.props["aria-describedby"],o?c:null].filter(Boolean).join(" ");m=b.cloneElement(e,i?{"aria-describedby":i}:{})}return p.jsxs("span",{className:"volter-tooltip-anchor",onMouseEnter:i=>d(i.currentTarget),onMouseLeave:s,onFocusCapture:i=>d(i.currentTarget),onBlurCapture:i=>{i.currentTarget.contains(i.relatedTarget)||s()},onKeyDown:i=>{i.key!=="Escape"||!o||(i.preventDefault(),i.stopPropagation(),s())},children:[m,o&&l.current&&p.jsx(nt,{...r,anchorRef:l,id:c,role:"tooltip",autoFocusFirst:!1,onDismiss:s,children:t})]})}function Mt({value:t,onCommit:e,style:r,disabled:o=!1}){const a=t===void 0?"":JSON.stringify(t),[l,c]=b.useState(a),[s,d]=b.useState(!1),m=b.useRef(!1);b.useEffect(()=>{c(a),d(!1)},[a]);const i=()=>{if(m.current){m.current=!1;return}if(l===a){d(!1);return}let h;try{h=JSON.parse(l)}catch{d(!0);return}d(!1),e(h)};return p.jsxs("div",{children:[p.jsx(st,{"data-testid":"json-input","aria-invalid":s||void 0,"data-tone":s?"danger":void 0,disabled:o,value:l,onChange:h=>{c(h.target.value),s&&d(!1)},onBlur:i,onKeyDown:h=>{h.key==="Enter"?i():h.key==="Escape"&&(m.current=!0,c(a),d(!1),h.target.blur())},style:r,title:s?"Not valid JSON — nothing written. Fix the JSON or press Escape to revert.":void 0}),s&&p.jsx("div",{"data-testid":"json-input-error",style:{fontSize:"var(--volter-font-sm)",color:ot.semantic.danger,marginTop:2},children:"Not valid JSON — nothing written. Fix the JSON or press Escape to revert."})]})}function v(t,e){return e+1<t.length?t[e+1].start:1}function ct(t){const e=t.map(o=>({time:o.start,value:o.function.p0})),r=t[t.length-1];return r&&e.push({time:1,value:r.function.p3}),e}function G(t){return t.map(e=>({start:e.start,function:{...e.function}}))}const B=.01;function C(t,e,r,o){const a=G(t),l=a.length;if(e<0||e>l)return a;if(e<l){const c=a[e],s=o-c.function.p0;if(c.function.p0=o,c.function.p1+=s,e>0){const d=a[e-1],m=o-d.function.p3;d.function.p3=o,d.function.p2+=m;const i=d.start+B,h=v(a,e)-B;c.start=Math.min(h,Math.max(i,r))}}else{const c=a[l-1],s=o-c.function.p3;c.function.p3=o,c.function.p2+=s}return a}function q(t,e,r,o){const a=G(t);return r==="out"&&e<a.length?a[e].function.p1=o:r==="in"&&e>0&&e<=a.length&&(a[e-1].function.p2=o),a}function M(t,e,r){return t+(e-t)*r}function yt(t,e){for(let r=0;r<t.length;r++){const o=t[r].start,a=v(t,r);if(e>=o&&e<=a){const l=a>o?(e-o)/(a-o):0,{p0:c,p1:s,p2:d,p3:m}=t[r].function,i=M(c,s,l),h=M(s,d,l),g=M(d,m,l),A=M(i,h,l),I=M(h,g,l);return M(A,I,l)}}return 0}function ut(t,e){for(let r=0;r<t.length;r++){const o=t[r].start,a=v(t,r);if(e<=o+B||e>=a-B||e<o||e>a)continue;const l=(e-o)/(a-o),{p0:c,p1:s,p2:d,p3:m}=t[r].function,i=M(c,s,l),h=M(s,d,l),g=M(d,m,l),A=M(i,h,l),I=M(h,g,l),D=M(A,I,l),S=G(t);return S.splice(r,1,{start:o,function:{p0:c,p1:i,p2:A,p3:D}},{start:e,function:{p0:D,p1:I,p2:g,p3:m}}),S}return t}function Y(t,e){if(e<=0||e>=t.length)return t;const r=t[e-1],o=t[e],a=o.start-r.start,l=v(t,e)-o.start,c=a+l;if(c<=0)return t;const s=r.function,d=o.function,m={start:r.start,function:{p0:s.p0,p1:s.p0+(s.p1-s.p0)*(a>0?c/a:1),p2:d.p3+(d.p2-d.p3)*(l>0?c/l:1),p3:d.p3}},i=G(t);return i.splice(e-1,2,m),i}function lt(t){let e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;for(const o of t)for(const a of[o.function.p0,o.function.p1,o.function.p2,o.function.p3])a<e&&(e=a),a>r&&(r=a);return!Number.isFinite(e)||!Number.isFinite(r)?{min:0,max:1}:{min:e,max:r}}const F=34,Q=6,V=6,dt=14,j=260;function pt(t){return Math.abs(t)>=100?t.toFixed(0):Math.abs(t)>=1?String(Math.round(t*100)/100):String(Math.round(t*1e3)/1e3)}function At({value:t,onChange:e,onChangeEnd:r,disabled:o,height:a=90,color:l,testId:c="curve-editor"}){const[s,d]=b.useState(0),m=b.useRef(null),i=b.useRef(null),h=b.useMemo(()=>ct(t),[t]),g=b.useMemo(()=>{const{min:n,max:u}=lt(t);if(u-n<1e-6)return{min:n-1,max:u+1};const f=(u-n)*.1;return{min:n-f,max:u+f}},[t]),A=j-F-Q,I=a-V-dt,D=n=>F+n*A,S=n=>V+(1-(n-g.min)/(g.max-g.min))*I,X=n=>Math.max(0,Math.min(1,(n-F)/A)),Z=n=>g.min+(1-(n-V)/I)*(g.max-g.min),P=n=>{const u=m.current?.getBoundingClientRect();if(!u)return{t:0,v:0};const f=(n.clientX-u.left)/u.width*j,T=(n.clientY-u.top)/u.height*a;return{t:X(f),v:Z(T)}},tt=b.useMemo(()=>{if(t.length===0)return"";let n=`M ${D(t[0].start)} ${S(t[0].function.p0)}`;for(let u=0;u<t.length;u++){const f=t[u],T=v(t,u),y=T-f.start;n+=` C ${D(f.start+y/3)} ${S(f.function.p1)}, ${D(f.start+2*y/3)} ${S(f.function.p2)}, ${D(T)} ${S(f.function.p3)}`}return n},[t,g,a]),w=n=>rt({onChange:e,onChangeEnd:r},n),H=n=>it({onChange:e},n),$=(n,u)=>{if(o)return;n.preventDefault(),n.stopPropagation(),i.current=t;const f=y=>{const{t:_,v:W}=P(y),L=u(i.current??t,_,W);i.current=L,H(L)},T=y=>{const{t:_,v:W}=P(y),L=u(i.current??t,_,W);i.current=null,w(L),window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",T)};window.addEventListener("pointermove",f),window.addEventListener("pointerup",T)},K=l??E.accent,J=t.length,x=h[s],z=s>0&&s<J,O=s<J?t[s]:void 0,k=s>0?t[s-1]:void 0,R=O?{x:D(O.start+(v(t,s)-O.start)/3),y:S(O.function.p1)}:null,N=k?{x:D(k.start+(v(t,s-1)-k.start)*2/3),y:S(k.function.p2)}:null,et=[g.min,(g.min+g.max)/2,g.max];return p.jsxs("div",{"data-testid":c,children:[p.jsxs("svg",{ref:m,"data-testid":`${c}-plot`,viewBox:`0 0 ${j} ${a}`,style:{width:"100%",height:a,display:"block",background:E.inputBg,border:`1px solid ${E.border}`,borderRadius:E.radiusSmall,touchAction:"none",outline:"none"},tabIndex:0,role:"application","aria-label":"Curve editor",onKeyDown:n=>{(n.key==="Delete"||n.key==="Backspace")&&z&&!o&&(n.preventDefault(),w(Y(t,s)),d(Math.max(0,s-1)))},onDoubleClick:n=>{if(o)return;const{t:u}=P(n),f=ut(t,u);f!==t&&(w(f),d(f.findIndex(T=>Math.abs(T.start-u)<1e-6)))},children:[et.map(n=>p.jsxs("g",{children:[p.jsx("line",{x1:F,x2:j-Q,y1:S(n),y2:S(n),stroke:E.border,strokeWidth:.5}),p.jsx("text",{x:F-3,y:S(n)+2.5,fontSize:7,fill:E.textMuted,textAnchor:"end",children:pt(n)})]},n)),[0,.5,1].map(n=>p.jsx("text",{x:D(n),y:a-3,fontSize:7,fill:E.textMuted,textAnchor:"middle",children:n},n)),p.jsx("path",{d:tt,fill:"none",stroke:K,strokeWidth:1.5}),x&&R&&p.jsxs("g",{children:[p.jsx("line",{x1:D(x.time),y1:S(x.value),x2:R.x,y2:R.y,stroke:E.textMuted,strokeDasharray:"2 2",strokeWidth:.75}),p.jsx("circle",{"data-testid":`${c}-tangent-out`,cx:R.x,cy:R.y,r:3,fill:E.surface,stroke:E.textMuted,style:{cursor:o?"not-allowed":"ns-resize"},onPointerDown:n=>$(n,(u,f,T)=>q(u,s,"out",T))})]}),x&&N&&p.jsxs("g",{children:[p.jsx("line",{x1:D(x.time),y1:S(x.value),x2:N.x,y2:N.y,stroke:E.textMuted,strokeDasharray:"2 2",strokeWidth:.75}),p.jsx("circle",{"data-testid":`${c}-tangent-in`,cx:N.x,cy:N.y,r:3,fill:E.surface,stroke:E.textMuted,style:{cursor:o?"not-allowed":"ns-resize"},onPointerDown:n=>$(n,(u,f,T)=>q(u,s,"in",T))})]}),h.map((n,u)=>p.jsx("circle",{"data-testid":`${c}-key-${u}`,cx:D(n.time),cy:S(n.value),r:4,fill:u===s?E.accent:E.surface,stroke:u===s?E.onAccent:K,strokeWidth:1.25,style:{cursor:o?"not-allowed":"move"},onPointerDown:f=>{d(u),$(f,(T,y,_)=>C(T,u,y,_))}},u))]}),p.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center",marginTop:3},children:[p.jsxs("span",{style:{fontSize:9,color:E.textMuted,flex:"0 0 auto"},children:["Key ",s+1,"/",h.length]}),p.jsx(U,{label:"t",value:x?Math.round(x.time*1e3)/1e3:null,step:.05,testId:`${c}-key-time`,onChange:n=>{x&&H(C(t,s,n,x.value))},onChangeEnd:n=>{x&&w(C(t,s,n,x.value))}}),p.jsx(U,{label:"v",value:x?Math.round(x.value*1e3)/1e3:null,step:.05,testId:`${c}-key-value`,onChange:n=>{x&&H(C(t,s,x.time,n))},onChangeEnd:n=>{x&&w(C(t,s,x.time,n))}}),p.jsx(at,{type:"button",variant:"ghost",size:"compact","data-testid":`${c}-delete-key`,disabled:!z||o===!0,"aria-label":"Delete curve key",title:z?"Delete key":"Endpoint keys cannot be deleted",onClick:()=>{w(Y(t,s)),d(Math.max(0,s-1))},children:"×"})]})]})}export{wt as Actions,ps as AlignmentGrid,fs as AnchorPresets,nt as AnchoredMenu,Rt as AssetSlotPicker,hs as BorderEditor,ms as BorderRadiusEditor,at as Button,Nt as CLASSIC_MATERIAL,_t as Checkbox,ls as ColorInput,Bs as ColorPicker,Gs as ColorSwatch,Ct as ColorSwatchInput,At as CurveEditor,Ft as DEFAULT_ICON_SET_ID,xs as DEFAULT_SHADOW,Es as DEFAULT_TEXT_SHADOW,Ot as Dialog,kt as DialogBody,Lt as DialogField,jt as DialogFieldLabel,Bt as DialogFooter,Gt as DialogHeader,Pt as DisclosureIcon,Ht as Divider,$t as DraftTextInput,zt as DropIndicator,Wt as EDITOR_CATEGORY_NAMES,Vt as EDITOR_MATERIALS,Kt as EDITOR_MATERIAL_IDS,Jt as EDITOR_REGION_NAMES,Ut as EDITOR_THEME_CLASS,qt as EditorBadge,Yt as EditorBanner,Qt as EditorIcon,Xt as EditorListButton,Zt as EditorPopover,te as EditorSurface,ee as EditorTab,ne as EditorTabList,se as EditorToolbar,oe as EditorTree,ae as EditorTreeRow,re as FONT,ie as FONT_MONO,ce as FieldGroup,ue as FieldLabel,le as FieldRow,de as FileInput,gs as FilterEditor,pe as FloatingToolbar,Ss as FontPicker,fe as GLASS_MATERIAL,Ts as GradientEditor,bs as GradientStopsTrack,Dt as HoverPreview,he as IconButton,me as Inline,xe as InteractiveEditScopeContext,Ee as JoinedField,ge as JoinedFieldSuffix,Mt as JsonInput,Se as Keycap,Te as LABEL_COL_WIDTH,be as Menu,De as MenuItem,Me as MenuSeparator,ye as MenuSubmenu,Ae as MenuTrigger,U as NumberInput,Ie as Panel,Ds as QuarksGradientEditor,ve as RangeInput,we as ResizeHandle,Re as STAGE_WORD_MODES,Ms as ScrubbableInput,Ne as SectionHeader,_e as Select,ys as ShadowEditor,As as ShadowListEditor,Ce as Spacer,Fe as SplitButtonGroup,Oe as Stack,ke as StateSurface,E as THEME,Le as TONE_ERROR,je as TONE_WARNING,Be as Text,Ge as TextArea,st as TextInput,Is as TextShadowEditor,Pe as ThemeRootPortal,He as ToggleButton,$e as ToolbarDivider,ze as ToolbarGroup,We as Tooltip,Ve as TreeDisclosureIcon,Ke as Vec3Input,Je as accent,Ue as accentMuted,qe as activeIconGlyph,Ye as activeIconSetSnapshot,Qe as applyEditorTheme,Xe as areaEmbossValue,Ze as bg,tn as border,en as chromeSize,nn as clampRectToViewport,sn as composeEditorAppearance,vs as composeFilter,ws as composeGradient,Rs as composeShadows,on as controlSize,ct as curveKeys,lt as curveValueRange,an as danger,rn as dangerFaint,cn as dangerMuted,Y as deleteKey,un as dynamic,ln as dynamicBg,dn as editorIconSets,pn as editorIcons,fn as editorMaterials,hn as editorThemeVariables,mn as editorThemes,xn as fieldLabelStyle,it as fireChange,rt as fireEnd,En as focusFirstMenuItem,gn as focusRing,Sn as fontMono,Tn as fontSans,bn as fontSize,Dn as fontSizeVar,Mn as fontWeight,yn as glassDarkEditorTheme,An as glassDarkLiteEditorTheme,In as graphiteDarkEditorTheme,vn as graphiteNeutralEditorTheme,wn as groupLabelStyle,Ps as hexToRgb,Rn as iconSize,Nn as isEditorIconSetId,_n as isEditorMaterialId,Cn as isEditorThemeId,Ns as isUniformBorder,_s as isUniformRadius,Fn as lineHeight,On as lineHeightVar,kn as liquidGlassEditorTheme,Ln as liquidGlassLiteEditorTheme,jn as midnightHighContrastEditorTheme,Bn as motion,Gn as motionVar,C as moveKey,q as moveTangent,Hs as parseAlpha,Cs as parseFilterFunctions,Fs as parseGradient,Pn as parseNumericValue,Os as parseShadows,Hn as radius,$n as regionRowAltValue,zn as registerContributedIconSet,Wn as registerContributedMaterial,Vn as rowStyle,yt as sampleCurve,Kn as scrim,v as segmentEnd,Jn as selection,Un as setActiveIconSet,qn as shadow,Yn as space,Qn as spaceVar,ut as splitAt,Xn as strokeWidth,Zn as subscribeEditorMaterials,ts as subscribeIconSets,es as success,ns as successMuted,ss as text,ot as themeVars,$s as toHex,ks as uniformBorder,Ls as uniformRadius,os as useInteractiveEditScope,as as usesGlassMaterial,rs as warn,is as warnMuted,cs as zIndex};
1
+ import{bA as nt,aN as st,al as ot,e4 as E,dV as U,a6 as at,e6 as rt,e5 as it}from"./index-D-bf1M-_.js";import{hp as wt,hq as Rt,hr as Nt,aS as _t,dX as Ct,hs as Ft,ht as Ot,hu as kt,hv as Lt,hw as jt,hx as Bt,hy as Gt,eJ as Pt,hz as Ht,e_ as $t,hA as zt,hB as Wt,hC as Vt,hD as Kt,hE as Jt,dz as Ut,hF as qt,bQ as Yt,a7 as Qt,eq as Xt,bP as Zt,h1 as te,hG as ee,hH as ne,bv as se,hI as oe,hJ as ae,hK as re,eY as ie,fe as ce,hL as ue,ff as le,hM as de,d9 as pe,hN as fe,aM as he,df as me,hO as xe,hP as Ee,hQ as ge,dg as Se,f1 as Te,fz as be,bB as De,bC as Me,fN as ye,hR as Ae,hS as Ie,aT as ve,hT as we,hU as Re,aU as Ne,bH as _e,hV as Ce,db as Fe,de as Oe,eB as ke,hW as Le,hX as je,aL as Be,e$ as Ge,hY as Pe,hZ as He,gK as $e,h_ as ze,bw as We,h$ as Ve,i0 as Ke,es as Je,i1 as Ue,i2 as qe,i3 as Ye,i4 as Qe,i5 as Xe,eo as Ze,ep as tn,i6 as en,i7 as nn,i8 as sn,i9 as on,ev as an,ia as rn,ib as cn,ic as un,id as ln,ie as dn,a8 as pn,ig as fn,ih as hn,ii as mn,ij as xn,ik as En,il as gn,ew as Sn,im as Tn,io as bn,et as Dn,ip as Mn,iq as yn,ir as An,dA as In,is as vn,it as wn,iu as Rn,iv as Nn,iw as _n,ix as Cn,iy as Fn,eW as On,iz as kn,iA as Ln,iB as jn,iC as Bn,iD as Gn,iE as Pn,ex as Hn,iF as $n,iG as zn,iH as Wn,f0 as Vn,iI as Kn,iJ as Jn,iK as Un,iL as qn,dq as Yn,er as Qn,iM as Xn,iN as Zn,iO as ts,eu as es,iP as ns,aZ as ss,dW as os,iQ as as,iR as rs,iS as is,dp as cs}from"./index-D-bf1M-_.js";import{C as ls}from"./ColorInput-CGEsse4C.js";import{a as p}from"./jsx-runtime-DPjLkJKQ.js";import{r as b}from"./index-nmcBqr7Y.js";import{A as ps,k as fs,B as hs,a as ms,D as xs,l as Es,F as gs,h as Ss,G as Ts,m as bs,Q as Ds,S as Ms,f as ys,n as As,T as Is,d as vs,c as ws,g as Rs,i as Ns,j as _s,b as Cs,p as Fs,e as Os,u as ks,o as Ls}from"./ShadowEditor-BBe-rxfE.js";import{a as Bs,C as Gs,h as Ps,p as Hs,t as $s}from"./ColorPicker-DHbzz5rN.js";import"./index-CtzuWnCS.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";function Dt({preview:t,children:e,...r}){const[o,a]=b.useState(!1),l=b.useRef(null),c=b.useId(),s=()=>a(!1),d=i=>{l.current=i,a(!0)};let m=e;if(b.isValidElement(e)){const i=[e.props["aria-describedby"],o?c:null].filter(Boolean).join(" ");m=b.cloneElement(e,i?{"aria-describedby":i}:{})}return p.jsxs("span",{className:"volter-tooltip-anchor",onMouseEnter:i=>d(i.currentTarget),onMouseLeave:s,onFocusCapture:i=>d(i.currentTarget),onBlurCapture:i=>{i.currentTarget.contains(i.relatedTarget)||s()},onKeyDown:i=>{i.key!=="Escape"||!o||(i.preventDefault(),i.stopPropagation(),s())},children:[m,o&&l.current&&p.jsx(nt,{...r,anchorRef:l,id:c,role:"tooltip",autoFocusFirst:!1,onDismiss:s,children:t})]})}function Mt({value:t,onCommit:e,style:r,disabled:o=!1}){const a=t===void 0?"":JSON.stringify(t),[l,c]=b.useState(a),[s,d]=b.useState(!1),m=b.useRef(!1);b.useEffect(()=>{c(a),d(!1)},[a]);const i=()=>{if(m.current){m.current=!1;return}if(l===a){d(!1);return}let h;try{h=JSON.parse(l)}catch{d(!0);return}d(!1),e(h)};return p.jsxs("div",{children:[p.jsx(st,{"data-testid":"json-input","aria-invalid":s||void 0,"data-tone":s?"danger":void 0,disabled:o,value:l,onChange:h=>{c(h.target.value),s&&d(!1)},onBlur:i,onKeyDown:h=>{h.key==="Enter"?i():h.key==="Escape"&&(m.current=!0,c(a),d(!1),h.target.blur())},style:r,title:s?"Not valid JSON — nothing written. Fix the JSON or press Escape to revert.":void 0}),s&&p.jsx("div",{"data-testid":"json-input-error",style:{fontSize:"var(--volter-font-sm)",color:ot.semantic.danger,marginTop:2},children:"Not valid JSON — nothing written. Fix the JSON or press Escape to revert."})]})}function v(t,e){return e+1<t.length?t[e+1].start:1}function ct(t){const e=t.map(o=>({time:o.start,value:o.function.p0})),r=t[t.length-1];return r&&e.push({time:1,value:r.function.p3}),e}function G(t){return t.map(e=>({start:e.start,function:{...e.function}}))}const B=.01;function C(t,e,r,o){const a=G(t),l=a.length;if(e<0||e>l)return a;if(e<l){const c=a[e],s=o-c.function.p0;if(c.function.p0=o,c.function.p1+=s,e>0){const d=a[e-1],m=o-d.function.p3;d.function.p3=o,d.function.p2+=m;const i=d.start+B,h=v(a,e)-B;c.start=Math.min(h,Math.max(i,r))}}else{const c=a[l-1],s=o-c.function.p3;c.function.p3=o,c.function.p2+=s}return a}function q(t,e,r,o){const a=G(t);return r==="out"&&e<a.length?a[e].function.p1=o:r==="in"&&e>0&&e<=a.length&&(a[e-1].function.p2=o),a}function M(t,e,r){return t+(e-t)*r}function yt(t,e){for(let r=0;r<t.length;r++){const o=t[r].start,a=v(t,r);if(e>=o&&e<=a){const l=a>o?(e-o)/(a-o):0,{p0:c,p1:s,p2:d,p3:m}=t[r].function,i=M(c,s,l),h=M(s,d,l),g=M(d,m,l),A=M(i,h,l),I=M(h,g,l);return M(A,I,l)}}return 0}function ut(t,e){for(let r=0;r<t.length;r++){const o=t[r].start,a=v(t,r);if(e<=o+B||e>=a-B||e<o||e>a)continue;const l=(e-o)/(a-o),{p0:c,p1:s,p2:d,p3:m}=t[r].function,i=M(c,s,l),h=M(s,d,l),g=M(d,m,l),A=M(i,h,l),I=M(h,g,l),D=M(A,I,l),S=G(t);return S.splice(r,1,{start:o,function:{p0:c,p1:i,p2:A,p3:D}},{start:e,function:{p0:D,p1:I,p2:g,p3:m}}),S}return t}function Y(t,e){if(e<=0||e>=t.length)return t;const r=t[e-1],o=t[e],a=o.start-r.start,l=v(t,e)-o.start,c=a+l;if(c<=0)return t;const s=r.function,d=o.function,m={start:r.start,function:{p0:s.p0,p1:s.p0+(s.p1-s.p0)*(a>0?c/a:1),p2:d.p3+(d.p2-d.p3)*(l>0?c/l:1),p3:d.p3}},i=G(t);return i.splice(e-1,2,m),i}function lt(t){let e=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;for(const o of t)for(const a of[o.function.p0,o.function.p1,o.function.p2,o.function.p3])a<e&&(e=a),a>r&&(r=a);return!Number.isFinite(e)||!Number.isFinite(r)?{min:0,max:1}:{min:e,max:r}}const F=34,Q=6,V=6,dt=14,j=260;function pt(t){return Math.abs(t)>=100?t.toFixed(0):Math.abs(t)>=1?String(Math.round(t*100)/100):String(Math.round(t*1e3)/1e3)}function At({value:t,onChange:e,onChangeEnd:r,disabled:o,height:a=90,color:l,testId:c="curve-editor"}){const[s,d]=b.useState(0),m=b.useRef(null),i=b.useRef(null),h=b.useMemo(()=>ct(t),[t]),g=b.useMemo(()=>{const{min:n,max:u}=lt(t);if(u-n<1e-6)return{min:n-1,max:u+1};const f=(u-n)*.1;return{min:n-f,max:u+f}},[t]),A=j-F-Q,I=a-V-dt,D=n=>F+n*A,S=n=>V+(1-(n-g.min)/(g.max-g.min))*I,X=n=>Math.max(0,Math.min(1,(n-F)/A)),Z=n=>g.min+(1-(n-V)/I)*(g.max-g.min),P=n=>{const u=m.current?.getBoundingClientRect();if(!u)return{t:0,v:0};const f=(n.clientX-u.left)/u.width*j,T=(n.clientY-u.top)/u.height*a;return{t:X(f),v:Z(T)}},tt=b.useMemo(()=>{if(t.length===0)return"";let n=`M ${D(t[0].start)} ${S(t[0].function.p0)}`;for(let u=0;u<t.length;u++){const f=t[u],T=v(t,u),y=T-f.start;n+=` C ${D(f.start+y/3)} ${S(f.function.p1)}, ${D(f.start+2*y/3)} ${S(f.function.p2)}, ${D(T)} ${S(f.function.p3)}`}return n},[t,g,a]),w=n=>rt({onChange:e,onChangeEnd:r},n),H=n=>it({onChange:e},n),$=(n,u)=>{if(o)return;n.preventDefault(),n.stopPropagation(),i.current=t;const f=y=>{const{t:_,v:W}=P(y),L=u(i.current??t,_,W);i.current=L,H(L)},T=y=>{const{t:_,v:W}=P(y),L=u(i.current??t,_,W);i.current=null,w(L),window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",T)};window.addEventListener("pointermove",f),window.addEventListener("pointerup",T)},K=l??E.accent,J=t.length,x=h[s],z=s>0&&s<J,O=s<J?t[s]:void 0,k=s>0?t[s-1]:void 0,R=O?{x:D(O.start+(v(t,s)-O.start)/3),y:S(O.function.p1)}:null,N=k?{x:D(k.start+(v(t,s-1)-k.start)*2/3),y:S(k.function.p2)}:null,et=[g.min,(g.min+g.max)/2,g.max];return p.jsxs("div",{"data-testid":c,children:[p.jsxs("svg",{ref:m,"data-testid":`${c}-plot`,viewBox:`0 0 ${j} ${a}`,style:{width:"100%",height:a,display:"block",background:E.inputBg,border:`1px solid ${E.border}`,borderRadius:E.radiusSmall,touchAction:"none",outline:"none"},tabIndex:0,role:"application","aria-label":"Curve editor",onKeyDown:n=>{(n.key==="Delete"||n.key==="Backspace")&&z&&!o&&(n.preventDefault(),w(Y(t,s)),d(Math.max(0,s-1)))},onDoubleClick:n=>{if(o)return;const{t:u}=P(n),f=ut(t,u);f!==t&&(w(f),d(f.findIndex(T=>Math.abs(T.start-u)<1e-6)))},children:[et.map(n=>p.jsxs("g",{children:[p.jsx("line",{x1:F,x2:j-Q,y1:S(n),y2:S(n),stroke:E.border,strokeWidth:.5}),p.jsx("text",{x:F-3,y:S(n)+2.5,fontSize:7,fill:E.textMuted,textAnchor:"end",children:pt(n)})]},n)),[0,.5,1].map(n=>p.jsx("text",{x:D(n),y:a-3,fontSize:7,fill:E.textMuted,textAnchor:"middle",children:n},n)),p.jsx("path",{d:tt,fill:"none",stroke:K,strokeWidth:1.5}),x&&R&&p.jsxs("g",{children:[p.jsx("line",{x1:D(x.time),y1:S(x.value),x2:R.x,y2:R.y,stroke:E.textMuted,strokeDasharray:"2 2",strokeWidth:.75}),p.jsx("circle",{"data-testid":`${c}-tangent-out`,cx:R.x,cy:R.y,r:3,fill:E.surface,stroke:E.textMuted,style:{cursor:o?"not-allowed":"ns-resize"},onPointerDown:n=>$(n,(u,f,T)=>q(u,s,"out",T))})]}),x&&N&&p.jsxs("g",{children:[p.jsx("line",{x1:D(x.time),y1:S(x.value),x2:N.x,y2:N.y,stroke:E.textMuted,strokeDasharray:"2 2",strokeWidth:.75}),p.jsx("circle",{"data-testid":`${c}-tangent-in`,cx:N.x,cy:N.y,r:3,fill:E.surface,stroke:E.textMuted,style:{cursor:o?"not-allowed":"ns-resize"},onPointerDown:n=>$(n,(u,f,T)=>q(u,s,"in",T))})]}),h.map((n,u)=>p.jsx("circle",{"data-testid":`${c}-key-${u}`,cx:D(n.time),cy:S(n.value),r:4,fill:u===s?E.accent:E.surface,stroke:u===s?E.onAccent:K,strokeWidth:1.25,style:{cursor:o?"not-allowed":"move"},onPointerDown:f=>{d(u),$(f,(T,y,_)=>C(T,u,y,_))}},u))]}),p.jsxs("div",{style:{display:"flex",gap:4,alignItems:"center",marginTop:3},children:[p.jsxs("span",{style:{fontSize:9,color:E.textMuted,flex:"0 0 auto"},children:["Key ",s+1,"/",h.length]}),p.jsx(U,{label:"t",value:x?Math.round(x.time*1e3)/1e3:null,step:.05,testId:`${c}-key-time`,onChange:n=>{x&&H(C(t,s,n,x.value))},onChangeEnd:n=>{x&&w(C(t,s,n,x.value))}}),p.jsx(U,{label:"v",value:x?Math.round(x.value*1e3)/1e3:null,step:.05,testId:`${c}-key-value`,onChange:n=>{x&&H(C(t,s,x.time,n))},onChangeEnd:n=>{x&&w(C(t,s,x.time,n))}}),p.jsx(at,{type:"button",variant:"ghost",size:"compact","data-testid":`${c}-delete-key`,disabled:!z||o===!0,"aria-label":"Delete curve key",title:z?"Delete key":"Endpoint keys cannot be deleted",onClick:()=>{w(Y(t,s)),d(Math.max(0,s-1))},children:"×"})]})]})}export{wt as Actions,ps as AlignmentGrid,fs as AnchorPresets,nt as AnchoredMenu,Rt as AssetSlotPicker,hs as BorderEditor,ms as BorderRadiusEditor,at as Button,Nt as CLASSIC_MATERIAL,_t as Checkbox,ls as ColorInput,Bs as ColorPicker,Gs as ColorSwatch,Ct as ColorSwatchInput,At as CurveEditor,Ft as DEFAULT_ICON_SET_ID,xs as DEFAULT_SHADOW,Es as DEFAULT_TEXT_SHADOW,Ot as Dialog,kt as DialogBody,Lt as DialogField,jt as DialogFieldLabel,Bt as DialogFooter,Gt as DialogHeader,Pt as DisclosureIcon,Ht as Divider,$t as DraftTextInput,zt as DropIndicator,Wt as EDITOR_CATEGORY_NAMES,Vt as EDITOR_MATERIALS,Kt as EDITOR_MATERIAL_IDS,Jt as EDITOR_REGION_NAMES,Ut as EDITOR_THEME_CLASS,qt as EditorBadge,Yt as EditorBanner,Qt as EditorIcon,Xt as EditorListButton,Zt as EditorPopover,te as EditorSurface,ee as EditorTab,ne as EditorTabList,se as EditorToolbar,oe as EditorTree,ae as EditorTreeRow,re as FONT,ie as FONT_MONO,ce as FieldGroup,ue as FieldLabel,le as FieldRow,de as FileInput,gs as FilterEditor,pe as FloatingToolbar,Ss as FontPicker,fe as GLASS_MATERIAL,Ts as GradientEditor,bs as GradientStopsTrack,Dt as HoverPreview,he as IconButton,me as Inline,xe as InteractiveEditScopeContext,Ee as JoinedField,ge as JoinedFieldSuffix,Mt as JsonInput,Se as Keycap,Te as LABEL_COL_WIDTH,be as Menu,De as MenuItem,Me as MenuSeparator,ye as MenuSubmenu,Ae as MenuTrigger,U as NumberInput,Ie as Panel,Ds as QuarksGradientEditor,ve as RangeInput,we as ResizeHandle,Re as STAGE_WORD_MODES,Ms as ScrubbableInput,Ne as SectionHeader,_e as Select,ys as ShadowEditor,As as ShadowListEditor,Ce as Spacer,Fe as SplitButtonGroup,Oe as Stack,ke as StateSurface,E as THEME,Le as TONE_ERROR,je as TONE_WARNING,Be as Text,Ge as TextArea,st as TextInput,Is as TextShadowEditor,Pe as ThemeRootPortal,He as ToggleButton,$e as ToolbarDivider,ze as ToolbarGroup,We as Tooltip,Ve as TreeDisclosureIcon,Ke as Vec3Input,Je as accent,Ue as accentMuted,qe as activeIconGlyph,Ye as activeIconSetSnapshot,Qe as applyEditorTheme,Xe as areaEmbossValue,Ze as bg,tn as border,en as chromeSize,nn as clampRectToViewport,sn as composeEditorAppearance,vs as composeFilter,ws as composeGradient,Rs as composeShadows,on as controlSize,ct as curveKeys,lt as curveValueRange,an as danger,rn as dangerFaint,cn as dangerMuted,Y as deleteKey,un as dynamic,ln as dynamicBg,dn as editorIconSets,pn as editorIcons,fn as editorMaterials,hn as editorThemeVariables,mn as editorThemes,xn as fieldLabelStyle,it as fireChange,rt as fireEnd,En as focusFirstMenuItem,gn as focusRing,Sn as fontMono,Tn as fontSans,bn as fontSize,Dn as fontSizeVar,Mn as fontWeight,yn as glassDarkEditorTheme,An as glassDarkLiteEditorTheme,In as graphiteDarkEditorTheme,vn as graphiteNeutralEditorTheme,wn as groupLabelStyle,Ps as hexToRgb,Rn as iconSize,Nn as isEditorIconSetId,_n as isEditorMaterialId,Cn as isEditorThemeId,Ns as isUniformBorder,_s as isUniformRadius,Fn as lineHeight,On as lineHeightVar,kn as liquidGlassEditorTheme,Ln as liquidGlassLiteEditorTheme,jn as midnightHighContrastEditorTheme,Bn as motion,Gn as motionVar,C as moveKey,q as moveTangent,Hs as parseAlpha,Cs as parseFilterFunctions,Fs as parseGradient,Pn as parseNumericValue,Os as parseShadows,Hn as radius,$n as regionRowAltValue,zn as registerContributedIconSet,Wn as registerContributedMaterial,Vn as rowStyle,yt as sampleCurve,Kn as scrim,v as segmentEnd,Jn as selection,Un as setActiveIconSet,qn as shadow,Yn as space,Qn as spaceVar,ut as splitAt,Xn as strokeWidth,Zn as subscribeEditorMaterials,ts as subscribeIconSets,es as success,ns as successMuted,ss as text,ot as themeVars,$s as toHex,ks as uniformBorder,Ls as uniformRadius,os as useInteractiveEditScope,as as usesGlassMaterial,rs as warn,is as warnMuted,cs as zIndex};
@@ -1,4 +1,4 @@
1
- import{_ as Ie}from"./extends-CF3RwP-h.js";import{r as A,a as Vn}from"./index-nmcBqr7Y.js";import{a as Jy}from"./client-DNXj_opT.js";import{U as Id,S as No,W as Zx}from"./three.module-BLhyNg0e.js";import{u as ue,a as He,I as Jx,q as _d,G as vi,s as ir,J as e4,K as Hu,e as xi,o as Wn,v as Xr,F as t4,l as ev,k as S0,L as i4}from"./events-156d8d12.esm-DmeaOP4r.js";import{fo as W,aI as bi,fd as Be,d9 as ci,d5 as Bi,az as ql,da as wr,cm as we,dp as rt,cl as Ln,ez as Vu,fp as Ei,_ as qe,aV as Pn,cj as Ze,co as ze,bu as tv,au as Ir,dw as Ti,b0 as si,ed as Ns,cE as Xt,N as Ji,M as Ai,aM as nn,ex as xn,em as hi,B as Ar,fe as Ko,K as cr,bl as n4,f1 as Hr,cW as yi,e6 as Wu,cp as ta,bX as ul,aq as Qn,a$ as $i,bV as It,db as an,cZ as Rr,ey as iv,e$ as Xl,cg as Th,bh as jo,I as Kt,aP as wh,bg as s4,fx as Fi,c1 as ni,cN as C0,Z as r4,aY as o4,b5 as nv,am as a4,ca as ia,cb as l4,aZ as ks,eX as _r,Y as Yn,eW as cn,cv as bh,cs as T0,aT as sv,F as Zm,dk as Eu,dd as Jm,eC as c4,aE as u4,ev as rv,et as h4,j as f4,f7 as d4,l as m4,fq as g4,dq as p4,cV as A4,eq as ur,a3 as Yu,aa as ov,ff as Gi,c5 as w0,dI as eg,e8 as Ms,e2 as zo,bi as fi,e0 as y4,d$ as v4,dZ as E4,dY as x4,dS as I4,dP as _4,dN as S4,dM as C4,dE as T4,av,aw as Qo,H as w4,er as b4,eo as R4,d8 as Rh,bs as b0,bt as Sd,bA as Go,fA as D4,bW as Fs,dn as L4,ag as P4,V as lv,x as M4,y as B4,cr as k4,cq as cv,dv as uv,br as xu,fb as pn,du as Ku,aO as F4,c_ as hv,cR as O4,ao as fv,dx as Iu,fj as Wr,fw as ju,a9 as dv,an as U4,el as br,T as mv,ad as R0,fs as N4,ej as gv,aC as pv,aA as Av,fm as D0,R as yv,b4 as _u,E as z4,e5 as Fl,by as ou,P as Cd,es as vv,e3 as Ev,e9 as Q4,n as G4,ch as $4,cw as xv,cx as Iv,cP as H4,dg as V4,f6 as Su,c7 as Td,cc as W4,c3 as tg,eG as Y4,cu as K4,S as j4,d as q4,ee as Dh,i as X4,bI as Lh,cU as Z4,aS as J4,aW as eI}from"./three.core-3arARmh6.js";import{v as Ol,d as _v,C as tI,u as BM}from"./Gltf-CRUmmFxv.js";import{G as VF}from"./Gltf-CRUmmFxv.js";import{m as iI,t as nI}from"./BufferGeometryUtils-FJZNEiJN.js";import{OrthographicCamera as sI}from"./OrthographicCamera-Bv8_A2mi.js";import{PerspectiveCamera as YF}from"./PerspectiveCamera-D3r6Hnc8.js";import{E as na,M as rI}from"./OrbitControls-C6LQ4Pxi.js";import{O as jF}from"./OrbitControls-C6LQ4Pxi.js";import{_ as Sv}from"./index-BVJOjNkv.js";import{g as oI}from"./_commonjsHelpers-D6-XlEtG.js";import{u as ds}from"./Fbo-Biv6Lrhl.js";import{F as XF}from"./Fbo-Biv6Lrhl.js";import{RoundedBox as JF,RoundedBoxGeometry as eO}from"./RoundedBox-DrJK5JOI.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-DzuOGwVB.js";import"./index-CtzuWnCS.js";import"./index-FUuS4qwW.js";const Ul=new W,L0=new W,aI=new W,ig=new Be;function lI(r,e,t){const i=Ul.setFromMatrixPosition(r.matrixWorld);i.project(e);const n=t.width/2,s=t.height/2;return[i.x*n+n,-(i.y*s)+s]}function cI(r,e){const t=Ul.setFromMatrixPosition(r.matrixWorld),i=L0.setFromMatrixPosition(e.matrixWorld),n=t.sub(i),s=e.getWorldDirection(aI);return n.angleTo(s)>Math.PI/2}function uI(r,e,t,i){const n=Ul.setFromMatrixPosition(r.matrixWorld),s=n.clone();s.project(e),ig.set(s.x,s.y),t.setFromCamera(ig,e);const o=t.intersectObjects(i,!0);if(o.length){const a=o[0].distance;return n.distanceTo(t.ray.origin)<a}return!0}function hI(r,e){if(e instanceof Bi)return e.zoom;if(e instanceof ci){const t=Ul.setFromMatrixPosition(r.matrixWorld),i=L0.setFromMatrixPosition(e.matrixWorld),n=e.fov*Math.PI/180,s=t.distanceTo(i);return 1/(2*Math.tan(n/2)*s)}else return 1}function fI(r,e,t){if(e instanceof ci||e instanceof Bi){const i=Ul.setFromMatrixPosition(r.matrixWorld),n=L0.setFromMatrixPosition(e.matrixWorld),s=i.distanceTo(n),o=(t[1]-t[0])/(e.far-e.near),a=t[1]-o*e.far;return Math.round(o*s+a)}}const wd=r=>Math.abs(r)<1e-10?0:r;function Cv(r,e,t=""){let i="matrix3d(";for(let n=0;n!==16;n++)i+=wd(e[n]*r.elements[n])+(n!==15?",":")");return t+i}const dI=(r=>e=>Cv(e,r))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),mI=(r=>(e,t)=>Cv(e,r(t),"translate(-50%,-50%)"))(r=>[1/r,1/r,1/r,1,-1/r,-1/r,-1/r,-1,1/r,1/r,1/r,1,1,1,1,1]);function gI(r){return r&&typeof r=="object"&&"current"in r}const qu=A.forwardRef(({children:r,eps:e=.001,style:t,className:i,prepend:n,center:s,fullscreen:o,portal:a,distanceFactor:l,sprite:c=!1,transform:u=!1,occlude:h,onOcclude:f,castShadow:d,receiveShadow:g,material:m,geometry:p,zIndexRange:E=[16777271,0],calculatePosition:v=lI,as:y="div",wrapperClass:x,pointerEvents:I="auto",..._},S)=>{const{gl:C,camera:w,scene:T,size:D,raycaster:b,events:R,viewport:P}=ue(),[O]=A.useState(()=>document.createElement(y)),Q=A.useRef(null),V=A.useRef(null),K=A.useRef(0),k=A.useRef([0,0]),G=A.useRef(null),M=A.useRef(null),H=a?.current||R.connected||C.domElement.parentNode,Y=A.useRef(null),N=A.useRef(!1),z=A.useMemo(()=>h&&h!=="blending"||Array.isArray(h)&&h.length&&gI(h[0]),[h]);A.useLayoutEffect(()=>{const ee=C.domElement;h&&h==="blending"?(ee.style.zIndex=`${Math.floor(E[0]/2)}`,ee.style.position="absolute",ee.style.pointerEvents="none"):(ee.style.zIndex=null,ee.style.position=null,ee.style.pointerEvents=null)},[h]),A.useLayoutEffect(()=>{if(V.current){const ee=Q.current=Jy.createRoot(O);if(T.updateMatrixWorld(),u)O.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const Z=v(V.current,w,D);O.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${Z[0]}px,${Z[1]}px,0);transform-origin:0 0;`}return H&&(n?H.prepend(O):H.appendChild(O)),()=>{H&&H.removeChild(O),ee.unmount()}}},[H,u]),A.useLayoutEffect(()=>{x&&(O.className=x)},[x]);const B=A.useMemo(()=>u?{position:"absolute",top:0,left:0,width:D.width,height:D.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:s?"translate3d(-50%,-50%,0)":"none",...o&&{top:-D.height/2,left:-D.width/2,width:D.width,height:D.height},...t},[t,s,o,D,u]),F=A.useMemo(()=>({position:"absolute",pointerEvents:I}),[I]);A.useLayoutEffect(()=>{if(N.current=!1,u){var ee;(ee=Q.current)==null||ee.render(A.createElement("div",{ref:G,style:B},A.createElement("div",{ref:M,style:F},A.createElement("div",{ref:S,className:i,style:t,children:r}))))}else{var Z;(Z=Q.current)==null||Z.render(A.createElement("div",{ref:S,style:B,className:i,children:r}))}});const U=A.useRef(!0);He(ee=>{if(V.current){w.updateMatrixWorld(),V.current.updateWorldMatrix(!0,!1);const Z=u?k.current:v(V.current,w,D);if(u||Math.abs(K.current-w.zoom)>e||Math.abs(k.current[0]-Z[0])>e||Math.abs(k.current[1]-Z[1])>e){const ne=cI(V.current,w);let ce=!1;z&&(Array.isArray(h)?ce=h.map(le=>le.current):h!=="blending"&&(ce=[T]));const me=U.current;if(ce){const le=uI(V.current,w,b,ce);U.current=le&&!ne}else U.current=!ne;me!==U.current&&(f?f(!U.current):O.style.display=U.current?"block":"none");const re=Math.floor(E[0]/2),te=h?z?[E[0],re]:[re-1,0]:E;if(O.style.zIndex=`${fI(V.current,w,te)}`,u){const[le,se]=[D.width/2,D.height/2],X=w.projectionMatrix.elements[5]*se,{isOrthographicCamera:j,top:oe,left:pe,bottom:_e,right:Ce}=w,ye=dI(w.matrixWorldInverse),Ne=j?`scale(${X})translate(${wd(-(Ce+pe)/2)}px,${wd((oe+_e)/2)}px)`:`translateZ(${X}px)`;let Te=V.current.matrixWorld;c&&(Te=w.matrixWorldInverse.clone().transpose().copyPosition(Te).scale(V.current.scale),Te.elements[3]=Te.elements[7]=Te.elements[11]=0,Te.elements[15]=1),O.style.width=D.width+"px",O.style.height=D.height+"px",O.style.perspective=j?"":`${X}px`,G.current&&M.current&&(G.current.style.transform=`${Ne}${ye}translate(${le}px,${se}px)`,M.current.style.transform=mI(Te,1/((l||10)/400)))}else{const le=l===void 0?1:hI(V.current,w)*l;O.style.transform=`translate3d(${Z[0]}px,${Z[1]}px,0) scale(${le})`}k.current=Z,K.current=w.zoom}}if(!z&&Y.current&&!N.current)if(u){if(G.current){const Z=G.current.children[0];if(Z!=null&&Z.clientWidth&&Z!=null&&Z.clientHeight){const{isOrthographicCamera:ne}=w;if(ne||p)_.scale&&(Array.isArray(_.scale)?_.scale instanceof W?Y.current.scale.copy(_.scale.clone().divideScalar(1)):Y.current.scale.set(1/_.scale[0],1/_.scale[1],1/_.scale[2]):Y.current.scale.setScalar(1/_.scale));else{const ce=(l||10)/400,me=Z.clientWidth*ce,re=Z.clientHeight*ce;Y.current.scale.set(me,re,1)}N.current=!0}}}else{const Z=O.children[0];if(Z!=null&&Z.clientWidth&&Z!=null&&Z.clientHeight){const ne=1/P.factor,ce=Z.clientWidth*ne,me=Z.clientHeight*ne;Y.current.scale.set(ce,me,1),N.current=!0}Y.current.lookAt(ee.camera.position)}});const J=A.useMemo(()=>({vertexShader:u?void 0:`
1
+ import{_ as Ie}from"./extends-CF3RwP-h.js";import{r as A,a as Vn}from"./index-nmcBqr7Y.js";import{a as Jy}from"./client-DNXj_opT.js";import{U as Id,S as No,W as Zx}from"./three.module-BLhyNg0e.js";import{u as ue,a as He,I as Jx,q as _d,G as vi,s as ir,J as e4,K as Hu,e as xi,o as Wn,v as Xr,F as t4,l as ev,k as S0,L as i4}from"./events-156d8d12.esm-DmeaOP4r.js";import{fo as W,aI as bi,fd as Be,d9 as ci,d5 as Bi,az as ql,da as wr,cm as we,dp as rt,cl as Ln,ez as Vu,fp as Ei,_ as qe,aV as Pn,cj as Ze,co as ze,bu as tv,au as Ir,dw as Ti,b0 as si,ed as Ns,cE as Xt,N as Ji,M as Ai,aM as nn,ex as xn,em as hi,B as Ar,fe as Ko,K as cr,bl as n4,f1 as Hr,cW as yi,e6 as Wu,cp as ta,bX as ul,aq as Qn,a$ as $i,bV as It,db as an,cZ as Rr,ey as iv,e$ as Xl,cg as Th,bh as jo,I as Kt,aP as wh,bg as s4,fx as Fi,c1 as ni,cN as C0,Z as r4,aY as o4,b5 as nv,am as a4,ca as ia,cb as l4,aZ as ks,eX as _r,Y as Yn,eW as cn,cv as bh,cs as T0,aT as sv,F as Zm,dk as Eu,dd as Jm,eC as c4,aE as u4,ev as rv,et as h4,j as f4,f7 as d4,l as m4,fq as g4,dq as p4,cV as A4,eq as ur,a3 as Yu,aa as ov,ff as Gi,c5 as w0,dI as eg,e8 as Ms,e2 as zo,bi as fi,e0 as y4,d$ as v4,dZ as E4,dY as x4,dS as I4,dP as _4,dN as S4,dM as C4,dE as T4,av,aw as Qo,H as w4,er as b4,eo as R4,d8 as Rh,bs as b0,bt as Sd,bA as Go,fA as D4,bW as Fs,dn as L4,ag as P4,V as lv,x as M4,y as B4,cr as k4,cq as cv,dv as uv,br as xu,fb as pn,du as Ku,aO as F4,c_ as hv,cR as O4,ao as fv,dx as Iu,fj as Wr,fw as ju,a9 as dv,an as U4,el as br,T as mv,ad as R0,fs as N4,ej as gv,aC as pv,aA as Av,fm as D0,R as yv,b4 as _u,E as z4,e5 as Fl,by as ou,P as Cd,es as vv,e3 as Ev,e9 as Q4,n as G4,ch as $4,cw as xv,cx as Iv,cP as H4,dg as V4,f6 as Su,c7 as Td,cc as W4,c3 as tg,eG as Y4,cu as K4,S as j4,d as q4,ee as Dh,i as X4,bI as Lh,cU as Z4,aS as J4,aW as eI}from"./three.core-3arARmh6.js";import{v as Ol,d as _v,C as tI,u as BM}from"./Gltf-CRUmmFxv.js";import{G as VF}from"./Gltf-CRUmmFxv.js";import{m as iI,t as nI}from"./BufferGeometryUtils-FJZNEiJN.js";import{OrthographicCamera as sI}from"./OrthographicCamera-Bv8_A2mi.js";import{PerspectiveCamera as YF}from"./PerspectiveCamera-D3r6Hnc8.js";import{E as na,M as rI}from"./OrbitControls-C6LQ4Pxi.js";import{O as jF}from"./OrbitControls-C6LQ4Pxi.js";import{_ as Sv}from"./index-D-bf1M-_.js";import{g as oI}from"./_commonjsHelpers-D6-XlEtG.js";import{u as ds}from"./Fbo-Biv6Lrhl.js";import{F as XF}from"./Fbo-Biv6Lrhl.js";import{RoundedBox as JF,RoundedBoxGeometry as eO}from"./RoundedBox-DrJK5JOI.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-DzuOGwVB.js";import"./index-CtzuWnCS.js";import"./index-FUuS4qwW.js";const Ul=new W,L0=new W,aI=new W,ig=new Be;function lI(r,e,t){const i=Ul.setFromMatrixPosition(r.matrixWorld);i.project(e);const n=t.width/2,s=t.height/2;return[i.x*n+n,-(i.y*s)+s]}function cI(r,e){const t=Ul.setFromMatrixPosition(r.matrixWorld),i=L0.setFromMatrixPosition(e.matrixWorld),n=t.sub(i),s=e.getWorldDirection(aI);return n.angleTo(s)>Math.PI/2}function uI(r,e,t,i){const n=Ul.setFromMatrixPosition(r.matrixWorld),s=n.clone();s.project(e),ig.set(s.x,s.y),t.setFromCamera(ig,e);const o=t.intersectObjects(i,!0);if(o.length){const a=o[0].distance;return n.distanceTo(t.ray.origin)<a}return!0}function hI(r,e){if(e instanceof Bi)return e.zoom;if(e instanceof ci){const t=Ul.setFromMatrixPosition(r.matrixWorld),i=L0.setFromMatrixPosition(e.matrixWorld),n=e.fov*Math.PI/180,s=t.distanceTo(i);return 1/(2*Math.tan(n/2)*s)}else return 1}function fI(r,e,t){if(e instanceof ci||e instanceof Bi){const i=Ul.setFromMatrixPosition(r.matrixWorld),n=L0.setFromMatrixPosition(e.matrixWorld),s=i.distanceTo(n),o=(t[1]-t[0])/(e.far-e.near),a=t[1]-o*e.far;return Math.round(o*s+a)}}const wd=r=>Math.abs(r)<1e-10?0:r;function Cv(r,e,t=""){let i="matrix3d(";for(let n=0;n!==16;n++)i+=wd(e[n]*r.elements[n])+(n!==15?",":")");return t+i}const dI=(r=>e=>Cv(e,r))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),mI=(r=>(e,t)=>Cv(e,r(t),"translate(-50%,-50%)"))(r=>[1/r,1/r,1/r,1,-1/r,-1/r,-1/r,-1,1/r,1/r,1/r,1,1,1,1,1]);function gI(r){return r&&typeof r=="object"&&"current"in r}const qu=A.forwardRef(({children:r,eps:e=.001,style:t,className:i,prepend:n,center:s,fullscreen:o,portal:a,distanceFactor:l,sprite:c=!1,transform:u=!1,occlude:h,onOcclude:f,castShadow:d,receiveShadow:g,material:m,geometry:p,zIndexRange:E=[16777271,0],calculatePosition:v=lI,as:y="div",wrapperClass:x,pointerEvents:I="auto",..._},S)=>{const{gl:C,camera:w,scene:T,size:D,raycaster:b,events:R,viewport:P}=ue(),[O]=A.useState(()=>document.createElement(y)),Q=A.useRef(null),V=A.useRef(null),K=A.useRef(0),k=A.useRef([0,0]),G=A.useRef(null),M=A.useRef(null),H=a?.current||R.connected||C.domElement.parentNode,Y=A.useRef(null),N=A.useRef(!1),z=A.useMemo(()=>h&&h!=="blending"||Array.isArray(h)&&h.length&&gI(h[0]),[h]);A.useLayoutEffect(()=>{const ee=C.domElement;h&&h==="blending"?(ee.style.zIndex=`${Math.floor(E[0]/2)}`,ee.style.position="absolute",ee.style.pointerEvents="none"):(ee.style.zIndex=null,ee.style.position=null,ee.style.pointerEvents=null)},[h]),A.useLayoutEffect(()=>{if(V.current){const ee=Q.current=Jy.createRoot(O);if(T.updateMatrixWorld(),u)O.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const Z=v(V.current,w,D);O.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${Z[0]}px,${Z[1]}px,0);transform-origin:0 0;`}return H&&(n?H.prepend(O):H.appendChild(O)),()=>{H&&H.removeChild(O),ee.unmount()}}},[H,u]),A.useLayoutEffect(()=>{x&&(O.className=x)},[x]);const B=A.useMemo(()=>u?{position:"absolute",top:0,left:0,width:D.width,height:D.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:s?"translate3d(-50%,-50%,0)":"none",...o&&{top:-D.height/2,left:-D.width/2,width:D.width,height:D.height},...t},[t,s,o,D,u]),F=A.useMemo(()=>({position:"absolute",pointerEvents:I}),[I]);A.useLayoutEffect(()=>{if(N.current=!1,u){var ee;(ee=Q.current)==null||ee.render(A.createElement("div",{ref:G,style:B},A.createElement("div",{ref:M,style:F},A.createElement("div",{ref:S,className:i,style:t,children:r}))))}else{var Z;(Z=Q.current)==null||Z.render(A.createElement("div",{ref:S,style:B,className:i,children:r}))}});const U=A.useRef(!0);He(ee=>{if(V.current){w.updateMatrixWorld(),V.current.updateWorldMatrix(!0,!1);const Z=u?k.current:v(V.current,w,D);if(u||Math.abs(K.current-w.zoom)>e||Math.abs(k.current[0]-Z[0])>e||Math.abs(k.current[1]-Z[1])>e){const ne=cI(V.current,w);let ce=!1;z&&(Array.isArray(h)?ce=h.map(le=>le.current):h!=="blending"&&(ce=[T]));const me=U.current;if(ce){const le=uI(V.current,w,b,ce);U.current=le&&!ne}else U.current=!ne;me!==U.current&&(f?f(!U.current):O.style.display=U.current?"block":"none");const re=Math.floor(E[0]/2),te=h?z?[E[0],re]:[re-1,0]:E;if(O.style.zIndex=`${fI(V.current,w,te)}`,u){const[le,se]=[D.width/2,D.height/2],X=w.projectionMatrix.elements[5]*se,{isOrthographicCamera:j,top:oe,left:pe,bottom:_e,right:Ce}=w,ye=dI(w.matrixWorldInverse),Ne=j?`scale(${X})translate(${wd(-(Ce+pe)/2)}px,${wd((oe+_e)/2)}px)`:`translateZ(${X}px)`;let Te=V.current.matrixWorld;c&&(Te=w.matrixWorldInverse.clone().transpose().copyPosition(Te).scale(V.current.scale),Te.elements[3]=Te.elements[7]=Te.elements[11]=0,Te.elements[15]=1),O.style.width=D.width+"px",O.style.height=D.height+"px",O.style.perspective=j?"":`${X}px`,G.current&&M.current&&(G.current.style.transform=`${Ne}${ye}translate(${le}px,${se}px)`,M.current.style.transform=mI(Te,1/((l||10)/400)))}else{const le=l===void 0?1:hI(V.current,w)*l;O.style.transform=`translate3d(${Z[0]}px,${Z[1]}px,0) scale(${le})`}k.current=Z,K.current=w.zoom}}if(!z&&Y.current&&!N.current)if(u){if(G.current){const Z=G.current.children[0];if(Z!=null&&Z.clientWidth&&Z!=null&&Z.clientHeight){const{isOrthographicCamera:ne}=w;if(ne||p)_.scale&&(Array.isArray(_.scale)?_.scale instanceof W?Y.current.scale.copy(_.scale.clone().divideScalar(1)):Y.current.scale.set(1/_.scale[0],1/_.scale[1],1/_.scale[2]):Y.current.scale.setScalar(1/_.scale));else{const ce=(l||10)/400,me=Z.clientWidth*ce,re=Z.clientHeight*ce;Y.current.scale.set(me,re,1)}N.current=!0}}}else{const Z=O.children[0];if(Z!=null&&Z.clientWidth&&Z!=null&&Z.clientHeight){const ne=1/P.factor,ce=Z.clientWidth*ne,me=Z.clientHeight*ne;Y.current.scale.set(ce,me,1),N.current=!0}Y.current.lookAt(ee.camera.position)}});const J=A.useMemo(()=>({vertexShader:u?void 0:`
2
2
  /*
3
3
  This shader is from the THREE's SpriteMaterial.
4
4
  We need to turn the backing plane into a Sprite
@@ -1 +1 @@
1
- import{CameraDescriptorSchema as f}from"./camera-BojB7DPC.js";import{ColliderDescriptorSchema as x}from"./collider-CBOqT-CW.js";import{LightDescriptorSchema as l}from"./light-CeqYb8FV.js";import{MaterialDescriptorSchema as M}from"./material-Bd0Me6AP.js";import{MeshDescriptorSchema as d}from"./mesh-CB4Ljr0D.js";import{ParticlesDescriptorSchema as T}from"./particles-DrPW-6YO.js";import{PostProcessingDescriptorSchema as v,RenderEnvironmentSchema as E,ToneMappingDescriptorSchema as L}from"./render-env-CDgW88DQ.js";import{QuatSchema as R,TransformSchema as V,Vec3Schema as b}from"./tuples-3yxfLj6f.js";import"./index-BVJOjNkv.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"./render-features-IAqBX1bX.js";export{f as CameraDescriptorSchema,x as ColliderDescriptorSchema,l as LightDescriptorSchema,M as MaterialDescriptorSchema,d as MeshDescriptorSchema,T as ParticlesDescriptorSchema,v as PostProcessingDescriptorSchema,R as QuatSchema,E as RenderEnvironmentSchema,L as ToneMappingDescriptorSchema,V as TransformSchema,b as Vec3Schema};
1
+ import{CameraDescriptorSchema as f}from"./camera-I5VuZBXq.js";import{ColliderDescriptorSchema as x}from"./collider-CSWEaVtz.js";import{LightDescriptorSchema as l}from"./light-CgIm77Wo.js";import{MaterialDescriptorSchema as M}from"./material-Bain34oO.js";import{MeshDescriptorSchema as d}from"./mesh-C-o5rW8Q.js";import{ParticlesDescriptorSchema as T}from"./particles-B7YDnxCR.js";import{PostProcessingDescriptorSchema as v,RenderEnvironmentSchema as E,ToneMappingDescriptorSchema as L}from"./render-env-GHmWAidt.js";import{QuatSchema as R,TransformSchema as V,Vec3Schema as b}from"./tuples-tnCRZFVA.js";import"./index-D-bf1M-_.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"./render-features-BnN-3KIj.js";export{f as CameraDescriptorSchema,x as ColliderDescriptorSchema,l as LightDescriptorSchema,M as MaterialDescriptorSchema,d as MeshDescriptorSchema,T as ParticlesDescriptorSchema,v as PostProcessingDescriptorSchema,R as QuatSchema,E as RenderEnvironmentSchema,L as ToneMappingDescriptorSchema,V as TransformSchema,b as Vec3Schema};
@@ -1 +1 @@
1
- import{Z as a}from"./index-BVJOjNkv.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-D-bf1M-_.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-BVJOjNkv.js";import{h as u,f,a as I}from"./active-ingest-DorXVmsi.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-D5AK_gNL.js";import"./capability-coverage-B-Qy8mji.js";import"./ingest-source-persistence-Cnvx4VG6.js";import"./contract-system-adapters-BRV5CGn2.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-D-bf1M-_.js";import{h as u,f,a as I}from"./active-ingest-Dc8fMyIX.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-B1hBrlH9.js";import"./capability-coverage-ir5zRJFr.js";import"./ingest-source-persistence-C0Ex41I6.js";import"./contract-system-adapters-BdX2f-t8.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-BVJOjNkv.js";import{w}from"./mounted-authoring-Bv-Jx5CD.js";import{P as k}from"./pixi-authoring-adapter-DcaiC9oX.js";import{createLiveCanvasWriteTarget as A}from"./pixi-live-write-target-qTC-BP-O.js";import{resolveCanvasPixiForEditor as x}from"./canvas-entry-runtime-BYFZ1jkq.js";import{C}from"./crash-null-boundary-v3a0uEgw.js";import{a as l}from"./json-history-resource-BKI0DEXU.js";import{a as I}from"./realm-services-CEq-cFVm.js";import{r as P}from"./react-root-BHA-cdrW.js";import{D as $}from"./dom-authoring-adapter-Bv0VPgpI.js";import{w as D,R as M}from"./react-world-authoring-adapter-C3Crd65-.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-CO48brnD.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-kMW3qzri.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./entity-object-TF8v8bMc.js";import"./user-data-ag0BxD5m.js";import"./workspace-arrangement-ByHLr8Qc.js";import"./three-contract-Dkt6PmWY.js";import"./index-BKHfoI39.js";import"./source-persistence-backend-DDpEIwn_.js";import"./ingest-source-persistence-Cnvx4VG6.js";import"./component-instance-root-CiA1Zm8c.js";import"./pixi-transform-channels-P4rvmusc.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./debug-registry-um1fpy-u.js";import"./three-ingest-runtime-CzzFrzA6.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-BDoIwNpv.js";import"./inference-diagnostics-BQdc8K6I.js";import"./board-guides-DqdrMxrY.js";import"./relative-import-specifier-CZC7CmId.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./writer-tw6EcuVO.js";import"./three-projection-core-DtdO8Ll7.js";import"./editor-layers-DSKskK3B.js";import"./three-D_yBxBQ_.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-Db96EJAn.js";import"./capability-coverage-B-Qy8mji.js";import"./game-contract-seams-D5AK_gNL.js";import"./binding-resolver-CTzdinpQ.js";import"./native-debug-module-CXfN3uno.js";import"./native-entry-surface-BE8LJNdu.js";import"./contract-system-adapters-BRV5CGn2.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-D-bf1M-_.js";import{w}from"./mounted-authoring-D0nt0boC.js";import{P as k}from"./pixi-authoring-adapter-WIDqEfD_.js";import{createLiveCanvasWriteTarget as A}from"./pixi-live-write-target-D6rZZgKb.js";import{resolveCanvasPixiForEditor as x}from"./canvas-entry-runtime-CmAdA7mP.js";import{C}from"./crash-null-boundary-v3a0uEgw.js";import{a as l}from"./json-history-resource-CTmpVR0-.js";import{a as I}from"./realm-services-DOX3MdjT.js";import{r as P}from"./react-root-BHA-cdrW.js";import{D as $}from"./dom-authoring-adapter-Q3siA5LQ.js";import{w as D,R as M}from"./react-world-authoring-adapter-aQJF6lY7.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-gR5zFyrx.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-DSRb7X7Q.js";import"./jsx-runtime-DPjLkJKQ.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./entity-object-Cw5lqi8N.js";import"./user-data-BPYoci0m.js";import"./workspace-arrangement-BWddjPjg.js";import"./three-contract-Dkt6PmWY.js";import"./index-CT82WIOK.js";import"./source-persistence-backend-5wzSP0Hv.js";import"./ingest-source-persistence-C0Ex41I6.js";import"./component-instance-root-Cx7gmDOy.js";import"./pixi-transform-channels-P4rvmusc.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./debug-registry-9TuqM9UA.js";import"./three-ingest-runtime-DF6VCu5H.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-msIG8Qeu.js";import"./inference-diagnostics-zatIyL4O.js";import"./board-guides-C6HbbTzb.js";import"./relative-import-specifier-CEoSx6qX.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./writer-tw6EcuVO.js";import"./three-projection-core-B5hJO7jz.js";import"./editor-layers-KmhRTl5z.js";import"./three-Blh8FcB2.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-Bs1QjbGv.js";import"./capability-coverage-ir5zRJFr.js";import"./game-contract-seams-B1hBrlH9.js";import"./binding-resolver-ByoEiLk3.js";import"./native-debug-module-UkvSJ8h6.js";import"./native-entry-surface-BE8LJNdu.js";import"./contract-system-adapters-BdX2f-t8.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-BVJOjNkv.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-D-bf1M-_.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-BVJOjNkv.js";import{i as s,a as m}from"./registry-ZSDZiyoY.js";import{a}from"./mount-ingest-root-D3rwg-Rj.js";import{t as n}from"./three-state-CC9cH07G.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-DorXVmsi.js";import"./game-contract-seams-D5AK_gNL.js";import"./capability-coverage-B-Qy8mji.js";import"./ingest-source-persistence-Cnvx4VG6.js";import"./contract-system-adapters-BRV5CGn2.js";import"./editor-shell-store-CDNZwGzX.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./Pass-D1MRT672.js";import"./editor-layers-DSKskK3B.js";import"./workspace-arrangement-ByHLr8Qc.js";import"./user-data-ag0BxD5m.js";import"./entity-object-TF8v8bMc.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-D-bf1M-_.js";import{i as s,a as m}from"./registry-6AYLU18z.js";import{a}from"./mount-ingest-root-C5ZYFXm7.js";import{t as n}from"./three-state-BnjjVq1e.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-Dc8fMyIX.js";import"./game-contract-seams-B1hBrlH9.js";import"./capability-coverage-ir5zRJFr.js";import"./ingest-source-persistence-C0Ex41I6.js";import"./contract-system-adapters-BdX2f-t8.js";import"./editor-shell-store-xXZ_3Vca.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./Pass-D1MRT672.js";import"./editor-layers-KmhRTl5z.js";import"./workspace-arrangement-BWddjPjg.js";import"./user-data-BPYoci0m.js";import"./entity-object-Cw5lqi8N.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-BQdc8K6I.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-zatIyL4O.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-D-bf1M-_.js";import{b as p,a as e,c as n,s}from"./game-network-CPmpSW6X.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-UkvSJ8h6.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-9TuqM9UA.js";import"./contract-system-adapters-BdX2f-t8.js";import"./game-contract-seams-B1hBrlH9.js";import"./seeded-random-DJsnjfHE.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-DgMSiFrB.js";import"./capability-coverage-ir5zRJFr.js";import"./edit-mode-authoring-DPKyu7IT.js";import"./json-history-resource-CTmpVR0-.js";import"./binding-resolver-ByoEiLk3.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-DOX3MdjT.js";import"./canvas-entry-runtime-CmAdA7mP.js";import"./three-ingest-runtime-DF6VCu5H.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-Dc8fMyIX.js";import"./ingest-source-persistence-C0Ex41I6.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-DW02euUT.js";import"./mounted-authoring-D0nt0boC.js";import"./entity-object-Cw5lqi8N.js";import"./user-data-BPYoci0m.js";import"./workspace-arrangement-BWddjPjg.js";import"./three-contract-Dkt6PmWY.js";import"./three-Blh8FcB2.js";import"./editor-layers-KmhRTl5z.js";import"./component-instance-root-Cx7gmDOy.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-gR5zFyrx.js";import"./source-persistence-backend-5wzSP0Hv.js";import"./three-projection-core-B5hJO7jz.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-Bs1QjbGv.js";import"./deferred-ingest-play-Dybh7KIk.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-aQJF6lY7.js";import"./board-guides-C6HbbTzb.js";import"./relative-import-specifier-CEoSx6qX.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-msIG8Qeu.js";import"./inference-diagnostics-zatIyL4O.js";import"./writer-tw6EcuVO.js";import"./three-state-BnjjVq1e.js";import"./editor-shell-store-xXZ_3Vca.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-DQc77Qy-.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-BVJOjNkv.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-D-bf1M-_.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-BVJOjNkv.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-D-bf1M-_.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-BVJOjNkv.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-D-bf1M-_.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-B-Qy8mji.js";import{aC as a,a3 as u}from"./index-BVJOjNkv.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-ir5zRJFr.js";import{aC as a,a3 as u}from"./index-D-bf1M-_.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};