@volter/game-editor 0.5.98 → 0.5.100
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.
- package/BUNDLED_NOTICES +22 -22
- package/catalog/entries/blender.json +2 -2
- package/catalog/entries/music.json +2 -2
- package/dist/.vite/manifest.json +2163 -2163
- package/dist/assets/{AssetBudgetPanel-CYUJjJ94.js → AssetBudgetPanel-BguLG6Oj.js} +3 -3
- package/dist/assets/{AudioViewer-D3cfg4ml.js → AudioViewer-C33_IIBb.js} +1 -1
- package/dist/assets/{CanvasBoardDocument-D8sK_xyG.js → CanvasBoardDocument-DEgaKoON.js} +1 -1
- package/dist/assets/{CanvasSceneViewport-CEXxZv3P.js → CanvasSceneViewport-Dq8xQSFa.js} +1 -1
- package/dist/assets/{ColorInput-CZnenbqt.js → ColorInput-CJHsBNTm.js} +1 -1
- package/dist/assets/{ColorPicker-Bc9BzljY.js → ColorPicker-C6JNO582.js} +1 -1
- package/dist/assets/{EntityModelDocument-DckIPX3c.js → EntityModelDocument-Bx3GUJhv.js} +1 -1
- package/dist/assets/{EnvironmentAssetDocument-CDPBYiSJ.js → EnvironmentAssetDocument-BBfbWQr2.js} +1 -1
- package/dist/assets/{GameplaySessionTimeline-CuVrbEQL.js → GameplaySessionTimeline-DD6rKdJV.js} +1 -1
- package/dist/assets/{ImageViewer-DfXYDb1X.js → ImageViewer-CqkTiGjd.js} +1 -1
- package/dist/assets/InspectorObjectPreview-DQaBNg6J.js +1 -0
- package/dist/assets/{JsonAssetDocument-BEKGk2nb.js → JsonAssetDocument-KlWnLtng.js} +1 -1
- package/dist/assets/{LiveModuleDocument-CpmVed1N.js → LiveModuleDocument-Cmfq2xIq.js} +1 -1
- package/dist/assets/{LutAssetDocument-BIapcD5V.js → LutAssetDocument-DCk_lEtd.js} +1 -1
- package/dist/assets/{ModelAssetDocument-UwH6Ng58.js → ModelAssetDocument-DUU3kEb8.js} +1 -1
- package/dist/assets/{NonThreeAuthoringBootstrap-CTkF_Fjw.js → NonThreeAuthoringBootstrap-DMsyvfjH.js} +1 -1
- package/dist/assets/{Object3DDocumentToolbar-C0bsqmKv.js → Object3DDocumentToolbar-B4t9FHBS.js} +1 -1
- package/dist/assets/Object3DDocumentViewport-DFY6bZ5u.js +2 -0
- package/dist/assets/{Object3DPreview-rEJMq5PW.js → Object3DPreview-BbX49lPS.js} +1 -1
- package/dist/assets/{OnlineAssetDetail-BOPfM7Y2.js → OnlineAssetDetail-CY4hh_-n.js} +1 -1
- package/dist/assets/{PlayBar-MxWuZDbI.js → PlayBar-Dc_JivRe.js} +1 -1
- package/dist/assets/{QuarksAssetDocument-wB8wcf2f.js → QuarksAssetDocument-D_v5bFgu.js} +1 -1
- package/dist/assets/{ReactCanvasControls-DeKZZILw.js → ReactCanvasControls-DykKDxI1.js} +1 -1
- package/dist/assets/{RootSelectionOverlay-DYanTBYE.js → RootSelectionOverlay-CeiH9oQ4.js} +1 -1
- package/dist/assets/{ShaderAssetDocument-CyDKdN5b.js → ShaderAssetDocument-BKBJgyum.js} +1 -1
- package/dist/assets/{ShadowEditor-DbTzN2mf.js → ShadowEditor-D43GSPw2.js} +1 -1
- package/dist/assets/{SourceAssetViewer-BymSraDS.js → SourceAssetViewer-Dk6H8HJK.js} +1 -1
- package/dist/assets/{StageHost-DeO574tC.js → StageHost-gcKoNeF1.js} +2 -2
- package/dist/assets/{StoryPreviewMount-DvSkOR4Z.js → StoryPreviewMount-C6hUEEGF.js} +1 -1
- package/dist/assets/{ThreeBoardDocument-CHB3u0xE.js → ThreeBoardDocument-ELA9MChh.js} +2 -2
- package/dist/assets/{ThreeIsolationSceneContent-BY8vG3kV.js → ThreeIsolationSceneContent-C_WArbjR.js} +1 -1
- package/dist/assets/{ToolObject3DPreview-CtfgzNns.js → ToolObject3DPreview-BlY_X0Mb.js} +1 -1
- package/dist/assets/{Toolbar-BfhP5BUg.js → Toolbar-CJ7ysST0.js} +1 -1
- package/dist/assets/{TransientHint-Byhdm3Od.js → TransientHint-DWHgvGOM.js} +1 -1
- package/dist/assets/{VideoViewer-DW1zETUK.js → VideoViewer-DCVaweNw.js} +1 -1
- package/dist/assets/{ViewportShadingMenu-BL9v8N9j.js → ViewportShadingMenu-D-VZLIca.js} +1 -1
- package/dist/assets/{active-ingest-_WDvM24r.js → active-ingest-CG9F01F-.js} +2 -2
- package/dist/assets/{animation-clock-Gep7Un-B.js → animation-clock-C7C5Zhph.js} +1 -1
- package/dist/assets/{animation-mixers.service-DGJIQnos.js → animation-mixers.service-DfP0R08z.js} +1 -1
- package/dist/assets/{animation-timeline.utility-CVbfCvgY.js → animation-timeline.utility-BMXjjOuk.js} +1 -1
- package/dist/assets/{asset-budget-asset.menu-gyAKeUNd.js → asset-budget-asset.menu-fF6vLUmQ.js} +1 -1
- package/dist/assets/{asset-budget.action-BghNaV-4.js → asset-budget.action-R0twtx2J.js} +1 -1
- package/dist/assets/{asset-budget.document-B7wUAdpI.js → asset-budget.document-8F8mW3N1.js} +1 -1
- package/dist/assets/{asset-budget.menu-OkiblnyF.js → asset-budget.menu-B1gOB7SA.js} +1 -1
- package/dist/assets/{asset-editor-persistence-B4oTV3TQ.js → asset-editor-persistence-CA-XT1f1.js} +1 -1
- package/dist/assets/{asset-loaders-C_-GHTQo.js → asset-loaders-D9gOmh3H.js} +1 -1
- package/dist/assets/{asset-preview-Di8vxUY8.js → asset-preview-BIk4f-i_.js} +1 -1
- package/dist/assets/{audio-unlock.service-BtqFiL1X.js → audio-unlock.service-DNMPkDf-.js} +1 -1
- package/dist/assets/{audio.utility-viua3_CA.js → audio.utility-AWv9iYxx.js} +1 -1
- package/dist/assets/autoplay.service-qg8gW94F.js +1 -0
- package/dist/assets/{babylon-authoring-adapter-CxbL-7dI.js → babylon-authoring-adapter-D5kXSc63.js} +1 -1
- package/dist/assets/{binding-resolver-B1NT5eZp.js → binding-resolver-BYD9JsMG.js} +2 -2
- package/dist/assets/{blender-emscripten-engine-BUt1MIRn.js → blender-emscripten-engine-DMm-6gss.js} +1 -1
- package/dist/assets/{blender-node-editor.document-C2QdPHaS.js → blender-node-editor.document-Che5xG38.js} +1 -1
- package/dist/assets/{blender-properties-tab-BatuUyQ6.js → blender-properties-tab-l34kNp8g.js} +1 -1
- package/dist/assets/blender-runtime-host-Hwwyewvk.js +7 -0
- package/dist/assets/{blender-runtime-skin-CCKkESgo.js → blender-runtime-skin-DNdlUHPL.js} +2 -2
- package/dist/assets/blender-runtime.document-CKA63ezC.js +13 -0
- package/dist/assets/{blender-screenshot.menu-D6z3j9Z0.js → blender-screenshot.menu-Bl5lZOL6.js} +1 -1
- package/dist/assets/{blender-timeline.document-BfvX9HD8.js → blender-timeline.document-CKfQ9nLu.js} +1 -1
- package/dist/assets/{blender-uv-editor.document-9zFVMreH.js → blender-uv-editor.document-efujrgJG.js} +1 -1
- package/dist/assets/{blender-version.status-B31FeHyZ.js → blender-version.status-DQ9NvEKn.js} +1 -1
- package/dist/assets/{blender-wali-engine--CAT1JcK.js → blender-wali-engine-BQnc_4bT.js} +1 -1
- package/dist/assets/{blender.command-q5Ss5U4v.js → blender.command-T9Mb6BH4.js} +1 -1
- package/dist/assets/{board-guides-DLC77TC2.js → board-guides-CIbWp-Ni.js} +1 -1
- package/dist/assets/{bridge.command-Ca9_9Usm.js → bridge.command-ugnE788e.js} +3 -3
- package/dist/assets/{browserAll-V5qUB869.js → browserAll-BQLBJnE9.js} +1 -1
- package/dist/assets/{build-player.document-Dihw3ECY.js → build-player.document-CE74z6I2.js} +1 -1
- package/dist/assets/{build-profiles.document-BX9nb42H.js → build-profiles.document-Car48RZc.js} +1 -1
- package/dist/assets/{build-progress.status-D-0oRNyH.js → build-progress.status-BFQrSzfx.js} +1 -1
- package/dist/assets/{build-session-Dvt7pd00.js → build-session-DBy9o4C9.js} +1 -1
- package/dist/assets/{build.action-C0ockeu9.js → build.action-Bm2cWZqQ.js} +1 -1
- package/dist/assets/{build.command-CSW_MD00.js → build.command-L3nm-9IX.js} +1 -1
- package/dist/assets/{build.header-BczTqYb_.js → build.header-ClwTTHsc.js} +1 -1
- package/dist/assets/{build.menu-DBAU85mK.js → build.menu-DAYGKFLX.js} +1 -1
- package/dist/assets/{build.service-BjwUe_ye.js → build.service-CLLTQVWP.js} +1 -1
- package/dist/assets/{camera-BThd0DYj.js → camera-Coj0LFaM.js} +1 -1
- package/dist/assets/{camera-runtime.inspector-c51thcIe.js → camera-runtime.inspector-3wiggBFZ.js} +1 -1
- package/dist/assets/{canvas-design-mount-Dg1jk7P9.js → canvas-design-mount-CR4y86pc.js} +3 -3
- package/dist/assets/{canvas-entry-runtime-D4UUWHHS.js → canvas-entry-runtime-Coi9k_ix.js} +2 -2
- package/dist/assets/{canvas-preview-frames-8g_T28jt.js → canvas-preview-frames-Bz65SXJB.js} +1 -1
- package/dist/assets/{canvas-story-capture.service-BD2ZDfgb.js → canvas-story-capture.service-CTnISsQZ.js} +2 -2
- package/dist/assets/{capability-coverage-D1AjR_LI.js → capability-coverage-sdwhSa37.js} +1 -1
- package/dist/assets/{collaboration-presence-B1-ixzD4.js → collaboration-presence-BCzunCc9.js} +1 -1
- package/dist/assets/{collider-D_MStfz8.js → collider-B6f_3TvH.js} +1 -1
- package/dist/assets/{component-board.service-kpvKo8AX.js → component-board.service-CSvY-80-.js} +2 -2
- package/dist/assets/{component-board.service-CNfcy4re.js → component-board.service-DNe0KNqn.js} +2 -2
- package/dist/assets/{component-board.service-BCJDbWJO.js → component-board.service-aBs2c6TM.js} +2 -2
- package/dist/assets/{component-contracts.service-DOq7Uz8X.js → component-contracts.service-vFXN9Qjk.js} +1 -1
- package/dist/assets/{component-instance-root-BVjTH0AO.js → component-instance-root-DlhjL6uO.js} +1 -1
- package/dist/assets/{component-verbs.command-BJ7vPc7n.js → component-verbs.command-9THu41KW.js} +1 -1
- package/dist/assets/{component-verbs.service-A7JUNMTN.js → component-verbs.service-8DaiPRmV.js} +1 -1
- package/dist/assets/{config-DXbdl8V5.js → config-CD9HXujK.js} +2 -2
- package/dist/assets/{configurations-CUnfG7ZO.js → configurations-Dxp-AEFQ.js} +1 -1
- package/dist/assets/{connection.status-B-cxZwYA.js → connection.status-CXugGTE4.js} +1 -1
- package/dist/assets/{constraints.inspector-Crmp8_cu.js → constraints.inspector-C2CyP0Ve.js} +1 -1
- package/dist/assets/{content-bounds-DzkikRBl.js → content-bounds-CKdpRhSJ.js} +1 -1
- package/dist/assets/{contract-system-adapters-BTeuY0Wz.js → contract-system-adapters-Cn3xdskp.js} +1 -1
- package/dist/assets/{coverage.service-B8ThvM6U.js → coverage.service-D3eufHdn.js} +1 -1
- package/dist/assets/{create-runtime-DTWZzn1t.js → create-runtime-Dt3Q9wUe.js} +1 -1
- package/dist/assets/{curve-CpzFB8qh.js → curve-DDwVHEbZ.js} +1 -1
- package/dist/assets/{data-asset-CIxV9JTk.js → data-asset-BhPWSIxx.js} +1 -1
- package/dist/assets/{data-ref-DrNnlhsi.js → data-ref-BbDy_25O.js} +1 -1
- package/dist/assets/{debug-bridge-B43FSMW-.js → debug-bridge-jNc__B4a.js} +1 -1
- package/dist/assets/{debug-registry-DZXSvvn0.js → debug-registry-DUibofOm.js} +1 -1
- package/dist/assets/{deferred-ingest-play-DtbBSsch.js → deferred-ingest-play-Bnmm84IV.js} +2 -2
- package/dist/assets/{design-time-canvas-mount-BNJucWC9.js → design-time-canvas-mount-T3fCbDbD.js} +2 -2
- package/dist/assets/{design-time-layers-DSk4tElq.js → design-time-layers-BwAonuG8.js} +1 -1
- package/dist/assets/{design-time-mount.service-mqzVtqAw.js → design-time-mount.service-BEyZtQWB.js} +2 -2
- package/dist/assets/{design-time-mount.service-B1uT1tYo.js → design-time-mount.service-DataG13i.js} +2 -2
- package/dist/assets/{design-time-react-mount-BfdKL8vZ.js → design-time-react-mount-B_sveXas.js} +1 -1
- package/dist/assets/{document-preview-three-BZmgWaSO.js → document-preview-three-BLxXIWVK.js} +1 -1
- package/dist/assets/{dom-authoring-adapter-DoX9DoiD.js → dom-authoring-adapter-B1_ARBYy.js} +1 -1
- package/dist/assets/{draco3d-DucG06PU.js → draco3d-CPTSQ0YZ.js} +1 -1
- package/dist/assets/{edit-mode-audio.service-DdZc2jfs.js → edit-mode-audio.service-Dw8GM_6s.js} +1 -1
- package/dist/assets/{edit-mode-authoring-Ch6v9PnO.js → edit-mode-authoring-D5X403pt.js} +1 -1
- package/dist/assets/{edit-mode-networking.service-BpnwwS06.js → edit-mode-networking.service-CAC9t9SF.js} +1 -1
- package/dist/assets/{editor-api-DUY4XF3E.js → editor-api-D-xdZjl_.js} +1 -1
- package/dist/assets/{editor-layers-DJwy9H_k.js → editor-layers-B2JzjbZA.js} +1 -1
- package/dist/assets/{editor-shell-store-B87W2cjm.js → editor-shell-store-DljZJLam.js} +1 -1
- package/dist/assets/{entity-object-BpsV3ox5.js → entity-object-DXoxKycf.js} +1 -1
- package/dist/assets/{extend-CC4illCZ.js → extend-fNqQTlPR.js} +1 -1
- package/dist/assets/{fork-menu-DMGtk-df.js → fork-menu-D6m8f8nv.js} +1 -1
- package/dist/assets/{frame-debugger-store-DJdnRJUk.js → frame-debugger-store-DVU9Ay9-.js} +1 -1
- package/dist/assets/{game-contract-seams-leXTqnUS.js → game-contract-seams-B-AOrfmJ.js} +1 -1
- package/dist/assets/{game-css-scope-transform-B2GgkZOW.js → game-css-scope-transform-17lvGDbj.js} +1 -1
- package/dist/assets/{game-document.service-DU8RzyUd.js → game-document.service-Ht9IF0g9.js} +1 -1
- package/dist/assets/{game-eval.command-CXeVgR1j.js → game-eval.command-BRWS6fpC.js} +1 -1
- package/dist/assets/{game-module-access-BdrsVQdv.js → game-module-access-DfrgiZsG.js} +1 -1
- package/dist/assets/{game-network-CBHt-_DV.js → game-network-D_niobFl.js} +3 -3
- package/dist/assets/{gameplay-export-CBGX3vzm.js → gameplay-export-BeqmbzQ4.js} +1 -1
- package/dist/assets/{gameplay-replay-pGsdN2b-.js → gameplay-replay-DlQ1KfJ5.js} +1 -1
- package/dist/assets/{gameplay.command-CU-k64Ab.js → gameplay.command-BM9qKtor.js} +1 -1
- package/dist/assets/{generation-jobs-CTnSvyBa.js → generation-jobs-CNT4AL_p.js} +1 -1
- package/dist/assets/{generation.service-BZwHj9AP.js → generation.service-Bnv1uQ5C.js} +1 -1
- package/dist/assets/{generations-D2YCnWwG.js → generations-D1klayMe.js} +1 -1
- package/dist/assets/{generations.status--hCUPMhD.js → generations.status-HIrqqrlU.js} +1 -1
- package/dist/assets/{hierarchy-marks-D1HxcOXp.js → hierarchy-marks-B_qmrhDO.js} +1 -1
- package/dist/assets/{hosted-asset-materialization-Djmv6uo-.js → hosted-asset-materialization-C6AJeUPp.js} +1 -1
- package/dist/assets/{index-r5GMjI4u.js → index-BOHbdxBV.js} +1 -1
- package/dist/assets/{index-DVJePnKE.js → index-BfcuJH-x.js} +1 -1
- package/dist/assets/{index-BMchyFVg.js → index-CHK1t9Gu.js} +1 -1
- package/dist/assets/{index-CS5UDFWT.js → index-Cpe424Eh.js} +1 -1
- package/dist/assets/{index-W7hnJutR.js → index-D6VYIDu6.js} +1 -1
- package/dist/assets/{index-C5cL2IUJ.js → index-D8qHS95_.js} +7 -7
- package/dist/assets/{index-Dp7eO4yU.js → index-DxTv7jrz.js} +1 -1
- package/dist/assets/{index-DXBXE0hk.js → index-XAzI_8EW.js} +1 -1
- package/dist/assets/{index-D4HAbSY1.js → index-nkbk3WyY.js} +2 -2
- package/dist/assets/{inference-diagnostics-BI3pXsTw.js → inference-diagnostics-x4u4h3Ui.js} +1 -1
- package/dist/assets/{ingest-boot-viewport--RER68Hf.js → ingest-boot-viewport-_zmIqPtc.js} +1 -1
- package/dist/assets/{ingest-siblings-D-acEhl8.js → ingest-siblings-CkFgDSTn.js} +1 -1
- package/dist/assets/{ingest-source-persistence-CCGS4Nxy.js → ingest-source-persistence-Dn2nn_dq.js} +1 -1
- package/dist/assets/{ingest.service-BJNrvg1w.js → ingest.service-CnIPOMqa.js} +1 -1
- package/dist/assets/{inspect-Czr75mkK.js → inspect-z_EuQ5W3.js} +1 -1
- package/dist/assets/instances.command-BhZ9C8ga.js +1 -0
- package/dist/assets/{json-history-resource-DS16aq7M.js → json-history-resource-45dFXO7k.js} +1 -1
- package/dist/assets/{layered-pick-6TWdZ7gI.js → layered-pick-QfPeC-94.js} +1 -1
- package/dist/assets/{light-RsKoPui1.js → light-D059ZVy_.js} +1 -1
- package/dist/assets/{live-project-verbs-Xdg6cat1.js → live-project-verbs-Dz3uaDSH.js} +1 -1
- package/dist/assets/{machine.document-DcQb_OIY.js → machine.document-B9YCyPJO.js} +1 -1
- package/dist/assets/{machines.finder-Bqq1wtq5.js → machines.finder-Bd_Gtzlj.js} +1 -1
- package/dist/assets/{material-B_D7n6mb.js → material-CN7pM5g6.js} +1 -1
- package/dist/assets/{material-factory-CuXmyLzp.js → material-factory-BYjCaMqj.js} +1 -1
- package/dist/assets/{mesh-CahLLFyU.js → mesh-BeHe5X41.js} +1 -1
- package/dist/assets/{model-asset-sections.service-DCf6Ptug.js → model-asset-sections.service-MYJICwJh.js} +1 -1
- package/dist/assets/{model-inspection-BSCcC5V2.js → model-inspection-CYbbfzzy.js} +1 -1
- package/dist/assets/{model-thumbnail-D73YMcQe.js → model-thumbnail-C2nGqGGo.js} +1 -1
- package/dist/assets/{models.finder-DRzo0vrh.js → models.finder-DMoHOq7E.js} +1 -1
- package/dist/assets/{module-mode-BoKe-JQH.js → module-mode-zG9SFcD-.js} +2 -2
- package/dist/assets/{mount-canvas-ingest-root-DtbPPM9b.js → mount-canvas-ingest-root-BMQbWPia.js} +2 -2
- package/dist/assets/{mount-dom-ingest-root-4b8yowH1.js → mount-dom-ingest-root-DAGePmpK.js} +2 -2
- package/dist/assets/{mount-ingest-root-B6iHB5JJ.js → mount-ingest-root-C0gWpIi5.js} +2 -2
- package/dist/assets/{mount-manifest-DXoBRN_6.js → mount-manifest-DFPsrVVl.js} +1 -1
- package/dist/assets/{mount-three-ingest-root-B4FVx_e1.js → mount-three-ingest-root-D3Ch35na.js} +1 -1
- package/dist/assets/{mounted-authoring-D3ZR7cVq.js → mounted-authoring-B-A2cU05.js} +1 -1
- package/dist/assets/{mounted-story-viewport-source-CU0H0HM-.js → mounted-story-viewport-source-Bk19l1Z9.js} +1 -1
- package/dist/assets/{native-debug-module-BcCIQlpj.js → native-debug-module-T4Q1sEx0.js} +1 -1
- package/dist/assets/{navigation-BN6Z9E73.js → navigation-iCrJRCQP.js} +1 -1
- package/dist/assets/{navmesh.menu-B-fi8IMb.js → navmesh.menu-BJlFQtT1.js} +1 -1
- package/dist/assets/{navmesh.service-BX4QWfzb.js → navmesh.service-CFfkvbSQ.js} +1 -1
- package/dist/assets/network-observer.service-D9hp5jSg.js +1 -0
- package/dist/assets/{network.utility-CARO54yd.js → network.utility-CjPy733x.js} +1 -1
- package/dist/assets/{object3d-document-session-registry-ZvPc6hyy.js → object3d-document-session-registry-B9xf6IXJ.js} +2 -2
- package/dist/assets/{oid-transform-BUbpXU6R.js → oid-transform-BfItftA-.js} +1 -1
- package/dist/assets/{particles-BQuXnAL_.js → particles-CPwKmGuH.js} +1 -1
- package/dist/assets/{pixi-authoring-adapter-DaWrJsOF.js → pixi-authoring-adapter-0EWZElvF.js} +1 -1
- package/dist/assets/{pixi-live-write-target-DN3QCjnE.js → pixi-live-write-target-OuYwii0Y.js} +1 -1
- package/dist/assets/{play.command-DG5pGZ5K.js → play.command-D9oNEgZ0.js} +2 -2
- package/dist/assets/{presentation-CcaWOOPX.js → presentation-Dy4eumBf.js} +1 -1
- package/dist/assets/{product-u_v6pdNh.js → product-C8y44I8V.js} +1 -1
- package/dist/assets/{profiler.action-BgKedBf4.js → profiler.action-DDJ1W-sV.js} +1 -1
- package/dist/assets/{profiler.menu-_HSBT8qW.js → profiler.menu-B9kz9Q68.js} +1 -1
- package/dist/assets/{profiler.utility-BLxsScYH.js → profiler.utility-Dj7cC4Z1.js} +1 -1
- package/dist/assets/{project-authoring-session-CnTuJBJD.js → project-authoring-session-BiPozvTW.js} +2 -2
- package/dist/assets/{properties-bone-constraints.inspector-BS3WyCdl.js → properties-bone-constraints.inspector-D7JBDMu1.js} +1 -1
- package/dist/assets/{properties-bone.inspector-ClRnj5zf.js → properties-bone.inspector-Dk1ZtSNR.js} +1 -1
- package/dist/assets/{properties-collection.inspector-zVB_Ikpf.js → properties-collection.inspector-DoK5rfdf.js} +1 -1
- package/dist/assets/{properties-constraints.inspector-BI3f2IGZ.js → properties-constraints.inspector-BLlJHeNZ.js} +1 -1
- package/dist/assets/{properties-data.inspector-CrzMpdOd.js → properties-data.inspector-A4_fGhb3.js} +1 -1
- package/dist/assets/{properties-material.inspector-DV0YU-Ni.js → properties-material.inspector-CIpfFnam.js} +1 -1
- package/dist/assets/{properties-modifiers.inspector-DO2RFWS-.js → properties-modifiers.inspector-WQPkd4Rh.js} +1 -1
- package/dist/assets/{properties-object.inspector-DCcGMMN5.js → properties-object.inspector-D0ShdJu5.js} +1 -1
- package/dist/assets/{properties-output.inspector-CIsc-G2d.js → properties-output.inspector-kfsRy3QB.js} +1 -1
- package/dist/assets/{properties-particles.inspector-DiPs9mU5.js → properties-particles.inspector-B6KXQsfW.js} +1 -1
- package/dist/assets/{properties-physics.inspector-OgDZCroI.js → properties-physics.inspector-DJXKd8kR.js} +1 -1
- package/dist/assets/{properties-render.inspector-ERcM3P1l.js → properties-render.inspector-DzWIBovZ.js} +1 -1
- package/dist/assets/{properties-scene.inspector-e1YmvWIj.js → properties-scene.inspector-Bfl8nbri.js} +1 -1
- package/dist/assets/{properties-texture.inspector-1X6LXH3l.js → properties-texture.inspector-DvWdSzY9.js} +1 -1
- package/dist/assets/{properties-view-layer.inspector-DpcNCgss.js → properties-view-layer.inspector-BWnkn8Vk.js} +1 -1
- package/dist/assets/{properties-world.inspector-CzopHMsM.js → properties-world.inspector-DMibRN9k.js} +1 -1
- package/dist/assets/{r3f-design-session-CvXShgBI.js → r3f-design-session-iEACkph-.js} +2 -2
- package/dist/assets/{r3f-physics-binding-uhCRHed5.js → r3f-physics-binding-DT9gU6QS.js} +1 -1
- package/dist/assets/{r3f-source-authoring-adapter-C3V3ODnr.js → r3f-source-authoring-adapter-gw1XzvxX.js} +1 -1
- package/dist/assets/{react-canvas-navigation-Awf5f-km.js → react-canvas-navigation-BKi9JC83.js} +1 -1
- package/dist/assets/{react-inspector.service-DvgKi8qm.js → react-inspector.service-W33XKeIq.js} +1 -1
- package/dist/assets/{react-story-board-D2pwwUUp.js → react-story-board-krhBm535.js} +1 -1
- package/dist/assets/{react-three-rapier.esm-JEarqnso.js → react-three-rapier.esm-CJKGUwLd.js} +1 -1
- package/dist/assets/{react-world-authoring-adapter-CJSmvs_1.js → react-world-authoring-adapter-D3eoX0JS.js} +1 -1
- package/dist/assets/{realm-services-CqGTAk9D.js → realm-services-KWdKLvPE.js} +1 -1
- package/dist/assets/{reflection-probe-capture.inspector-BKXle-FB.js → reflection-probe-capture.inspector-C_R9ag5V.js} +1 -1
- package/dist/assets/{registry-rFk05JpG.js → registry-DrzqTjSK.js} +1 -1
- package/dist/assets/{relative-import-specifier-OJ1nkBV9.js → relative-import-specifier-CAx_veDO.js} +1 -1
- package/dist/assets/{render-env-DekK9VA2.js → render-env-Dp0VKZNy.js} +1 -1
- package/dist/assets/{render-features-CMMNCiUj.js → render-features-i9Si28Ov.js} +1 -1
- package/dist/assets/{render-settings-Dy89f95W.js → render-settings-B6kFzF9n.js} +1 -1
- package/dist/assets/{resolve-three-CYk0C9L7.js → resolve-three-CSKQh9lw.js} +3 -3
- package/dist/assets/{root-seam-contract-ctxfAQZR.js → root-seam-contract-CQCfH2-C.js} +1 -1
- package/dist/assets/{run-selection-D-MXhzyH.js → run-selection-BjcjVjry.js} +1 -1
- package/dist/assets/{scene-capture-BHFvkGDv.js → scene-capture-43-NoPLm.js} +1 -1
- package/dist/assets/{scene-document.service-ZzG8QUXr.js → scene-document.service-DWTbL5Hn.js} +2 -2
- package/dist/assets/{scene-framing-Visz22um.js → scene-framing-CvvxxYt4.js} +1 -1
- package/dist/assets/{seeded-random-31t3Hhi7.js → seeded-random-CKA5Uokz.js} +1 -1
- package/dist/assets/{session-DA-J0Ee6.js → session-BELerU8a.js} +61 -1
- package/dist/assets/{setup-renderer-DAvDM3La.js → setup-renderer-UpKVuGTi.js} +1 -1
- package/dist/assets/{source-object3d-authoring-adapter-BiLtZNLQ.js → source-object3d-authoring-adapter-C0FyKqwI.js} +1 -1
- package/dist/assets/{source-persistence-backend-Mw40F3bc.js → source-persistence-backend-DpYsFl_H.js} +1 -1
- package/dist/assets/{stage-keyboard-BwQBp0X8.js → stage-keyboard-Cit3lFIB.js} +1 -1
- package/dist/assets/{stage-overlay-set-BsUb7Fv4.js → stage-overlay-set-CvzGB9vl.js} +1 -1
- package/dist/assets/{stage-presence-markers-CIMlMmNr.js → stage-presence-markers-D-WXTthQ.js} +1 -1
- package/dist/assets/{stage-transform-tools-vwCY4rbA.js → stage-transform-tools-CP6bVB2R.js} +1 -1
- package/dist/assets/{standard-viewport-dressing-YsNQjtKv.js → standard-viewport-dressing-DPYcmzrH.js} +1 -1
- package/dist/assets/{state-watch.action-DsN9G3xj.js → state-watch.action-RjNvHRyp.js} +1 -1
- package/dist/assets/{state-watch.menu-CmF_Au9t.js → state-watch.menu-CsMJ1hWG.js} +1 -1
- package/dist/assets/{state-watch.utility-MpUll9xe.js → state-watch.utility-CmAcPzca.js} +1 -1
- package/dist/assets/{story-capture-yOsfM7Wp.js → story-capture-BexJr7Md.js} +1 -1
- package/dist/assets/{story-documents-DyV9TmgX.js → story-documents-DZfNJc2_.js} +1 -1
- package/dist/assets/{story-documents.service-Cm_r4rSP.js → story-documents.service-BsEuTY96.js} +1 -1
- package/dist/assets/{story-documents.service-DR-8Nax9.js → story-documents.service-CIhk284Q.js} +1 -1
- package/dist/assets/{story-media-presence-PjJsx64u.js → story-media-presence-LD5rrKij.js} +1 -1
- package/dist/assets/{story-pixi-preview-CBCJhgCw.js → story-pixi-preview-BCtfkebp.js} +1 -1
- package/dist/assets/{story-presentation-fpxUtjMs.js → story-presentation-d0TTaboy.js} +1 -1
- package/dist/assets/{story-three-preview-D2OfeC1l.js → story-three-preview-DbW5A2E9.js} +2 -2
- package/dist/assets/{studio-environment-BFOzO9xW.js → studio-environment-BZ0cGXh6.js} +1 -1
- package/dist/assets/{surface-state-DeXIPWuS.js → surface-state-CKQjhgTW.js} +1 -1
- package/dist/assets/{syntactic-prop-specs-D3_Hyv1m.js → syntactic-prop-specs-CHefUwor.js} +1 -1
- package/dist/assets/{team-playtest.service-QqTIBuBd.js → team-playtest.service-DJZVNmDz.js} +1 -1
- package/dist/assets/{three-z0dIVVct.js → three-BzNJcrnJ.js} +1 -1
- package/dist/assets/{three-authoring-adapter-BEDQRs2B.js → three-authoring-adapter-u8CNMO88.js} +1 -1
- package/dist/assets/three-authoring.service-B5XG2RqB.js +2 -0
- package/dist/assets/{three-ingest-runtime-C2ruwAa_.js → three-ingest-runtime-QIgw-qG5.js} +1 -1
- package/dist/assets/{three-integration-BjghFioV.js → three-integration-B3Nu_wKt.js} +2 -2
- package/dist/assets/three-integration.service-BIHxhhEQ.js +1 -0
- package/dist/assets/{three-projection-core-BAO-45fo.js → three-projection-core-Bhn7ACDh.js} +1 -1
- package/dist/assets/{three-state-CouynZOV.js → three-state-jUYZSnrd.js} +1 -1
- package/dist/assets/{three-story-capture.service-YYAt9aQX.js → three-story-capture.service-DDyjWxh9.js} +2 -2
- package/dist/assets/{three-story-model-DrH7Vzo5.js → three-story-model-BFTEESmE.js} +1 -1
- package/dist/assets/{three-viewport-presentation-cnzAiIdI.js → three-viewport-presentation-Dq7YhHm4.js} +1 -1
- package/dist/assets/{transform-mode-request-BEHHgfb9.js → transform-mode-request-DXoMQVlu.js} +1 -1
- package/dist/assets/{transport-strip-CKFa9Kx2.js → transport-strip-DDgtStui.js} +1 -1
- package/dist/assets/transport.header-DNyTR34F.js +1 -0
- package/dist/assets/{tuples-QLLPE1Xl.js → tuples-DsOEI7JD.js} +1 -1
- package/dist/assets/{ui-board-document-mjuhM-FJ.js → ui-board-document-DpyZG4Az.js} +2 -2
- package/dist/assets/{user-data-BYUf0wLn.js → user-data-DKk6eQvn.js} +1 -1
- package/dist/assets/{utility-view-state-CGImpCGD.js → utility-view-state-CqOjgzgj.js} +1 -1
- package/dist/assets/{viewport-door-_El1wx2N.js → viewport-door-CLWBI2de.js} +1 -1
- package/dist/assets/{viewport-root-presentation-DBSTTcWY.js → viewport-root-presentation-CVftQRQR.js} +1 -1
- package/dist/assets/{viewport-surface-status-86lP1z8H.js → viewport-surface-status-Dil3jYDY.js} +1 -1
- package/dist/assets/{webworkerAll-CBkNGoTW.js → webworkerAll-CvvkbZ3I.js} +1 -1
- package/dist/assets/worker-Dh5yFNjH.js +2 -0
- package/dist/assets/{workspace-arrangement-Bx5PVUVK.js → workspace-arrangement-rd1Zi7ge.js} +1 -1
- package/dist/assets/{world-documents-BOMYFyua.js → world-documents-Bs88AV0b.js} +1 -1
- package/dist/assets/{world-root-stage-binding-xZZlhfra.js → world-root-stage-binding-BZWGVFZh.js} +1 -1
- package/dist/assets/{xstate-animation-binding-BPoA569V.js → xstate-animation-binding-CBtnOnY3.js} +1 -1
- package/dist/assets/{xstate-animation-meta-BCxFKr-g.js → xstate-animation-meta-BszyPNdl.js} +1 -1
- package/dist-node/cli.js +16 -16
- package/package.json +16 -16
- package/dist/assets/InspectorObjectPreview-DL4-l2Ag.js +0 -1
- package/dist/assets/Object3DDocumentViewport-C1joQKk8.js +0 -2
- package/dist/assets/autoplay.service-C6DfzGKJ.js +0 -1
- package/dist/assets/blender-runtime-host-BUl0kiMb.js +0 -7
- package/dist/assets/blender-runtime.document-CqDEiey6.js +0 -13
- package/dist/assets/instances.command-CX8PxYgi.js +0 -1
- package/dist/assets/network-observer.service-B_OThTzb.js +0 -1
- package/dist/assets/three-authoring.service-DcLaapAT.js +0 -2
- package/dist/assets/three-integration.service-CDnke_Eh.js +0 -1
- package/dist/assets/transport.header-BLN3lUBy.js +0 -1
- package/dist/assets/worker-BUhehstd.js +0 -2
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import{a as d}from"./jsx-runtime-DPjLkJKQ.js";import{j3 as Le,bt as xe,r as D,bv as Me,fN as W,bB as R,bC as U,hR as Ie,bA as Te,j4 as Pe,bK as Be,bn as $e,bq as De,j5 as Ve,j6 as be,j7 as Ge,j8 as We,j9 as He,ja as pe,bp as ze,bs as Ue}from"./index-C5cL2IUJ.js";import{c as Ke,a as Y}from"./blender-runtime-skin-CCKkESgo.js";import{r as h}from"./index-nmcBqr7Y.js";import{u as qe,v as J,k as X,w as Q,x as Ye,y as oe,t as fe,z as Je,A as Xe,B as me,C as Qe,D as te,E as Ze,F as et,G as tt}from"./blender-runtime-host-BUl0kiMb.js";import{r as rt}from"./index-CtzuWnCS.js";import{a as nt}from"./three-contract-Dkt6PmWY.js";import{b as H,o as re}from"./viewport-door-_El1wx2N.js";import{s as ot,a as at}from"./object3d-document-session-registry-ZvPc6hyy.js";import{d9 as lt}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-DzkikRBl.js";import"./hierarchy-marks-D1HxcOXp.js";import"./workspace-arrangement-Bx5PVUVK.js";function Ce(e){const a=Number.isFinite(e)&&e>0?e:50;return{degrees:2*Math.atan(72/(2*a))*180/Math.PI,axis:"larger"}}Le("model",{camera:{fov:Ce(50),opening:[.8187,.4458,.3617]},interaction:{bootTool:"select",boxSelect:"touch"},all:{lighting:{source:"studio",studioPreset:xe.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 st(e){return`blender-${e.toLowerCase().replace(/_/g,"-")}`}function B(e){return e?.type==="TSE_SOME_ID"&&e.struct==="Object"&&e.object!==void 0}function he(e){if(e.struct)return e.struct}function ge(e,a){return{id:e.id,label:e.name,role:"entity",kind:st(e.icon),...he(e)?{typeLabel:he(e)}:{},parentId:a,childIds:e.children.map(o=>o.id),defaultExpanded:e.expanded}}const it={transform:!0,inspectorFields:!1,persist:!0},ee=new Set;let Ee=0;const ae=new Set;function _e(){queueMicrotask(()=>{Ee++;for(const e of ae)e()})}function ct(e){return ae.add(e),()=>{ae.delete(e)}}function je(){return Ee}function dt(e){for(const a of ee)if(a.documentId===e||a.documentId===`object3d-document:${e}`)return a;return ee.values().next().value??null}const ut=()=>({position:[0,0,0],rotation:[0,0,0,1],scale:[1,1,1]});function ye(e,a){e.updateWorldMatrix(!0,!1);const o=a.matrixWorld.clone().invert().multiply(e.matrixWorld).elements;return[[o[0],o[1],o[2],o[3]],[o[4],o[5],o[6],o[7]],[o[8],o[9],o[10],o[11]],[o[12],o[13],o[14],o[15]]]}function K(e,a){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 "${a}".`}const bt=[{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:`${K("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:K("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:K("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:K("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'"}],pt="collection-instance:";function ft(){const e=new Map;for(const a of X().byId.values()){if(a.type!=="TSE_LAYER_COLLECTION")continue;const o=a.data;o===void 0||!o.startsWith("bpy.data.collections[")||e.has(a.name)||e.set(a.name,{kind:`${pt}${a.name}`,label:a.name,group:"Collection Instance",call:`object.collection_instance_add, collection=${V(a.name)}`})}return[...e.values()]}function Z(){return[...bt,...ft()]}function mt(e){const[a,...o]=e.call.split(", ");return`bpy.ops.${a}(${o.join(", ")})`}function V(e){return JSON.stringify(e)}const ht={"curve.primitive_bezier_circle_add":"Add Bézier Circle","curve.primitive_bezier_curve_add":"Add Bézier","curve.primitive_nurbs_circle_add":"Add Nurbs Circle","curve.primitive_nurbs_curve_add":"Add Nurbs Curve","curve.primitive_nurbs_path_add":"Add Path","image.import_as_mesh_planes":"Import Images as Planes","mesh.primitive_circle_add":"Add Circle","mesh.primitive_cone_add":"Add Cone","mesh.primitive_cube_add":"Add Cube","mesh.primitive_cylinder_add":"Add Cylinder","mesh.primitive_grid_add":"Add Grid","mesh.primitive_ico_sphere_add":"Add Ico Sphere","mesh.primitive_monkey_add":"Add Monkey","mesh.primitive_plane_add":"Add Plane","mesh.primitive_torus_add":"Add Torus","mesh.primitive_uv_sphere_add":"Add UV Sphere","object.armature_add":"Add Armature","object.camera_add":"Add Camera","object.collection_add":"Add to Collection","object.collection_instance_add":"Add Collection Instance","object.constraint_add":"Add Constraint","object.curves_empty_hair_add":"Add Empty Curves","object.curves_random_add":"Add Random Curves","object.data_instance_add":"Add Object Data Instance","object.delete":"Delete","object.duplicate":"Duplicate Objects","object.effector_add":"Add Effector","object.empty_add":"Add Empty","object.empty_image_add":"Add Empty Image/Drop Image to Empty","object.grease_pencil_add":"Add Grease Pencil","object.grease_pencil_dash_modifier_segment_add":"Add Segment","object.grease_pencil_time_modifier_segment_add":"Add Segment","object.lattice_add_to_selected":"Add Lattice Deformer","object.light_add":"Add Light","object.lightprobe_add":"Add Light Probe","object.location_clear":"Clear Location","object.material_slot_add":"Add Material Slot","object.metaball_add":"Add Metaball","object.modifier_add":"Add Modifier","object.origin_set":"Set Origin","object.particle_system_add":"Add Particle System Slot","object.pointcloud_random_add":"Add Point Cloud","object.quick_fur":"Quick Fur","object.rotation_clear":"Clear Rotation","object.scale_clear":"Clear Scale","object.shaderfx_add":"Add Effect","object.shape_key_add":"Add Shape Key","object.speaker_add":"Add Speaker","object.text_add":"Add Text","object.transform_apply":"Apply Object Transform","object.vertex_group_add":"Add Vertex Group","object.volume_add":"Add Volume","object.volume_import":"Import OpenVDB Volume","surface.primitive_nurbs_surface_circle_add":"Add Surface Circle","surface.primitive_nurbs_surface_curve_add":"Add Surface Curve","surface.primitive_nurbs_surface_cylinder_add":"Add Surface Cylinder","surface.primitive_nurbs_surface_sphere_add":"Add Surface Sphere","surface.primitive_nurbs_surface_surface_add":"Add Surface Patch","surface.primitive_nurbs_surface_torus_add":"Add Surface Torus"};function gt(e){const a=/bpy\.ops\.([a-z_]+\.[a-z0-9_]+)\(/.exec(e)?.[1];return a===void 0?void 0:ht[a]}async function z(e,a){const o=["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(`
|
|
2
|
-
`),i=await te(o,!0,a??gt(e));return i.error!==null?{made:[],error:i.error}:{made:i.result.split(`
|
|
3
|
-
`).map(p=>p.trim()).filter(p=>p.length>0),error:null}}async function _t(e,a){const o=[`_sel = {${e.map(V).join(", ")}}`,"_vl = bpy.context.view_layer","for _o in _vl.objects:"," _o.select_set(_o.name in _sel)",a===null?"_vl.objects.active = None":`_vl.objects.active = bpy.data.objects.get(${V(a)})`].join(`
|
|
4
|
-
`),i=await te(o,!1);i.error!==null&&D().console.error(`Blender refused the selection write: ${i.error}`,"blender-outliner")}async function ne(e,a){if(e.length===0)return{destination:"Nothing is selected, so there was nothing to run it on.",persisted:!1};const o=[`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]):",` ${a}`].join(`
|
|
5
|
-
`),{error:i}=await z(o);return i!==null?{destination:i,persisted:!1}:(await Q(e),{destination:`Blender — ${a}; the session saves the .blend`,persisted:!0})}const jt={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."},yt="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:a})=>{const o=new Set;let i=[],u=null;const p=new Map,j=new Map,k=()=>{for(const n of[...o])n()},b=()=>X().byId,C=n=>{const r=b().get(n),l=e();return r===void 0||l===null?null:r.type==="TSE_VIEW_COLLECTION_BASE"?l.root:r.object===void 0?null:l.objectForBlenderName(r.object)},E=n=>{const r=e();if(r===null)return null;for(const l of b().values())if(B(l)&&r.objectForBlenderName(l.object)===n)return l.id;return null},v=n=>{for(const r of b().values())if(B(r)&&r.object===n)return r.id;return null},g=n=>{if(b().has(n))return n;const r=nt(a.hierarchy,n);return r===null?null:E(r)},x=n=>{const r=g(n);return r===null?null:C(r)},O=n=>{const r=x(n);return r===null?null:a.hierarchy.idForObject3D?.(r)??null},I={roots:()=>(Qe(F()),(X().tree?.rows??[]).map(r=>ge(r,null))),node:n=>{const r=X(),l=r.byId.has(n)?n:g(n),c=l===null?void 0:r.byId.get(l);return c===void 0?null:ge(c,r.parentOf.get(c.id)??null)},object3D:n=>x(n),idForObject3D:n=>E(n)};function F(){const n=b(),r=new Set;for(const l of i){const c=n.get(l)?.object;c!==void 0&&r.add(c)}return[...r]}const L=()=>{const n=[];for(const r of i){const l=x(r),c=l===null?null:a.hierarchy.idForObject3D?.(l);c&&n.push(c)}a.selection?.set(n,{intent:"exact"}),k()},M=()=>{const n=Ye(),r=`${oe()}\0${n.active??""}\0${[...n.selected].sort().join("")}`;if(r===u)return;u=r;const l=n.selected.filter(m=>m!==n.active);n.active!==null&&l.push(n.active);const c=l.map(v).filter(m=>m!==null);c.length===i.length&&c.every((m,w)=>m===i[w])||(i=c,L())},t={get:()=>[...i],set:n=>{i=n.map(g).filter(m=>m!==null),L();const r=b(),l=[],c=[];for(const m of i){const w=r.get(m),N=w?.object;N===void 0?c.push(w?.name??m):l.includes(N)||l.push(N)}c.length>0&&D().console.warn(`${c.join(", ")} ${c.length===1?"is":"are"} not an object, so Blender's object selection does not carry ${c.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"),_t(l,l.length===0?null:l[l.length-1])}},s=n=>b().get(n)?.restrict,f={properties:n=>{const r=s(n);if(r===void 0)return[];const l=b().get(n),c=[{path:"name",label:"Name",type:"string",readonly:!B(l)}];return r.hide!==void 0&&c.push({path:"visible",label:"Show in Viewport",type:"boolean"}),r.render!==void 0&&c.push({path:"renderVisible",label:"Show in Renders",type:"boolean"}),r.exclude!==void 0&&c.push({path:"exclude",label:"Exclude from View Layer",type:"boolean"}),c},get:(n,r)=>{const l=b().get(n);if(l!==void 0){if(r==="name")return l.name;if(r==="visible")return l.restrict?.hide===void 0?void 0:!l.restrict.hide;if(r==="renderVisible")return l.restrict?.render===void 0?void 0:!l.restrict.render;if(r==="exclude")return l.restrict?.exclude}},editability:(n,r)=>{const l=b().get(n);return l===void 0?{writable:!1}:r==="name"?B(l)?{writable:!0}:{writable:!1,reason:`Renaming a ${l.struct??l.type} is not in this Outliner yet — only an object row renames here. Rename it with bpy.`}:l.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."}:r==="visible"&&l.restrict?.exclude===!0?{writable:!1,reason:yt}:{writable:!0}},set:async(n,r,l)=>{const c=b().get(n);if(c===void 0)return;if(r==="name"){if(!B(c))return;const w=String(l);if(w===c.name||w.length===0)return;await fe(`bpy.data.objects[${V(c.object)}]`,"name",w),await Q([w]);const N=v(w);N!==null&&t.set([N]);return}if(r==="exclude"){await me(c.path,"exclude",l===!0);return}const m=r==="visible"?"hide":r==="renderVisible"?"render":null;m!==null&&await me(c.path,m,l===!1)}},S={get:n=>{const r=O(n);return(r===null?void 0:a.transforms?.get(r))??ut()},editability:n=>{const r=g(n),l=r===null?void 0:b().get(r);return B(l)&&C(l.id)!==null?{writable:!0}:{writable:!1,reason:`Only an object has a transform; this row is a ${l?.struct??l?.type??"row"}.`}},beginEdit:n=>{const r=x(n);r!==null&&!p.has(r)&&(p.set(r,r.matrixWorld.clone()),j.set(n,r),Xe())},apply:(n,r)=>{const l=x(n);l!==null&&(l.position.fromArray(r.position),l.quaternion.fromArray(r.rotation),l.scale.fromArray(r.scale),l.updateMatrix(),l.updateMatrixWorld(!0),e()?.mirrorPose?.(l))},endEdit:async n=>{const r=j.get(n)??x(n);j.delete(n);const l=e();if(r===null)return;const c=p.get(r);p.delete(r);try{if(l===null||(r.updateWorldMatrix(!0,!1),c?.equals(r.matrixWorld)===!0))return;const m=l.blenderObjectName(r);if(m===null)return;const w=`bpy.data.objects[${JSON.stringify(m)}]`;try{return await fe(w,"matrix_world",ye(r,l.root)),{destination:`Blender — ${w}.matrix_world; the session saves the .blend`,persisted:!0}}catch(N){return{destination:N instanceof Error?N.message:String(N),persisted:!1}}}finally{c&&await Je()}}},_=n=>{const r=g(n),l=r===null?void 0:b().get(r);return B(l)?l.object:null},y=n=>({destination:n,persisted:!1}),T=async n=>{await Q(n);const r=n.map(v).filter(l=>l!==null);return r.length>0&&t.set(r),r[0]??""},G=()=>{const n=a.documentId?.replace(/^object3d-document:/,""),r=H().find(m=>m.documentId===n)?.rig().drawCamera()??null,l=e(),c=["bpy.ops.object.camera_add()","added = bpy.context.view_layer.objects.active"];return r!==null&&l!==null&&c.push("kept = added.location.copy()",`added.matrix_world = ${JSON.stringify(ye(r,l.root))}`,"added.location = kept"),c.push("if bpy.context.scene.camera is None:"," bpy.context.scene.camera = added"),c.join(`
|
|
6
|
-
`)},A={creatableKinds:()=>Z().map(({kind:n,label:r})=>({kind:n,label:r})),create:n=>{const r=Z().find(c=>c.kind===n);if(r===void 0)return{id:"",ack:y(`${n} is not a row of Blender's Add menu that this editor adds. Its rows are: ${Z().map(c=>c.label).join(", ")}.`)};if(r.refusal!==void 0)return{id:"",ack:y(r.refusal)};const l=r.call==="object.camera_add"?G():mt(r);return{id:"",ack:(async()=>{const{made:c,error:m}=await z(l);return m!==null?y(m):c.length===0?y(`Blender ran ${l} 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(c),{destination:`Blender — ${l}; the session saves the .blend`,persisted:!0})})()}},remove:n=>A.removeMany?.([n])??void 0,removeMany:async n=>{const r=[];for(const w of n){const N=_(w);if(N===null){const ue=g(w)===null?void 0:b().get(g(w));return y(`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.`)}r.push(N)}if(r.length===0)return y("Nothing selected to delete.");const c=[`targets = ${`[bpy.data.objects[n] for n in [${r.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:m}=await z(c,"Delete Objects");return m!==null?y(m):(t.set([]),await Q([]),{destination:"Blender — bpy.ops.object.delete(use_global=False); the session saves the .blend",persisted:!0})},duplicate:n=>{const r=_(n);if(r===null)return{id:n,ack:y("Only an object can be duplicated here. Duplicating a collection is `bpy.ops.object.collection_instance_add`, its own gesture.")};const l=[`source = bpy.data.objects[${V(r)}]`,"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:c,error:m}=await z(l,"Duplicate Object");return m!==null?y(m):(await T(c),{destination:`Blender — bpy.ops.object.duplicate(linked=False) on ${r}; the session saves the .blend`,persisted:!0})})()}},duplicateMany:async n=>{const r=[...new Set(n.map(_))];if(r.length===0||r.some(w=>w===null))return y("Select objects to duplicate; collections and data rows cannot be duplicated here.");const l=[`sources = [bpy.data.objects[name] for name in ${JSON.stringify(r)}]`,"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:c,error:m}=await z(l,"Duplicate Objects");return m!==null?y(m):(await T(c),{destination:"Blender — duplicate selected objects as one native operation; the session saves the .blend",persisted:!0})},reparent:()=>y("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.")},P={get documentId(){return a.documentId},get documentRootObject(){return a.documentRootObject},capabilities:it,provenance:jt,hierarchy:I,selection:t,inspector:f,transforms:S,structure:A,subscribe:n=>{o.add(n);const r=J(n),l=a.subscribe?.(n)??(()=>{});return()=>{o.delete(n),r(),l()}}},$={get documentId(){return P.documentId},selectedObjectNames:()=>F(),allObjectNames:()=>{const n=[];for(const r of b().values())B(r)&&n.push(r.object);return n},selectObjects:n=>{const r=n.map(v).filter(l=>l!==null);t.set(r)},rowIdForObject:n=>v(n),structure:A,subscribe:n=>{o.add(n);const r=J(n);return()=>{o.delete(n),r()}}};ee.add($),_e();const Re=qe(M),Fe=J(M);return M(),{adapter:P,dispose:()=>{Re(),Fe(),ee.delete($),_e(),o.clear()}}}}const vt=Oe(Ze),le="volter.blender.area-split:",se=new Set,ie=new Map;function St(e){try{return globalThis.localStorage?.getItem(le+e)==="1"}catch{return!1}}function de(e){let a=ie.get(e);return a===void 0&&(a=St(e),ie.set(e,a)),a}function ve(e,a){if(de(e)!==a){ie.set(e,a);try{a?globalThis.localStorage?.setItem(le+e,"1"):globalThis.localStorage?.removeItem(le+e)}catch{}for(const o of[...se])o()}}function Ae(e){return se.add(e),()=>{se.delete(e)}}const wt=[{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"}],kt=[{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)"}],xt=[{label:"Geometry to Origin",type:"GEOMETRY_ORIGIN"},{label:"Origin to Geometry",type:"ORIGIN_GEOMETRY"},{label:"Origin to 3D Cursor",type:"ORIGIN_CURSOR"}],Ct=[{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"}],Et="No Collections to Instance";function q({id:e,open:a,setOpen:o,anchorRef:i,children:u}){return d.jsxs("div",{ref:i,style:{position:"relative"},children:[d.jsx(Ie,{"data-testid":`blender-menu-${e}`,"aria-expanded":a===e,onClick:()=>o(a===e?null:e),onPointerEnter:()=>{a&&o(e)},style:{textTransform:"capitalize"},children:e}),a===e&&d.jsx(Te,{anchorRef:i,dismissBoundaryRef:i,align:"start",gap:0,clamp:!0,"aria-label":e,onDismiss:()=>o(null),children:u})]})}function Ot(e,a,o){(async()=>{const i=await o;i===void 0||typeof i.destination!="string"||i.persisted!==!0&&e?.({tone:"error",title:`${a} was refused`,detail:i.destination})})()}function Ne({documentId:e,notify:a}){h.useSyncExternalStore(J,oe,oe),h.useSyncExternalStore(ct,je,je);const[o,i]=h.useState(null),u=h.useRef(null),p=h.useRef(null),j=h.useRef(null),k=h.useRef(null),b=h.useRef(null),C=h.useSyncExternalStore(Ae,()=>e===void 0?!1:de(e),()=>!1),E=dt(e);if(E===null)return null;const v=(t,s)=>()=>{i(null),Ot(a,t,s(E))},g=E.selectedObjectNames(),x=E.allObjectNames(),O=g.length===0?"Nothing is selected.":void 0,I=Z(),F=t=>d.jsx(R,{"data-testid":`blender-add-${t.kind}`,disabled:t.refusal!==void 0,title:t.refusal,onSelect:v(`Add ${t.label}`,s=>s.structure.create(t.kind).ack),children:t.label},t.kind),L=t=>I.filter(s=>s.group===t).flatMap(s=>s.separatorBefore===!0?[d.jsx(U,{},`${s.kind}-separator`),F(s)]:[F(s)]),M=t=>{if("separatorAt"in t)return d.jsx(U,{},`separator-${t.separatorAt}`);if("kind"in t){const f=I.find(S=>S.kind===t.kind);return f===void 0?null:F(f)}const s=L(t.submenu);return s.length===0?d.jsx(R,{"data-testid":"blender-add-collection-instance",disabled:!0,children:Et},t.submenu):d.jsx(W,{label:t.submenu,"data-testid":`blender-add-${t.submenu.toLowerCase().replaceAll(" ","-")}`,children:s},t.submenu)};return d.jsxs(Me,{compact:!0,label:"Blender Object Mode menus","data-testid":"blender-object-mode-menus",ref:u,children:[d.jsx(q,{id:"view",open:o,setOpen:i,anchorRef:p,children:d.jsxs(W,{label:"Area","data-testid":"blender-view-area",children:[d.jsx(R,{"data-testid":"blender-area-vertical-split",disabled:C||e===void 0,title:C?"This area is already split.":void 0,onSelect:()=>{i(null),e!==void 0&&ve(e,!0)},children:"Vertical Split"}),d.jsx(U,{}),d.jsx(R,{"data-testid":"blender-area-close",disabled:!C,title:C?void 0:"There is no second area to close.",onSelect:()=>{i(null),e!==void 0&&ve(e,!1)},children:"Close Area"})]})}),d.jsxs(q,{id:"select",open:o,setOpen:i,anchorRef:j,children:[d.jsx(R,{"data-testid":"blender-select-all",onSelect:v("Select All",t=>t.selectObjects(x)),children:"All"}),d.jsx(R,{"data-testid":"blender-select-none",onSelect:v("Select None",t=>t.selectObjects([])),children:"None"}),d.jsx(R,{"data-testid":"blender-select-invert",onSelect:v("Select Invert",t=>t.selectObjects(x.filter(s=>!g.includes(s)))),children:"Invert"})]}),d.jsx(q,{id:"add",open:o,setOpen:i,anchorRef:k,children:Ct.map(t=>M(t))}),d.jsxs(q,{id:"object",open:o,setOpen:i,anchorRef:b,children:[d.jsx(W,{label:"Set Origin","data-testid":"blender-object-origin",children:xt.map(t=>d.jsx(R,{"data-testid":`blender-origin-${t.type}`,disabled:t.refusal!==void 0||g.length===0,title:t.refusal??O,onSelect:v(`Set Origin ▸ ${t.label}`,s=>ne(s.selectedObjectNames(),`bpy.ops.object.origin_set(type='${t.type}')`)),children:t.label},t.type))}),d.jsx(W,{label:"Clear","data-testid":"blender-object-clear",children:kt.map(t=>d.jsx(R,{"data-testid":`blender-clear-${t.label.toLowerCase()}`,disabled:g.length===0,title:O,onSelect:v(`Clear ▸ ${t.label}`,s=>ne(s.selectedObjectNames(),t.call)),children:t.label},t.label))}),d.jsx(W,{label:"Apply","data-testid":"blender-object-apply",children:wt.map(t=>d.jsx(R,{"data-testid":`blender-apply-${t.label.toLowerCase().replace(/ /g,"-")}`,disabled:g.length===0,title:O,onSelect:v(`Apply ▸ ${t.label}`,s=>ne(s.selectedObjectNames(),`bpy.ops.object.transform_apply(${t.call})`)),children:t.label},t.label))}),d.jsx(U,{}),d.jsx(R,{"data-testid":"blender-object-duplicate",disabled:g.length===0,title:O,onSelect:v("Duplicate Objects",async t=>{const s=t.selectedObjectNames().map(f=>t.rowIdForObject(f)).filter(f=>f!==null);return t.structure.duplicateMany?.(s)}),children:"Duplicate Objects"}),d.jsx(R,{"data-testid":"blender-object-delete",disabled:g.length===0,title:O,onSelect:v("Delete",t=>{const s=t.selectedObjectNames().map(f=>t.rowIdForObject(f)).filter(f=>f!==null);return t.structure.removeMany?.(s)}),children:"Delete"})]})]})}const Se=new WeakSet,ir="workspace.document",cr="Blender Model",dr=({documentId:e,notify:a})=>d.jsx(Ne,{documentId:e,notify:a}),At="model",ur="owned",br=[],ce=Ke,we=new WeakMap;function Nt(e){let a=we.get(e);return a||(a={subject:()=>{const o=Y.playhead();return e.subjectLine(o===null?null:Math.floor(o))},gridScale:o=>e.gridUnitName(o),cameraView:{camera:()=>e.cameraViewCamera(),zoom:e.cameraViewZoom,pan:e.cameraViewPan,showing:o=>e.setCameraViewShowing(o),setPose:(o,i,u,p)=>{const{location:j,rotation:k}=e.blenderPose(i,u);return te(`from mathutils import Matrix, Quaternion, Vector
|
|
10
|
-
import bpy
|
|
11
|
-
object = bpy.data.objects[${JSON.stringify(o)}]
|
|
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:(o,i,u,p)=>e.cameraView(o,i,u,p)}},we.set(e,a),a)}function pr(e){const{active:a,document:o,documentId:i,notify:u,publishContext:p}=e,j=o?.source?.path,k=o?.id,b=JSON.stringify([i,k,j]),[C,E]=h.useState(null),v=h.useRef({notify:u,publishContext:p});return v.current={notify:u,publishContext:p},h.useEffect(()=>{if(a===!1||!i)return;let g=!1,x;const O=j===void 0?null:{documentId:i,entryId:k,blend:j},I=et(O),F=()=>{x=v.current.publishContext?.(ce)};return E(null),(async()=>{try{if(O){if(!await tt(O,F))return}else F();g||E({key:b,error:null})}catch(L){if(g)return;x?.(),x=void 0;const M=L instanceof Error?L.message:String(L);E({key:b,error:M}),v.current.notify?.({tone:"error",title:`Blender could not open ${j??"the model"}`,detail:M})}})(),()=>{g=!0,x?.(),I()}},[a,j,i,k,b]),a===!1||!i?null:C?.key!==b?d.jsx("div",{role:"status",children:"Opening model…"}):C.error?d.jsx("div",{role:"alert",children:C.error}):d.jsx(Rt,{...e})}function Rt(e){const{documentId:a}=e,o=h.useSyncExternalStore(Ae,()=>a?de(a):!1,()=>!1),[i,u]=h.useState(null);if(h.useEffect(()=>{if(!o||!a)return;const k=`${a}#area-2`;Pe(k).drawMode===void 0&&Be(k,{drawMode:"rendered"});const b=ce.follow();return u(b),()=>{u(null),b.dispose()}},[o,a]),!a)return null;const p=o?i: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(ke,{...e,view:ce,main:!0})}),p&&d.jsxs("div",{style:j,"data-testid":"blender-second-area",children:[d.jsx(ke,{...e,documentId:`${a}#area-2`,view:p.view,main:!1}),d.jsx(Ft,{documentId:a,areaId:`${a}#area-2`,notify:e.notify})]})]})}function Ft({documentId:e,areaId:a,notify:o}){h.useSyncExternalStore(Ve,be,be);const i=h.useSyncExternalStore(Ge,()=>We(e)),u=He(a)?.HeaderControls,p=h.useRef(null);return h.useEffect(()=>{const j=p.current,k=j?.parentElement;if(!k)return;const b=()=>pe(e,{headerWidth:k.getBoundingClientRect().width+12,shelf:j});b();const C=new ResizeObserver(b);return C.observe(k),()=>{C.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"}),i&&rt.createPortal(d.jsxs("div",{className:"volter-dock-document-toolbar-own","data-testid":`document-header:${a}`,style:{display:"flex",alignItems:"center"},children:[d.jsx(Ne,{documentId:e,notify:o}),u&&d.jsx(h.Suspense,{fallback:null,children:d.jsx(u,{documentId:a})})]}),i)]})}function ke({active:e,document:a,documentId:o,surfaces:i,view:u,main:p}){const j=Nt(u),k=h.useCallback(()=>({root:u.root,onChange(t){const s=u.onChange(t),f=Y.subscribe(t);return()=>{s(),f()}},dispose(){}}),[u]),b=a?.source?.path,C=h.useCallback(t=>{const s=u.onChange(t),f=Y.subscribe(t);let S=null;const _=()=>{S?.(),S=H().find(T=>T.documentId===o)?.onFrame(t)??null};_();const y=re(_);return()=>{s(),f(),y(),S?.()}},[o,u]),E=h.useSyncExternalStore(C,j.subject),v=h.useMemo(()=>p?vt:Oe(()=>u),[p,u]);h.useEffect(()=>{if(p||!o)return;let t=!1;const s=()=>{if(t)return;const _=at(o);_===null||u.cameraViewCamera()===null||(t=_.toggleCameraView())};s();const f=ot(s),S=u.subscribeFrames(s);return()=>{f(),S()}},[p,o,u]),h.useEffect(()=>{if(p||!o)return;const t=()=>{const s=ze(o);s===null||Se.has(s)||(Se.add(s),s.showHelpers&&s.toggleHelpers(),s.showGizmos&&s.toggleGizmos())};return t(),$e(t)},[p,o]),h.useEffect(()=>{if(!o)return;const t=u.overlayGroups(),s=()=>{const S=H().find(_=>_.documentId===o);if(S)for(const{kind:_,object:y}of t)S.setHelper(_,y)};s();const f=re(s);return()=>{f();const S=H().find(_=>_.documentId===o);for(const{kind:_}of t)S?.setHelper(_,null)}},[o,u]),h.useEffect(()=>{if(!o||!p)return;const{transport:t}=D();let s=null;const f=()=>{if(s)return;const _=t.for(o);_&&(s=Y.attachTo(_))};f();const S=t.subscribe(f);return()=>{S(),s?.()}},[o,p]),h.useEffect(()=>{if(!o)return;const t=()=>H().find(A=>A.documentId===o);let s,f=null;const S=new lt,_=()=>t()?.rig().drawCamera()??S,y=()=>{const A=t();A!==s&&(f?.(),f=A?A.onFrame(()=>u.refreshRendered()):null,s=A);const{lighting:P}=Ue(o);u.holdRendered(P.source==="scene"&&A?_:null),u.setWorkbench(P.source==="studio"&&P.studioPreset===xe.id)};y();const T=De(y),G=re(y);return()=>{T(),G(),f?.(),u.holdRendered(null),u.setWorkbench(!1)}},[o,u]);const g=h.useRef(null),x=t=>t.button===2&&t.shiftKey&&t.target instanceof HTMLCanvasElement,O=t=>{if(!x(t)){g.current=null;return}t.preventDefault(),t.stopPropagation(),g.current={id:t.pointerId,x:t.clientX,y:t.clientY},t.isTrusted&&t.target.setPointerCapture(t.pointerId)},I=()=>{g.current=null},F=t=>{const s=g.current;if(s===null||t.pointerId!==s.id||t.button!==2||(g.current=null,t.preventDefault(),t.stopPropagation(),Math.hypot(t.clientX-s.x,t.clientY-s.y)>3))return;const f=u.placeCursor(t.clientX,t.clientY,t.target);if(f===null)return;const[S,_,y]=f.location,[T,G,A,P]=f.rotation;te(`from mathutils import Matrix, Quaternion, Vector
|
|
13
|
-
bpy.context.scene.cursor.matrix = Matrix.LocRotScale(Vector((${S}, ${_}, ${y})), Quaternion((${T}, ${G}, ${A}, ${P})), None)`,!1,"Set 3D Cursor").then($=>{$.error!==null&&D().console.error(`Blender refused the 3D cursor: ${$.error}`,"blender-cursor")},$=>D().console.error(`The 3D cursor was not written to Blender: ${String($)}`,"blender-cursor"))},L=t=>{x(t)&&t.preventDefault()};if(!o)return null;const M=i.Object3DAuthoring;return d.jsx("div",{style:{display:"contents"},onPointerDownCapture:O,onPointerUpCapture:F,onPointerCancelCapture:I,onLostPointerCaptureCapture:I,onContextMenuCapture:L,children:d.jsx(M,{active:e??!0,documentId:o,sourcePath:b??"blender:runtime",displayName:a?.label??"Model",...E===null?{}:{subject:E},gridScale:j.gridScale,cameraView:j.cameraView,build:k,audit:!1,authoring:v,cameraDirection:[.8187,.4458,.3617],openingFit:3,openingView:u.savedView(),presentation:(()=>{const t=u.savedView();if(!t)return null;const s={fov:Ce(t.lens)};return t.drawMode?{camera:s,drawMode:t.drawMode}:{camera:s}})(),stageKind:At,dressing:{environment:!1,keyLight:!1,viewLocked:u.studioLights()}})})}export{dr as Toolbar,pr as default,At as documentKind,br as inspectorBuiltins,ur as inspectorRail,ir as point,cr as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ah as m}from"./index-C5cL2IUJ.js";import{b as p,a as e,c as n,s}from"./game-network-CBHt-_DV.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-BcCIQlpj.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-DZXSvvn0.js";import"./contract-system-adapters-BTeuY0Wz.js";import"./game-contract-seams-leXTqnUS.js";import"./seeded-random-31t3Hhi7.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-Xdg6cat1.js";import"./capability-coverage-D1AjR_LI.js";import"./edit-mode-authoring-Ch6v9PnO.js";import"./json-history-resource-DS16aq7M.js";import"./binding-resolver-B1NT5eZp.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-CqGTAk9D.js";import"./canvas-entry-runtime-D4UUWHHS.js";import"./three-ingest-runtime-C2ruwAa_.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-_WDvM24r.js";import"./ingest-source-persistence-CCGS4Nxy.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-DBSTTcWY.js";import"./mounted-authoring-D3ZR7cVq.js";import"./entity-object-BpsV3ox5.js";import"./user-data-BYUf0wLn.js";import"./workspace-arrangement-Bx5PVUVK.js";import"./three-contract-Dkt6PmWY.js";import"./three-z0dIVVct.js";import"./editor-layers-DJwy9H_k.js";import"./component-instance-root-BVjTH0AO.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-BEDQRs2B.js";import"./source-persistence-backend-Mw40F3bc.js";import"./three-projection-core-BAO-45fo.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-uhCRHed5.js";import"./deferred-ingest-play-DtbBSsch.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-CJSmvs_1.js";import"./board-guides-DLC77TC2.js";import"./relative-import-specifier-OJ1nkBV9.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-Czr75mkK.js";import"./inference-diagnostics-BI3pXsTw.js";import"./writer-tw6EcuVO.js";import"./three-state-CouynZOV.js";import"./editor-shell-store-B87W2cjm.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-_El1wx2N.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-CBHt-_DV.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-C5cL2IUJ.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-BcCIQlpj.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-DZXSvvn0.js";import"./contract-system-adapters-BTeuY0Wz.js";import"./game-contract-seams-leXTqnUS.js";import"./seeded-random-31t3Hhi7.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-Xdg6cat1.js";import"./capability-coverage-D1AjR_LI.js";import"./edit-mode-authoring-Ch6v9PnO.js";import"./json-history-resource-DS16aq7M.js";import"./binding-resolver-B1NT5eZp.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-CqGTAk9D.js";import"./canvas-entry-runtime-D4UUWHHS.js";import"./three-ingest-runtime-C2ruwAa_.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-_WDvM24r.js";import"./ingest-source-persistence-CCGS4Nxy.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-DBSTTcWY.js";import"./mounted-authoring-D3ZR7cVq.js";import"./entity-object-BpsV3ox5.js";import"./user-data-BYUf0wLn.js";import"./workspace-arrangement-Bx5PVUVK.js";import"./three-contract-Dkt6PmWY.js";import"./three-z0dIVVct.js";import"./editor-layers-DJwy9H_k.js";import"./component-instance-root-BVjTH0AO.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-BEDQRs2B.js";import"./source-persistence-backend-Mw40F3bc.js";import"./three-projection-core-BAO-45fo.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-uhCRHed5.js";import"./deferred-ingest-play-DtbBSsch.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-CJSmvs_1.js";import"./board-guides-DLC77TC2.js";import"./relative-import-specifier-OJ1nkBV9.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-Czr75mkK.js";import"./inference-diagnostics-BI3pXsTw.js";import"./writer-tw6EcuVO.js";import"./three-state-CouynZOV.js";import"./editor-shell-store-B87W2cjm.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-_El1wx2N.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-CvXShgBI.js","assets/index-C5cL2IUJ.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-Ch6v9PnO.js","assets/game-network-CBHt-_DV.js","assets/index-OZVqp6xS.js","assets/index-Da9JhEvW.js","assets/native-debug-module-BcCIQlpj.js","assets/native-entry-surface-BE8LJNdu.js","assets/debug-registry-DZXSvvn0.js","assets/contract-system-adapters-BTeuY0Wz.js","assets/game-contract-seams-leXTqnUS.js","assets/seeded-random-31t3Hhi7.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-Xdg6cat1.js","assets/capability-coverage-D1AjR_LI.js","assets/json-history-resource-DS16aq7M.js","assets/binding-resolver-B1NT5eZp.js","assets/adapter-surface-Y37Nzcyw.js","assets/structural-signature-Dc7skRiy.js","assets/webgl-frame-capture-DdJkM2mi.js","assets/realm-services-CqGTAk9D.js","assets/canvas-entry-runtime-D4UUWHHS.js","assets/three-ingest-runtime-C2ruwAa_.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-_WDvM24r.js","assets/ingest-source-persistence-CCGS4Nxy.js","assets/pixi-story-model-DNkfnWUV.js","assets/surface-content-Dg9Kkazf.js","assets/viewport-root-presentation-DBSTTcWY.js","assets/mounted-authoring-D3ZR7cVq.js","assets/entity-object-BpsV3ox5.js","assets/user-data-BYUf0wLn.js","assets/workspace-arrangement-Bx5PVUVK.js","assets/three-contract-Dkt6PmWY.js","assets/three-z0dIVVct.js","assets/editor-layers-DJwy9H_k.js","assets/component-instance-root-BVjTH0AO.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/three-authoring-adapter-BEDQRs2B.js","assets/source-persistence-backend-Mw40F3bc.js","assets/three-projection-core-BAO-45fo.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-uhCRHed5.js","assets/deferred-ingest-play-DtbBSsch.js","assets/rrweb-Cd2ifIRP.js","assets/react-world-authoring-adapter-CJSmvs_1.js","assets/board-guides-DLC77TC2.js","assets/relative-import-specifier-OJ1nkBV9.js","assets/story-arg-descriptors-Ek86ExX7.js","assets/inspect-Czr75mkK.js","assets/inference-diagnostics-BI3pXsTw.js","assets/writer-tw6EcuVO.js","assets/three-state-CouynZOV.js","assets/editor-shell-store-B87W2cjm.js","assets/output-pass-HurwNl0G.js","assets/viewport-door-_El1wx2N.js","assets/game-surface-defaults-D8S4cRxi.js","assets/scene-framing-Visz22um.js","assets/assets-BcrMQHRv.js","assets/loader-BTUKnX5Q.js","assets/KTX2Loader-CaqVE6nY.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/create-runtime-DTWZzn1t.js","assets/binding-Bmxqznjk.js","assets/root-stacking-BEd9ZvxC.js","assets/setup-renderer-DAvDM3La.js","assets/index-DHhMOs_s.js","assets/defaults-DKiBJCPN.js","assets/render-settings-Dy89f95W.js","assets/render-features-CMMNCiUj.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-C5cL2IUJ.js";import{r as a}from"./design-time-mount-registry-DUpXCg1U.js";import{q as c}from"./edit-mode-authoring-Ch6v9PnO.js";import{a as u}from"./json-history-resource-DS16aq7M.js";import{o as h}from"./three-authoring-adapter-BEDQRs2B.js";import{t as i}from"./editor-shell-store-B87W2cjm.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-BVjTH0AO.js";import"./user-data-BYUf0wLn.js";import"./workspace-arrangement-Bx5PVUVK.js";import"./source-persistence-backend-Mw40F3bc.js";import"./ingest-source-persistence-CCGS4Nxy.js";import"./three-projection-core-BAO-45fo.js";import"./editor-layers-DJwy9H_k.js";import"./three-z0dIVVct.js";import"./entity-object-BpsV3ox5.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-uhCRHed5.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-CvXShgBI.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-BjghFioV.js";import"./index-C5cL2IUJ.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-6TWdZ7gI.js";import"./root-stacking-BEd9ZvxC.js";import"./user-data-BYUf0wLn.js";import"./workspace-arrangement-Bx5PVUVK.js";import"./model-thumbnail-D73YMcQe.js";import"./studio-environment-BFOzO9xW.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./object3d-document-session-registry-ZvPc6hyy.js";import"./three-state-CouynZOV.js";import"./editor-shell-store-B87W2cjm.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./editor-layers-DJwy9H_k.js";import"./entity-object-BpsV3ox5.js";import"./three-contract-Dkt6PmWY.js";import"./hierarchy-marks-D1HxcOXp.js";import"./component-instance-root-BVjTH0AO.js";import"./viewport-door-_El1wx2N.js";import"./content-bounds-DzkikRBl.js";import"./asset-preview-Di8vxUY8.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-C5cL2IUJ.js";import{r as m}from"./index-nmcBqr7Y.js";import{P as p}from"./PlayBar-MxWuZDbI.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-CUnfG7ZO.js";import"./run-selection-D-MXhzyH.js";import"./game-network-CBHt-_DV.js";import"./index-OZVqp6xS.js";import"./index-Da9JhEvW.js";import"./native-debug-module-BcCIQlpj.js";import"./native-entry-surface-BE8LJNdu.js";import"./debug-registry-DZXSvvn0.js";import"./contract-system-adapters-BTeuY0Wz.js";import"./game-contract-seams-leXTqnUS.js";import"./seeded-random-31t3Hhi7.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-Xdg6cat1.js";import"./capability-coverage-D1AjR_LI.js";import"./edit-mode-authoring-Ch6v9PnO.js";import"./json-history-resource-DS16aq7M.js";import"./binding-resolver-B1NT5eZp.js";import"./adapter-surface-Y37Nzcyw.js";import"./structural-signature-Dc7skRiy.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./realm-services-CqGTAk9D.js";import"./canvas-entry-runtime-D4UUWHHS.js";import"./three-ingest-runtime-C2ruwAa_.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-_WDvM24r.js";import"./ingest-source-persistence-CCGS4Nxy.js";import"./pixi-story-model-DNkfnWUV.js";import"./surface-content-Dg9Kkazf.js";import"./viewport-root-presentation-DBSTTcWY.js";import"./mounted-authoring-D3ZR7cVq.js";import"./entity-object-BpsV3ox5.js";import"./user-data-BYUf0wLn.js";import"./workspace-arrangement-Bx5PVUVK.js";import"./three-contract-Dkt6PmWY.js";import"./three-z0dIVVct.js";import"./editor-layers-DJwy9H_k.js";import"./component-instance-root-BVjTH0AO.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./three-authoring-adapter-BEDQRs2B.js";import"./source-persistence-backend-Mw40F3bc.js";import"./three-projection-core-BAO-45fo.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-uhCRHed5.js";import"./deferred-ingest-play-DtbBSsch.js";import"./rrweb-Cd2ifIRP.js";import"./react-world-authoring-adapter-CJSmvs_1.js";import"./board-guides-DLC77TC2.js";import"./relative-import-specifier-OJ1nkBV9.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-Czr75mkK.js";import"./inference-diagnostics-BI3pXsTw.js";import"./writer-tw6EcuVO.js";import"./three-state-CouynZOV.js";import"./editor-shell-store-B87W2cjm.js";import"./output-pass-HurwNl0G.js";import"./viewport-door-_El1wx2N.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};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const d="/work/.volter-session",ae=`${d}/session.py`,se=[`${d}/in`,`${d}/reply`],L="/__editor/blender-wasm";function ie(e){return e.startsWith("@@VOLTER-ERROR")?"error":e.startsWith("@@VOLTER-WARN")?"warn":"log"}function D(e){return new URL(`${L}/${e}`,import.meta.url).href}async function M(){const e=await fetch(D("status"));return e.ok?await e.json():{available:!1,skew:null,dir:null,sizes:{},encoded:{},missing:[`${L}/status answered ${e.status}`]}}async function W(e){const t=await M();if(!t.available)throw new Error(`The headless Blender WebAssembly build is not served by this editor: ${t.missing.join("; ")}`);if(t.skew==="wali"){const{startWaliBlenderEngine:n}=await import("./blender-wali-engine--CAT1JcK.js");return n(e,t)}const{startEmscriptenBlenderEngine:r}=await import("./blender-emscripten-engine-BUt1MIRn.js");return r(e,t)}function J(e){return e<200?1:e<5e3?5:25}const U=e=>new Promise(t=>setTimeout(t,e)),B=new TextDecoder;function ce(e,t,r){let n=0,a=0;const o=new Set;async function s(u){for(const l of o)u.has(`${l}.done`)||(await e.unlink(`${d}/reply/${l}.json`),await e.unlink(`${d}/reply/${l}.done`),o.delete(l))}async function i(){let u;try{u=await e.readdir(`${d}/ask`)}catch{return}const l=new Set(u.filter(w=>w.endsWith(".done")));await s(l);for(const w of l){const h=w.slice(0,-5);if(Number(h)<=a)continue;a=Number(h);const $=JSON.parse(B.decode(await e.readFile(`${d}/ask/${h}.json`)));let p;try{p=await t.ask($)}catch(v){p={error:v instanceof Error?v.message:String(v)}}await Promise.all([e.writeFile(`${d}/reply/${h}.json`,JSON.stringify(p??null)),e.writeFile(`${d}/reply/${h}.done`,"1")]),o.add(h)}}async function c(u){const l=String(++n);await Promise.all([e.writeFile(`${d}/in/${l}.json`,JSON.stringify(u)),e.writeFile(`${d}/in/${l}.done`,"1")]);const w=performance.now();for(;;){if(await i(),await e.stat(`${d}/out/${l}.done`)){const p=JSON.parse(B.decode(await e.readFile(`${d}/out/${l}.json`)));if(await e.unlink(`${d}/in/${l}.json`),await e.unlink(`${d}/in/${l}.done`),p.error)throw new Error(p.error);return p.result}const h=r?.();if(h)throw new Error(`Blender is gone, so this call will never be answered: ${h}. The session keeps its directory and its cached banner, so every later call would wait on the same missing answer; start a new program with \`blender-start {fresh: true}\` (\`VOLTER_BLENDER_FRESH_SESSION=1\` for the battery harness).`);const $=J(performance.now()-w);await(e.changed?e.changed($):U($))}}return{request:c}}const I=e=>typeof e=="object"&&e!==null&&typeof e.offset=="number"&&typeof e.length=="number"&&typeof e.dtype=="string"&&typeof e.count=="number"&&typeof e.stride=="number",C={f32:e=>new Float32Array(e.buffer,e.byteOffset,e.byteLength>>2),f64:e=>new Float64Array(e.buffer,e.byteOffset,e.byteLength>>3),u32:e=>new Uint32Array(e.buffer,e.byteOffset,e.byteLength>>2),i32:e=>new Int32Array(e.buffer,e.byteOffset,e.byteLength>>2),u16:e=>new Uint16Array(e.buffer,e.byteOffset,e.byteLength>>1),i16:e=>new Int16Array(e.buffer,e.byteOffset,e.byteLength>>1),u8:e=>e,i8:e=>new Int8Array(e.buffer,e.byteOffset,e.byteLength)};function z(e,t,r){const n=C[r.dtype];if(!n)throw new Error(`Blender frame column ${t}: unknown dtype ${r.dtype}`);const{offset:a,length:o}=r;if(a<0||o<0||a+o>e.byteLength)throw new Error(`Blender frame column ${t}: bytes ${a}..${a+o} lie outside the ${e.byteLength}-byte export arena`);const s=e.subarray(a,a+o).slice(),i=n(s),c=r.count*r.stride;if(i.length!==c)throw new Error(`Blender frame column ${t}: ${i.length} values, ${c} declared (${r.count} x ${r.stride})`);return i}function V(e,t){const r=(n,a)=>{if(I(n)){const o=z(e,a,n);return a==="co"?Float64Array.from(o):o}if(Array.isArray(n))return n.map(o=>r(o,a));if(typeof n=="object"&&n!==null){const o={};for(const[s,i]of Object.entries(n))o[s]=r(i,s);return o}return n};return r(t,"")}async function H(e,t){const r=async(n,a)=>{if(I(n)){const{offset:o,length:s,dtype:i}=n;if(o<0||s<0||o+s>e.byteLength)throw new Error(`Blender frame column ${a}: bytes ${o}..${o+s} lie outside the ${e.byteLength}-byte export arena`);const c=e.subarray(o,o+s).slice(),u=await crypto.subtle.digest("SHA-256",c),l=[...new Uint8Array(u)].map(w=>w.toString(16).padStart(2,"0")).join("");return{dtype:i,length:s,sha256:l}}if(Array.isArray(n))return Promise.all(n.map(o=>r(o,a)));if(typeof n=="object"&&n!==null){const o={};for(const[s,i]of Object.entries(n))o[s]=await r(i,s);return o}return n};return r(t,"")}const m=e=>self.postMessage(e),k=(e,t)=>m({op:"log",level:e,text:t});let b=null,S=null,G=0;const j=new Map;function K(e,t,r){const n=++G,a=[],o=e;for(const s of[o?.meshes??{},o?.images??{}])for(const i of Object.values(s))for(const c of Object.values(i))ArrayBuffer.isView(c)&&c.buffer instanceof ArrayBuffer&&!a.includes(c.buffer)&&a.push(c.buffer);return new Promise((s,i)=>{j.set(n,{resolve:s,reject:i}),self.postMessage({op:"present",id:n,frame:e,description:t,...r?{capture:r}:{}},a)})}let f=null,E=null,T=!1,A=Promise.resolve();function Q(e){const t=A.then(e);return A=t.catch(()=>{}),t}function P(e){T=e,m({op:"document-dirty",dirty:e})}async function N(){if(!f||E===null)return;const e=E;let t;try{t=await f.request({op:"save-document"})}catch(n){throw new Error(`The Blender document ${e} could not be saved: ${g(n)}`)}if(!t?.saved||typeof t.path!="string")throw new Error(`Blender did not save the document ${e}`);let r;try{r=await f.files.readFile(t.path)}catch(n){throw new Error(`The Blender document ${e} could not be read back out of the engine: ${g(n)}`)}y.delete(t.path);try{const n=await fetch(`/__editor/blender-document?path=${encodeURIComponent(e)}`,{method:"POST",headers:{"content-type":"application/octet-stream"},body:new Blob([r])});if(!n.ok){const a=await n.text().catch(()=>"");throw new Error(`HTTP ${n.status} ${a}`)}}catch(n){throw new Error(`The Blender document ${e} was not written to the project: ${g(n)}`)}P(!1),k("log",`@@VOLTER-DOCUMENT ${JSON.stringify({path:e,bytes:r.length})}`)}async function X(e,t){const r={engine:null},n=await W({project:e,log:k,ask:async({frame:o,capture:s,saveDue:i})=>{if(!r.engine)throw new Error("The Blender session presented before it started");i&&E!==null&&P(!0);const c=await r.engine.readArena(),u=await H(c,o),l=await K(V(c,o),u,s);return{...typeof l.capture=="object"&&l.capture!==null?l.capture:{},..."held"in l?{held:l.held}:{}}}});r.engine=n,f=n,t&&await _(n.files,e);const a=await n.request({op:"start",project:e,...t?{document:t}:{}});return t&&(E=t),b={start:async()=>a,execute:async o=>{const s=await n.request({op:"execute",code:o});return s.error?`Error executing code: ${s.error}`:`Code executed successfully: ${s.result}`},sceneInfo:async()=>JSON.stringify(await n.request({op:"scene-info"}),null,2),objectInfo:async o=>JSON.stringify(await n.request({op:"object-info",name:o}),null,2),screenshotView:async o=>(await n.request({op:"present",capture:{size:o}}),JSON.stringify({view:{size:o}}))},{...a,engine:"blender-wasm",skew:n.skew,bootMs:Math.round(n.bootMs),releasedPayloadMB:n.releasedPayloadBytes===null?null:Math.round(n.releasedPayloadBytes/1048576)}}async function Y(){try{const e=await fetch("/__editor/blender-wasm/status");return e.ok?await e.json():{available:!1,missing:[`status answered ${e.status}`]}}catch(e){return{available:!1,missing:[String(e)]}}}async function Z(e,t){if(b)throw new Error("The Blender session is already started");if(!e.startsWith("/"))throw new Error("The Blender session needs the project's absolute path");if(t!==void 0&&!q(t))throw new Error(`The Blender document must be a project-relative .blend path with no traversal (models/model.blend); got ${JSON.stringify(t)}`);const r=await Y();if(!r.available)throw new Error(`Headless Blender is not served by this editor, so there is no modeling engine: ${r.missing.join("; ")}. The engine is Blender compiled to WebAssembly (packages/blender-engine/wasm, or the directory VOLTER_BLENDER_WASM_DIR names); nothing stands in for it.`);return S=e,X(e,t)}function q(e){return!e.endsWith(".blend")||e.startsWith("/")||e.includes("\\")?!1:e.split("/").every(r=>r!==""&&r!=="."&&r!=="..")}const x=new Set;function O(e){x.has(e)||(x.add(e),k("error",e))}async function ee(e){const t=s=>(O(`The project's files are not readable from Python: ${s}`),null);let r;try{r=await fetch("/__editor/blender-project-index")}catch(s){return t(String(s))}if(!r.ok)return t(`/__editor/blender-project-index answered ${r.status}`);let n;try{if(n=await r.json(),typeof n?.root!="string"||!Array.isArray(n.files))return t("invalid project index")}catch(s){return t(String(s))}const{root:a,files:o}=n;return a!==e&&O(`The editor serving this tab has ${a} open, not ${e}; its files are mounted at ${e}, which is where Python is looking.`),o}const y=new Map;async function te(e,t){const r=await e.stat(t);return r?`${r.size}:${r.mtimeMs}`:""}async function _(e,t){const r=await ee(t);if(!r)return;const n=new Set(r.map(a=>`${t}/${a.path}`));for(const a of[...y.keys()])if(!n.has(a)){try{await e.unlink(a)}catch{}y.delete(a)}for(const a of r){const o=`${t}/${a.path}`,s=`${a.size}:${a.mtime}`;if(y.get(o)?.host===s||!y.has(o)&&await e.stat(o)!==null)continue;const i=await fetch(`/__editor/blender-project-file?path=${encodeURIComponent(a.path)}`);if(!i.ok){O(`${a.path}: HTTP ${i.status}`);continue}const c=o.slice(0,o.lastIndexOf("/"));c&&await e.mkdirTree(c),await e.writeFile(o,new Uint8Array(await i.arrayBuffer())),y.set(o,{host:s,engine:await te(e,o)})}}async function ne(e,t){const r=[],n=async a=>{let o;try{o=await e.readdir(a)}catch{return}for(const s of o){if(s==="."||s==="..")continue;const i=`${a.replace(/\/$/,"")}/${s}`,c=await e.stat(i);if(c){if((c.mode&61440)===16384){await n(i);continue}y.get(i)?.engine!==`${c.size}:${c.mtimeMs}`&&r.push({path:i,size:c.size,mtime:c.mtimeMs})}}};return await n(t),r}async function F(e){switch(e.op){case"start":return Z(e.project,e.document);case"present-result":{const n=j.get(e.id);j.delete(e.id),n&&(e.error?n.reject(new Error(e.error)):n.resolve({...e.capture===void 0?{}:{capture:e.capture},..."held"in e?{held:e.held}:{}}));return}}if(!b||!S||!f)throw new Error("The Blender session has not started");const t=f.files,r=f.request.bind(f);switch(e.op){case"flush-document":return T?(await N(),{saved:!0}):{saved:!1};case"history-begin":case"history-end":return r({op:e.op});case"history-step":return r({op:"history-step",token:e.token,direction:e.direction});case"execute":await _(t,S);{const n=await r({op:"execute",code:e.code,history:e.history??!0,label:e.label??"Blender Python"});return n.error?`Error executing code: ${n.error}`:`Code executed successfully: ${n.result}`}case"present":return r({op:"present"});case"scene-info":return b.sceneInfo();case"object-info":return b.objectInfo(e.name);case"rna":return r({op:"rna",path:e.path,...e.names===void 0?{}:{names:e.names}});case"rna-context":return r({op:"rna-context",...e.object===void 0?{}:{object:e.object},...e.collection===void 0?{}:{collection:e.collection}});case"rna-set":return r({op:"rna-set",history:e.history!==!1,path:e.path,property:e.property,value:e.value,...e.index===void 0?{}:{index:e.index}});case"outliner":return r({op:"outliner",...e.selected===void 0?{}:{selected:[...e.selected]}});case"node-tree":return r({op:"node-tree",...e.path===void 0?{}:{path:e.path},...e.material===void 0?{}:{material:e.material}});case"uv-layout":return r({op:"uv-layout",...e.object===void 0?{}:{object:e.object},...e.uvLayer===void 0?{}:{uvLayer:e.uvLayer}});case"rig":return r({op:"rig",...e.object===void 0?{}:{object:e.object}});case"action-clip":return r({op:"action-clip",...e.object===void 0?{}:{object:e.object},...e.bake===void 0?{}:{bake:e.bake}});case"outliner-set":return r({op:"outliner-set",path:e.path,column:e.column,value:e.value});case"screenshot-view":return JSON.parse(await b.screenshotView(e.maxSize));case"read-file":return t.readFile(e.path);case"write-file":{const n=e.path.slice(0,e.path.lastIndexOf("/"));n&&await t.mkdirTree(n),await t.writeFile(e.path,e.bytes),y.delete(e.path);return}case"list-files":return ne(t,e.path)}throw new Error(`Unknown Blender worker request ${e.op}`)}function g(e){if(e instanceof Error)return e.stack??`${e.name}: ${e.message}`;if(typeof e=="object"&&e!==null){const t=e;if(typeof t.message=="string")return typeof t.name=="string"?`${t.name}: ${t.message}`:t.message;try{return JSON.stringify(e)??Object.prototype.toString.call(e)}catch{return Object.prototype.toString.call(e)}}return String(e)}function re(){if(!f)return;const e=f.memoryBytes();e!==null&&m({op:"memory",bytes:e})}self.onmessage=e=>{const t=e.data;if(t.op==="present-result"){F(t);return}Q(()=>oe(t))};async function oe(e){try{const t=await F(e);T&&await N(),await R(),m({id:e.id,result:t})}catch(t){let r=g(t);try{await R()}catch(n){r+=`
|
|
2
|
-
Unable to deliver Blender history: ${g(n)}`}m({id:e.id,error:r})}re()}async function R(){if(!f||!b)return;const e=await f.request({op:"history-events"});e.length&&m({op:"history",entries:e})}export{L as A,se as P,d as S,D as a,ae as b,ie as c,ce as o,U as s};
|