@volter/game-editor 0.5.85 → 0.5.87

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 +2131 -2131
  5. package/dist/assets/{AssetBudgetPanel-DbqhuHIo.js → AssetBudgetPanel-D0x2TPPy.js} +3 -3
  6. package/dist/assets/{AudioViewer-GtXM9rbr.js → AudioViewer-7fv2_fIl.js} +1 -1
  7. package/dist/assets/{CanvasBoardDocument-O8pBVHKn.js → CanvasBoardDocument-BUQYVz1c.js} +1 -1
  8. package/dist/assets/{CanvasSceneViewport-DtwDaJKJ.js → CanvasSceneViewport-TaZbM0Uh.js} +1 -1
  9. package/dist/assets/{ColorInput-CRyBpDQq.js → ColorInput-28XnXD8Q.js} +1 -1
  10. package/dist/assets/{EntityModelDocument-DrscE_y5.js → EntityModelDocument-BQrvx0KQ.js} +1 -1
  11. package/dist/assets/{EnvironmentAssetDocument-BmiRAECI.js → EnvironmentAssetDocument-C5PRXs6G.js} +1 -1
  12. package/dist/assets/{GameplaySessionTimeline-BjGJpcPQ.js → GameplaySessionTimeline-Dm7lYtRi.js} +1 -1
  13. package/dist/assets/{ImageViewer-osC6A1zw.js → ImageViewer-CxnMTLaT.js} +1 -1
  14. package/dist/assets/InspectorObjectPreview-DiEEGsLN.js +1 -0
  15. package/dist/assets/{JsonAssetDocument-BrGcL8u6.js → JsonAssetDocument-CcbpdU55.js} +1 -1
  16. package/dist/assets/{LiveModuleDocument-BfjeS5ek.js → LiveModuleDocument-0Y2ulK7n.js} +1 -1
  17. package/dist/assets/{LutAssetDocument-IOxcza3L.js → LutAssetDocument-CRDeRQAX.js} +1 -1
  18. package/dist/assets/{ModelAssetDocument-CZEfuJeH.js → ModelAssetDocument-ncfazuj_.js} +1 -1
  19. package/dist/assets/{NonThreeAuthoringBootstrap-B35b423-.js → NonThreeAuthoringBootstrap-CDUdubAw.js} +1 -1
  20. package/dist/assets/{Object3DDocumentToolbar-CMUOyfNv.js → Object3DDocumentToolbar-C1YPcedp.js} +1 -1
  21. package/dist/assets/Object3DDocumentViewport-BADKGKhs.js +2 -0
  22. package/dist/assets/{Object3DPreview-C7wIOwEx.js → Object3DPreview-XQ6au59A.js} +1 -1
  23. package/dist/assets/{OnlineAssetDetail-Cguz8uMS.js → OnlineAssetDetail-Dq7qIQlJ.js} +1 -1
  24. package/dist/assets/{PlayBar-Car3RsYK.js → PlayBar-Bv5GHcPD.js} +1 -1
  25. package/dist/assets/{QuarksAssetDocument-JLf7KkmS.js → QuarksAssetDocument-DYm3hBv_.js} +1 -1
  26. package/dist/assets/{ReactCanvasControls-DhPHMxcB.js → ReactCanvasControls-Dp4Mrlcc.js} +1 -1
  27. package/dist/assets/{RootSelectionOverlay-NY-pG6TW.js → RootSelectionOverlay-cQHen-VZ.js} +1 -1
  28. package/dist/assets/{ShaderAssetDocument-B66ZXR_k.js → ShaderAssetDocument-C7kkzHkA.js} +1 -1
  29. package/dist/assets/{ShadowEditor-JBPkG0FG.js → ShadowEditor-PJ_mLUFF.js} +1 -1
  30. package/dist/assets/{SourceAssetViewer-ByRB57v6.js → SourceAssetViewer-DgOFkYF8.js} +1 -1
  31. package/dist/assets/{StageHost-c2YTpj09.js → StageHost-BoFys0SE.js} +2 -2
  32. package/dist/assets/{StoryPreviewMount-Cn5zM1Bd.js → StoryPreviewMount-BgEpExfI.js} +1 -1
  33. package/dist/assets/{ThreeBoardDocument-p_AO9pNH.js → ThreeBoardDocument-BuRk6Y48.js} +2 -2
  34. package/dist/assets/{ThreeIsolationSceneContent-CO6GX6jg.js → ThreeIsolationSceneContent-DFuMyzKv.js} +1 -1
  35. package/dist/assets/{ToolObject3DPreview-BInX7lrX.js → ToolObject3DPreview-Cp8p3a28.js} +1 -1
  36. package/dist/assets/{Toolbar-DOGhpk6D.js → Toolbar-vKOFpei3.js} +1 -1
  37. package/dist/assets/{TransientHint-DmJHOf-a.js → TransientHint-C5KuaIRn.js} +1 -1
  38. package/dist/assets/{VideoViewer-DhcC5fnj.js → VideoViewer-DUUQ1ea_.js} +1 -1
  39. package/dist/assets/{ViewportShadingMenu-3ykoJTkE.js → ViewportShadingMenu-T8V04Ys6.js} +1 -1
  40. package/dist/assets/{active-ingest-CumnBRLS.js → active-ingest-pGqBlJ3x.js} +2 -2
  41. package/dist/assets/{animation-clock-qleVUbAK.js → animation-clock-BTHwjILC.js} +1 -1
  42. package/dist/assets/{animation-mixers.service-CdAp6V1n.js → animation-mixers.service-DeVSjWCQ.js} +1 -1
  43. package/dist/assets/{animation-timeline.utility-cbT8wcxw.js → animation-timeline.utility-BDxeS3S6.js} +1 -1
  44. package/dist/assets/{asset-budget-asset.menu-DfQGo6Cb.js → asset-budget-asset.menu-DeXFc_i4.js} +1 -1
  45. package/dist/assets/{asset-budget.action-D_C2IA1n.js → asset-budget.action-ahMeLSui.js} +1 -1
  46. package/dist/assets/{asset-budget.document-DCHL8q9U.js → asset-budget.document-KWIkUTsV.js} +1 -1
  47. package/dist/assets/{asset-budget.menu-7YZac2UB.js → asset-budget.menu-Cqqi1SeP.js} +1 -1
  48. package/dist/assets/{asset-editor-persistence-R-OsGiGL.js → asset-editor-persistence-DXkf1Ont.js} +1 -1
  49. package/dist/assets/{asset-loaders-gpT3yOw4.js → asset-loaders-CbVPGx4H.js} +1 -1
  50. package/dist/assets/{asset-preview-4eaPPopc.js → asset-preview-CzxD7k3P.js} +1 -1
  51. package/dist/assets/{audio-unlock.service-cDscXL-C.js → audio-unlock.service-GcroL0E_.js} +1 -1
  52. package/dist/assets/{audio.utility-B0M3VUHh.js → audio.utility-C4N50YHj.js} +1 -1
  53. package/dist/assets/autoplay.service-Da27q2rr.js +1 -0
  54. package/dist/assets/{babylon-authoring-adapter-D5kiqwwO.js → babylon-authoring-adapter-BOmSvh08.js} +1 -1
  55. package/dist/assets/{binding-resolver-BkOGFxcc.js → binding-resolver-DJANjeUb.js} +2 -2
  56. package/dist/assets/{blender-node-editor.document-KiYRC69k.js → blender-node-editor.document-YYmUWtFG.js} +1 -1
  57. package/dist/assets/{blender-properties-tab-BogxW8QH.js → blender-properties-tab-D80eJbBQ.js} +1 -1
  58. package/dist/assets/{blender-runtime-host-DNyw8Olv.js → blender-runtime-host-Bn0epPY3.js} +1 -1
  59. package/dist/assets/{blender-runtime-skin-BEmQAWR7.js → blender-runtime-skin-Cn0ASAMa.js} +1 -1
  60. package/dist/assets/blender-runtime.document-CgNjacD9.js +12 -0
  61. package/dist/assets/{blender-screenshot.menu-D3D8dCBP.js → blender-screenshot.menu-G1T9yHAS.js} +1 -1
  62. package/dist/assets/{blender-timeline.document-D_1ZZ_Ff.js → blender-timeline.document-CAGoSZu5.js} +1 -1
  63. package/dist/assets/{blender-uv-editor.document-CfCaj3is.js → blender-uv-editor.document-DYPUZcpl.js} +1 -1
  64. package/dist/assets/{blender-version.status-KM1K9fGb.js → blender-version.status-DsVsMeQK.js} +1 -1
  65. package/dist/assets/{blender.command-CNtXis3q.js → blender.command-CcERMUCW.js} +1 -1
  66. package/dist/assets/{board-guides-DKVoBuLQ.js → board-guides-00sD4eH-.js} +1 -1
  67. package/dist/assets/{bridge.command-Ch1rKf7V.js → bridge.command-CMoJfehR.js} +3 -3
  68. package/dist/assets/{browserAll-BuOuOmp8.js → browserAll-11QAfzPK.js} +1 -1
  69. package/dist/assets/{build-player.document-C1L75B7e.js → build-player.document-DsUvuNEg.js} +1 -1
  70. package/dist/assets/{build-profiles.document-0y_nV_tX.js → build-profiles.document-Dplz6cEh.js} +1 -1
  71. package/dist/assets/{build-progress.status-CxKTPRmz.js → build-progress.status-DcyAYfmg.js} +1 -1
  72. package/dist/assets/{build-session-D09WthJT.js → build-session-B1kjCtLl.js} +1 -1
  73. package/dist/assets/{build.action-B9ae5K5g.js → build.action-DkF5EN9B.js} +1 -1
  74. package/dist/assets/{build.command-BYioNJKj.js → build.command-BPqTTSKN.js} +1 -1
  75. package/dist/assets/{build.header-VHReusha.js → build.header-f8Tr7zEY.js} +1 -1
  76. package/dist/assets/{build.menu-BDjQwQB3.js → build.menu-DLaEv9N7.js} +1 -1
  77. package/dist/assets/{build.service-BiBXIGDQ.js → build.service-Dy6AryUr.js} +1 -1
  78. package/dist/assets/{camera-Byc8JjLF.js → camera-8sZjiQAG.js} +1 -1
  79. package/dist/assets/{camera-runtime.inspector-BNAfh8Fz.js → camera-runtime.inspector-DZZS6sNs.js} +1 -1
  80. package/dist/assets/{canvas-design-mount-ti2CRiML.js → canvas-design-mount-BVYzxXv8.js} +3 -3
  81. package/dist/assets/{canvas-entry-runtime-bFI672nP.js → canvas-entry-runtime-DjWxb-E0.js} +2 -2
  82. package/dist/assets/{canvas-preview-frames-B8snlgkC.js → canvas-preview-frames-BrQTpJQz.js} +1 -1
  83. package/dist/assets/{canvas-story-capture.service-D4U4Wfsy.js → canvas-story-capture.service-BAkinpiS.js} +2 -2
  84. package/dist/assets/{capability-coverage-B1jH9ygH.js → capability-coverage-B6O--La7.js} +1 -1
  85. package/dist/assets/{collaboration-presence-DVung7kb.js → collaboration-presence-cP5Ts934.js} +1 -1
  86. package/dist/assets/{collider-fpAcAbt8.js → collider-54zqlTON.js} +1 -1
  87. package/dist/assets/{component-board.service-BuO23-GJ.js → component-board.service-D0VCR7cX.js} +2 -2
  88. package/dist/assets/{component-board.service-nj1N3Ru9.js → component-board.service-DDeBE2OE.js} +2 -2
  89. package/dist/assets/{component-board.service-BibhRmsF.js → component-board.service-DhZt21fj.js} +2 -2
  90. package/dist/assets/{component-contracts.service-k4s32nV6.js → component-contracts.service-Dc6K48l4.js} +1 -1
  91. package/dist/assets/{component-instance-root-R39ACc0B.js → component-instance-root-DdBt03jn.js} +1 -1
  92. package/dist/assets/{component-verbs.command-C0ltuDfg.js → component-verbs.command-DLa5nz3l.js} +1 -1
  93. package/dist/assets/{component-verbs.service-WzrdNdYR.js → component-verbs.service-B84g803c.js} +1 -1
  94. package/dist/assets/{config-BS3JNuAm.js → config-zfLGOjWb.js} +2 -2
  95. package/dist/assets/{configurations-BKffkAiM.js → configurations-CGDwLMu_.js} +1 -1
  96. package/dist/assets/{connection.status-CC4NEgdb.js → connection.status-BFzCWtq1.js} +1 -1
  97. package/dist/assets/{constraints.inspector-BfW6Grwf.js → constraints.inspector-CXekv0Vm.js} +1 -1
  98. package/dist/assets/{content-bounds-6mX1FAkL.js → content-bounds-CI1FWjZr.js} +1 -1
  99. package/dist/assets/{contract-system-adapters-DNbQm4Uw.js → contract-system-adapters-jyRyHuQ8.js} +1 -1
  100. package/dist/assets/{coverage.service-CNmjbmf9.js → coverage.service-D4yN5TY8.js} +1 -1
  101. package/dist/assets/{create-runtime-SH8rIdxg.js → create-runtime-BjLMBQRi.js} +1 -1
  102. package/dist/assets/{curve-C7dnsCiL.js → curve-DSNbckBp.js} +1 -1
  103. package/dist/assets/{data-asset-CSg-4_Y2.js → data-asset-BKaaE_1L.js} +1 -1
  104. package/dist/assets/{data-ref-DlKtqIBH.js → data-ref-DncjB-QD.js} +1 -1
  105. package/dist/assets/{debug-bridge-VJcGzDgq.js → debug-bridge-BPhia8r7.js} +1 -1
  106. package/dist/assets/{debug-registry-Cq7PaV_q.js → debug-registry-C9Ke9_60.js} +1 -1
  107. package/dist/assets/{deferred-ingest-play-B0mq5zKv.js → deferred-ingest-play-PPRnQWUC.js} +2 -2
  108. package/dist/assets/{design-time-canvas-mount-BiXsp1Gr.js → design-time-canvas-mount-74odEa7g.js} +2 -2
  109. package/dist/assets/{design-time-layers-DTgtfssI.js → design-time-layers-Ct04Hsts.js} +1 -1
  110. package/dist/assets/{design-time-mount.service-Cpkjbxx9.js → design-time-mount.service-BTAbxIOm.js} +2 -2
  111. package/dist/assets/{design-time-mount.service-CrMy2pao.js → design-time-mount.service-Dvf8zkqu.js} +2 -2
  112. package/dist/assets/{design-time-react-mount-Dlpw3z93.js → design-time-react-mount-ZZj-ooUP.js} +1 -1
  113. package/dist/assets/{document-preview-three-BPwyKvjR.js → document-preview-three-qv-LfRMg.js} +1 -1
  114. package/dist/assets/{dom-authoring-adapter-BAVDYDHK.js → dom-authoring-adapter-CuDSWSNb.js} +1 -1
  115. package/dist/assets/{draco3d-C-3DlhXv.js → draco3d-B6aUXg6s.js} +1 -1
  116. package/dist/assets/{edit-mode-audio.service-Bu3nLteT.js → edit-mode-audio.service-BKoUB-tG.js} +1 -1
  117. package/dist/assets/{edit-mode-authoring-BvPDax01.js → edit-mode-authoring-D81aayTm.js} +1 -1
  118. package/dist/assets/{edit-mode-networking.service-oyKkGASl.js → edit-mode-networking.service-DFB5C5ba.js} +1 -1
  119. package/dist/assets/{editor-api-B1n3kU2G.js → editor-api-DSvaYurK.js} +1 -1
  120. package/dist/assets/{editor-layers-ZGgcIXno.js → editor-layers-CBGpXUff.js} +1 -1
  121. package/dist/assets/{editor-shell-store-KRNd7FtA.js → editor-shell-store-qkVBJ5hp.js} +1 -1
  122. package/dist/assets/{entity-object-BTMm2bY3.js → entity-object-DkwEzWRw.js} +1 -1
  123. package/dist/assets/{extend-DJH1fM6H.js → extend-CLTmKGid.js} +1 -1
  124. package/dist/assets/{fork-menu-D2LJ6fJn.js → fork-menu-zClJ54w5.js} +1 -1
  125. package/dist/assets/{frame-debugger-store-DwuzAc1q.js → frame-debugger-store-BBnS81lf.js} +1 -1
  126. package/dist/assets/{game-contract-seams-BuJ9qvxY.js → game-contract-seams-CQ6ox7EM.js} +1 -1
  127. package/dist/assets/{game-css-scope-transform-CNO_5aIS.js → game-css-scope-transform-CN_8Qjng.js} +1 -1
  128. package/dist/assets/{game-document.service-BrmVONC9.js → game-document.service-BMfUUdBk.js} +1 -1
  129. package/dist/assets/{game-eval.command-DJkIHZle.js → game-eval.command-DjPaPh0W.js} +1 -1
  130. package/dist/assets/{game-module-access-DIQvmG0l.js → game-module-access-Dqt4Iyj9.js} +1 -1
  131. package/dist/assets/{game-network-BRYhoaKR.js → game-network-rU8CiVS9.js} +3 -3
  132. package/dist/assets/{gameplay-export-B4hdr1Rw.js → gameplay-export-CvuSZBqw.js} +1 -1
  133. package/dist/assets/{gameplay-replay-BcVJR-1V.js → gameplay-replay-DN_8e-mL.js} +1 -1
  134. package/dist/assets/{gameplay.command-B1rxwm8I.js → gameplay.command-feHlbPUd.js} +1 -1
  135. package/dist/assets/{generation-jobs-D4HC0-Zn.js → generation-jobs-ktwK3BpH.js} +1 -1
  136. package/dist/assets/{generation.service-Bevnciaw.js → generation.service-CCk8hp9U.js} +1 -1
  137. package/dist/assets/{generations-BKXjBIYJ.js → generations-CLxU3M32.js} +1 -1
  138. package/dist/assets/{generations.status-oAxS1iQZ.js → generations.status-DNuE1Jbz.js} +1 -1
  139. package/dist/assets/{hierarchy-marks-oIV0-4rJ.js → hierarchy-marks-jS62BeX5.js} +1 -1
  140. package/dist/assets/{hosted-asset-materialization-DYCH-KIO.js → hosted-asset-materialization-s3VISszg.js} +1 -1
  141. package/dist/assets/{index-B4RlBzm4.js → index-BkJMq17U.js} +1 -1
  142. package/dist/assets/{index-BGuzKHyq.js → index-BmMDCu1J.js} +1 -1
  143. package/dist/assets/{index-DbS15EJv.js → index-BrB0Nhz0.js} +1 -1
  144. package/dist/assets/{index-DOlOOG8A.js → index-C-AbcRfU.js} +1 -1
  145. package/dist/assets/{index-0EmrSmqO.js → index-CvsX-Yba.js} +1 -1
  146. package/dist/assets/{index-Cw146_cY.js → index-D6w_9PlP.js} +2 -2
  147. package/dist/assets/{index-CPCojg58.js → index-D9mY4HWY.js} +265 -265
  148. package/dist/assets/{index-ClHTVUg4.js → index-DMLiFNqS.js} +1 -1
  149. package/dist/assets/{index-A4I14GlU.js → index-SFPYv_SM.js} +1 -1
  150. package/dist/assets/{inference-diagnostics-Dh-QkkEe.js → inference-diagnostics-A5B9gTUw.js} +1 -1
  151. package/dist/assets/{ingest-boot-viewport-DZmFn9n3.js → ingest-boot-viewport-BLsKtCr1.js} +1 -1
  152. package/dist/assets/{ingest-siblings-DL39Iqju.js → ingest-siblings-BzP3xOiB.js} +1 -1
  153. package/dist/assets/{ingest-source-persistence-D0LQoH45.js → ingest-source-persistence-BThzUuxZ.js} +1 -1
  154. package/dist/assets/{ingest.service-DEfvpiN0.js → ingest.service-BWOTrTci.js} +1 -1
  155. package/dist/assets/{inspect-CA5VRJZ1.js → inspect-Dq9Josls.js} +1 -1
  156. package/dist/assets/instances.command-Bd6DWVvV.js +1 -0
  157. package/dist/assets/{json-history-resource-DmiSZatB.js → json-history-resource-9PueHFpl.js} +1 -1
  158. package/dist/assets/{layered-pick-F4Nppx6F.js → layered-pick-0Okyt-XO.js} +1 -1
  159. package/dist/assets/{light-DHphSKgx.js → light-BwkhC5IX.js} +1 -1
  160. package/dist/assets/{live-project-verbs-Dpyx06pd.js → live-project-verbs-SDUR-zvs.js} +1 -1
  161. package/dist/assets/{machine.document-Otoo2MEp.js → machine.document-B5CwoKNt.js} +1 -1
  162. package/dist/assets/{machines.finder-Cpp9CXRb.js → machines.finder-BvxeCFhA.js} +1 -1
  163. package/dist/assets/{material-CbMlihkE.js → material-CSVfeUuo.js} +1 -1
  164. package/dist/assets/{material-factory-BXR7VTXd.js → material-factory-QE9DFL5K.js} +1 -1
  165. package/dist/assets/{mesh-BNtBc8OH.js → mesh-Bo_sjmdD.js} +1 -1
  166. package/dist/assets/{model-asset-sections.service-CX9mj2OU.js → model-asset-sections.service-930QHt1S.js} +1 -1
  167. package/dist/assets/{model-inspection-CGHk38AF.js → model-inspection-DPzXOOlc.js} +1 -1
  168. package/dist/assets/{model-thumbnail-BSDzS2s4.js → model-thumbnail-h7btiG_9.js} +1 -1
  169. package/dist/assets/{models.finder-B6dLMnPd.js → models.finder-MCvsYYwL.js} +1 -1
  170. package/dist/assets/{module-mode-CLRUiNIE.js → module-mode-BgMcHcSF.js} +2 -2
  171. package/dist/assets/{mount-canvas-ingest-root-CfM02MlP.js → mount-canvas-ingest-root-CBRh2FuY.js} +2 -2
  172. package/dist/assets/{mount-dom-ingest-root-B74PZht_.js → mount-dom-ingest-root-Cjd8PL36.js} +2 -2
  173. package/dist/assets/{mount-ingest-root-bMGl01QB.js → mount-ingest-root-CZsGJYhm.js} +2 -2
  174. package/dist/assets/{mount-manifest-DGlkvi3R.js → mount-manifest-ExL3lRP3.js} +1 -1
  175. package/dist/assets/{mount-three-ingest-root-BAS_JK7l.js → mount-three-ingest-root-Cd03g4Dp.js} +1 -1
  176. package/dist/assets/{mounted-authoring-v7VlQXfv.js → mounted-authoring-0w9-bjZS.js} +1 -1
  177. package/dist/assets/{mounted-story-viewport-source-DCSiaoxN.js → mounted-story-viewport-source-dan_Vkgv.js} +1 -1
  178. package/dist/assets/{native-debug-module-DtRInjS1.js → native-debug-module-DmU0unhp.js} +1 -1
  179. package/dist/assets/{navigation-C4M6yoxY.js → navigation-Bc9nb-uQ.js} +1 -1
  180. package/dist/assets/{navmesh.menu-OTDCoFua.js → navmesh.menu-D1QrM_-o.js} +1 -1
  181. package/dist/assets/{navmesh.service-Csgys72O.js → navmesh.service-CLOjMejZ.js} +1 -1
  182. package/dist/assets/network-observer.service-UzN4E98-.js +1 -0
  183. package/dist/assets/{network.utility-Du_jSAcy.js → network.utility-zwrDmtd_.js} +1 -1
  184. package/dist/assets/{object3d-document-session-registry-d0khadWE.js → object3d-document-session-registry-PR4Yulm3.js} +2 -2
  185. package/dist/assets/{oid-transform-CQH40EvN.js → oid-transform-C2fzvPah.js} +1 -1
  186. package/dist/assets/{particles-BywZnUF8.js → particles-CHbu-G1Q.js} +1 -1
  187. package/dist/assets/{pixi-authoring-adapter-C2tLMn40.js → pixi-authoring-adapter-9s9JpXqj.js} +1 -1
  188. package/dist/assets/{pixi-live-write-target-CdEeBPdd.js → pixi-live-write-target-PTG8VADy.js} +1 -1
  189. package/dist/assets/{play.command-D_SLXGbK.js → play.command-BR_Yo82K.js} +2 -2
  190. package/dist/assets/{presentation-DwrRhSDG.js → presentation-2yyoHrBo.js} +1 -1
  191. package/dist/assets/{product-Clqy_aQR.js → product-Uo-d2MPf.js} +1 -1
  192. package/dist/assets/{profiler.action-B_FVCDMv.js → profiler.action-CvDYE5cW.js} +1 -1
  193. package/dist/assets/{profiler.menu-VBKBdxei.js → profiler.menu-B66yUdVF.js} +1 -1
  194. package/dist/assets/{profiler.utility-BiJs_tQb.js → profiler.utility-5fF94exR.js} +1 -1
  195. package/dist/assets/{project-authoring-session-oy5hBwns.js → project-authoring-session-DvpmSYet.js} +2 -2
  196. package/dist/assets/{properties-bone-constraints.inspector-DzUKXAPh.js → properties-bone-constraints.inspector-DBRuBJ33.js} +1 -1
  197. package/dist/assets/{properties-bone.inspector-DmQrhN79.js → properties-bone.inspector-CfK2l-bJ.js} +1 -1
  198. package/dist/assets/{properties-collection.inspector-XJ37WckN.js → properties-collection.inspector-LFWBWYfs.js} +1 -1
  199. package/dist/assets/{properties-constraints.inspector-QFablfr9.js → properties-constraints.inspector-DPokGobY.js} +1 -1
  200. package/dist/assets/{properties-data.inspector-DlP7i1wj.js → properties-data.inspector-CNBOZiDY.js} +1 -1
  201. package/dist/assets/{properties-material.inspector-n64vyIL1.js → properties-material.inspector-kPZWt_rK.js} +1 -1
  202. package/dist/assets/{properties-modifiers.inspector-BdtDaOds.js → properties-modifiers.inspector-DKRESmSW.js} +1 -1
  203. package/dist/assets/{properties-object.inspector-D4DiIdGc.js → properties-object.inspector-ax0-g3BA.js} +1 -1
  204. package/dist/assets/{properties-output.inspector-CSlItYZf.js → properties-output.inspector-DOEOcZsy.js} +1 -1
  205. package/dist/assets/{properties-particles.inspector-Cb7kruTo.js → properties-particles.inspector-CQI00oYh.js} +1 -1
  206. package/dist/assets/{properties-physics.inspector-Bt64Vum-.js → properties-physics.inspector-DA6-7mMn.js} +1 -1
  207. package/dist/assets/{properties-render.inspector-BxLGc0W1.js → properties-render.inspector-Bv3snYNC.js} +1 -1
  208. package/dist/assets/{properties-scene.inspector-yS59fXDq.js → properties-scene.inspector-B1ksacVC.js} +1 -1
  209. package/dist/assets/{properties-texture.inspector-M1kH0se_.js → properties-texture.inspector-BLxK7oXf.js} +1 -1
  210. package/dist/assets/{properties-view-layer.inspector-Bhnqor8D.js → properties-view-layer.inspector-DY9u7Fpy.js} +1 -1
  211. package/dist/assets/{properties-world.inspector-BuorIrMM.js → properties-world.inspector-tmQPQ_g6.js} +1 -1
  212. package/dist/assets/{r3f-design-session-1ToeZOmU.js → r3f-design-session-BV6GpTxq.js} +2 -2
  213. package/dist/assets/{r3f-physics-binding-BXSHDiyJ.js → r3f-physics-binding-iNCeJZwd.js} +1 -1
  214. package/dist/assets/{r3f-source-authoring-adapter-DvEUAeJI.js → r3f-source-authoring-adapter-Bzera0C7.js} +1 -1
  215. package/dist/assets/{react-canvas-navigation-BJpKAtGR.js → react-canvas-navigation-UK_BMgIh.js} +1 -1
  216. package/dist/assets/{react-inspector.service-D4bN7Blu.js → react-inspector.service-4wPq1GWF.js} +1 -1
  217. package/dist/assets/{react-story-board-DGq9ptgS.js → react-story-board-C4NAg1lF.js} +1 -1
  218. package/dist/assets/{react-three-rapier.esm-DBid2y9e.js → react-three-rapier.esm-fDJrAP5J.js} +1 -1
  219. package/dist/assets/{react-world-authoring-adapter-Cff7FsAj.js → react-world-authoring-adapter-DPCvrFSd.js} +1 -1
  220. package/dist/assets/{realm-services-C0ZZHgtE.js → realm-services-Ca4lSqMJ.js} +1 -1
  221. package/dist/assets/{reflection-probe-capture.inspector-4ey0uhBh.js → reflection-probe-capture.inspector-7miikRuQ.js} +1 -1
  222. package/dist/assets/{registry-aISm60y9.js → registry-FkWo9b5Y.js} +1 -1
  223. package/dist/assets/{relative-import-specifier-CqgNxJFk.js → relative-import-specifier-IIDPACUn.js} +1 -1
  224. package/dist/assets/{render-env-cvRaBQDG.js → render-env-D0PPvYFc.js} +1 -1
  225. package/dist/assets/{render-features-DOxvOOZ1.js → render-features-ep0qUnew.js} +1 -1
  226. package/dist/assets/{render-settings-Bx9QGvwd.js → render-settings-BTkn8WQP.js} +1 -1
  227. package/dist/assets/{resolve-three-CQl-KsgS.js → resolve-three-CuV3phZY.js} +3 -3
  228. package/dist/assets/{root-seam-contract-BbtsWWys.js → root-seam-contract-Bnxtdl5s.js} +1 -1
  229. package/dist/assets/{run-selection-QKV9HubI.js → run-selection-deRqeYOX.js} +1 -1
  230. package/dist/assets/{scene-capture-DLRSEfbm.js → scene-capture-aB8WVI9e.js} +1 -1
  231. package/dist/assets/{scene-document.service-CEsznyXd.js → scene-document.service-C1ZS_ibm.js} +2 -2
  232. package/dist/assets/{scene-framing-BmfB9q_Z.js → scene-framing-BAZ4vw1j.js} +1 -1
  233. package/dist/assets/{seeded-random-WcHeAKbI.js → seeded-random-CwE1f6qb.js} +1 -1
  234. package/dist/assets/{setup-renderer-CX3K4YbA.js → setup-renderer-DPkC1cFW.js} +1 -1
  235. package/dist/assets/{source-object3d-authoring-adapter-P0jgWX5D.js → source-object3d-authoring-adapter-a_OLVl70.js} +1 -1
  236. package/dist/assets/{source-persistence-backend-9rhWirOd.js → source-persistence-backend-C5Gwhj0u.js} +1 -1
  237. package/dist/assets/{stage-keyboard-AWDKfwov.js → stage-keyboard-Dx7_k-Wa.js} +1 -1
  238. package/dist/assets/{stage-overlay-set-HEckN24D.js → stage-overlay-set-CvBJVuHr.js} +1 -1
  239. package/dist/assets/{stage-presence-markers-CdwQPtfC.js → stage-presence-markers-DOcpLmDw.js} +1 -1
  240. package/dist/assets/{stage-transform-tools-CHA1Xh2H.js → stage-transform-tools-Cl_ltUkU.js} +1 -1
  241. package/dist/assets/{standard-viewport-dressing-BtBF7Vbc.js → standard-viewport-dressing-Dk79QHkl.js} +1 -1
  242. package/dist/assets/{state-watch.action-hckaGBK2.js → state-watch.action-DnUgK57Q.js} +1 -1
  243. package/dist/assets/{state-watch.menu-D45FUTv1.js → state-watch.menu-D6yJ2ajq.js} +1 -1
  244. package/dist/assets/{state-watch.utility-7-QTej_2.js → state-watch.utility-Bd1_ckSi.js} +1 -1
  245. package/dist/assets/{story-capture-DmQTI0v4.js → story-capture-CdblyPkl.js} +1 -1
  246. package/dist/assets/{story-documents-BxrcucWJ.js → story-documents-Cl5_DGOO.js} +1 -1
  247. package/dist/assets/{story-documents.service-CxjhQ-NB.js → story-documents.service-5S-t2VA6.js} +1 -1
  248. package/dist/assets/{story-documents.service-D4l0xeo_.js → story-documents.service-BG3kxdaA.js} +1 -1
  249. package/dist/assets/{story-media-presence-DQO4X40Q.js → story-media-presence-C0ANS1oT.js} +1 -1
  250. package/dist/assets/{story-pixi-preview-BXfVUpSo.js → story-pixi-preview-CMwV6H-J.js} +1 -1
  251. package/dist/assets/{story-presentation-B7-Tk1Wd.js → story-presentation-C0eOpS5C.js} +1 -1
  252. package/dist/assets/{story-three-preview-CPakJtus.js → story-three-preview-DI_zKDDq.js} +2 -2
  253. package/dist/assets/{studio-environment-BzV2N2t_.js → studio-environment-tkipngTI.js} +1 -1
  254. package/dist/assets/{surface-state-D5H35ZmU.js → surface-state-D2pDEwDu.js} +1 -1
  255. package/dist/assets/{syntactic-prop-specs-BOAEM4--.js → syntactic-prop-specs-FgPDDm9j.js} +1 -1
  256. package/dist/assets/{team-playtest.service-C8ZILJSZ.js → team-playtest.service-LdRKOcl_.js} +1 -1
  257. package/dist/assets/{three-BdFqc-uv.js → three-DHXw9ma-.js} +1 -1
  258. package/dist/assets/{three-authoring-adapter-DVAQSXQF.js → three-authoring-adapter-O2lbHGpC.js} +1 -1
  259. package/dist/assets/three-authoring.service-C0w1UwZr.js +2 -0
  260. package/dist/assets/{three-ingest-runtime-Can_ZcUf.js → three-ingest-runtime-ByNriHPr.js} +1 -1
  261. package/dist/assets/{three-integration-BVRiaNfa.js → three-integration-DKfjgbTQ.js} +2 -2
  262. package/dist/assets/three-integration.service-B9y90uQa.js +1 -0
  263. package/dist/assets/{three-projection-core-C1Lx5jx6.js → three-projection-core-BdssKHsg.js} +1 -1
  264. package/dist/assets/{three-state-B9nzv3ez.js → three-state-DMGhb3kR.js} +1 -1
  265. package/dist/assets/{three-story-capture.service-vM1fJnOm.js → three-story-capture.service-0Ol3grw1.js} +2 -2
  266. package/dist/assets/{three-story-model-Cy_pRRO_.js → three-story-model-2DccXqHD.js} +1 -1
  267. package/dist/assets/{three-viewport-presentation-fek-MzPi.js → three-viewport-presentation-CAUvCLK_.js} +1 -1
  268. package/dist/assets/{transform-mode-request-D26wDPlM.js → transform-mode-request-C__lyOsr.js} +1 -1
  269. package/dist/assets/{transport-strip-D365dutm.js → transport-strip-CAIpxT3_.js} +1 -1
  270. package/dist/assets/transport.header-DakqnjMc.js +1 -0
  271. package/dist/assets/{tuples-BM0LFInQ.js → tuples-DkfP4uzY.js} +1 -1
  272. package/dist/assets/{ui-board-document-DR1lcsOV.js → ui-board-document-UJvS4sh4.js} +2 -2
  273. package/dist/assets/{user-data-BkkB0ByQ.js → user-data-CCbOet5N.js} +1 -1
  274. package/dist/assets/{utility-view-state-DisM-BPx.js → utility-view-state-BgaKdtXK.js} +1 -1
  275. package/dist/assets/{viewport-door-eEAtWKch.js → viewport-door-BAsTiZlJ.js} +1 -1
  276. package/dist/assets/{viewport-root-presentation-C8DfKod7.js → viewport-root-presentation-Ck-Whc0J.js} +1 -1
  277. package/dist/assets/{viewport-surface-status-DzuppPAk.js → viewport-surface-status-BFEHA5hI.js} +1 -1
  278. package/dist/assets/{webworkerAll-kCBexJEB.js → webworkerAll-8G6Qnb-k.js} +1 -1
  279. package/dist/assets/{workspace-arrangement-BX83yYRw.js → workspace-arrangement-BvdkrAj4.js} +1 -1
  280. package/dist/assets/{world-documents-CRlE_ow1.js → world-documents-Eb1WwqL0.js} +1 -1
  281. package/dist/assets/{world-root-stage-binding-CtcyZKvz.js → world-root-stage-binding-BpN6rSfy.js} +1 -1
  282. package/dist/assets/{xstate-animation-binding-2oim5-Rx.js → xstate-animation-binding-DChnwHzU.js} +1 -1
  283. package/dist/assets/{xstate-animation-meta-BvCgna0q.js → xstate-animation-meta-CCAibHR5.js} +1 -1
  284. package/dist-node/cli.js +16 -16
  285. package/package.json +16 -16
  286. package/dist/assets/InspectorObjectPreview-1wIvQUAG.js +0 -1
  287. package/dist/assets/Object3DDocumentViewport-DP7pmssm.js +0 -2
  288. package/dist/assets/autoplay.service-CfC4AhnN.js +0 -1
  289. package/dist/assets/blender-runtime.document-D35fDX0h.js +0 -13
  290. package/dist/assets/instances.command-DJGqIaA7.js +0 -1
  291. package/dist/assets/network-observer.service-km2g8b0A.js +0 -1
  292. package/dist/assets/three-authoring.service-4R8HrWVV.js +0 -2
  293. package/dist/assets/three-integration.service-D5IfeqOm.js +0 -1
  294. package/dist/assets/transport.header-DdFTLJw9.js +0 -1
@@ -1 +1 @@
1
- import{dZ as b,d_ as u,u as o,v as c,w as n,x as l,c6 as r,c5 as m,c4 as f}from"./index-CPCojg58.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const d=o({clip:n().min(1).describe("Animation clip name this child plays"),threshold:r().describe("1D/2D blend position on the primary parameter axis"),thresholdY:r().optional().describe("2D blend position on the secondary parameter axis (2D blend trees only)"),weight:r().min(0).optional().describe('Explicit weight for "direct" blend trees (ignored by 1D/2D)')}).strict(),y=o({type:l("1D").describe("Interpolates linearly between sorted children by threshold"),parameter:n().min(1).describe("Context/selector value driving the blend"),children:c(d).min(2,"1D blend tree needs at least 2 children to interpolate between")}).strict(),v=o({type:l("2D").describe("Inverse-distance-weights children by (parameter, parameterY) position"),parameter:n().min(1).describe("Primary axis context/selector value"),parameterY:n().min(1).describe("Secondary axis context/selector value"),children:c(d.extend({thresholdY:r()})).min(1,"2D blend tree needs at least 1 child")}).strict(),g=o({type:l("direct").describe("Each child has an explicit weight, normalized to sum to 1"),parameter:n().default(""),children:c(d.extend({weight:r().min(0)})).min(1,"direct blend tree needs at least 1 child")}).strict(),A=b("type",[y,v,g]);function Y(e){return e}const p=o({duration:r().min(0).default(0).describe("Seconds to blend from the previously active clip into this state on entry, applied via native `AnimationAction.crossFadeTo`/`fadeIn` (E2). 0 = instant activation, no fade."),warp:m().default(!1).describe("Passed through to AnimationAction.crossFadeTo's `warp` param — linearly warps timeScale across the two clips during the blend so differing clip lengths line up. Default false.")}).strict().describe("Blend-in/out/crossfade timing for entering this state"),x=o({include:c(n().min(1)).min(1).optional().describe("Bone/object names whose complete descendant subtrees are retained"),exclude:c(n().min(1)).min(1).optional().describe("Bone/object names whose complete descendant subtrees are removed")}).strict().refine(e=>!!(e.include?.length||e.exclude?.length),{message:"boneMask needs at least one include or exclude bone name"}).describe("Filters animation tracks by named Object3D/Bone subtrees"),h={layer:n().min(1).optional().describe("Composition layer name; omitted means the single base layer"),weight:r().min(0).max(1).optional().describe("Layer weight multiplier from 0 to 1; defaults to 1"),blendMode:f(["override","additive"]).optional().describe("Native Three normal/override or additive action blending; defaults to override"),boneMask:x.optional().describe("Optional include/exclude filter applied to every clip track in this state")},w=o({clip:n().min(1).describe("Single clip to play while this XState state is active"),loop:m().default(!0).describe("Loop the clip (THREE.LoopRepeat) vs play once (THREE.LoopOnce, clamped on last frame)"),speed:r().positive().default(1).describe("Playback speed multiplier (AnimationAction.timeScale)"),crossfade:p.optional(),...h}).strict(),S=o({blendTree:A.describe("Multiple clips blended by a live context/selector-driven parameter"),crossfade:p.optional(),...h}).strict(),D=u([w,S]);function M(e){return"clip"in e}function $(e){return"blendTree"in e}class T extends Error{constructor(a,i,t){super(a),this.stateId=i,this.issues=t,this.name="AnimationMetaValidationError"}}function B(e,a){const i=D.safeParse(a);if(!i.success){const t=i.error.issues.map(s=>`${s.path.length?s.path.join("."):"(root)"}: ${s.message}`).join("; ");throw new T(`[xstate-animation] invalid meta.animation for state "${e}": ${t}`,e,i.error.issues)}return i.data}function R(e){const a=[],i=t=>{t.meta&&"animation"in t.meta&&t.meta.animation!==void 0&&a.push({stateId:t.id,meta:B(t.id,t.meta.animation)});for(const s of Object.values(t.states??{}))i(s)};return i(e),a}function H(e){return M(e)?[e.clip]:e.blendTree.children.map(a=>a.clip)}export{A as AnimationBlendTreeSchema,T as AnimationMetaValidationError,D as StateAnimationMetaSchema,Y as asBlendTreeDef,H as clipNamesOf,R as collectMachineAnimationMeta,$ as isBlendTreeAnimationMeta,M as isClipAnimationMeta,B as parseStateAnimationMeta};
1
+ import{dZ as b,d_ as u,u as o,v as c,w as n,x as l,c6 as r,c5 as m,c4 as f}from"./index-D9mY4HWY.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const d=o({clip:n().min(1).describe("Animation clip name this child plays"),threshold:r().describe("1D/2D blend position on the primary parameter axis"),thresholdY:r().optional().describe("2D blend position on the secondary parameter axis (2D blend trees only)"),weight:r().min(0).optional().describe('Explicit weight for "direct" blend trees (ignored by 1D/2D)')}).strict(),y=o({type:l("1D").describe("Interpolates linearly between sorted children by threshold"),parameter:n().min(1).describe("Context/selector value driving the blend"),children:c(d).min(2,"1D blend tree needs at least 2 children to interpolate between")}).strict(),v=o({type:l("2D").describe("Inverse-distance-weights children by (parameter, parameterY) position"),parameter:n().min(1).describe("Primary axis context/selector value"),parameterY:n().min(1).describe("Secondary axis context/selector value"),children:c(d.extend({thresholdY:r()})).min(1,"2D blend tree needs at least 1 child")}).strict(),g=o({type:l("direct").describe("Each child has an explicit weight, normalized to sum to 1"),parameter:n().default(""),children:c(d.extend({weight:r().min(0)})).min(1,"direct blend tree needs at least 1 child")}).strict(),A=b("type",[y,v,g]);function Y(e){return e}const p=o({duration:r().min(0).default(0).describe("Seconds to blend from the previously active clip into this state on entry, applied via native `AnimationAction.crossFadeTo`/`fadeIn` (E2). 0 = instant activation, no fade."),warp:m().default(!1).describe("Passed through to AnimationAction.crossFadeTo's `warp` param — linearly warps timeScale across the two clips during the blend so differing clip lengths line up. Default false.")}).strict().describe("Blend-in/out/crossfade timing for entering this state"),x=o({include:c(n().min(1)).min(1).optional().describe("Bone/object names whose complete descendant subtrees are retained"),exclude:c(n().min(1)).min(1).optional().describe("Bone/object names whose complete descendant subtrees are removed")}).strict().refine(e=>!!(e.include?.length||e.exclude?.length),{message:"boneMask needs at least one include or exclude bone name"}).describe("Filters animation tracks by named Object3D/Bone subtrees"),h={layer:n().min(1).optional().describe("Composition layer name; omitted means the single base layer"),weight:r().min(0).max(1).optional().describe("Layer weight multiplier from 0 to 1; defaults to 1"),blendMode:f(["override","additive"]).optional().describe("Native Three normal/override or additive action blending; defaults to override"),boneMask:x.optional().describe("Optional include/exclude filter applied to every clip track in this state")},w=o({clip:n().min(1).describe("Single clip to play while this XState state is active"),loop:m().default(!0).describe("Loop the clip (THREE.LoopRepeat) vs play once (THREE.LoopOnce, clamped on last frame)"),speed:r().positive().default(1).describe("Playback speed multiplier (AnimationAction.timeScale)"),crossfade:p.optional(),...h}).strict(),S=o({blendTree:A.describe("Multiple clips blended by a live context/selector-driven parameter"),crossfade:p.optional(),...h}).strict(),D=u([w,S]);function M(e){return"clip"in e}function $(e){return"blendTree"in e}class T extends Error{constructor(a,i,t){super(a),this.stateId=i,this.issues=t,this.name="AnimationMetaValidationError"}}function B(e,a){const i=D.safeParse(a);if(!i.success){const t=i.error.issues.map(s=>`${s.path.length?s.path.join("."):"(root)"}: ${s.message}`).join("; ");throw new T(`[xstate-animation] invalid meta.animation for state "${e}": ${t}`,e,i.error.issues)}return i.data}function R(e){const a=[],i=t=>{t.meta&&"animation"in t.meta&&t.meta.animation!==void 0&&a.push({stateId:t.id,meta:B(t.id,t.meta.animation)});for(const s of Object.values(t.states??{}))i(s)};return i(e),a}function H(e){return M(e)?[e.clip]:e.blendTree.children.map(a=>a.clip)}export{A as AnimationBlendTreeSchema,T as AnimationMetaValidationError,D as StateAnimationMetaSchema,Y as asBlendTreeDef,H as clipNamesOf,R as collectMachineAnimationMeta,$ as isBlendTreeAnimationMeta,M as isClipAnimationMeta,B as parseStateAnimationMeta};
package/dist-node/cli.js CHANGED
@@ -2313,7 +2313,7 @@ import { fileURLToPath as fileURLToPath2 } from "node:url";
2313
2313
  var package_default = {
2314
2314
  name: "@volter/game-editor",
2315
2315
  author: "Volter AI, Inc.",
2316
- version: "0.5.85",
2316
+ version: "0.5.87",
2317
2317
  publishConfig: {
2318
2318
  access: "public"
2319
2319
  },
@@ -2362,22 +2362,22 @@ var package_default = {
2362
2362
  }
2363
2363
  },
2364
2364
  dependencies: {
2365
- "@volter/editor-core": "0.5.85",
2366
- "@volter/editor-game": "0.5.85",
2367
- "@volter/editor-react": "0.5.85",
2368
- "@volter/editor-threejs": "0.5.85",
2369
- "@volter/editor-xstate": "0.5.85",
2370
- "@volter/editor-blender": "0.1.25",
2371
- "@volter/dawproject": "0.5.85",
2372
- "@volter/editor-dawproject": "0.5.85",
2373
- "@volter/blender-engine": "0.1.23",
2374
- "@volter/editor-project": "0.5.85",
2375
- "@volter/editor-sdk": "0.5.85",
2376
- "@volter/editor-live": "0.5.85",
2377
- "@volter/game-live": "0.5.85",
2365
+ "@volter/editor-core": "0.5.87",
2366
+ "@volter/editor-game": "0.5.87",
2367
+ "@volter/editor-react": "0.5.87",
2368
+ "@volter/editor-threejs": "0.5.87",
2369
+ "@volter/editor-xstate": "0.5.87",
2370
+ "@volter/editor-blender": "0.1.27",
2371
+ "@volter/dawproject": "0.5.87",
2372
+ "@volter/editor-dawproject": "0.5.87",
2373
+ "@volter/blender-engine": "0.1.25",
2374
+ "@volter/editor-project": "0.5.87",
2375
+ "@volter/editor-sdk": "0.5.87",
2376
+ "@volter/editor-live": "0.5.87",
2377
+ "@volter/game-live": "0.5.87",
2378
2378
  "@modelcontextprotocol/sdk": "1.30.0",
2379
- "@volter/game-runtime": "0.5.85",
2380
- "@volter/threejs-runtime": "0.5.85",
2379
+ "@volter/game-runtime": "0.5.87",
2380
+ "@volter/threejs-runtime": "0.5.87",
2381
2381
  undici: "7.29.1",
2382
2382
  typescript: "5.9.3",
2383
2383
  "@colyseus/schema": "^4.0.14",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@volter/game-editor",
3
3
  "author": "Volter AI, Inc.",
4
- "version": "0.5.85",
4
+ "version": "0.5.87",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -50,22 +50,22 @@
50
50
  }
51
51
  },
52
52
  "dependencies": {
53
- "@volter/editor-core": "0.5.85",
54
- "@volter/editor-game": "0.5.85",
55
- "@volter/editor-react": "0.5.85",
56
- "@volter/editor-threejs": "0.5.85",
57
- "@volter/editor-xstate": "0.5.85",
58
- "@volter/editor-blender": "0.1.25",
59
- "@volter/dawproject": "0.5.85",
60
- "@volter/editor-dawproject": "0.5.85",
61
- "@volter/blender-engine": "0.1.23",
62
- "@volter/editor-project": "0.5.85",
63
- "@volter/editor-sdk": "0.5.85",
64
- "@volter/editor-live": "0.5.85",
65
- "@volter/game-live": "0.5.85",
53
+ "@volter/editor-core": "0.5.87",
54
+ "@volter/editor-game": "0.5.87",
55
+ "@volter/editor-react": "0.5.87",
56
+ "@volter/editor-threejs": "0.5.87",
57
+ "@volter/editor-xstate": "0.5.87",
58
+ "@volter/editor-blender": "0.1.27",
59
+ "@volter/dawproject": "0.5.87",
60
+ "@volter/editor-dawproject": "0.5.87",
61
+ "@volter/blender-engine": "0.1.25",
62
+ "@volter/editor-project": "0.5.87",
63
+ "@volter/editor-sdk": "0.5.87",
64
+ "@volter/editor-live": "0.5.87",
65
+ "@volter/game-live": "0.5.87",
66
66
  "@modelcontextprotocol/sdk": "1.30.0",
67
- "@volter/game-runtime": "0.5.85",
68
- "@volter/threejs-runtime": "0.5.85",
67
+ "@volter/game-runtime": "0.5.87",
68
+ "@volter/threejs-runtime": "0.5.87",
69
69
  "undici": "7.29.1",
70
70
  "typescript": "5.9.3",
71
71
  "@colyseus/schema": "^4.0.14",
@@ -1 +0,0 @@
1
- import{a as t}from"./jsx-runtime-DPjLkJKQ.js";import{Object3DSnapshotDocument as m}from"./EntityModelDocument-DrscE_y5.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./editor-shell-store-KRNd7FtA.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./Pass-D1MRT672.js";import"./editor-layers-ZGgcIXno.js";import"./workspace-arrangement-BX83yYRw.js";import"./index-CPCojg58.js";import"./index-nmcBqr7Y.js";import"./index-D_NuPfjr.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./user-data-BkkB0ByQ.js";import"./entity-object-BTMm2bY3.js";import"./three-contract-Dkt6PmWY.js";import"./live-mixers-B-bwLZ7c.js";import"./asset-preview-4eaPPopc.js";import"./renderer-ownership-BovSEcLv.js";import"./hierarchy-marks-oIV0-4rJ.js";import"./studio-environment-BzV2N2t_.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./bitmap-label-Ct4k6ehY.js";import"./StageHost-c2YTpj09.js";import"./three-state-B9nzv3ez.js";import"./standard-viewport-dressing-BtBF7Vbc.js";import"./content-bounds-6mX1FAkL.js";import"./preview-renderer-BrYNFV1p.js";import"./live-gesture-lock-DJbrjOqf.js";import"./three-integration-BVRiaNfa.js";import"./host-hierarchy-objects-BV3WqU2w.js";import"./layered-pick-F4Nppx6F.js";import"./root-stacking-BEd9ZvxC.js";import"./model-thumbnail-BSDzS2s4.js";import"./object3d-document-session-registry-d0khadWE.js";import"./component-instance-root-R39ACc0B.js";import"./viewport-door-eEAtWKch.js";import"./model-inspection-CGHk38AF.js";import"./three-viewport-presentation-fek-MzPi.js";import"./clip-planes-CnAI6DZn.js";import"./three-BdFqc-uv.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./OrbitControls-B13MKuwC.js";import"./LineSegments2-DN9pUfWA.js";import"./three.quarks.esm-C_HmSKXo.js";import"./scene-framing-BmfB9q_Z.js";import"./source-object3d-authoring-adapter-P0jgWX5D.js";import"./three-projection-core-C1Lx5jx6.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./transport-strip-D365dutm.js";import"./viewport-surface-status-DzuppPAk.js";function ut({previewKey:o,object:r,displayName:i,fill:p=!1}){return t.jsx("div",{"data-testid":"inspector-object-preview",style:p?{position:"absolute",inset:0,overflow:"hidden"}:{width:"100%",height:220,minHeight:220,borderBottom:"1px solid var(--volter-structural-divider)",overflow:"hidden",position:"relative"},children:t.jsx(m,{documentId:`inspector-preview:${o}`,source:r,displayName:i,active:!0,chromeless:!0})})}export{ut as InspectorObjectPreview};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/StageHost-c2YTpj09.js","assets/index-CPCojg58.js","assets/index-nmcBqr7Y.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-D_NuPfjr.js","assets/jsx-runtime-DPjLkJKQ.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/three-state-B9nzv3ez.js","assets/editor-shell-store-KRNd7FtA.js","assets/output-pass-HurwNl0G.js","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/Pass-D1MRT672.js","assets/editor-layers-ZGgcIXno.js","assets/workspace-arrangement-BX83yYRw.js","assets/user-data-BkkB0ByQ.js","assets/entity-object-BTMm2bY3.js","assets/three-contract-Dkt6PmWY.js","assets/standard-viewport-dressing-BtBF7Vbc.js","assets/content-bounds-6mX1FAkL.js","assets/hierarchy-marks-oIV0-4rJ.js","assets/environment-Dg-YaLsA.js","assets/RoomEnvironment-BkknvS_I.js","assets/EXRLoader-CITMBvGd.js","assets/HDRLoader-BTGuGhVo.js","assets/preview-renderer-BrYNFV1p.js","assets/renderer-ownership-BovSEcLv.js","assets/live-mixers-B-bwLZ7c.js","assets/live-gesture-lock-DJbrjOqf.js","assets/three-integration-BVRiaNfa.js","assets/host-hierarchy-objects-BV3WqU2w.js","assets/layered-pick-F4Nppx6F.js","assets/root-stacking-BEd9ZvxC.js","assets/model-thumbnail-BSDzS2s4.js","assets/studio-environment-BzV2N2t_.js","assets/KTX2Loader-CaqVE6nY.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/object3d-document-session-registry-d0khadWE.js","assets/component-instance-root-R39ACc0B.js","assets/viewport-door-eEAtWKch.js","assets/asset-preview-4eaPPopc.js","assets/bitmap-label-Ct4k6ehY.js","assets/model-inspection-CGHk38AF.js","assets/three-viewport-presentation-fek-MzPi.js","assets/clip-planes-CnAI6DZn.js","assets/three-BdFqc-uv.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/OrbitControls-B13MKuwC.js","assets/LineSegments2-DN9pUfWA.js","assets/three.quarks.esm-C_HmSKXo.js","assets/scene-framing-BmfB9q_Z.js","assets/source-object3d-authoring-adapter-P0jgWX5D.js","assets/three-projection-core-C1Lx5jx6.js","assets/editor-presentation-activity-CqJH4G9t.js","assets/transport-strip-D365dutm.js","assets/viewport-surface-status-DzuppPAk.js"])))=>i.map(i=>d[i]);
2
- import{ak as r,_ as a}from"./index-CPCojg58.js";import{a as o}from"./jsx-runtime-DPjLkJKQ.js";import{r as n}from"./index-nmcBqr7Y.js";import{V as c,O as u}from"./viewport-surface-status-DzuppPAk.js";const s=n.lazy(async()=>({default:(await a(()=>import("./StageHost-c2YTpj09.js").then(e=>e.S),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]))).Object3DDocumentViewport}));function l(t){return i(t.documentId,t.chromeless),o.jsx(n.Suspense,{fallback:o.jsx(c,{testId:"object3d-document-loading",children:u}),children:o.jsx(s,{...t})})}function i(t,e=!1){n.useEffect(()=>{if(!e)return r(t)},[t,e])}export{l as O};
@@ -1 +0,0 @@
1
- import{T as i,r as m}from"./index-CPCojg58.js";import{e as p}from"./game-network-BRYhoaKR.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-DtRInjS1.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-Cq7PaV_q.js";import"./contract-system-adapters-DNbQm4Uw.js";import"./game-contract-seams-BuJ9qvxY.js";import"./seeded-random-WcHeAKbI.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-Dpyx06pd.js";import"./capability-coverage-B1jH9ygH.js";import"./edit-mode-authoring-BvPDax01.js";import"./json-history-resource-DmiSZatB.js";import"./binding-resolver-BkOGFxcc.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-C0ZZHgtE.js";import"./canvas-entry-runtime-bFI672nP.js";import"./three-ingest-runtime-Can_ZcUf.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-CumnBRLS.js";import"./ingest-source-persistence-D0LQoH45.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-C8DfKod7.js";import"./mounted-authoring-v7VlQXfv.js";import"./entity-object-BTMm2bY3.js";import"./user-data-BkkB0ByQ.js";import"./workspace-arrangement-BX83yYRw.js";import"./three-contract-Dkt6PmWY.js";import"./three-BdFqc-uv.js";import"./editor-layers-ZGgcIXno.js";import"./component-instance-root-R39ACc0B.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-DVAQSXQF.js";import"./source-persistence-backend-9rhWirOd.js";import"./three-projection-core-C1Lx5jx6.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-BXSHDiyJ.js";import"./deferred-ingest-play-B0mq5zKv.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-Cff7FsAj.js";import"./board-guides-DKVoBuLQ.js";import"./relative-import-specifier-CqgNxJFk.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-CA5VRJZ1.js";import"./inference-diagnostics-Dh-QkkEe.js";import"./writer-tw6EcuVO.js";import"./three-state-B9nzv3ez.js";import"./editor-shell-store-KRNd7FtA.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-eEAtWKch.js";import"./game-surface-defaults-D8S4cRxi.js";const Ut="workspace.service";function e(o){p().catch(t=>{m().console.error(`${o}: ${t instanceof Error?t.message:String(t)}`,"play")})}function bt(){let o,t=!1;const r=i(()=>{t||new URLSearchParams(window.location.search).get("play")==="1"&&(t=!0,o=window.setTimeout(()=>e("Could not enter requested Play mode"),0))});return()=>{o!==void 0&&window.clearTimeout(o),r()}}export{Ut as point,bt as start};
@@ -1,13 +0,0 @@
1
- import{a as d}from"./jsx-runtime-DPjLkJKQ.js";import{j3 as Ne,bt as ke,r as D,bv as Le,fL as W,bB as N,bC as z,hR as Ae,bA as Me,j4 as Be,bK as Te,bq as Ie,j5 as $e,j6 as be,j7 as Pe,j8 as De,j9 as Ve,ja as pe,bs as Ge}from"./index-CPCojg58.js";import{c as We,a as X}from"./blender-runtime-skin-BEmQAWR7.js";import{r as m}from"./index-nmcBqr7Y.js";import{u as He,v as J,k as Q,w as Z,x as Ue,y as le,t as fe,z as ze,A as Ke,B as me,C as Ye,D as U,E as qe,F as Xe,G as Je}from"./blender-runtime-host-DNyw8Olv.js";import{r as Qe}from"./index-CtzuWnCS.js";import{a as Ze}from"./three-contract-Dkt6PmWY.js";import{o as re,b as K}from"./viewport-door-eEAtWKch.js";import{s as et,a as tt}from"./object3d-document-session-registry-d0khadWE.js";import{d9 as rt}from"./three.core-3arARmh6.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./LineSegments2-DN9pUfWA.js";import"./three.module-BLhyNg0e.js";import"./preview-renderer-BrYNFV1p.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./renderer-ownership-BovSEcLv.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./clip-planes-CnAI6DZn.js";import"./content-bounds-6mX1FAkL.js";import"./hierarchy-marks-oIV0-4rJ.js";import"./workspace-arrangement-BX83yYRw.js";function xe(e){const o=Number.isFinite(e)&&e>0?e:50;return{degrees:2*Math.atan(72/(2*o))*180/Math.PI,axis:"larger"}}Ne("model",{camera:{fov:xe(50),opening:[.8187,.4458,.3617]},interaction:{bootTool:"select",boxSelect:"touch"},all:{lighting:{source:"studio",studioPreset:ke.id,auto:null,tone:{mapper:"none",exposure:1}},xray:{enabled:!1,alpha:.5}},modes:{wireframe:{xray:{enabled:!0,alpha:0}},preview:{lighting:{source:"preview",auto:null,preview:{sceneLights:!1,sun:{enabled:!1},environment:{enabled:!0,image:"blender:forest",energy:1,rotation:0}},tone:{mapper:"agx",exposure:1}},backdrop:{source:"fill"}},rendered:{lighting:{source:"scene",auto:null,tone:{mapper:"agx",exposure:1}},backdrop:{source:"scene"}}},overlays:{selection:{origins:!0}},world:{upAxis:"z"}});function nt(e){return`blender-${e.toLowerCase().replace(/_/g,"-")}`}function $(e){return e?.type==="TSE_SOME_ID"&&e.struct==="Object"&&e.object!==void 0}function ge(e){if(e.struct)return e.struct}function he(e,o){return{id:e.id,label:e.name,role:"entity",kind:nt(e.icon),...ge(e)?{typeLabel:ge(e)}:{},parentId:o,childIds:e.children.map(l=>l.id),defaultExpanded:e.expanded}}const lt={transform:!0,inspectorFields:!1,persist:!0},te=new Set;let Ee=0;const oe=new Set;function ye(){queueMicrotask(()=>{Ee++;for(const e of oe)e()})}function ot(e){return oe.add(e),()=>{oe.delete(e)}}function je(){return Ee}function at(e){for(const o of te)if(o.documentId===e||o.documentId===`object3d-document:${e}`)return o;return te.values().next().value??null}const st=()=>({position:[0,0,0],rotation:[0,0,0,1],scale:[1,1,1]});function it(e,o){e.updateWorldMatrix(!0,!1);const l=o.matrixWorld.clone().invert().multiply(e.matrixWorld).elements;return[[l[0],l[1],l[2],l[3]],[l[4],l[5],l[6],l[7]],[l[8],l[9],l[10],l[11]],[l[12],l[13],l[14],l[15]]]}function Y(e,o){return`${e} needs a file, and this editor has no door to ask for one: the host's file door (\`EditorHost.files\`, \`@volter/editor-sdk/host\`) reads and writes project-relative paths and has no file-picker member, so there is nothing to open the workbench's own dialog through. Blender's row opens a file browser; run without one, the engine answers "${o}".`}const ct=[{kind:"mesh.plane",label:"Plane",group:"Mesh",call:"mesh.primitive_plane_add"},{kind:"mesh.cube",label:"Cube",group:"Mesh",call:"mesh.primitive_cube_add"},{kind:"mesh.circle",label:"Circle",group:"Mesh",call:"mesh.primitive_circle_add"},{kind:"mesh.uv-sphere",label:"UV Sphere",group:"Mesh",call:"mesh.primitive_uv_sphere_add"},{kind:"mesh.ico-sphere",label:"Ico Sphere",group:"Mesh",call:"mesh.primitive_ico_sphere_add"},{kind:"mesh.cylinder",label:"Cylinder",group:"Mesh",call:"mesh.primitive_cylinder_add"},{kind:"mesh.cone",label:"Cone",group:"Mesh",call:"mesh.primitive_cone_add"},{kind:"mesh.torus",label:"Torus",group:"Mesh",call:"mesh.primitive_torus_add"},{kind:"mesh.grid",label:"Grid",group:"Mesh",call:"mesh.primitive_grid_add",separatorBefore:!0},{kind:"mesh.monkey",label:"Monkey",group:"Mesh",call:"mesh.primitive_monkey_add"},{kind:"curve.bezier",label:"Bézier",group:"Curve",call:"curve.primitive_bezier_curve_add"},{kind:"curve.bezier-circle",label:"Circle",group:"Curve",call:"curve.primitive_bezier_circle_add"},{kind:"curve.nurbs-curve",label:"Nurbs Curve",group:"Curve",call:"curve.primitive_nurbs_curve_add",separatorBefore:!0},{kind:"curve.nurbs-circle",label:"Nurbs Circle",group:"Curve",call:"curve.primitive_nurbs_circle_add"},{kind:"curve.path",label:"Path",group:"Curve",call:"curve.primitive_nurbs_path_add"},{kind:"curve.empty-hair",label:"Empty Hair",group:"Curve",call:"object.curves_empty_hair_add",separatorBefore:!0},{kind:"curve.fur",label:"Fur",group:"Curve",call:"object.quick_fur"},{kind:"surface.nurbs-curve",label:"Nurbs Curve",group:"Surface",call:"surface.primitive_nurbs_surface_curve_add"},{kind:"surface.nurbs-circle",label:"Nurbs Circle",group:"Surface",call:"surface.primitive_nurbs_surface_circle_add"},{kind:"surface.nurbs-surface",label:"Nurbs Surface",group:"Surface",call:"surface.primitive_nurbs_surface_surface_add"},{kind:"surface.nurbs-cylinder",label:"Nurbs Cylinder",group:"Surface",call:"surface.primitive_nurbs_surface_cylinder_add"},{kind:"surface.nurbs-sphere",label:"Nurbs Sphere",group:"Surface",call:"surface.primitive_nurbs_surface_sphere_add"},{kind:"surface.nurbs-torus",label:"Nurbs Torus",group:"Surface",call:"surface.primitive_nurbs_surface_torus_add"},{kind:"metaball.ball",label:"Ball",group:"Metaball",call:"object.metaball_add, type='BALL'"},{kind:"metaball.capsule",label:"Capsule",group:"Metaball",call:"object.metaball_add, type='CAPSULE'"},{kind:"metaball.plane",label:"Plane",group:"Metaball",call:"object.metaball_add, type='PLANE'"},{kind:"metaball.ellipsoid",label:"Ellipsoid",group:"Metaball",call:"object.metaball_add, type='ELLIPSOID'"},{kind:"metaball.cube",label:"Cube",group:"Metaball",call:"object.metaball_add, type='CUBE'"},{kind:"text",label:"Text",group:null,call:"object.text_add"},{kind:"point-cloud",label:"Point Cloud",group:null,call:"object.pointcloud_random_add"},{kind:"volume.import",label:"Import OpenVDB...",group:"Volume",call:"object.volume_import",refusal:`${Y("Importing an OpenVDB volume","CANCELLED, with nothing created")} This build also has no OpenVDB at all (\`bpy.app.build_options.openvdb\` is False), so a file would not be read even with a picker.`},{kind:"volume.empty",label:"Empty",group:"Volume",call:"object.volume_add"},{kind:"grease-pencil.blank",label:"Blank",group:"Grease Pencil",call:"object.grease_pencil_add, type='EMPTY'"},{kind:"grease-pencil.stroke",label:"Stroke",group:"Grease Pencil",call:"object.grease_pencil_add, type='STROKE'"},{kind:"grease-pencil.monkey",label:"Monkey",group:"Grease Pencil",call:"object.grease_pencil_add, type='MONKEY'"},{kind:"grease-pencil.lineart-scene",label:"Scene Line Art",group:"Grease Pencil",call:"object.grease_pencil_add, type='LINEART_SCENE'",separatorBefore:!0},{kind:"grease-pencil.lineart-collection",label:"Collection Line Art",group:"Grease Pencil",call:"object.grease_pencil_add, type='LINEART_COLLECTION'"},{kind:"grease-pencil.lineart-object",label:"Object Line Art",group:"Grease Pencil",call:"object.grease_pencil_add, type='LINEART_OBJECT'"},{kind:"armature",label:"Armature",group:null,call:"object.armature_add"},{kind:"lattice.lattice",label:"Lattice",group:"Lattice",call:"object.add, type='LATTICE'"},{kind:"lattice.deform-selected",label:"Lattice Deform Selected",group:"Lattice",call:"object.lattice_add_to_selected"},{kind:"empty.plain-axes",label:"Plain Axes",group:"Empty",call:"object.empty_add, type='PLAIN_AXES'"},{kind:"empty.arrows",label:"Arrows",group:"Empty",call:"object.empty_add, type='ARROWS'"},{kind:"empty.single-arrow",label:"Single Arrow",group:"Empty",call:"object.empty_add, type='SINGLE_ARROW'"},{kind:"empty.circle",label:"Circle",group:"Empty",call:"object.empty_add, type='CIRCLE'"},{kind:"empty.cube",label:"Cube",group:"Empty",call:"object.empty_add, type='CUBE'"},{kind:"empty.sphere",label:"Sphere",group:"Empty",call:"object.empty_add, type='SPHERE'"},{kind:"empty.cone",label:"Cone",group:"Empty",call:"object.empty_add, type='CONE'"},{kind:"image.reference",label:"Reference...",group:"Image",call:"object.empty_image_add, background=False",refusal:Y("A reference image","poll() failed, context is incorrect / Please select at least one image")},{kind:"image.background",label:"Background...",group:"Image",call:"object.empty_image_add, background=True",refusal:Y("A background image","poll() failed, context is incorrect / Please select at least one image")},{kind:"image.mesh-plane",label:"Mesh Plane...",group:"Image",call:"image.import_as_mesh_planes",refusal:Y("An image as a mesh plane","CANCELLED, with nothing created")},{kind:"image.empty-image",label:"Empty Image",group:"Image",call:"object.empty_add, type='IMAGE'"},{kind:"light.point",label:"Point",group:"Light",call:"object.light_add, type='POINT'"},{kind:"light.sun",label:"Sun",group:"Light",call:"object.light_add, type='SUN'"},{kind:"light.spot",label:"Spot",group:"Light",call:"object.light_add, type='SPOT'"},{kind:"light.area",label:"Area",group:"Light",call:"object.light_add, type='AREA'"},{kind:"light-probe.sphere",label:"Sphere",group:"Light Probe",call:"object.lightprobe_add, type='SPHERE'"},{kind:"light-probe.plane",label:"Plane",group:"Light Probe",call:"object.lightprobe_add, type='PLANE'"},{kind:"light-probe.volume",label:"Volume",group:"Light Probe",call:"object.lightprobe_add, type='VOLUME'"},{kind:"camera",label:"Camera",group:null,call:"object.camera_add"},{kind:"speaker",label:"Speaker",group:null,call:"object.speaker_add"},{kind:"force-field.force",label:"Force",group:"Force Field",call:"object.effector_add, type='FORCE'"},{kind:"force-field.wind",label:"Wind",group:"Force Field",call:"object.effector_add, type='WIND'"},{kind:"force-field.vortex",label:"Vortex",group:"Force Field",call:"object.effector_add, type='VORTEX'"},{kind:"force-field.magnetic",label:"Magnetic",group:"Force Field",call:"object.effector_add, type='MAGNET'"},{kind:"force-field.harmonic",label:"Harmonic",group:"Force Field",call:"object.effector_add, type='HARMONIC'"},{kind:"force-field.charge",label:"Charge",group:"Force Field",call:"object.effector_add, type='CHARGE'"},{kind:"force-field.lennard-jones",label:"Lennard-Jones",group:"Force Field",call:"object.effector_add, type='LENNARDJ'"},{kind:"force-field.texture",label:"Texture",group:"Force Field",call:"object.effector_add, type='TEXTURE'"},{kind:"force-field.curve-guide",label:"Curve Guide",group:"Force Field",call:"object.effector_add, type='GUIDE'"},{kind:"force-field.boid",label:"Boid",group:"Force Field",call:"object.effector_add, type='BOID'"},{kind:"force-field.turbulence",label:"Turbulence",group:"Force Field",call:"object.effector_add, type='TURBULENCE'"},{kind:"force-field.drag",label:"Drag",group:"Force Field",call:"object.effector_add, type='DRAG'"},{kind:"force-field.fluid-flow",label:"Fluid Flow",group:"Force Field",call:"object.effector_add, type='FLUID'"}],dt="collection-instance:";function ut(){const e=new Map;for(const o of Q().byId.values()){if(o.type!=="TSE_LAYER_COLLECTION")continue;const l=o.data;l===void 0||!l.startsWith("bpy.data.collections[")||e.has(o.name)||e.set(o.name,{kind:`${dt}${o.name}`,label:o.name,group:"Collection Instance",call:`object.collection_instance_add, collection=${V(o.name)}`})}return[...e.values()]}function ee(){return[...ct,...ut()]}function bt(e){const[o,...l]=e.call.split(", ");return`bpy.ops.${o}(${l.join(", ")})`}function V(e){return JSON.stringify(e)}const _e=new Map;async function pt(e){const o=/bpy\.ops\.([a-z_]+\.[a-z0-9_]+)\(/.exec(e)?.[1];if(o===void 0)return"Blender Python";const l=_e.get(o);if(l!==void 0)return l;const s=await U(`import bpy
2
- print(bpy.ops.${o}.get_rna_type().name)`,!1),c=s.error===null?s.result.trim():"";return c===""?"Blender Python":(_e.set(o,c),c)}async function H(e,o){const l=["before = {o.name for o in bpy.data.objects}",e,"made = [o.name for o in bpy.data.objects if o.name not in before]",'print("\\n".join(made))'].join(`
3
- `),s=await U(l,!0,o??await pt(e));return s.error!==null?{made:[],error:s.error}:{made:s.result.split(`
4
- `).map(p=>p.trim()).filter(p=>p.length>0),error:null}}async function ft(e,o){const l=[`_sel = {${e.map(V).join(", ")}}`,"_vl = bpy.context.view_layer","for _o in _vl.objects:"," _o.select_set(_o.name in _sel)",o===null?"_vl.objects.active = None":`_vl.objects.active = bpy.data.objects.get(${V(o)})`].join(`
5
- `),s=await U(l,!1);s.error!==null&&D().console.error(`Blender refused the selection write: ${s.error}`,"blender-outliner")}async function ne(e,o){if(e.length===0)return{destination:"Nothing is selected, so there was nothing to run it on.",persisted:!1};const l=[`targets = [bpy.data.objects[n] for n in [${e.map(V).join(", ")}]]`,"with bpy.context.temp_override(selected_objects=targets, selected_editable_objects=targets, active_object=targets[0], object=targets[0]):",` ${o}`].join(`
6
- `),{error:s}=await H(l);return s!==null?{destination:s,persisted:!1}:(await Z(e),{destination:`Blender — ${o}; the session saves the .blend`,persisted:!0})}const mt={source:"document",label:"blender",detail:"These rows are Blender's own View Layer tree, read from the engine through RNA. Editing the model is a bpy call; the eye and render columns write the engine directly."},gt="This collection is excluded from the view layer (LayerCollection.exclude), so its viewport visibility is not what is hiding it. Clear the Exclude checkbox on this row first.";function Oe(e){return({defaultAdapter:o})=>{const l=new Set;let s=[],c=null;const p=new Map,j=new Map,k=()=>{for(const n of[...l])n()},b=()=>Q().byId,E=n=>{const t=b().get(n),a=e();return t===void 0||a===null?null:t.type==="TSE_VIEW_COLLECTION_BASE"?a.root:t.object===void 0?null:a.objectForBlenderName(t.object)},O=n=>{const t=e();if(t===null)return null;for(const a of b().values())if($(a)&&t.objectForBlenderName(a.object)===n)return a.id;return null},v=n=>{for(const t of b().values())if($(t)&&t.object===n)return t.id;return null},h=n=>{if(b().has(n))return n;const t=Ze(o.hierarchy,n);return t===null?null:O(t)},x=n=>{const t=h(n);return t===null?null:E(t)},C=n=>{const t=x(n);return t===null?null:o.hierarchy.idForObject3D?.(t)??null},B={roots:()=>(Ye(L()),(Q().tree?.rows??[]).map(t=>he(t,null))),node:n=>{const t=Q(),a=t.byId.has(n)?n:h(n),u=a===null?void 0:t.byId.get(a);return u===void 0?null:he(u,t.parentOf.get(u.id)??null)},object3D:n=>x(n),idForObject3D:n=>O(n)};function L(){const n=b(),t=new Set;for(const a of s){const u=n.get(a)?.object;u!==void 0&&t.add(u)}return[...t]}const A=()=>{const n=[];for(const t of s){const a=x(t),u=a===null?null:o.hierarchy.idForObject3D?.(a);u&&n.push(u)}o.selection?.set(n,{intent:"exact"}),k()},M=()=>{const n=Ue(),t=`${le()}\0${n.active??""}\0${[...n.selected].sort().join("")}`;if(t===c)return;c=t;const a=n.selected.filter(g=>g!==n.active);n.active!==null&&a.push(n.active);const u=a.map(v).filter(g=>g!==null);u.length===s.length&&u.every((g,S)=>g===s[S])||(s=u,A())},r={get:()=>[...s],set:n=>{s=n.map(h).filter(g=>g!==null),A();const t=b(),a=[],u=[];for(const g of s){const S=t.get(g),F=S?.object;F===void 0?u.push(S?.name??g):a.includes(F)||a.push(F)}u.length>0&&D().console.warn(`${u.join(", ")} ${u.length===1?"is":"are"} not an object, so Blender's object selection does not carry ${u.length===1?"it":"them"}. Selecting a collection sets the ACTIVE COLLECTION in Blender, which is its own gesture and not in this editor yet.`,"blender-outliner"),ft(a,a.length===0?null:a[a.length-1])}},i=n=>b().get(n)?.restrict,f={properties:n=>{const t=i(n);if(t===void 0)return[];const a=b().get(n),u=[{path:"name",label:"Name",type:"string",readonly:!$(a)}];return t.hide!==void 0&&u.push({path:"visible",label:"Show in Viewport",type:"boolean"}),t.render!==void 0&&u.push({path:"renderVisible",label:"Show in Renders",type:"boolean"}),t.exclude!==void 0&&u.push({path:"exclude",label:"Exclude from View Layer",type:"boolean"}),u},get:(n,t)=>{const a=b().get(n);if(a!==void 0){if(t==="name")return a.name;if(t==="visible")return a.restrict?.hide===void 0?void 0:!a.restrict.hide;if(t==="renderVisible")return a.restrict?.render===void 0?void 0:!a.restrict.render;if(t==="exclude")return a.restrict?.exclude}},editability:(n,t)=>{const a=b().get(n);return a===void 0?{writable:!1}:t==="name"?$(a)?{writable:!0}:{writable:!1,reason:`Renaming a ${a.struct??a.type} is not in this Outliner yet — only an object row renames here. Rename it with bpy.`}:a.notInCollection?{writable:!1,reason:"This row is a child drawn under its parent although it is not in that collection, and Blender's Outliner draws it no restriction columns."}:t==="visible"&&a.restrict?.exclude===!0?{writable:!1,reason:gt}:{writable:!0}},set:async(n,t,a)=>{const u=b().get(n);if(u===void 0)return;if(t==="name"){if(!$(u))return;const S=String(a);if(S===u.name||S.length===0)return;await fe(`bpy.data.objects[${V(u.object)}]`,"name",S),await Z([S]);const F=v(S);F!==null&&r.set([F]);return}if(t==="exclude"){await me(u.path,"exclude",a===!0);return}const g=t==="visible"?"hide":t==="renderVisible"?"render":null;g!==null&&await me(u.path,g,a===!1)}},w={get:n=>{const t=C(n);return(t===null?void 0:o.transforms?.get(t))??st()},editability:n=>{const t=h(n),a=t===null?void 0:b().get(t);return $(a)&&E(a.id)!==null?{writable:!0}:{writable:!1,reason:`Only an object has a transform; this row is a ${a?.struct??a?.type??"row"}.`}},beginEdit:n=>{const t=x(n);t!==null&&!p.has(t)&&(p.set(t,t.matrixWorld.clone()),j.set(n,t),Ke())},apply:(n,t)=>{const a=x(n);a!==null&&(a.position.fromArray(t.position),a.quaternion.fromArray(t.rotation),a.scale.fromArray(t.scale),a.updateMatrix(),a.updateMatrixWorld(!0))},endEdit:async n=>{const t=j.get(n)??x(n);j.delete(n);const a=e();if(t===null)return;const u=p.get(t);p.delete(t);try{if(a===null||(t.updateWorldMatrix(!0,!1),u?.equals(t.matrixWorld)===!0))return;const g=a.blenderObjectName(t);if(g===null)return;const S=`bpy.data.objects[${JSON.stringify(g)}]`;try{return await fe(S,"matrix_world",it(t,a.root)),{destination:`Blender — ${S}.matrix_world; the session saves the .blend`,persisted:!0}}catch(F){return{destination:F instanceof Error?F.message:String(F),persisted:!1}}}finally{u&&await ze()}}},y=n=>{const t=h(n),a=t===null?void 0:b().get(t);return $(a)?a.object:null},_=n=>({destination:n,persisted:!1}),T=async n=>{await Z(n);const t=n.map(v).filter(a=>a!==null);return t.length>0&&r.set(t),t[0]??""},P={creatableKinds:()=>ee().map(({kind:n,label:t})=>({kind:n,label:t})),create:n=>{const t=ee().find(u=>u.kind===n);if(t===void 0)return{id:"",ack:_(`${n} is not a row of Blender's Add menu that this editor adds. Its rows are: ${ee().map(u=>u.label).join(", ")}.`)};if(t.refusal!==void 0)return{id:"",ack:_(t.refusal)};const a=bt(t);return{id:"",ack:(async()=>{const{made:u,error:g}=await H(a);return g!==null?_(g):u.length===0?_(`Blender ran ${a} and created nothing. The operator reported no error, so it cancelled — most often because it wanted a file browser or a context this headless engine has no window for.`):(await T(u),{destination:`Blender — ${a}; the session saves the .blend`,persisted:!0})})()}},remove:n=>P.removeMany?.([n])??void 0,removeMany:async n=>{const t=[];for(const S of n){const F=y(S);if(F===null){const ue=h(S)===null?void 0:b().get(h(S));return _(`Only an object can be deleted here; this row is a ${ue?.struct??ue?.type??"row"}. Deleting a collection, a modifier or a vertex group is that datablock’s own bpy call.`)}t.push(F)}if(t.length===0)return _("Nothing selected to delete.");const u=[`targets = ${`[bpy.data.objects[n] for n in [${t.map(V).join(", ")}]]`}`,"with bpy.context.temp_override(selected_objects=targets, active_object=targets[0]):"," result = bpy.ops.object.delete(use_global=False)",'if "FINISHED" not in result: raise RuntimeError("Blender cancelled deleting the selected objects")'].join(`
7
- `),{error:g}=await H(u,"Delete Objects");return g!==null?_(g):(r.set([]),await Z([]),{destination:"Blender — bpy.ops.object.delete(use_global=False); the session saves the .blend",persisted:!0})},duplicate:n=>{const t=y(n);if(t===null)return{id:n,ack:_("Only an object can be duplicated here. Duplicating a collection is `bpy.ops.object.collection_instance_add`, its own gesture.")};const a=[`source = bpy.data.objects[${V(t)}]`,"with bpy.context.temp_override(selected_objects=[source], active_object=source):"," result = bpy.ops.object.duplicate(linked=False)",'if "FINISHED" not in result: raise RuntimeError("Blender cancelled duplicating the selected object")'].join(`
8
- `);return{id:n,ack:(async()=>{const{made:u,error:g}=await H(a,"Duplicate Object");return g!==null?_(g):(await T(u),{destination:`Blender — bpy.ops.object.duplicate(linked=False) on ${t}; the session saves the .blend`,persisted:!0})})()}},duplicateMany:async n=>{const t=[...new Set(n.map(y))];if(t.length===0||t.some(S=>S===null))return _("Select objects to duplicate; collections and data rows cannot be duplicated here.");const a=[`sources = [bpy.data.objects[name] for name in ${JSON.stringify(t)}]`,"with bpy.context.temp_override(selected_objects=sources, active_object=sources[0]):"," result = bpy.ops.object.duplicate(linked=False)",'if "FINISHED" not in result: raise RuntimeError("Blender cancelled duplicating the selected objects")'].join(`
9
- `),{made:u,error:g}=await H(a,"Duplicate Objects");return g!==null?_(g):(await T(u),{destination:"Blender — duplicate selected objects as one native operation; the session saves the .blend",persisted:!0})},reparent:()=>_("Reparenting is Blender's `bpy.ops.object.parent_set`, which needs a parent TYPE (Object, Object Keep Transform, Armature Deform, …) that a drag does not say. Set the parent on the object’s Relations panel, or with bpy.")},R={get documentId(){return o.documentId},get documentRootObject(){return o.documentRootObject},capabilities:lt,provenance:mt,hierarchy:B,selection:r,inspector:f,transforms:w,structure:P,subscribe:n=>{l.add(n);const t=J(n),a=o.subscribe?.(n)??(()=>{});return()=>{l.delete(n),t(),a()}}},I={get documentId(){return R.documentId},selectedObjectNames:()=>L(),allObjectNames:()=>{const n=[];for(const t of b().values())$(t)&&n.push(t.object);return n},selectObjects:n=>{const t=n.map(v).filter(a=>a!==null);r.set(t)},rowIdForObject:n=>v(n),structure:P,subscribe:n=>{l.add(n);const t=J(n);return()=>{l.delete(n),t()}}};te.add(I),ye();const G=He(M),Re=J(M);return M(),{adapter:R,dispose:()=>{G(),Re(),te.delete(I),ye(),l.clear()}}}}const ht=Oe(qe),ae="volter.blender.area-split:",se=new Set,ie=new Map;function yt(e){try{return globalThis.localStorage?.getItem(ae+e)==="1"}catch{return!1}}function de(e){let o=ie.get(e);return o===void 0&&(o=yt(e),ie.set(e,o)),o}function ve(e,o){if(de(e)!==o){ie.set(e,o);try{o?globalThis.localStorage?.setItem(ae+e,"1"):globalThis.localStorage?.removeItem(ae+e)}catch{}for(const l of[...se])l()}}function Ce(e){return se.add(e),()=>{se.delete(e)}}const jt=[{label:"Location",call:"location=True, rotation=False, scale=False"},{label:"Rotation",call:"location=False, rotation=True, scale=False"},{label:"Scale",call:"location=False, rotation=False, scale=True"},{label:"All Transforms",call:"location=True, rotation=True, scale=True"}],_t=[{label:"Location",call:"bpy.ops.object.location_clear(clear_delta=False)"},{label:"Rotation",call:"bpy.ops.object.rotation_clear(clear_delta=False)"},{label:"Scale",call:"bpy.ops.object.scale_clear(clear_delta=False)"}],vt=[{label:"Geometry to Origin",type:"GEOMETRY_ORIGIN"},{label:"Origin to Geometry",type:"ORIGIN_GEOMETRY"},{label:"Origin to 3D Cursor",type:"ORIGIN_CURSOR"}],wt=[{submenu:"Mesh",at:"2699"},{submenu:"Curve",at:"2702"},{submenu:"Surface",at:"2704"},{submenu:"Metaball",at:"2705"},{kind:"text",at:"2706"},{kind:"point-cloud",at:"2707"},{submenu:"Volume",at:"2708"},{submenu:"Grease Pencil",at:"2709"},{separatorAt:"2711"},{kind:"armature",at:"2716"},{submenu:"Lattice",at:"2718"},{separatorAt:"2720"},{submenu:"Empty",at:"2722"},{submenu:"Image",at:"2723"},{separatorAt:"2725"},{submenu:"Light",at:"2727"},{submenu:"Light Probe",at:"2728"},{separatorAt:"2730"},{kind:"camera",at:"2735"},{separatorAt:"2737"},{kind:"speaker",at:"2739"},{separatorAt:"2741"},{submenu:"Force Field",at:"2743"},{separatorAt:"2745"},{submenu:"Collection Instance",at:"2759"}],St="No Collections to Instance";function q({id:e,open:o,setOpen:l,anchorRef:s,children:c}){return d.jsxs("div",{ref:s,style:{position:"relative"},children:[d.jsx(Ae,{"data-testid":`blender-menu-${e}`,"aria-expanded":o===e,onClick:()=>l(o===e?null:e),onPointerEnter:()=>{o&&l(e)},style:{textTransform:"capitalize"},children:e}),o===e&&d.jsx(Me,{anchorRef:s,dismissBoundaryRef:s,align:"start",gap:0,clamp:!0,"aria-label":e,onDismiss:()=>l(null),children:c})]})}function kt(e,o,l){(async()=>{const s=await l;s===void 0||typeof s.destination!="string"||s.persisted!==!0&&e?.({tone:"error",title:`${o} was refused`,detail:s.destination})})()}function Fe({documentId:e,notify:o}){m.useSyncExternalStore(J,le,le),m.useSyncExternalStore(ot,je,je);const[l,s]=m.useState(null),c=m.useRef(null),p=m.useRef(null),j=m.useRef(null),k=m.useRef(null),b=m.useRef(null),E=m.useSyncExternalStore(Ce,()=>e===void 0?!1:de(e),()=>!1),O=at(e);if(O===null)return null;const v=(r,i)=>()=>{s(null),kt(o,r,i(O))},h=O.selectedObjectNames(),x=O.allObjectNames(),C=h.length===0?"Nothing is selected.":void 0,B=ee(),L=r=>d.jsx(N,{"data-testid":`blender-add-${r.kind}`,disabled:r.refusal!==void 0,title:r.refusal,onSelect:v(`Add ${r.label}`,i=>i.structure.create(r.kind).ack),children:r.label},r.kind),A=r=>B.filter(i=>i.group===r).flatMap(i=>i.separatorBefore===!0?[d.jsx(z,{},`${i.kind}-separator`),L(i)]:[L(i)]),M=r=>{if("separatorAt"in r)return d.jsx(z,{},`separator-${r.separatorAt}`);if("kind"in r){const f=B.find(w=>w.kind===r.kind);return f===void 0?null:L(f)}const i=A(r.submenu);return i.length===0?d.jsx(N,{"data-testid":"blender-add-collection-instance",disabled:!0,children:St},r.submenu):d.jsx(W,{label:r.submenu,"data-testid":`blender-add-${r.submenu.toLowerCase().replaceAll(" ","-")}`,children:i},r.submenu)};return d.jsxs(Le,{compact:!0,label:"Blender Object Mode menus","data-testid":"blender-object-mode-menus",ref:c,children:[d.jsx(q,{id:"view",open:l,setOpen:s,anchorRef:p,children:d.jsxs(W,{label:"Area","data-testid":"blender-view-area",children:[d.jsx(N,{"data-testid":"blender-area-vertical-split",disabled:E||e===void 0,title:E?"This area is already split.":void 0,onSelect:()=>{s(null),e!==void 0&&ve(e,!0)},children:"Vertical Split"}),d.jsx(z,{}),d.jsx(N,{"data-testid":"blender-area-close",disabled:!E,title:E?void 0:"There is no second area to close.",onSelect:()=>{s(null),e!==void 0&&ve(e,!1)},children:"Close Area"})]})}),d.jsxs(q,{id:"select",open:l,setOpen:s,anchorRef:j,children:[d.jsx(N,{"data-testid":"blender-select-all",onSelect:v("Select All",r=>r.selectObjects(x)),children:"All"}),d.jsx(N,{"data-testid":"blender-select-none",onSelect:v("Select None",r=>r.selectObjects([])),children:"None"}),d.jsx(N,{"data-testid":"blender-select-invert",onSelect:v("Select Invert",r=>r.selectObjects(x.filter(i=>!h.includes(i)))),children:"Invert"})]}),d.jsx(q,{id:"add",open:l,setOpen:s,anchorRef:k,children:wt.map(r=>M(r))}),d.jsxs(q,{id:"object",open:l,setOpen:s,anchorRef:b,children:[d.jsx(W,{label:"Set Origin","data-testid":"blender-object-origin",children:vt.map(r=>d.jsx(N,{"data-testid":`blender-origin-${r.type}`,disabled:r.refusal!==void 0||h.length===0,title:r.refusal??C,onSelect:v(`Set Origin ▸ ${r.label}`,i=>ne(i.selectedObjectNames(),`bpy.ops.object.origin_set(type='${r.type}')`)),children:r.label},r.type))}),d.jsx(W,{label:"Clear","data-testid":"blender-object-clear",children:_t.map(r=>d.jsx(N,{"data-testid":`blender-clear-${r.label.toLowerCase()}`,disabled:h.length===0,title:C,onSelect:v(`Clear ▸ ${r.label}`,i=>ne(i.selectedObjectNames(),r.call)),children:r.label},r.label))}),d.jsx(W,{label:"Apply","data-testid":"blender-object-apply",children:jt.map(r=>d.jsx(N,{"data-testid":`blender-apply-${r.label.toLowerCase().replace(/ /g,"-")}`,disabled:h.length===0,title:C,onSelect:v(`Apply ▸ ${r.label}`,i=>ne(i.selectedObjectNames(),`bpy.ops.object.transform_apply(${r.call})`)),children:r.label},r.label))}),d.jsx(z,{}),d.jsx(N,{"data-testid":"blender-object-duplicate",disabled:h.length===0,title:C,onSelect:v("Duplicate Objects",async r=>{const i=r.selectedObjectNames().map(f=>r.rowIdForObject(f)).filter(f=>f!==null);return r.structure.duplicateMany?.(i)}),children:"Duplicate Objects"}),d.jsx(N,{"data-testid":"blender-object-delete",disabled:h.length===0,title:C,onSelect:v("Delete",r=>{const i=r.selectedObjectNames().map(f=>r.rowIdForObject(f)).filter(f=>f!==null);return r.structure.removeMany?.(i)}),children:"Delete"})]})]})}const lr="workspace.document",or="Blender Model",ar=({documentId:e,notify:o})=>d.jsx(Fe,{documentId:e,notify:o}),xt="model",sr="owned",ir=[],ce=We,we=new WeakMap;function Et(e){let o=we.get(e);return o||(o={subject:()=>{const l=X.playhead();return e.subjectLine(l===null?null:Math.floor(l))},gridScale:l=>e.gridUnitName(l),cameraView:{camera:()=>e.cameraViewCamera(),zoom:e.cameraViewZoom,pan:e.cameraViewPan,showing:l=>e.setCameraViewShowing(l),setPose:(l,s,c,p)=>{const{location:j,rotation:k}=e.blenderPose(s,c);return U(`from mathutils import Matrix, Quaternion, Vector
10
- import bpy
11
- object = bpy.data.objects[${JSON.stringify(l)}]
12
- object.matrix_world = Matrix.LocRotScale(Vector((${j.join(", ")})), Quaternion((${k.join(", ")})), object.matrix_world.to_scale())`,p,"Lock Camera to View").then(b=>{b.error!==null&&D().console.error(`Blender refused the camera's pose: ${b.error}`,"blender-camera")},b=>D().console.error(`The camera's pose was not written to Blender: ${String(b)}`,"blender-camera"))},view:(l,s,c,p)=>e.cameraView(l,s,c,p)}},we.set(e,o),o)}function cr(e){const{active:o,document:l,documentId:s,notify:c,publishContext:p}=e,j=l?.source?.path,k=l?.id,b=JSON.stringify([s,k,j]),[E,O]=m.useState(null),v=m.useRef({notify:c,publishContext:p});return v.current={notify:c,publishContext:p},m.useEffect(()=>{if(o===!1||!s)return;let h=!1,x;const C=j===void 0?null:{documentId:s,entryId:k,blend:j},B=Xe(C),L=()=>{x=v.current.publishContext?.(ce)};return O(null),(async()=>{try{if(C){if(!await Je(C,L))return}else L();h||O({key:b,error:null})}catch(A){if(h)return;x?.(),x=void 0;const M=A instanceof Error?A.message:String(A);O({key:b,error:M}),v.current.notify?.({tone:"error",title:`Blender could not open ${j??"the model"}`,detail:M})}})(),()=>{h=!0,x?.(),B()}},[o,j,s,k,b]),o===!1||!s?null:E?.key!==b?d.jsx("div",{role:"status",children:"Opening model…"}):E.error?d.jsx("div",{role:"alert",children:E.error}):d.jsx(Ot,{...e})}function Ot(e){const{documentId:o}=e,l=m.useSyncExternalStore(Ce,()=>o?de(o):!1,()=>!1),[s,c]=m.useState(null);if(m.useEffect(()=>{if(!l||!o)return;const k=`${o}#area-2`;Be(k).drawMode===void 0&&Te(k,{drawMode:"rendered"});const b=ce.follow();return c(b),()=>{c(null),b.dispose()}},[l,o]),!o)return null;const p=l?s:null,j={position:"relative",flex:"1 1 0",minWidth:0,margin:12};return d.jsxs("div",{style:p?{position:"absolute",inset:-12,display:"flex",gap:2}:{display:"contents"},children:[d.jsx("div",{style:p?j:{display:"contents"},children:d.jsx(Se,{...e,view:ce,main:!0})}),p&&d.jsxs("div",{style:j,"data-testid":"blender-second-area",children:[d.jsx(Se,{...e,documentId:`${o}#area-2`,view:p.view,main:!1}),d.jsx(Ct,{documentId:o,areaId:`${o}#area-2`,notify:e.notify})]})]})}function Ct({documentId:e,areaId:o,notify:l}){m.useSyncExternalStore($e,be,be);const s=m.useSyncExternalStore(Pe,()=>De(e)),c=Ve(o)?.HeaderControls,p=m.useRef(null);return m.useEffect(()=>{const j=p.current,k=j?.parentElement;if(!k)return;const b=()=>pe(e,{headerWidth:k.getBoundingClientRect().width+12,shelf:j});b();const E=new ResizeObserver(b);return E.observe(k),()=>{E.disconnect(),pe(e,null)}},[e]),d.jsxs(d.Fragment,{children:[d.jsx("div",{ref:p,className:"volter-dock-document-shelf",role:"toolbar","aria-orientation":"vertical","aria-label":"Document tools"}),s&&Qe.createPortal(d.jsxs("div",{className:"volter-dock-document-toolbar-own","data-testid":`document-header:${o}`,style:{display:"flex",alignItems:"center"},children:[d.jsx(Fe,{documentId:e,notify:l}),c&&d.jsx(m.Suspense,{fallback:null,children:d.jsx(c,{documentId:o})})]}),s)]})}function Se({active:e,document:o,documentId:l,surfaces:s,view:c,main:p}){const j=Et(c),k=m.useCallback(()=>({root:c.root,onChange(r){const i=c.onChange(r),f=X.subscribe(r);return()=>{i(),f()}},dispose(){}}),[c]),b=o?.source?.path,E=m.useCallback(r=>{const i=c.onChange(r),f=X.subscribe(r);let w=null;const y=()=>{w?.(),w=K().find(T=>T.documentId===l)?.onFrame(r)??null};y();const _=re(y);return()=>{i(),f(),_(),w?.()}},[l,c]),O=m.useSyncExternalStore(E,j.subject),v=m.useMemo(()=>p?ht:Oe(()=>c),[p,c]);m.useEffect(()=>{if(p||!l)return;let r=!1;const i=()=>{if(r)return;const y=tt(l);y===null||c.cameraViewCamera()===null||(r=y.toggleCameraView())};i();const f=et(i),w=c.subscribeFrames(i);return()=>{f(),w()}},[p,l,c]),m.useEffect(()=>{if(!l)return;const r=c.overlayGroups(),i=()=>{const w=K().find(y=>y.documentId===l);if(w)for(const{kind:y,object:_}of r)w.setHelper(y,_)};i();const f=re(i);return()=>{f();const w=K().find(y=>y.documentId===l);for(const{kind:y}of r)w?.setHelper(y,null)}},[l,c]),m.useEffect(()=>{if(!l||!p)return;const{transport:r}=D();let i=null;const f=()=>{if(i)return;const y=r.for(l);y&&(i=X.attachTo(y))};f();const w=r.subscribe(f);return()=>{w(),i?.()}},[l,p]),m.useEffect(()=>{if(!l)return;const r=()=>K().find(R=>R.documentId===l);let i,f=null;const w=new rt,y=()=>r()?.rig().drawCamera()??w,_=()=>{const R=r();R!==i&&(f?.(),f=R?R.onFrame(()=>c.refreshRendered()):null,i=R);const{lighting:I}=Ge(l);c.holdRendered(I.source==="scene"&&R?y:null),c.setWorkbench(I.source==="studio"&&I.studioPreset===ke.id)};_();const T=Ie(_),P=re(_);return()=>{T(),P(),f?.(),c.holdRendered(null),c.setWorkbench(!1)}},[l,c]);const h=m.useRef(null),x=r=>r.button===2&&r.shiftKey&&r.target instanceof HTMLCanvasElement,C=r=>{if(!x(r)){h.current=null;return}r.preventDefault(),r.stopPropagation(),h.current={id:r.pointerId,x:r.clientX,y:r.clientY},r.isTrusted&&r.target.setPointerCapture(r.pointerId)},B=()=>{h.current=null},L=r=>{const i=h.current;if(i===null||r.pointerId!==i.id||r.button!==2||(h.current=null,r.preventDefault(),r.stopPropagation(),Math.hypot(r.clientX-i.x,r.clientY-i.y)>3))return;const f=c.placeCursor(r.clientX,r.clientY,r.target);if(f===null)return;const[w,y,_]=f.location,[T,P,R,I]=f.rotation;U(`from mathutils import Matrix, Quaternion, Vector
13
- bpy.context.scene.cursor.matrix = Matrix.LocRotScale(Vector((${w}, ${y}, ${_})), Quaternion((${T}, ${P}, ${R}, ${I})), None)`,!1,"Set 3D Cursor").then(G=>{G.error!==null&&D().console.error(`Blender refused the 3D cursor: ${G.error}`,"blender-cursor")},G=>D().console.error(`The 3D cursor was not written to Blender: ${String(G)}`,"blender-cursor"))},A=r=>{x(r)&&r.preventDefault()};if(!l)return null;const M=s.Object3DAuthoring;return d.jsx("div",{style:{display:"contents"},onPointerDownCapture:C,onPointerUpCapture:L,onPointerCancelCapture:B,onLostPointerCaptureCapture:B,onContextMenuCapture:A,children:d.jsx(M,{active:e??!0,documentId:l,sourcePath:b??"blender:runtime",displayName:o?.label??"Model",...O===null?{}:{subject:O},gridScale:j.gridScale,cameraView:j.cameraView,build:k,audit:!1,authoring:v,cameraDirection:[.8187,.4458,.3617],openingFit:3,openingView:c.savedView(),presentation:(()=>{const r=c.savedView();return r?{camera:{fov:xe(r.lens)}}:null})(),stageKind:xt,dressing:{environment:!1,keyLight:!1,viewLocked:c.studioLights()}})})}export{ar as Toolbar,cr as default,xt as documentKind,ir as inspectorBuiltins,sr as inspectorRail,lr as point,or as title};
@@ -1 +0,0 @@
1
- import{ah as m}from"./index-CPCojg58.js";import{b as p,a as e,c as n,s}from"./game-network-BRYhoaKR.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-DtRInjS1.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-Cq7PaV_q.js";import"./contract-system-adapters-DNbQm4Uw.js";import"./game-contract-seams-BuJ9qvxY.js";import"./seeded-random-WcHeAKbI.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-Dpyx06pd.js";import"./capability-coverage-B1jH9ygH.js";import"./edit-mode-authoring-BvPDax01.js";import"./json-history-resource-DmiSZatB.js";import"./binding-resolver-BkOGFxcc.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-C0ZZHgtE.js";import"./canvas-entry-runtime-bFI672nP.js";import"./three-ingest-runtime-Can_ZcUf.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-CumnBRLS.js";import"./ingest-source-persistence-D0LQoH45.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-C8DfKod7.js";import"./mounted-authoring-v7VlQXfv.js";import"./entity-object-BTMm2bY3.js";import"./user-data-BkkB0ByQ.js";import"./workspace-arrangement-BX83yYRw.js";import"./three-contract-Dkt6PmWY.js";import"./three-BdFqc-uv.js";import"./editor-layers-ZGgcIXno.js";import"./component-instance-root-R39ACc0B.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-DVAQSXQF.js";import"./source-persistence-backend-9rhWirOd.js";import"./three-projection-core-C1Lx5jx6.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-BXSHDiyJ.js";import"./deferred-ingest-play-B0mq5zKv.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-Cff7FsAj.js";import"./board-guides-DKVoBuLQ.js";import"./relative-import-specifier-CqgNxJFk.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-CA5VRJZ1.js";import"./inference-diagnostics-Dh-QkkEe.js";import"./writer-tw6EcuVO.js";import"./three-state-B9nzv3ez.js";import"./editor-shell-store-KRNd7FtA.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-eEAtWKch.js";import"./game-surface-defaults-D8S4cRxi.js";const zt="workspace.command",a=()=>({ok:!1,error:"not in play mode — start play before using the debug seam"}),Bt={"set-instance-count":{derivedRefresh:"always",handle:o=>{if(!e())return a();const r=o.names;if(Array.isArray(r)&&r.every(i=>typeof i=="string"))return r.length<1?{ok:!1,error:'set-instance-count "names" must have at least one entry.'}:(n(r),{ok:!0});const t=o.count;return typeof t!="number"||!Number.isFinite(t)||t<1?{ok:!1,error:`set-instance-count requires a whole "count" >= 1 (or a "names" array), got ${String(t)}.`}:(s(Math.floor(t)-1),{ok:!0})}},"list-instances":{derivedRefresh:"if-content-changed",handle:()=>({ok:!0,data:{instances:m(),named:p()}})}};export{Bt as commands,zt as point};
@@ -1 +0,0 @@
1
- import{i as t}from"./game-network-BRYhoaKR.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-CPCojg58.js";import"./index-nmcBqr7Y.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./native-debug-module-DtRInjS1.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-Cq7PaV_q.js";import"./contract-system-adapters-DNbQm4Uw.js";import"./game-contract-seams-BuJ9qvxY.js";import"./seeded-random-WcHeAKbI.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-Dpyx06pd.js";import"./capability-coverage-B1jH9ygH.js";import"./edit-mode-authoring-BvPDax01.js";import"./json-history-resource-DmiSZatB.js";import"./binding-resolver-BkOGFxcc.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-C0ZZHgtE.js";import"./canvas-entry-runtime-bFI672nP.js";import"./three-ingest-runtime-Can_ZcUf.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-CumnBRLS.js";import"./ingest-source-persistence-D0LQoH45.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-C8DfKod7.js";import"./mounted-authoring-v7VlQXfv.js";import"./entity-object-BTMm2bY3.js";import"./user-data-BkkB0ByQ.js";import"./workspace-arrangement-BX83yYRw.js";import"./three-contract-Dkt6PmWY.js";import"./three-BdFqc-uv.js";import"./editor-layers-ZGgcIXno.js";import"./component-instance-root-R39ACc0B.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-DVAQSXQF.js";import"./source-persistence-backend-9rhWirOd.js";import"./three-projection-core-C1Lx5jx6.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-BXSHDiyJ.js";import"./deferred-ingest-play-B0mq5zKv.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-Cff7FsAj.js";import"./board-guides-DKVoBuLQ.js";import"./relative-import-specifier-CqgNxJFk.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-CA5VRJZ1.js";import"./inference-diagnostics-Dh-QkkEe.js";import"./writer-tw6EcuVO.js";import"./three-state-B9nzv3ez.js";import"./editor-shell-store-KRNd7FtA.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-eEAtWKch.js";import"./game-surface-defaults-D8S4cRxi.js";const zt="workspace.service";function At(){t()}export{zt as point,At as start};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/r3f-design-session-1ToeZOmU.js","assets/index-CPCojg58.js","assets/index-nmcBqr7Y.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-D_NuPfjr.js","assets/jsx-runtime-DPjLkJKQ.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/edit-mode-authoring-BvPDax01.js","assets/game-network-BRYhoaKR.js","assets/index-OZVqp6xS.js","assets/index-Da9JhEvW.js","assets/native-debug-module-DtRInjS1.js","assets/native-entry-surface-BE8LJNdu.js","assets/debug-registry-Cq7PaV_q.js","assets/contract-system-adapters-DNbQm4Uw.js","assets/game-contract-seams-BuJ9qvxY.js","assets/seeded-random-WcHeAKbI.js","assets/game-audio-BeCyd0Ha.js","assets/rapier-physics-adapter-CaZqWLu0.js","assets/events-156d8d12.esm-CYeuVCYr.js","assets/three.module-BLhyNg0e.js","assets/three.core-3arARmh6.js","assets/index-bQE2NA0D.js","assets/live-project-verbs-Dpyx06pd.js","assets/capability-coverage-B1jH9ygH.js","assets/json-history-resource-DmiSZatB.js","assets/binding-resolver-BkOGFxcc.js","assets/adapter-surface-Y37Nzcyw.js","assets/structural-signature-Dc7skRiy.js","assets/webgl-frame-capture-DdJkM2mi.js","assets/realm-services-C0ZZHgtE.js","assets/canvas-entry-runtime-bFI672nP.js","assets/three-ingest-runtime-Can_ZcUf.js","assets/EffectComposer-BEAt0PtQ.js","assets/CopyShader-BzTUYzf6.js","assets/ShaderPass-DTnDQXm0.js","assets/Pass-D1MRT672.js","assets/CSS3DRenderer-BsAqfavI.js","assets/relative-path-guard-GiM7Lsz8.js","assets/react-root-BHA-cdrW.js","assets/editor-presentation-activity-CqJH4G9t.js","assets/active-ingest-CumnBRLS.js","assets/ingest-source-persistence-D0LQoH45.js","assets/pixi-story-model-DNkfnWUV.js","assets/surface-content-Dg9Kkazf.js","assets/viewport-root-presentation-C8DfKod7.js","assets/mounted-authoring-v7VlQXfv.js","assets/entity-object-BTMm2bY3.js","assets/user-data-BkkB0ByQ.js","assets/workspace-arrangement-BX83yYRw.js","assets/three-contract-Dkt6PmWY.js","assets/three-BdFqc-uv.js","assets/editor-layers-ZGgcIXno.js","assets/component-instance-root-R39ACc0B.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/three-authoring-adapter-DVAQSXQF.js","assets/source-persistence-backend-9rhWirOd.js","assets/three-projection-core-C1Lx5jx6.js","assets/body-marks-C1LxJtQb.js","assets/user-data-CODoGZqA.js","assets/object-marks-BnvSuCTt.js","assets/structural-ids-BOo2BRoY.js","assets/object3d-authoring-subject-XccsO0xG.js","assets/r3f-physics-binding-BXSHDiyJ.js","assets/deferred-ingest-play-B0mq5zKv.js","assets/rrweb-Cd2ifIRP.js","assets/react-world-authoring-adapter-Cff7FsAj.js","assets/board-guides-DKVoBuLQ.js","assets/relative-import-specifier-CqgNxJFk.js","assets/story-arg-descriptors-Ek86ExX7.js","assets/inspect-CA5VRJZ1.js","assets/inference-diagnostics-Dh-QkkEe.js","assets/writer-tw6EcuVO.js","assets/three-state-B9nzv3ez.js","assets/editor-shell-store-KRNd7FtA.js","assets/output-pass-HurwNl0G.js","assets/viewport-door-eEAtWKch.js","assets/game-surface-defaults-D8S4cRxi.js","assets/scene-framing-BmfB9q_Z.js","assets/assets-BcrMQHRv.js","assets/loader-BTUKnX5Q.js","assets/KTX2Loader-CaqVE6nY.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/create-runtime-SH8rIdxg.js","assets/binding-Bmxqznjk.js","assets/root-stacking-BEd9ZvxC.js","assets/setup-renderer-CX3K4YbA.js","assets/index-DHhMOs_s.js","assets/defaults-DKiBJCPN.js","assets/render-settings-Bx9QGvwd.js","assets/render-features-DOxvOOZ1.js","assets/loop-gate-report-N52EWFGD.js","assets/system-slot-E2mEdiih.js","assets/performance-profiler-CMbwGBuk.js","assets/live-gesture-lock-DJbrjOqf.js"])))=>i.map(i=>d[i]);
2
- import{_ as s,aF as n}from"./index-CPCojg58.js";import{r as a}from"./design-time-mount-registry-DUpXCg1U.js";import{q as c}from"./edit-mode-authoring-BvPDax01.js";import{a as u}from"./json-history-resource-DmiSZatB.js";import{o as h}from"./three-authoring-adapter-DVAQSXQF.js";import{t as i}from"./editor-shell-store-KRNd7FtA.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./component-instance-root-R39ACc0B.js";import"./user-data-BkkB0ByQ.js";import"./workspace-arrangement-BX83yYRw.js";import"./source-persistence-backend-9rhWirOd.js";import"./ingest-source-persistence-D0LQoH45.js";import"./three-projection-core-C1Lx5jx6.js";import"./editor-layers-ZGgcIXno.js";import"./three-BdFqc-uv.js";import"./entity-object-BTMm2bY3.js";import"./three-contract-Dkt6PmWY.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three.core-3arARmh6.js";import"./body-marks-C1LxJtQb.js";import"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";import"./structural-ids-BOo2BRoY.js";import"./object3d-authoring-subject-XccsO0xG.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./r3f-physics-binding-BXSHDiyJ.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./Pass-D1MRT672.js";const U="workspace.service";function X(){const r=s(()=>import("./r3f-design-session-1ToeZOmU.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99]));r.catch(()=>{});const m=n("three",(t,o)=>h(i(t),()=>i(t).scene,o,u(o))),e=a({kind:"three",owner:"@volter/editor-game/three/three-authoring",async mountWorldRootSession(t){const o=t,{mountR3FDesignSession:p}=await r;return p(o.store,o.composite,o.renderer)}});return c(),()=>{e(),m()}}export{U as point,X as start};
@@ -1 +0,0 @@
1
- import{e as r}from"./three-integration-BVRiaNfa.js";import"./index-CPCojg58.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./host-hierarchy-objects-BV3WqU2w.js";import"./renderer-ownership-BovSEcLv.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./preview-renderer-BrYNFV1p.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./layered-pick-F4Nppx6F.js";import"./root-stacking-BEd9ZvxC.js";import"./user-data-BkkB0ByQ.js";import"./workspace-arrangement-BX83yYRw.js";import"./model-thumbnail-BSDzS2s4.js";import"./studio-environment-BzV2N2t_.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./object3d-document-session-registry-d0khadWE.js";import"./three-state-B9nzv3ez.js";import"./editor-shell-store-KRNd7FtA.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./editor-layers-ZGgcIXno.js";import"./entity-object-BTMm2bY3.js";import"./three-contract-Dkt6PmWY.js";import"./hierarchy-marks-oIV0-4rJ.js";import"./component-instance-root-R39ACc0B.js";import"./viewport-door-eEAtWKch.js";import"./content-bounds-6mX1FAkL.js";import"./asset-preview-4eaPPopc.js";import"./bitmap-label-Ct4k6ehY.js";const Q="workspace.service";function R(){return r()}export{Q as point,R as start};
@@ -1 +0,0 @@
1
- import{a as o}from"./jsx-runtime-DPjLkJKQ.js";import{r as t}from"./index-CPCojg58.js";import{r as m}from"./index-nmcBqr7Y.js";import{P as p}from"./PlayBar-Car3RsYK.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-D_NuPfjr.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./configurations-BKffkAiM.js";import"./run-selection-QKV9HubI.js";import"./game-network-BRYhoaKR.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./native-debug-module-DtRInjS1.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-Cq7PaV_q.js";import"./contract-system-adapters-DNbQm4Uw.js";import"./game-contract-seams-BuJ9qvxY.js";import"./seeded-random-WcHeAKbI.js";import"./game-audio-BeCyd0Ha.js";import"./rapier-physics-adapter-CaZqWLu0.js";import"./events-156d8d12.esm-CYeuVCYr.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./index-bQE2NA0D.js";import"./live-project-verbs-Dpyx06pd.js";import"./capability-coverage-B1jH9ygH.js";import"./edit-mode-authoring-BvPDax01.js";import"./json-history-resource-DmiSZatB.js";import"./binding-resolver-BkOGFxcc.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-C0ZZHgtE.js";import"./canvas-entry-runtime-bFI672nP.js";import"./three-ingest-runtime-Can_ZcUf.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-CumnBRLS.js";import"./ingest-source-persistence-D0LQoH45.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-C8DfKod7.js";import"./mounted-authoring-v7VlQXfv.js";import"./entity-object-BTMm2bY3.js";import"./user-data-BkkB0ByQ.js";import"./workspace-arrangement-BX83yYRw.js";import"./three-contract-Dkt6PmWY.js";import"./three-BdFqc-uv.js";import"./editor-layers-ZGgcIXno.js";import"./component-instance-root-R39ACc0B.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-DVAQSXQF.js";import"./source-persistence-backend-9rhWirOd.js";import"./three-projection-core-C1Lx5jx6.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-BXSHDiyJ.js";import"./deferred-ingest-play-B0mq5zKv.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-Cff7FsAj.js";import"./board-guides-DKVoBuLQ.js";import"./relative-import-specifier-CqgNxJFk.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-CA5VRJZ1.js";import"./inference-diagnostics-Dh-QkkEe.js";import"./writer-tw6EcuVO.js";import"./three-state-B9nzv3ez.js";import"./editor-shell-store-KRNd7FtA.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-eEAtWKch.js";import"./game-surface-defaults-D8S4cRxi.js";const Dr="workspace.header",Fr=0;function Gr(){const{project:r}=t();return m.useSyncExternalStore(r.subscribe,r.mounts,r.mounts)?o.jsx(p,{}):null}export{Gr as default,Fr as order,Dr as point};