@volter/game-editor 0.5.67 → 0.5.69
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 +10954 -5077
- package/LICENSE +1 -1
- package/LICENSE-BLENDER +2 -2
- package/NOTICE +2 -2
- package/additions/canvas/package.json +8 -0
- package/additions/canvas/src/canvas-mount.ts +46 -0
- package/additions/canvas/src/scene2d.tsx +18 -0
- package/catalog/entries/bake.json +1 -1
- package/catalog/entries/blender.json +3 -3
- package/catalog/entries/music.json +6 -6
- package/catalog/project-source/LICENSE +1 -1
- package/catalog/project-source/src/contributions/bake.kind.ts +2 -2
- package/catalog/project-source/src/contributions/builder-document.tsx +1 -1
- package/catalog/project-source/src/contributions/builder-ui.tsx +3 -3
- package/catalog/project-source/src/contributions/module-source.ts +4 -4
- package/catalog/project-source/src/lib/music/music-player.ts +18 -12
- package/catalog/project-source/src/lib/reflections/volume-reflection-material.ts +59 -59
- package/catalog/project-source/src/lib/static-batch/Frozen.tsx +1 -1
- package/catalog/project-source/src/lib/static-batch/mutation-watch.ts +1 -1
- package/catalog/project-source/src/tools/bake-preview.tool.ts +9 -9
- package/dist/.vite/manifest.json +4106 -3965
- package/dist/assets/{AssetBudgetPanel-x_FNJbfZ.js → AssetBudgetPanel-BMR3AQhc.js} +10 -10
- package/dist/assets/AudioViewer-DESxi7pU.js +1 -0
- package/dist/assets/CanvasBoardDocument-Q_nrYFlB.js +1 -0
- package/dist/assets/CanvasSceneViewport-WZMoKy_F.js +1 -0
- package/dist/assets/ColorInput-C2EK-OnD.js +1 -0
- package/dist/assets/{EntityModelDocument-CzUHsH9E.js → EntityModelDocument-B_4ENTCq.js} +1 -1
- package/dist/assets/{EnvironmentAssetDocument-ByEB7_4A.js → EnvironmentAssetDocument-BZBp6OFJ.js} +1 -1
- package/dist/assets/{GameplaySessionTimeline-dhG-oiqd.js → GameplaySessionTimeline-1ivaucpv.js} +1 -1
- package/dist/assets/ImageViewer-D16OExYu.js +1 -0
- package/dist/assets/{InspectorCanvasPreview-CEr_Kxna.js → InspectorCanvasPreview-BrFjhoiD.js} +1 -1
- package/dist/assets/InspectorObjectPreview-CY5xVsPR.js +1 -0
- package/dist/assets/JsonAssetDocument-CvjTlcdr.js +2 -0
- package/dist/assets/{LiveModuleDocument-DL8QHSlk.js → LiveModuleDocument-ne1o9giX.js} +1 -1
- package/dist/assets/{LutAssetDocument-BImiug2M.js → LutAssetDocument-Cp0v-O7q.js} +1 -1
- package/dist/assets/ModelAssetDocument-Ceu7OIN9.js +1 -0
- package/dist/assets/{NonThreeAuthoringBootstrap-B40qmGGS.js → NonThreeAuthoringBootstrap-DiElZf-e.js} +1 -1
- package/dist/assets/Object3DDocumentToolbar-BLNamqii.js +1 -0
- package/dist/assets/Object3DDocumentViewport-D6QoHfa_.js +2 -0
- package/dist/assets/{Object3DPreview-ClYDoH2L.js → Object3DPreview-ZVokr044.js} +1 -1
- package/dist/assets/OnlineAssetDetail-Dnckd7zB.js +1 -0
- package/dist/assets/PlayBar-DsMitSgy.js +1 -0
- package/dist/assets/{QuarksAssetDocument-B-VOj-n4.js → QuarksAssetDocument-B5J8uHFM.js} +1 -1
- package/dist/assets/ReactCanvasControls-CmfvxJYY.js +1 -0
- package/dist/assets/RootSelectionOverlay-BWsNiSuM.js +1 -0
- package/dist/assets/{ShaderAssetDocument-Kn8IvRGV.js → ShaderAssetDocument-CT7XzsZq.js} +5 -5
- package/dist/assets/ShadowEditor-YO5KEfnz.js +1 -0
- package/dist/assets/{SourceAssetViewer-CLQ95VSD.js → SourceAssetViewer-FSLup2km.js} +1 -1
- package/dist/assets/StageHost-DYfGYwvq.js +2 -0
- package/dist/assets/{StoryPreviewMount-D2lg37et.js → StoryPreviewMount-BhvT5QlB.js} +1 -1
- package/dist/assets/ThreeBoardDocument-B-z2nwnH.js +2 -0
- package/dist/assets/{ThreeIsolationSceneContent-DbYIylZQ.js → ThreeIsolationSceneContent-B5pU4Y6k.js} +1 -1
- package/dist/assets/{ToolObject3DPreview-WEi6C9uU.js → ToolObject3DPreview-VtraiQ4Q.js} +1 -1
- package/dist/assets/Toolbar-M62Gob9T.js +1 -0
- package/dist/assets/{TransientHint-BpDLhRLd.js → TransientHint-Cc40mHWE.js} +1 -1
- package/dist/assets/VideoViewer-BxcUwXQm.js +1 -0
- package/dist/assets/ViewportShadingMenu-BoMPnTVh.js +1 -0
- package/dist/assets/active-ingest-0QjJWb7i.js +3 -0
- package/dist/assets/{animation-clock-Bm80XdqP.js → animation-clock-BXEwUJtz.js} +1 -1
- package/dist/assets/animation-mixers.service-C-Ko4KzM.js +1 -0
- package/dist/assets/animation-timeline.utility-Bl15-rYb.js +1 -0
- package/dist/assets/{asset-budget-asset.menu-CEgP0Kiw.js → asset-budget-asset.menu-BUa3g0Wy.js} +1 -1
- package/dist/assets/{asset-budget.action-D4R1c3wi.js → asset-budget.action-Dl5eVPIo.js} +1 -1
- package/dist/assets/{asset-budget.document-Syzjn1U1.js → asset-budget.document-DJylQ-0h.js} +1 -1
- package/dist/assets/{asset-budget.menu-BbRiqXeM.js → asset-budget.menu-BJtvNMLj.js} +1 -1
- package/dist/assets/asset-editor-persistence-BIbf5u0Q.js +1 -0
- package/dist/assets/asset-loaders-DoNflsHL.js +2 -0
- package/dist/assets/{asset-preview-B1tDziF1.js → asset-preview-DxlSdRZn.js} +1 -1
- package/dist/assets/{audio-unlock.service-ucMfCVBw.js → audio-unlock.service-CTaiyXF9.js} +1 -1
- package/dist/assets/audio.utility-CEmNc68t.js +1 -0
- package/dist/assets/autoplay.service-BZLSUyL8.js +1 -0
- package/dist/assets/{babylon-authoring-adapter-C8mFMXSr.js → babylon-authoring-adapter-BZvV2bz_.js} +1 -1
- package/dist/assets/binding-resolver-DGbk9_XR.js +2 -0
- package/dist/assets/blender-emscripten-engine-B7lfg-RX.js +2 -0
- package/dist/assets/{blender-node-editor.document-C1YmwWls.js → blender-node-editor.document-wXJobGNH.js} +1 -1
- package/dist/assets/{blender-properties-tab-B8lyjgj3.js → blender-properties-tab-7GFf80ev.js} +1 -1
- package/dist/assets/{blender-runtime-host-CyQlImSR.js → blender-runtime-host-CILxrx5T.js} +2 -2
- package/dist/assets/{blender-runtime-skin-BK7ShZ6z.js → blender-runtime-skin-Cd5lQYsC.js} +7 -7
- package/dist/assets/{blender-runtime.document-B0nVQs0P.js → blender-runtime.document-C0r_R49S.js} +7 -7
- package/dist/assets/{blender-timeline.document-CMcdE2CK.js → blender-timeline.document-BaISZMBc.js} +1 -1
- package/dist/assets/{blender-uv-editor.document-CjqNo4sZ.js → blender-uv-editor.document-CT_fsyyA.js} +1 -1
- package/dist/assets/blender-version.status-DzEx7u7k.js +1 -0
- package/dist/assets/blender-wali-engine-DOiQCBXH.js +2 -0
- package/dist/assets/{blender.command-C6NmRBo5.js → blender.command-DdiKd8mZ.js} +1 -1
- package/dist/assets/blender.keymap-BmOBRY7p.js +1 -0
- package/dist/assets/blender.status-BMETIbb2.js +1 -0
- package/dist/assets/board-guides-CjHQ9Ynm.js +1 -0
- package/dist/assets/body-marks-C1LxJtQb.js +1 -0
- package/dist/assets/bridge.command-DXUeavn5.js +3 -0
- package/dist/assets/{browserAll-lF_dLQVz.js → browserAll-Dg46xT22.js} +1 -1
- package/dist/assets/build-player.document-BHwVV3K0.js +1 -0
- package/dist/assets/build-profiles.document-HkpS-Kxa.js +2 -0
- package/dist/assets/build-progress.status-u1J0Rm1D.js +1 -0
- package/dist/assets/build-session-BLboUUbw.js +9 -0
- package/dist/assets/{build.action-DRX2IcYt.js → build.action-C00DL83N.js} +1 -1
- package/dist/assets/{build.command-BGvLaLG0.js → build.command-Cjk_NY75.js} +1 -1
- package/dist/assets/build.header-BWNmNWFT.js +1 -0
- package/dist/assets/{build.menu-UenrjPWS.js → build.menu-BBYtqCIq.js} +1 -1
- package/dist/assets/{build.service-BIUoTY6l.js → build.service-DOU15tKN.js} +1 -1
- package/dist/assets/{camera-DrvaM47S.js → camera-7DGyYW7Y.js} +1 -1
- package/dist/assets/{camera-runtime.inspector-CjJALNO8.js → camera-runtime.inspector-n-jiOR-3.js} +1 -1
- package/dist/assets/canvas-design-mount-CSRHU-ag.js +6 -0
- package/dist/assets/canvas-entry-runtime-BST8yRuK.js +2 -0
- package/dist/assets/{canvas-preview-frames-C0QTagA3.js → canvas-preview-frames-Cja32aW2.js} +1 -1
- package/dist/assets/{canvas-story-capture.service-Dgjr-rT1.js → canvas-story-capture.service-D5R5HJ8n.js} +2 -2
- package/dist/assets/capability-coverage-ByWftxk4.js +7 -0
- package/dist/assets/{collaboration-presence-BVIQuN1l.js → collaboration-presence-D6MC9xJN.js} +1 -1
- package/dist/assets/{collider-C7SbIYKY.js → collider-B78EcUc9.js} +1 -1
- package/dist/assets/{component-board.service-BEsFAw4_.js → component-board.service-BaQI5Oas.js} +2 -2
- package/dist/assets/component-board.service-CkjrsD8x.js +2 -0
- package/dist/assets/{component-board.service-CWFaGMCO.js → component-board.service-Dvjz_g-x.js} +2 -2
- package/dist/assets/component-contracts.service-C3-AXQp7.js +1 -0
- package/dist/assets/component-instance-root-DLI40MiB.js +1 -0
- package/dist/assets/{component-verbs.command-oNtGgzQL.js → component-verbs.command-Brr_WcaR.js} +1 -1
- package/dist/assets/component-verbs.service-DC2sC3j3.js +1 -0
- package/dist/assets/{config-_wCzzlM_.js → config-BI_7osdR.js} +3 -3
- package/dist/assets/{configurations-BXU4GGbV.js → configurations-XP9YLkrt.js} +1 -1
- package/dist/assets/connection.status-BhRwcFx0.js +1 -0
- package/dist/assets/{constraint-5KLYpGm7.js → constraint-Bp1l8hY-.js} +1 -1
- package/dist/assets/constraints.inspector-Dm1cycK3.js +1 -0
- package/dist/assets/{content-bounds-BeuIXKYu.js → content-bounds-DROIchTa.js} +1 -1
- package/dist/assets/{contract-system-adapters-Bic_7sev.js → contract-system-adapters-Cn7OW_ay.js} +1 -1
- package/dist/assets/coverage.service-l42ty7lr.js +3 -0
- package/dist/assets/create-runtime-B_uTwsmi.js +3 -0
- package/dist/assets/curve-THOUsg-j.js +1 -0
- package/dist/assets/{data-asset-DfQ2Pjse.js → data-asset-DAANayR6.js} +1 -1
- package/dist/assets/data-check-core-CHqar_E8.js +1 -0
- package/dist/assets/data-ref-CN34UeVw.js +1 -0
- package/dist/assets/debug-bridge-BD1XVAIB.js +1 -0
- package/dist/assets/debug-registry-ggQWxtu-.js +1 -0
- package/dist/assets/{deferred-ingest-play-BdR4qGk6.js → deferred-ingest-play-B2JUlwlT.js} +2 -2
- package/dist/assets/{design-time-canvas-mount-DPQeHSN2.js → design-time-canvas-mount-as9cN9I6.js} +2 -2
- package/dist/assets/design-time-layers-BRseeSmV.js +1 -0
- package/dist/assets/{design-time-mount.service-Ks-5Wkcs.js → design-time-mount.service-BTVu3yKo.js} +2 -2
- package/dist/assets/{design-time-mount.service-Ca-DZGFV.js → design-time-mount.service-DKvc7lVK.js} +2 -2
- package/dist/assets/design-time-react-mount-C7rB56QD.js +1 -0
- package/dist/assets/{document-preview-three-DThkjI1S.js → document-preview-three-CxmRhCcV.js} +1 -1
- package/dist/assets/{dom-authoring-adapter-BrLU8IJ_.js → dom-authoring-adapter-L8OzXfmE.js} +1 -1
- package/dist/assets/{draco3d-B2cwv46o.js → draco3d-BjNuXv66.js} +1 -1
- package/dist/assets/{edit-mode-audio.service-D4ITNbsm.js → edit-mode-audio.service-BwI5u845.js} +1 -1
- package/dist/assets/edit-mode-authoring-D5f7aHHl.js +1 -0
- package/dist/assets/{edit-mode-networking.service-BNv-FTRh.js → edit-mode-networking.service-DqP_4lbI.js} +1 -1
- package/dist/assets/editor-api-BM7H_F4G.js +1 -0
- package/dist/assets/{editor-layers-BDJnAAzj.js → editor-layers-D-CTUqco.js} +1 -1
- package/dist/assets/editor-presentation-activity-CqJH4G9t.js +1 -0
- package/dist/assets/{editor-shell-store-ChLcVeNB.js → editor-shell-store-DHVWS8cE.js} +1 -1
- package/dist/assets/{entity-object-JmYMfLsx.js → entity-object-MKYemTFM.js} +1 -1
- package/dist/assets/{extend-Cc-nEa_A.js → extend-BrgqZiMY.js} +1 -1
- package/dist/assets/fork-menu-DE2MK3Nq.js +1 -0
- package/dist/assets/{frame-debugger-store-DaCbAYSW.js → frame-debugger-store-BXoLKTdZ.js} +1 -1
- package/dist/assets/game-audio-BeCyd0Ha.js +1 -0
- package/dist/assets/{game-contract-seams-BnPFGLll.js → game-contract-seams-tyKDsfaP.js} +1 -1
- package/dist/assets/{game-css-scope-transform-D_p7cVgW.js → game-css-scope-transform-DcjrwtVc.js} +2 -2
- package/dist/assets/game-document.service-CTb2itHQ.js +1 -0
- package/dist/assets/game-eval.command-CpDKXOQU.js +2 -0
- package/dist/assets/game-module-access-BTInp2NG.js +1 -0
- package/dist/assets/game-network-DW5ARz4R.js +22 -0
- package/dist/assets/{gameplay-export-BzYzLZPi.js → gameplay-export-cHk3v9y-.js} +1 -1
- package/dist/assets/gameplay-replay-HRenPTtU.js +1 -0
- package/dist/assets/gameplay.command-DcY2lKKX.js +1 -0
- package/dist/assets/generation-CdOATubd.css +1 -0
- package/dist/assets/{generation-jobs-BZhOMrp-.js → generation-jobs-CJBehuUp.js} +1 -1
- package/dist/assets/generation.service-BMOc-C9i.js +1 -0
- package/dist/assets/{generations-DVDht_31.js → generations-ssgVOe_6.js} +1 -1
- package/dist/assets/generations.status-B_SmPReI.js +1 -0
- package/dist/assets/hierarchy-marks-BuCO8Ke-.js +1 -0
- package/dist/assets/hierarchy-marks-CsTaTkc7.js +1 -0
- package/dist/assets/hosted-asset-materialization-CiXZI85V.js +2 -0
- package/dist/assets/{ibl-override-material-CiKkaOTW.js → ibl-override-material-CMo_a49U.js} +1 -1
- package/dist/assets/index-B0S4fQQV.js +1 -0
- package/dist/assets/{index-C3Pw-9So.js → index-B9bd4k-t.js} +1 -1
- package/dist/assets/index-BMxv2MNV.js +1 -0
- package/dist/assets/{index-DUZeuA7g.js → index-Bm4_DmRO.js} +1 -1
- package/dist/assets/{index-cNc-iFbq.js → index-BvBlIRwM.js} +1 -1
- package/dist/assets/{index-Ck3JFh48.js → index-BweKDdi_.js} +1 -1
- package/dist/assets/{index-BRJMIUK0.js → index-C5ZAyrKq.js} +346 -345
- package/dist/assets/index-CPiRKiDC.css +1 -0
- package/dist/assets/index-CfpGZrbC.js +1 -0
- package/dist/assets/index-Czvj6whv.js +1 -0
- package/dist/assets/{index-SS9EugVg.js → index-DgPDGGSV.js} +2 -2
- package/dist/assets/{inference-diagnostics-xecGdohW.js → inference-diagnostics-DLt9ql9I.js} +1 -1
- package/dist/assets/{ingest-boot-viewport-DAt8WFSy.js → ingest-boot-viewport-BXVXjYpG.js} +1 -1
- package/dist/assets/ingest-siblings-DWJ7OGB_.js +1 -0
- package/dist/assets/ingest-source-persistence-6ShMoSCa.js +1 -0
- package/dist/assets/ingest.service-BBbX8ibg.js +1 -0
- package/dist/assets/{inspect-Dr4qvDpJ.js → inspect-Cz3Zyx_1.js} +1 -1
- package/dist/assets/inspection-D8fZOHCM.js +1 -0
- package/dist/assets/instances.command-BrdlngrL.js +1 -0
- package/dist/assets/{json-history-resource-DwS10tqD.js → json-history-resource-Uqrihfc8.js} +1 -1
- package/dist/assets/layered-pick-CAVQMPI7.js +1 -0
- package/dist/assets/{light-DcFqVCmv.js → light-CqzsCWeJ.js} +1 -1
- package/dist/assets/{live-project-verbs-C3LzprCe.js → live-project-verbs-CdFmLYOo.js} +1 -1
- package/dist/assets/{machine.document-BzZxubYQ.js → machine.document-DRIFOVaa.js} +1 -1
- package/dist/assets/{machines.finder-BR02bfVG.js → machines.finder-DPCT6few.js} +1 -1
- package/dist/assets/material-BVApn1V_.js +1 -0
- package/dist/assets/{material-factory-COz7qZhC.js → material-factory-B_75xxFD.js} +1 -1
- package/dist/assets/{mesh-DcmO-mWI.js → mesh-DdA3mExo.js} +1 -1
- package/dist/assets/model-asset-sections-D1uxOu2v.css +1 -0
- package/dist/assets/model-asset-sections.service-CJnSIckZ.js +1 -0
- package/dist/assets/{model-inspection-CXHxrafK.js → model-inspection-DvspbmJl.js} +1 -1
- package/dist/assets/{model-thumbnail-BEKPWg4l.js → model-thumbnail-BmQs-h6t.js} +1 -1
- package/dist/assets/{models.finder-c1I0tp2M.js → models.finder-Qv_Hsccy.js} +1 -1
- package/dist/assets/module-mode-MJ4Gbsry.js +2 -0
- package/dist/assets/mount-canvas-ingest-root-BxtM8OaB.js +2 -0
- package/dist/assets/mount-dom-ingest-root-pGatqO46.js +2 -0
- package/dist/assets/mount-ingest-root-C7jb-mCl.js +2 -0
- package/dist/assets/mount-manifest-BfoHBuzn.js +1 -0
- package/dist/assets/mount-readiness-DyAd17pe.js +4 -0
- package/dist/assets/mount-three-ingest-root-Boa5mcaF.js +1 -0
- package/dist/assets/{mounted-authoring-Clftxx0x.js → mounted-authoring-DxMISwvR.js} +1 -1
- package/dist/assets/{mounted-story-viewport-source-B4-eAYGI.js → mounted-story-viewport-source-DfnLxI1f.js} +1 -1
- package/dist/assets/{native-debug-module-2_HVupdg.js → native-debug-module-BlrALjM3.js} +1 -1
- package/dist/assets/{navigation-CH3-zr1n.js → navigation-CqG5o5AR.js} +1 -1
- package/dist/assets/{navmesh.menu-Dfi-Pk-8.js → navmesh.menu-D4TdVDhe.js} +1 -1
- package/dist/assets/{navmesh.service-Cz7QFY-M.js → navmesh.service-DWKT5ruQ.js} +1 -1
- package/dist/assets/network-observer.service-ZRAquNq4.js +1 -0
- package/dist/assets/network.utility-DjeOEvAY.js +1 -0
- package/dist/assets/object-marks-BnvSuCTt.js +1 -0
- package/dist/assets/{object3d-authoring-subject-BDrxd1GA.js → object3d-authoring-subject-XccsO0xG.js} +1 -1
- package/dist/assets/{object3d-document-session-registry-DJDEDM0p.js → object3d-document-session-registry-CMRJdFp6.js} +2 -2
- package/dist/assets/{oid-transform-D5Kxt6ij.js → oid-transform-DaA6yW6o.js} +1 -1
- package/dist/assets/{particles-vRp0Lf3o.js → particles-DsQRcDBY.js} +1 -1
- package/dist/assets/{performance-profiler-OwnXQX0M.js → performance-profiler-CMbwGBuk.js} +1 -1
- package/dist/assets/pixi-authoring-adapter-BoBt8bB5.js +1 -0
- package/dist/assets/pixi-live-write-target-CYZgvC6U.js +1 -0
- package/dist/assets/play.command-D9JGJP-e.js +2 -0
- package/dist/assets/pose-guard-CLabLSzf.js +1 -0
- package/dist/assets/presentation-COhHQdmR.js +1 -0
- package/dist/assets/{product-CxmUIxmr.js → product-CaRGoiIH.js} +1 -1
- package/dist/assets/{profiler.action-Dzy9DuAc.js → profiler.action-Cz7HYWjh.js} +1 -1
- package/dist/assets/{profiler.menu-jLDO3U6N.js → profiler.menu-D5aR_FBy.js} +1 -1
- package/dist/assets/profiler.utility-KwxlIPKb.js +1 -0
- package/dist/assets/{project-authoring-session-C3eusefK.js → project-authoring-session-DKXHVwxO.js} +2 -2
- package/dist/assets/project-provenance-BGnJXJwa.js +1 -0
- package/dist/assets/{properties-bone-constraints.inspector-B_PbSMV7.js → properties-bone-constraints.inspector-Bo-sU8eR.js} +1 -1
- package/dist/assets/{properties-bone.inspector-CMDEQuBd.js → properties-bone.inspector-BQiWplQv.js} +1 -1
- package/dist/assets/{properties-collection.inspector-D7Ay8yRj.js → properties-collection.inspector-C5BnR-GE.js} +1 -1
- package/dist/assets/{properties-constraints.inspector-DS1fZgXK.js → properties-constraints.inspector-CyheU12R.js} +1 -1
- package/dist/assets/{properties-data.inspector-k2pGN2Mp.js → properties-data.inspector-CkycARja.js} +1 -1
- package/dist/assets/{properties-material.inspector-Bb3yAGUx.js → properties-material.inspector-Bl_PUmY-.js} +1 -1
- package/dist/assets/{properties-modifiers.inspector-BcJfe-Wy.js → properties-modifiers.inspector-j7SnOxQq.js} +1 -1
- package/dist/assets/{properties-object.inspector-CUSfXJuq.js → properties-object.inspector-DcR3MGLK.js} +1 -1
- package/dist/assets/{properties-output.inspector-BTVW2kn1.js → properties-output.inspector-BLjw6K4b.js} +1 -1
- package/dist/assets/{properties-particles.inspector-Cw0fxx3B.js → properties-particles.inspector-BUIm2-Jf.js} +1 -1
- package/dist/assets/{properties-physics.inspector-C-0bD2bu.js → properties-physics.inspector-DNvRcxb6.js} +1 -1
- package/dist/assets/{properties-render.inspector-C8D5UpjX.js → properties-render.inspector-8FMZ-qoZ.js} +1 -1
- package/dist/assets/{properties-scene.inspector-HjK6QHGg.js → properties-scene.inspector-Dx7_z75k.js} +1 -1
- package/dist/assets/{properties-texture.inspector-CckZgUaI.js → properties-texture.inspector-WT15951-.js} +1 -1
- package/dist/assets/{properties-view-layer.inspector-C1ajtVSk.js → properties-view-layer.inspector-P7VNTdqr.js} +1 -1
- package/dist/assets/{properties-world.inspector-BiT_EdT-.js → properties-world.inspector-B3t1q8TF.js} +1 -1
- package/dist/assets/r3f-design-session-lsbFnoWH.js +2 -0
- package/dist/assets/{r3f-physics-binding-DzrbpqjM.js → r3f-physics-binding-Cx8yhuwt.js} +1 -1
- package/dist/assets/{r3f-source-authoring-adapter-DbbeRcvt.js → r3f-source-authoring-adapter-jH3G0TeH.js} +2 -2
- package/dist/assets/react-canvas-navigation-B_gOe3CI.js +1 -0
- package/dist/assets/react-inspector.service-CZf1vfdX.js +1 -0
- package/dist/assets/react-story-board-CCm2Opwn.js +1 -0
- package/dist/assets/{react-three-rapier.esm-U8J7g6tH.js → react-three-rapier.esm-CHXGG51p.js} +1 -1
- package/dist/assets/react-world-authoring-adapter-CnzxMtYz.js +1 -0
- package/dist/assets/{realm-services-CnY105XU.js → realm-services-Do9J6nsb.js} +1 -1
- package/dist/assets/reflection-probe-capture.inspector-BAjjIybz.js +1 -0
- package/dist/assets/{reflection-probe-BHNGwVyz.js → reflection-probe-sIto9mh0.js} +1 -1
- package/dist/assets/registry-Xnduk02T.js +1 -0
- package/dist/assets/{relative-import-specifier-BFKIWEWs.js → relative-import-specifier-CPFTrxi4.js} +1 -1
- package/dist/assets/{render-env-BkKZ4uMA.js → render-env-YJlI8K0i.js} +1 -1
- package/dist/assets/{render-features-rxbawsRb.js → render-features-DMSV2qKJ.js} +1 -1
- package/dist/assets/{render-settings-DS5leCed.js → render-settings-CRyDhHyz.js} +1 -1
- package/dist/assets/{resolve-three-CVnMRHxw.js → resolve-three-D27rMc37.js} +19 -19
- package/dist/assets/root-seam-contract-gjWUd5uu.js +1 -0
- package/dist/assets/run-selection-B0jOdyYt.js +2 -0
- package/dist/assets/scene-capture-Di9cM1p4.js +1 -0
- package/dist/assets/scene-document.service-XxGs4HHE.js +2 -0
- package/dist/assets/{scene-framing-BQt72ZCw.js → scene-framing-DkZKDwH3.js} +1 -1
- package/dist/assets/{scene-index--lRWLEmW.js → scene-index-DHeKmalD.js} +1 -1
- package/dist/assets/{scene-query-s1y04OVB.js → scene-query-ByZtXA2m.js} +1 -1
- package/dist/assets/seeded-random-BJthDRMu.js +1 -0
- package/dist/assets/{session-CTXsU1lK.js → session-x8E_NJk2.js} +34 -34
- package/dist/assets/{setup-renderer-Cwkl1Ar6.js → setup-renderer-F9mG7t6r.js} +1 -1
- package/dist/assets/{source-object3d-authoring-adapter-DF679Ncb.js → source-object3d-authoring-adapter-CvmFpSUj.js} +1 -1
- package/dist/assets/{source-persistence-backend-CwLYVPXj.js → source-persistence-backend-au3WtEn6.js} +1 -1
- package/dist/assets/{spark-renderer-lifecycle-DfYpvEJa.js → spark-renderer-lifecycle-B6Axb6jm.js} +1 -1
- package/dist/assets/{stage-keyboard-B8BEW592.js → stage-keyboard-BQkndG_D.js} +1 -1
- package/dist/assets/stage-overlay-set-g6eWhuRv.js +1 -0
- package/dist/assets/stage-presence-markers-0CDfO5f4.js +1 -0
- package/dist/assets/stage-transform-tools-BzPl7OIo.js +1 -0
- package/dist/assets/standard-viewport-dressing-BW-dM_1h.js +24 -0
- package/dist/assets/{state-watch.action-DnR5Zjr-.js → state-watch.action-Z1nQ5awu.js} +1 -1
- package/dist/assets/{state-watch.menu-wYLCLsAw.js → state-watch.menu-CQHGUF3W.js} +1 -1
- package/dist/assets/state-watch.utility-DCIg2i79.js +1 -0
- package/dist/assets/{story-capture-BmnwHGDV.js → story-capture-BIrjDKeY.js} +1 -1
- package/dist/assets/story-documents-BvG2xeaR.js +3 -0
- package/dist/assets/{story-documents.service-B6v7Z-WE.js → story-documents.service-DOSEa3ja.js} +1 -1
- package/dist/assets/{story-documents.service-yagl1wGp.js → story-documents.service-y1m7XGMJ.js} +1 -1
- package/dist/assets/{story-media-presence-BqRMu572.js → story-media-presence-HLV-KaMj.js} +1 -1
- package/dist/assets/{story-pixi-preview-Da6afqLg.js → story-pixi-preview-CMhho2gG.js} +1 -1
- package/dist/assets/{story-presentation-DMSYRWaz.js → story-presentation-CYhVv8Ku.js} +1 -1
- package/dist/assets/story-three-preview-CgcLF5lE.js +2 -0
- package/dist/assets/{structural-ids-Br2zjINh.js → structural-ids-BOo2BRoY.js} +1 -1
- package/dist/assets/studio-environment-R9qXUUcC.js +2 -0
- package/dist/assets/{surface-state-1lTOi8FD.js → surface-state-D8Qnowo6.js} +1 -1
- package/dist/assets/{syntactic-prop-specs-eiQXwMIc.js → syntactic-prop-specs-8gkBuc5j.js} +1 -1
- package/dist/assets/team-playtest.service-BBMZ2iyk.js +1 -0
- package/dist/assets/{three-TCuY32m_.js → three-DiL6vMXq.js} +1 -1
- package/dist/assets/three-authoring-adapter-CkLR2zGf.js +1 -0
- package/dist/assets/three-authoring.service-CovhlCGx.js +2 -0
- package/dist/assets/{three-ingest-runtime-B7rtg3QE.js → three-ingest-runtime-CwTqAHgX.js} +1 -1
- package/dist/assets/{three-integration-BdN5Nhsg.js → three-integration-DXOFI88n.js} +2 -2
- package/dist/assets/three-integration.service-rCAqpqSp.js +1 -0
- package/dist/assets/three-projection-core-B7Lf8tOp.js +1 -0
- package/dist/assets/{three-state-DwFE3ay2.js → three-state-BCACvUtm.js} +1 -1
- package/dist/assets/{three-story-capture.service-CvpV3v5a.js → three-story-capture.service-rTFKNtHA.js} +2 -2
- package/dist/assets/{three-story-model-C2r2BuiA.js → three-story-model-BjKr7OMn.js} +1 -1
- package/dist/assets/three-viewport-presentation-CBzvc2v2.js +141 -0
- package/dist/assets/tools-DfctM216.js +1 -0
- package/dist/assets/transform-mode-request-DlEApNrA.js +1 -0
- package/dist/assets/transport-strip-xCg94CuI.js +1 -0
- package/dist/assets/transport.header-BRtdky0x.js +1 -0
- package/dist/assets/{trigger-volume-DP0G1VBe.js → trigger-volume-BLkHmfm9.js} +1 -1
- package/dist/assets/tuples-BDz3wbQL.js +1 -0
- package/dist/assets/ui-board-document-DvbK_HVN.js +2 -0
- package/dist/assets/{user-data-Bpj7diUS.js → user-data-C84W0V47.js} +1 -1
- package/dist/assets/user-data-CODoGZqA.js +1 -0
- package/dist/assets/{utility-view-state-CAfbFbKQ.js → utility-view-state-CDRxZSo-.js} +1 -1
- package/dist/assets/viewport-door-BARIpMu-.js +1 -0
- package/dist/assets/{viewport-root-presentation-vgxsTyj4.js → viewport-root-presentation-hRLF0BeO.js} +1 -1
- package/dist/assets/{viewport-surface-status-cwCiBGa7.js → viewport-surface-status-TUfhXKR9.js} +1 -1
- package/dist/assets/{webworkerAll-Cm3gTjWi.js → webworkerAll-PJtcQ1FD.js} +1 -1
- package/dist/assets/worker-BtXrsgFy.js +2 -0
- package/dist/assets/workspace-arrangement-DqG5sUns.js +1 -0
- package/dist/assets/world-documents-D69XaqUX.js +1 -0
- package/dist/assets/world-root-stage-binding-BgZWZEuD.js +1 -0
- package/dist/assets/{xstate-animation-binding-BGLxcZT_.js → xstate-animation-binding-CIyLzGHs.js} +1 -1
- package/dist/assets/{xstate-animation-meta-D_T441Ru.js → xstate-animation-meta-CbYWup3R.js} +1 -1
- package/dist/volter-shared-react.json +10 -0
- package/dist/volter-shared-three.json +3 -0
- package/dist-node/cli.js +253 -210
- package/dist-node/create.js +103 -82
- package/package.json +23 -20
- package/src/contributions.d.ts +1 -1
- package/src/index.ts +10 -10
- package/starter/cube.py +1 -1
- package/template/.agents/references/project-manual.md +17 -17
- package/template/.agents/skills/editor/SKILL.md +6 -6
- package/template/.agents/skills/editor/agents/openai.yaml +3 -3
- package/template/.agents/skills/editor/references/editor-control.md +62 -62
- package/template/{.claude/skills/vgai-3d-models → .agents/skills/volter-3d-models}/SKILL.md +3 -3
- package/template/{.github/skills/vgai-ingest-existing-game → .agents/skills/volter-ingest-existing-game}/SKILL.md +2 -2
- package/template/.agents/skills/{vgai-music → volter-music}/SKILL.md +35 -11
- package/template/{.claude/skills/vgai-threejs-authoring → .agents/skills/volter-threejs-authoring}/SKILL.md +9 -9
- package/template/.agents/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
- package/template/{.github/skills/vgai-threejs-authoring → .agents/skills/volter-threejs-authoring}/references/helper-catalog.md +1 -1
- package/template/.claude/skills/editor/SKILL.md +6 -6
- package/template/.claude/skills/editor/agents/openai.yaml +3 -3
- package/template/.claude/skills/editor/references/editor-control.md +62 -62
- package/template/{.agents/skills/vgai-3d-models → .claude/skills/volter-3d-models}/SKILL.md +3 -3
- package/template/{.agents/skills/vgai-ingest-existing-game → .claude/skills/volter-ingest-existing-game}/SKILL.md +2 -2
- package/template/{.github/skills/vgai-threejs-authoring → .claude/skills/volter-threejs-authoring}/SKILL.md +9 -9
- package/template/.claude/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
- package/template/.claude/skills/{vgai-threejs-authoring → volter-threejs-authoring}/references/helper-catalog.md +1 -1
- package/template/.github/copilot-instructions.md +1 -1
- package/template/.github/skills/editor/SKILL.md +6 -6
- package/template/.github/skills/editor/agents/openai.yaml +3 -3
- package/template/.github/skills/editor/references/editor-control.md +62 -62
- package/template/.github/skills/{vgai-3d-models → volter-3d-models}/SKILL.md +3 -3
- package/template/{.claude/skills/vgai-ingest-existing-game → .github/skills/volter-ingest-existing-game}/SKILL.md +2 -2
- package/template/{.agents/skills/vgai-threejs-authoring → .github/skills/volter-threejs-authoring}/SKILL.md +9 -9
- package/template/.github/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
- package/template/{.agents/skills/vgai-threejs-authoring → .github/skills/volter-threejs-authoring}/references/helper-catalog.md +1 -1
- package/template/.mcp.json +3 -3
- package/template/AGENTS.md +24 -23
- package/template/DEVLOG.md +1 -1
- package/template/IDIOMS.md +3 -3
- package/template/LICENSE +3 -3
- package/template/README.md +12 -12
- package/template/check-idioms.ts +51 -51
- package/template/manifest-entry-modules-plugin.ts +17 -4
- package/template/package.json +12 -12
- package/template/server/loopback.ts +1 -1
- package/template/server/main.ts +4 -4
- package/template/server/rooms/arena-room.ts +8 -8
- package/template/server/rooms/game-room.ts +8 -8
- package/template/server/rooms.ts +2 -2
- package/template/src/bot/QaTester.tsx +1 -1
- package/template/src/bot/bot-station.ts +2 -2
- package/template/src/bot/tester-station.ts +1 -1
- package/template/src/contributions/README.md +1 -1
- package/template/src/contributions/analytics.analytics.tsx +1 -1
- package/template/src/contributions/data.document.tsx +2 -2
- package/template/src/contributions/pages.finder.ts +1 -1
- package/template/src/contributions/tester.inspector.tsx +2 -2
- package/template/src/contributions/use-game-modules.ts +1 -1
- package/template/src/input.ts +2 -2
- package/template/src/lib/reflections/volume-reflection-material.ts +59 -59
- package/template/src/lib/static-batch/Frozen.tsx +1 -1
- package/template/src/lib/static-batch/mutation-watch.ts +1 -1
- package/template/src/main.ts +58 -6
- package/template/src/manifest-entry-modules.d.ts +12 -1
- package/template/src/prefabs/HeroBox.stories.tsx +1 -1
- package/template/src/world.tsx +1 -1
- package/template/tsconfig.json +1 -1
- package/template/validate-manifest.ts +3 -3
- package/template/vite.config.ts +11 -11
- package/template/{vgai.adapter.ts → volter.adapter.ts} +1 -1
- package/template/{vgai.project.json → volter.project.json} +2 -2
- package/template-dotfiles/gitignore +27 -27
- package/workbench/src/media/game-cover.css +11 -11
- package/workbench/src/product.contribution.ts +28 -28
- package/workbench/src/{vgaiGameSkew.ts → volterGameSkew.ts} +16 -16
- package/dist/assets/AudioViewer-BDPqHDfU.js +0 -1
- package/dist/assets/CanvasBoardDocument-mxL0oJ3N.js +0 -1
- package/dist/assets/CanvasSceneViewport-C_mapCwC.js +0 -1
- package/dist/assets/ColorInput-QUPS1pEB.js +0 -1
- package/dist/assets/ImageViewer-tlVvkdM4.js +0 -1
- package/dist/assets/InspectorObjectPreview-W-y079DS.js +0 -1
- package/dist/assets/JsonAssetDocument-CPmcWFPW.js +0 -2
- package/dist/assets/ModelAssetDocument-De1HKuxG.js +0 -1
- package/dist/assets/Object3DDocumentToolbar-Cks81kCS.js +0 -1
- package/dist/assets/Object3DDocumentViewport-DCwiSY3O.js +0 -2
- package/dist/assets/OnlineAssetDetail-CNuwSQRQ.js +0 -1
- package/dist/assets/PlayBar-bT8Xdrap.js +0 -1
- package/dist/assets/ReactCanvasControls-CnJrPj-B.js +0 -1
- package/dist/assets/RootSelectionOverlay-CpaGluQu.js +0 -1
- package/dist/assets/ShadowEditor-CVtMlALn.js +0 -1
- package/dist/assets/StageHost-B89HKcvd.js +0 -2
- package/dist/assets/ThreeBoardDocument-BAgHrbtu.js +0 -2
- package/dist/assets/Toolbar-DkTHnQto.js +0 -1
- package/dist/assets/VideoViewer-DMV8lf4P.js +0 -1
- package/dist/assets/ViewportShadingMenu-CXPi6fl8.js +0 -1
- package/dist/assets/active-ingest-DA426a81.js +0 -3
- package/dist/assets/adapter-runtime-bindings-4cmsRvRh.js +0 -2
- package/dist/assets/animation-mixers.service-DK64IuYq.js +0 -1
- package/dist/assets/animation-timeline.utility-D-g0zrOl.js +0 -1
- package/dist/assets/asset-editor-persistence-BGWIqZdk.js +0 -1
- package/dist/assets/asset-loaders-C0KQI5eY.js +0 -2
- package/dist/assets/audio.utility-BmE9WMUg.js +0 -1
- package/dist/assets/autoplay.service-CjPnv3QW.js +0 -1
- package/dist/assets/binding-resolver-dE0GnZT5.js +0 -2
- package/dist/assets/blender-emscripten-engine-BeWFjMn-.js +0 -2
- package/dist/assets/blender-version.status-OsFoc9SA.js +0 -1
- package/dist/assets/blender-wali-engine-da698rDf.js +0 -2
- package/dist/assets/blender.keymap-_rF_vRX8.js +0 -1
- package/dist/assets/blender.status-ujwGU6dU.js +0 -1
- package/dist/assets/board-guides-BEKPgD9M.js +0 -1
- package/dist/assets/body-marks-RKb_LTwL.js +0 -1
- package/dist/assets/bridge.command-BF00Iefm.js +0 -3
- package/dist/assets/build-profiles.document-CqNrDdh9.js +0 -2
- package/dist/assets/build-progress.status-Bo1ZgJcb.js +0 -1
- package/dist/assets/build-session-GZcSAfPN.js +0 -9
- package/dist/assets/build.header-Bt1kwHWl.js +0 -1
- package/dist/assets/canvas-design-mount-BbLW_Nci.js +0 -6
- package/dist/assets/canvas-entry-runtime-UNYuSfG0.js +0 -2
- package/dist/assets/capability-coverage-DZ-onC5j.js +0 -7
- package/dist/assets/component-board.service-q_TM9BCw.js +0 -2
- package/dist/assets/component-contracts.service-CPbfXE1h.js +0 -1
- package/dist/assets/component-instance-root-B0C5oNEm.js +0 -1
- package/dist/assets/component-verbs.service-CnA11bJq.js +0 -1
- package/dist/assets/connection.status-Yvt0bX0r.js +0 -1
- package/dist/assets/constraints.inspector-4r8jWq5a.js +0 -1
- package/dist/assets/coverage.service-DcpEoBuf.js +0 -3
- package/dist/assets/create-runtime-DBfUy0SO.js +0 -3
- package/dist/assets/curve-DVd18iAX.js +0 -1
- package/dist/assets/data-check-core-CQEjuFyt.js +0 -1
- package/dist/assets/data-ref-CWnkj-HX.js +0 -1
- package/dist/assets/debug-bridge-D3_-EgRE.js +0 -1
- package/dist/assets/debug-registry-P0_YQGWd.js +0 -1
- package/dist/assets/design-time-layers-ChswRUJt.js +0 -1
- package/dist/assets/design-time-react-mount-C85KfXOd.js +0 -1
- package/dist/assets/edit-mode-authoring-DeCxPcHM.js +0 -1
- package/dist/assets/editor-api-BFTIRlWa.js +0 -1
- package/dist/assets/editor-presentation-activity-C7SNSmTd.js +0 -1
- package/dist/assets/entry-adjudication-Dc18TIqT.js +0 -1
- package/dist/assets/fork-menu-DpKqRhF5.js +0 -1
- package/dist/assets/game-audio-CaGKzia4.js +0 -1
- package/dist/assets/game-document.service-Chmt4065.js +0 -1
- package/dist/assets/game-eval.command-DRSvOJ_1.js +0 -2
- package/dist/assets/game-module-access-o3iXZpCA.js +0 -1
- package/dist/assets/game-network-Ct2FQYmu.js +0 -1
- package/dist/assets/gameplay-replay-BwdxV4oF.js +0 -1
- package/dist/assets/gameplay.command-Boqv1hnc.js +0 -1
- package/dist/assets/generation-DhwCUHPf.css +0 -1
- package/dist/assets/generation.service-o9aXlsx4.js +0 -1
- package/dist/assets/generations.status-BvzgHlyk.js +0 -1
- package/dist/assets/hierarchy-marks-BLPfSIym.js +0 -1
- package/dist/assets/hierarchy-marks-Cc_3lxw6.js +0 -1
- package/dist/assets/hosted-asset-materialization-BpbnhJac.js +0 -2
- package/dist/assets/index-0Lm0Nf1M.css +0 -1
- package/dist/assets/index-BHoAKyAC.js +0 -1
- package/dist/assets/index-BeK4RPgj.js +0 -1
- package/dist/assets/index-C1c3eOmm.js +0 -1
- package/dist/assets/index.module-Ycad3DJq.js +0 -1
- package/dist/assets/ingest-siblings-BtiEXLnh.js +0 -1
- package/dist/assets/ingest-source-persistence-Dmdo-UBp.js +0 -1
- package/dist/assets/ingest.service-vbCucMz7.js +0 -1
- package/dist/assets/inspection-CObLhnrs.js +0 -1
- package/dist/assets/instances.command-BwayrqNm.js +0 -1
- package/dist/assets/layered-pick-kiQf53t5.js +0 -1
- package/dist/assets/material-B_V78pTt.js +0 -1
- package/dist/assets/model-asset-sections-CFvvihfx.css +0 -1
- package/dist/assets/model-asset-sections.service-CqSclZGY.js +0 -1
- package/dist/assets/module-mode-BH2R93XP.js +0 -2
- package/dist/assets/mount-canvas-ingest-root-D1z9i5B3.js +0 -2
- package/dist/assets/mount-dom-ingest-root-BAmmNxlm.js +0 -2
- package/dist/assets/mount-ingest-root-DYR0TMIt.js +0 -2
- package/dist/assets/mount-manifest-DdkFYdVA.js +0 -1
- package/dist/assets/mount-readiness-Ds0HvvLH.js +0 -4
- package/dist/assets/mount-three-ingest-root-DVbACDUy.js +0 -1
- package/dist/assets/network-observer.service-Ce83TdsU.js +0 -1
- package/dist/assets/network.utility-DFDul2Xb.js +0 -1
- package/dist/assets/object-marks-DwvIEBOK.js +0 -1
- package/dist/assets/pixi-authoring-adapter-BChknIdC.js +0 -1
- package/dist/assets/pixi-live-write-target-BjDsBQbp.js +0 -1
- package/dist/assets/play-mode-DICV4cKP.js +0 -22
- package/dist/assets/play.command-NHyi5rzF.js +0 -2
- package/dist/assets/pose-guard-DILO6gGq.js +0 -1
- package/dist/assets/presentation-BeNFBfKg.js +0 -1
- package/dist/assets/profiler.utility-Do2Bw7MY.js +0 -1
- package/dist/assets/project-provenance-4ldz-EOG.js +0 -1
- package/dist/assets/r3f-design-session-B5GsZI5M.js +0 -2
- package/dist/assets/react-canvas-navigation-Cp3cOHJa.js +0 -1
- package/dist/assets/react-inspector.service-Bm0OnanU.js +0 -1
- package/dist/assets/react-story-board-GaXqr03H.js +0 -1
- package/dist/assets/react-world-authoring-adapter-DOjv2pYm.js +0 -1
- package/dist/assets/reflection-probe-capture.inspector-DqSW9p1v.js +0 -1
- package/dist/assets/registry-CaCdF63N.js +0 -1
- package/dist/assets/root-seam-contract-CxLZaRio.js +0 -1
- package/dist/assets/run-selection-DzEkGesJ.js +0 -2
- package/dist/assets/scene-capture-0a-bTjT8.js +0 -1
- package/dist/assets/scene-document.service-CeDwVA7t.js +0 -2
- package/dist/assets/seeded-random-BgCwIAAU.js +0 -1
- package/dist/assets/stage-overlay-set-BGE03mqb.js +0 -1
- package/dist/assets/stage-presence-markers-DIP7YMcO.js +0 -1
- package/dist/assets/stage-transform-tools-BQB7EY4l.js +0 -1
- package/dist/assets/standard-viewport-dressing-BCA51Tum.js +0 -24
- package/dist/assets/state-watch.utility-CFG1Tu1m.js +0 -1
- package/dist/assets/story-documents-BTo90DiA.js +0 -3
- package/dist/assets/story-three-preview-R1JvrggS.js +0 -2
- package/dist/assets/studio-environment-DRxxq_QX.js +0 -2
- package/dist/assets/team-playtest.service-hLfjgScx.js +0 -1
- package/dist/assets/three-authoring-adapter-htbnVej2.js +0 -1
- package/dist/assets/three-authoring.service-BIQAtVdX.js +0 -2
- package/dist/assets/three-integration.service-CS8Nvbd2.js +0 -1
- package/dist/assets/three-projection-core-CG01r5Ta.js +0 -1
- package/dist/assets/three-viewport-presentation-B0z_cECu.js +0 -141
- package/dist/assets/tools-B_NJsk05.js +0 -1
- package/dist/assets/transform-mode-request-DzD9aUNA.js +0 -1
- package/dist/assets/transport-strip-CUjNltnb.js +0 -1
- package/dist/assets/transport.header-Bb4FpQ8J.js +0 -1
- package/dist/assets/tuples-DfWSY2tr.js +0 -1
- package/dist/assets/ui-board-document-CCiiXjX9.js +0 -2
- package/dist/assets/user-data-dHvLdpwM.js +0 -1
- package/dist/assets/viewport-door-Bj_ZIP85.js +0 -1
- package/dist/assets/worker-CC9Ug5Ei.js +0 -2
- package/dist/assets/workspace-arrangement-BdAlBwvd.js +0 -1
- package/dist/assets/world-documents-DBybpBq8.js +0 -1
- package/dist/assets/world-root-stage-binding-ZVYIgr74.js +0 -1
- package/dist/vgai-shared-react.json +0 -10
- package/dist/vgai-shared-three.json +0 -3
- package/template/.agents/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
- package/template/.claude/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
- package/template/.github/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
- /package/dist/assets/{vgai-shared-fontawesome-CU65D4Ij.js → volter-shared-fontawesome-CU65D4Ij.js} +0 -0
- /package/dist/assets/{vgai-shared-jsx-dev-runtime-DFDKL7fx.js → volter-shared-jsx-dev-runtime-DFDKL7fx.js} +0 -0
- /package/dist/assets/{vgai-shared-jsx-runtime-DIqBpTut.js → volter-shared-jsx-runtime-DIqBpTut.js} +0 -0
- /package/dist/assets/{vgai-shared-react-BT7rMc2H.js → volter-shared-react-BT7rMc2H.js} +0 -0
- /package/dist/assets/{vgai-shared-react-dom-DFajMqMT.js → volter-shared-react-dom-DFajMqMT.js} +0 -0
- /package/dist/assets/{vgai-shared-react-dom-client-S0ozfl6_.js → volter-shared-react-dom-client-S0ozfl6_.js} +0 -0
- /package/dist/assets/{vgai-shared-three-DH4yxKwt.js → volter-shared-three-DH4yxKwt.js} +0 -0
- /package/template/{.vgai → .volter}/assets.json +0 -0
- /package/template/{.vgai → .volter}/provenance.json +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./index-C5ZAyrKq.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const l=e()({id:{optional:!1,kind:"value",required:"shape"},mount:{optional:!1,kind:"function",required:"effect"}}),f=e()({drivesOwnLoop:{optional:!1,kind:"value",required:"shape"},updateCadence:{optional:!0,kind:"value",required:"shape"},update:{optional:!0,kind:"function",required:"effect"},fixedUpdate:{optional:!0,kind:"function",required:"effect"},setPaused:{optional:!0,kind:"function",required:"effect"},step:{optional:!0,kind:"function",required:"effect"},resize:{optional:!0,kind:"function",required:"effect"},hitTest:{optional:!0,kind:"function",required:"operation"},dispose:{optional:!1,kind:"function",required:"effect"},disposeComplete:{optional:!0,kind:"value",required:"effect"},authoring:{optional:!0,kind:"value",required:"operation"},systems:{optional:!0,kind:"value",required:"operation"},systemScope:{optional:!0,kind:"value",required:"operation"},observe:{optional:!0,kind:"value",required:"effect"}}),s=e()({subscribe:{optional:!1,kind:"function",required:"effect"},snapshot:{optional:!1,kind:"function",required:"operation"}}),c=e()({kind:{optional:!1,kind:"value",required:"shape"},scene:{optional:!1,kind:"value",required:"effect"},camera:{optional:!1,kind:"value",required:"effect"},rendererConfig:{optional:!0,kind:"value",required:"shape"}}),k=e()({kind:{optional:!1,kind:"value",required:"shape"},canvas:{optional:!1,kind:"value",required:"effect"},substrate:{optional:!1,kind:"value",required:"effect"}}),q=e()({kind:{optional:!1,kind:"value",required:"shape"},container:{optional:!1,kind:"value",required:"effect"}});export{k as MOUNTED_CANVAS_SURFACE_SHAPE,q as MOUNTED_DOM_SURFACE_SHAPE,f as MOUNTED_ROOT_BASE_SHAPE,c as MOUNTED_THREE_SURFACE_SHAPE,l as ROOT_ADAPTER_SHAPE,s as ROOT_STATE_OBSERVER_SHAPE};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as s}from"./index-C5ZAyrKq.js";import{s as l,l as d,a as f}from"./configurations-XP9YLkrt.js";import{s as g}from"./game-network-DW5ARz4R.js";const a="play",u="runSelection";function p(){return s().projectLocalState.read(u)??null}function y(n){s().projectLocalState.write(u,n)}function m(n,o=p()){return o??n.find(t=>t.role==="run"&&t.kind==="compound"&&t.run?.includes(a))?.id??a}let r=null;async function h(){const n=await d().catch(()=>[]),o=m(n),t=n.find(i=>i.id===o);if(!t||o===a)return{ok:!0,started:null};let e;try{e=await f(t.id)}catch(i){return{ok:!1,title:`Run "${t.id}"`,detail:i instanceof Error?i.message:String(i)}}return e.ready?(t.kind==="compound"&&t.instances!=null&&g(Math.max(0,t.instances-1)),r=t.id,{ok:!0,started:t.id}):{ok:!1,title:`Run "${t.id}" is not ready`,detail:Object.entries(e.logs).map(([i,c])=>`${i}: ${c.slice(-3).join(" | ")||"no output"}`).join(`
|
|
2
|
+
`)}}async function k(){const n=r;r=null,n&&await l(n).catch(o=>s().notify({tone:"error",title:`Stop "${n}"`,detail:o instanceof Error?o.message:String(o)}))}export{a as P,h as a,m as b,p as c,y as d,k as s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as z,d as N}from"./resolve-three-D27rMc37.js";import"./index-C5ZAyrKq.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"./capability-coverage-ByWftxk4.js";import"./game-contract-seams-tyKDsfaP.js";import"./json-history-resource-Uqrihfc8.js";import"./dom-authoring-adapter-L8OzXfmE.js";import"./react-world-authoring-adapter-CnzxMtYz.js";import"./board-guides-CjHQ9Ynm.js";import"./relative-import-specifier-CPFTrxi4.js";import"./story-arg-descriptors-Ek86ExX7.js";import"./inspect-Cz3Zyx_1.js";import"./inference-diagnostics-DLt9ql9I.js";import"./writer-tw6EcuVO.js";import"./debug-registry-ggQWxtu-.js";import"./contract-system-adapters-Cn7OW_ay.js";import"./webgl-frame-capture-DdJkM2mi.js";import"./three.core-3arARmh6.js";import"./active-ingest-0QjJWb7i.js";import"./ingest-source-persistence-6ShMoSCa.js";const F=8;function _(a){const d=a,c=typeof d?.type=="string"?d.type:"unknown",w=typeof d?.uuid=="string"?d.uuid:"(no uuid)";return`${c}:${w}`}function q(a){const d=globalThis;if(typeof EventTarget!="function")return()=>{};const c=d.__THREE_DEVTOOLS__===void 0;c&&(d.__THREE_DEVTOOLS__=new EventTarget);const w=d.__THREE_DEVTOOLS__;if(!w)return()=>{};const u=[];function f(p,o,h){const m=p[o];Object.defineProperty(p,o,{configurable:!0,writable:!0,value:h}),u.push(()=>{Object.defineProperty(p,o,{configurable:!0,writable:!0,value:m})})}const n=p=>{const o=p.detail;if(!o||typeof o!="object"||typeof o.render!="function"||!o.domElement||a.alreadyTrapped(o)||a.isHostRenderer(o))return;const h=o.render;f(o,"render",function(...b){return a.observeRender(o,h,b)});const m=o.setAnimationLoop;if(typeof m=="function"){const b=m;f(o,"setAnimationLoop",function(E){return typeof E=="function"&&a.recordLoop(o,E),b.call(o,E)})}};return w.addEventListener("observe",n),()=>{w.removeEventListener("observe",n);for(const p of u.splice(0))p();c&&delete d.__THREE_DEVTOOLS__}}function Re(a,d,c){const u=a.WebGLRenderer.prototype,f=Symbol("volter.realRender");let n=null,p=0,o=null;const h=new Set;let m=null;const b=[],E=Object.getOwnPropertyDescriptor(u,"render"),g=Symbol("volter.realSetAnimationLoop"),A=new WeakMap,j=new Set;let v=null;const H=Object.getOwnPropertyDescriptor(u,"setAnimationLoop");function D(){if(!(n||!v||!(v.suspended?.()??v.hidden())))for(const e of j){try{A.get(e)?.(0)}catch{}if(n)return}}Object.defineProperty(u,"setAnimationLoop",{configurable:!0,set(e){this[g]=e},get(){const e=this;return function(t){t&&k(e,t);const i=e[g];return typeof i=="function"?i.call(e,t):void 0}}});function C(e,r,t){const i=m;if(i===null||!n||e!==n.renderer)return r.apply(e,t);i.before();try{return r.apply(e,t)}finally{i.after()}}function W(e,r){return C(e,e[f],r)}function k(e,r){A.set(e,r),j.add(e),queueMicrotask(D)}function V(e,r,t){if(o===null&&(o=c?.declaredScene?.()??null),!(o!==null&&o!==r)){n={scene:r,camera:t,renderer:e},c?.onWorldAdoption?.({phase:"adopted",source:o===null?"measured":"declared",sceneId:_(r),cameraId:_(t)});for(const i of b.splice(0))i(n)}}function I(e,r,t){if(!n||h.size>=F||r===n.scene&&t===n.camera)return;const i=e===n.renderer,l=`${_(r)}|${_(t)}|${i}`;h.has(l)||(h.add(l),c?.onWorldAdoption?.({phase:"alternate",sceneId:_(r),cameraId:_(t),sameRenderer:i,drawCount:p}))}function L(e,r,t){(!n||e===n.renderer)&&p++,c?.isHostRenderer?.(e)!==!0&&r?.isScene&&(n?I(e,r,t):V(e,r,t))}Object.defineProperty(u,"render",{configurable:!0,set(e){this[f]=e},get(){const e=this;return function(...t){const[i,l]=t;return L(e,i,l),W(e,t)}}});const M=new WeakSet,$=q({alreadyTrapped:e=>e[f]!==void 0,isHostRenderer:e=>c?.isHostRenderer?.(e)===!0,observeRender:(e,r,t)=>(M.add(e),L(e,t[0],t[1]),C(e,r,t)),recordLoop:k}),T=[];for(const e of c?.additionalRendererCtors??[]){const t=e?.prototype;if(!t||t===u)continue;const i=t.render;if(typeof i=="function"){t.render=function(...s){L(this,s[0],s[1]);const R=m;if(R===null||!n||this!==n.renderer)return i.apply(this,s);R.before();try{return i.apply(this,s)}finally{R.after()}},T.push(()=>{t.render=i});continue}const l=Object.getOwnPropertyDescriptor(t,"render");Object.defineProperty(t,"render",{configurable:!0,set(s){this[f]=s},get(){const s=this;return function(...y){return L(s,y[0],y[1]),W(s,y)}}}),T.push(()=>{l?Object.defineProperty(t,"render",l):delete t.render})}const P=new Set;let O,S;d&&(O=d.prototype,S=O.render,O.render=function(...r){const t=S?.apply(this,r);return n&&this.renderer===n.renderer&&P.add(this),t});function x(){O&&(S?O.render=S:delete O.render)}return{get captured(){return n},get capturedVia(){return n?M.has(n.renderer)?"devtools-observer":"shared-three":null},getDrawCount(){return p},setRenderPassHooks(e){m=e},getAnimationLoop(e){return A.get(e)??null},resizeComposers(e,r){if(!n||P.size===0)return;const t=n.renderer.getPixelRatio?.();if(t!==void 0)for(const i of P)i.setSize(e,r),i.setPixelRatio(t)},waitForCapture(e){const r=typeof e=="number"?{timeoutMs:e}:e??{},t=r.timeoutMs??1e4;return n?Promise.resolve(n):new Promise((i,l)=>{const s=z({budgetMs:t,...r.visibility!==void 0?{clock:r.visibility}:{},onExpire:()=>{const y=b.indexOf(R);y>=0&&b.splice(y,1),v=null,r.onWait?.(null),l(new Error(`Scene capture timed out after ${t}ms of VISIBLE time (${Math.round(s.elapsedHiddenMs())}ms browser-suspended, which is not counted because no frame can be presented) — no three renderer of ANY instance drew a scene: neither the host's own \`three\` (the shared prototype trap) nor a renderer announcing itself on three's \`__THREE_DEVTOOLS__\` seam, which is what reaches a game that bundles its own copy. The game never rendered.`))}}),R=y=>{s.cancel(),v=null,r.onWait?.(null),i(y)};b.push(R),v=r.visibility??N(),r.onWait?.(s),queueMicrotask(D)})},uninstall(){if(n){const r=n.renderer[f];typeof r=="function"&&Object.defineProperty(n.renderer,"render",{configurable:!0,writable:!0,value:r})}if(E?Object.defineProperty(u,"render",E):delete u.render,n){const r=n.renderer[g];typeof r=="function"&&Object.defineProperty(n.renderer,"setAnimationLoop",{configurable:!0,writable:!0,value:r})}H?Object.defineProperty(u,"setAnimationLoop",H):delete u.setAnimationLoop,x(),$();for(const e of T)e()}}}export{F as MAX_RECORDED_ALTERNATES,Re as installSceneCapture};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ThreeIsolationSceneContent-B5pU4Y6k.js","assets/jsx-runtime-DPjLkJKQ.js","assets/_commonjsHelpers-D6-XlEtG.js","assets/index-C5ZAyrKq.js","assets/index-nmcBqr7Y.js","assets/index-D_NuPfjr.js","assets/index-CtzuWnCS.js","assets/index-CinJrH5C.js","assets/index-FUuS4qwW.js","assets/client-DNXj_opT.js","assets/index-CPiRKiDC.css","assets/document-preview-three-CxmRhCcV.js","assets/content-bounds-DROIchTa.js","assets/hierarchy-marks-BuCO8Ke-.js","assets/workspace-arrangement-DqG5sUns.js","assets/three.core-3arARmh6.js","assets/editor-layers-D-CTUqco.js","assets/renderer-ownership-BovSEcLv.js","assets/three.module-BLhyNg0e.js","assets/scene-framing-DkZKDwH3.js","assets/mounted-story-viewport-source-DfnLxI1f.js","assets/story-three-preview-CgcLF5lE.js","assets/asset-preview-DxlSdRZn.js","assets/studio-environment-R9qXUUcC.js","assets/user-data-C84W0V47.js","assets/KTX2Loader-CaqVE6nY.js","assets/GLTFLoader-KeoruJgS.js","assets/BufferGeometryUtils-B22h7jo4.js","assets/environment-Dg-YaLsA.js","assets/RoomEnvironment-BkknvS_I.js","assets/EXRLoader-CITMBvGd.js","assets/HDRLoader-BTGuGhVo.js","assets/bitmap-label-Ct4k6ehY.js","assets/crash-null-boundary-v3a0uEgw.js","assets/events-156d8d12.esm-CYeuVCYr.js","assets/index-bQE2NA0D.js","assets/story-mount-turn-DFRTj5hi.js","assets/Object3DDocumentViewport-D6QoHfa_.js","assets/viewport-surface-status-TUfhXKR9.js","assets/world-root-stage-binding-BgZWZEuD.js","assets/object3d-document-session-registry-CMRJdFp6.js","assets/RootSelectionOverlay-BWsNiSuM.js","assets/eyedropper-session-bjPXnfeX.js","assets/layered-pick-CAVQMPI7.js","assets/root-stacking-BEd9ZvxC.js","assets/react-story-board-CCm2Opwn.js","assets/viewport-editor-controls-BYaAZ_Ku.js","assets/inspect-Cz3Zyx_1.js","assets/inference-diagnostics-DLt9ql9I.js","assets/surface-state-D8Qnowo6.js","assets/surface-content-Dg9Kkazf.js","assets/camera-authoring-DYjhU5Zp.js","assets/performance-profiler-CMbwGBuk.js","assets/renderer-config-CaPR4dB_.js","assets/user-data-CODoGZqA.js","assets/object-marks-BnvSuCTt.js","assets/loader-BTUKnX5Q.js","assets/render-settings-CRyDhHyz.js","assets/render-features-DMSV2qKJ.js","assets/soft-particle-depth-DNGwWJ8c.js","assets/viewport-shading-D9BMDb1N.js","assets/matcap-texture-Dm2c-VQa.js","assets/setup-renderer-F9mG7t6r.js","assets/index-DHhMOs_s.js","assets/defaults-DKiBJCPN.js","assets/design-time-mount-registry-DUpXCg1U.js","assets/project-authoring-session-DKXHVwxO.js","assets/edit-mode-authoring-D5f7aHHl.js","assets/three-integration-DXOFI88n.js","assets/host-hierarchy-objects-BV3WqU2w.js","assets/preview-renderer-BrYNFV1p.js","assets/model-thumbnail-BmQs-h6t.js","assets/three-state-BCACvUtm.js","assets/editor-shell-store-DHVWS8cE.js","assets/output-pass-HurwNl0G.js","assets/Pass-D1MRT672.js","assets/entity-object-MKYemTFM.js","assets/three-contract-Dkt6PmWY.js","assets/component-instance-root-DLI40MiB.js","assets/viewport-door-BARIpMu-.js","assets/canvas-preview-frames-Cja32aW2.js","assets/index-DgPDGGSV.js","assets/editor-presentation-activity-CqJH4G9t.js","assets/three-viewport-presentation-CBzvc2v2.js","assets/standard-viewport-dressing-BW-dM_1h.js","assets/clip-planes-CnAI6DZn.js","assets/three-DiL6vMXq.js","assets/model-inspection-DvspbmJl.js","assets/OrbitControls-B13MKuwC.js","assets/LineSegments2-DN9pUfWA.js","assets/three.quarks.esm-C_HmSKXo.js","assets/live-gesture-lock-DJbrjOqf.js","assets/live-mixers-B-bwLZ7c.js","assets/viewport-root-presentation-hRLF0BeO.js","assets/mounted-authoring-DxMISwvR.js","assets/asset-editor-persistence-BIbf5u0Q.js","assets/stage-presence-markers-0CDfO5f4.js","assets/collaboration-presence-D6MC9xJN.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{F as m,aE as c,aw as g,E as h,ez as T,G as y,dm as b,eA as R,eB as f,x as S,cy as w,eC as E,eD as P,_ as v,O as D,af as u,a0 as _,eE as x}from"./index-C5ZAyrKq.js";import{a as s}from"./jsx-runtime-DPjLkJKQ.js";import{O as N}from"./Object3DDocumentViewport-D6QoHfa_.js";import{r as p}from"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{s as C}from"./after-paint-CB4bz1-e.js";import{o as k}from"./three-state-BCACvUtm.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./viewport-surface-status-TUfhXKR9.js";import"./editor-shell-store-DHVWS8cE.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./Pass-D1MRT672.js";import"./editor-layers-D-CTUqco.js";import"./workspace-arrangement-DqG5sUns.js";import"./user-data-C84W0V47.js";import"./entity-object-MKYemTFM.js";import"./three-contract-Dkt6PmWY.js";const d="Scene";function A(e){const t=()=>{const r=h()?.scenes,n=(r?y(r).find(l=>l.plan.kind==="root-document"):void 0)?.entry.source,i=n?.path??e.sourcePath??e.savePath;return i?{path:i,...n?.export===void 0?{}:{exportName:n.export}}:null};return{revision:()=>{const r=t();return r?`${r.path}:${r.exportName??"default"}`:"unavailable"},subscribe:r=>{let o=JSON.stringify(t());const n=()=>{const a=JSON.stringify(t());a!==o&&(o=a,r())},i=e.subscribe(n),l=m(n);return()=>{i(),l()}},capture:async r=>{const o=t();if(!o)throw new Error("The Scene has no declared source module to preview.");return(await v(()=>import("./ThreeIsolationSceneContent-B5pU4Y6k.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]))).captureThreeIsolationScenePreview({path:o.path,exportName:o.exportName,label:d},r)}}}const I=/creating WebGL context/i,j=/null \(reading 'precision'\)/;function O(e){return I.test(e.message)||j.test(e.message)}const V=3;class W extends p.Component{state={error:null,autoRetryPending:!1};autoRetryCount=0;retryTimer=null;static getDerivedStateFromError(t){return{error:t,autoRetryPending:!1}}clearPendingRetry(){this.retryTimer!==null&&(window.clearTimeout(this.retryTimer),this.retryTimer=null)}componentDidCatch(t,r){if(D.error(`Viewport failed to start: ${t.message}`,"editor"),console.error("[volter] Viewport failed to start",t,r.componentStack),O(t)&&this.autoRetryCount<V){this.clearPendingRetry();const o=500*2**this.autoRetryCount;this.autoRetryCount++,this.retryTimer=window.setTimeout(()=>{this.retryTimer=null,this.setState({error:null,autoRetryPending:!1})},o),this.setState({autoRetryPending:!0})}}componentWillUnmount(){this.clearPendingRetry()}handleManualRetry=()=>{this.clearPendingRetry(),this.setState({error:null,autoRetryPending:!1})};render(){if(!this.state.error)return this.props.children;const t=this.state.autoRetryPending;return s.jsxs("div",{"data-testid":"viewport-startup-error",role:"alert",style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:8,padding:24,background:u.surface.shell,color:u.content.muted,textAlign:"center"},children:[s.jsx("div",{style:{color:u.content.primary,fontSize:14},children:t?"Viewport unavailable — retrying…":"Viewport unavailable"}),s.jsx("div",{style:{maxWidth:520,color:u.content.dim,fontSize:11},children:this.state.error.message}),s.jsx(_,{type:"button",className:"volter-btn","data-testid":"retry-viewport",onClick:this.handleManualRetry,children:"Retry Viewport"})]})}}const M={kind:"world-root",load:()=>v(()=>import("./world-root-stage-binding-BgZWZEuD.js"),__vite__mapDeps([39,1,2,16,14,3,4,5,6,7,8,9,10,40,41,42,43,44,45,46,47,48,49,50,51,52,17,53,54,55,56,25,18,15,26,27,57,58,59,60,61,62,63,64,65,66,67,68,69,70,28,29,30,31,24,71,23,72,73,74,75,76,77,13,78,79,12,22,32,80,81,82,83,84,85,86,87,88,89,90,91,19,92,93,94,95,96,97])).then(e=>e.worldRootStageBinding)};function U({documentId:e,active:t}){const[r,o]=p.useState(!1);return p.useEffect(()=>C(()=>o(!0)),[]),s.jsx(W,{children:r?s.jsx(N,{documentId:e,active:t,content:M,displayName:d}):null})}function F(e){const t=e.sourcePath??e.savePath;return{scene:{id:c,title:d,kind:"scene",workspaceRole:"authored-subject",...t?{provenance:{sourcePath:t}}:{},Content:U,preview:A(e),presentation:()=>e.savePath?{kind:"scene",path:e.savePath}:{kind:"workspace",id:c}}}}function L(e,t,r=!0){const o=h()?.scenes;if(r&&!(o&&T(o))){const n=o?y(o).find(i=>i.plan.kind==="root-document"):void 0;b({...t.scene,title:n?.plan.kind==="root-document"?n.plan.title:t.scene.title,provenance:{...t.scene.provenance,...n?.entry.source?.path?{sourcePath:n.entry.source.path}:{},...n?.plan.kind==="root-document"?{rootId:n.plan.regionId}:{}}},{category:"scene",rootId:n?.plan.kind==="root-document"?n.plan.regionId:void 0,default:o!==void 0&&(n?.isDefault??o.entries.length===0)}),R(c,e.isDirty)}else f(c);r&&S()===null&&w(c)}function B(e){let t=null;const r={subscribe:a=>e.shell.subscribe(a),get playState(){return e.shell.playState},get activeViewportTab(){return e.shell.activeViewportTab},get savePath(){return P(e.shell)},get sourcePath(){const a=E(e.shell);return a&&(t=a),t},get isDirty(){return x(e.shell)==="unsaved"}},o=F(r),n=()=>L(r,o,g()?.config.hasThreeRoot!==!1);n();const i=e.shell.subscribe(n),l=m(n);return()=>{i(),l()}}const de="workspace.service";function me(){let e=null;const t=k(r=>{e?.(),e=B(r)});return()=>{t(),e?.(),e=null,f(c)}}export{de as point,me as start};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isEditorOwnedObject as w}from"./editor-layers-
|
|
1
|
+
import{isEditorOwnedObject as w}from"./editor-layers-D-CTUqco.js";import{fo as d,ex as O,fd as x,e6 as F,I as C}from"./three.core-3arARmh6.js";const E={maxOutlierFraction:.1,minGapFraction:.2,minSampleSize:8,maxPasses:8},_=10,I=.01,v=["x","y","z"];function p(r,t){const e=new C;for(const n of t)e.union(r[n]);return e}function N(r,t,e){let n=null;for(const a of v)for(const s of["min","max"]){const i=[];for(const o of t)i.push({i:o,v:r[o][s][a]});i.sort((o,l)=>s==="min"?o.v-l.v:l.v-o.v);const c=Math.min(e,i.length-1);for(let o=0;o<c;o++){const l=Math.abs(i[o+1].v-i[o].v);n&&l<=n.gap||(n={gap:l,discard:i.slice(0,o+1).map(f=>f.i)})}}return n}function P(r,t={}){const e={...E,...t},n=r.filter(f=>!f.isEmpty()),a=n.map((f,u)=>u),s=p(n,a);if(n.length<e.minSampleSize)return s;let i=Math.floor(n.length*e.maxOutlierFraction);if(i<1)return s;const c=new Set(a);let o=s;const l=new d;for(let f=0;f<e.maxPasses&&i>0;f++){const u=o.getSize(l).length();if(!(u>0))break;const m=N(n,c,i);if(!m||m.gap<=e.minGapFraction*u)break;for(const b of m.discard)c.delete(b);i-=m.discard.length,o=p(n,c)}return o.isEmpty()?s:o}function k(r,t){const e=r.getWorldDirection(new d),n=new d().setFromMatrixPosition(r.matrixWorld);if(!Number.isFinite(n.lengthSq())||e.lengthSq()===0)return null;if(t.isEmpty())return{position:n,target:n.clone().addScaledVector(e,_)};const a=t.getBoundingSphere(new O),s=a.center.clone().sub(n).dot(e);return s>a.radius*I?{position:n,target:n.clone().addScaledVector(e,s)}:null}const T=[[0,0],[-.6,.6],[.6,.6],[-.6,-.6],[.6,-.6],[0,.6],[0,-.6],[-.6,0],[.6,0]],A=.02,h=new F,g=new x;function V(r){for(let t=r;t;t=t.parent)if(!t.visible)return!1;return!0}function z(r,t,e){if(!(e>0)||t.length===0)return!0;const n=e*A;for(const[a,s]of T){g.set(a,s),h.setFromCamera(g,r);const c=h.intersectObjects(t,!0).find(o=>V(o.object));if(!c||c.distance>n)return!0}return!1}function S(r,t=[]){if(w(r))return t;r.isCamera&&t.push(r);for(const e of r.children)S(e,t);return t}function G(r,t){const e=S(t);return e.length===0?null:r&&e.includes(r)?r:e[0]}export{P as f,G as p,z as s,k as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{deleteUserData as D,setUserData as x,getUserData as T}from"./user-data-
|
|
1
|
+
import{deleteUserData as D,setUserData as x,getUserData as T}from"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";function W(u,i,o,r){u.addEventListener(i,c=>{const d=c;o(d.detail,d)},r)}function v(u){const i=T(u,"tags");return Array.isArray(i)?i:[]}function E(u){const i=T(u,"attributes");return i&&typeof i=="object"?i:void 0}function z(u){const i=new EventTarget,o=new WeakMap,r=new Set,c=new Map,d=new Map,a=new WeakMap,g=new WeakMap;let l=!1;function f(e,t){i.dispatchEvent(new CustomEvent(e,{detail:t}));const n=o.get(t.object);n&&n.dispatchEvent(new CustomEvent(e,{detail:t}))}function y(e,t){let n=c.get(t);n||(n=new Set,c.set(t,n)),n.add(e)}function h(e,t){const n=c.get(t);n&&(n.delete(e),n.size===0&&c.delete(t))}function O(e,t){const n=d.get(t);n?n.includes(e)||n.push(e):d.set(t,[e])}function I(e,t){const n=d.get(t);if(!n)return;const s=n.indexOf(e);s!==-1&&n.splice(s,1),n.length===0&&d.delete(t)}const p=e=>{S(e.child)},m=e=>{C(e.child)};function w(e){for(const n of a.get(e)??[])h(e,n);const t=[...new Set(v(e))];a.set(e,t);for(const n of t)y(e,n)}function A(e){const t=g.get(e);t!==void 0&&I(e,t),g.delete(e);const n=T(e,"entityId");typeof n=="string"&&n!==""&&(g.set(e,n),O(e,n))}function L(e){r.has(e)||(r.add(e),e.addEventListener("childadded",p),e.addEventListener("childremoved",m),w(e),A(e),f("entityadded",{object:e}))}function k(e){if(!r.has(e))return;r.delete(e),e.removeEventListener("childadded",p),e.removeEventListener("childremoved",m);for(const n of a.get(e)??[])h(e,n);a.delete(e);const t=g.get(e);t!==void 0&&(I(e,t),g.delete(e)),f("entityremoved",{object:e})}function S(e){l||e.traverse(L)}function C(e){l||e.traverse(k)}return S(u),{events:i,eventsFor(e){let t=o.get(e);return t||(t=new EventTarget,o.set(e,t)),t},byTag(e){const t=c.get(e);return t?[...t]:[]},byEntityId(e){return d.get(e)?.[0]},has(e){return r.has(e)},addTag(e,t){const n=v(e);n.includes(t)||(x(e,"tags",[...n,t]),r.has(e)&&(a.set(e,[...a.get(e)??[],t]),y(e,t)),f("tagadded",{object:e,tag:t}))},removeTag(e,t){const n=v(e);n.includes(t)&&(x(e,"tags",n.filter(s=>s!==t)),r.has(e)&&(a.set(e,(a.get(e)??[]).filter(s=>s!==t)),h(e,t)),f("tagremoved",{object:e,tag:t}))},hasTag(e,t){return v(e).includes(t)},getAttribute(e,t){return E(e)?.[t]},setAttribute(e,t,n){const s=E(e),M=s?.[t];M!==n&&(s?s[t]=n:x(e,"attributes",{[t]:n}),f("attributechanged",{object:e,name:t,value:n,previous:M}))},deleteAttribute(e,t){const n=E(e);if(!n||!(t in n))return;const s=n[t];delete n[t],Object.keys(n).length===0&&D(e,"attributes"),f("attributechanged",{object:e,name:t,value:void 0,previous:s})},reindex(e){l||e.traverse(t=>{r.has(t)?(w(t),A(t)):L(t)})},dispose(){if(!l){l=!0;for(const e of r)e.removeEventListener("childadded",p),e.removeEventListener("childremoved",m);r.clear(),c.clear(),d.clear()}}}}export{z as createSceneIndex,W as onSceneIndexEvent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getUserData as s}from"./user-data-
|
|
1
|
+
import{getUserData as s}from"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";function a(t){const r=s(t,"tags");return Array.isArray(r)?r:[]}function i(t,r){const e=[];return t.traverse(n=>{a(n).includes(r)&&e.push(n)}),e}function o(t,r){const e=[];return t.traverse(n=>{n.name===r&&e.push(n)}),e}export{o as queryByName,i as queryByTag};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as f}from"./debug-registry-ggQWxtu-.js";function E(t,e){if(!Number.isFinite(t)||!Number.isFinite(e)||e<=0||t<=0)return 0;const a=t/e;return a>=1?1:a}const m={min:0,max:8};function R(t){return Number.isFinite(t)?Math.min(m.max,Math.max(m.min,t)):m.min}function b(t,e,a,n){const{fixedDt:i,maxSubSteps:c}=n,s=i*c,o=Math.min(e,s)*a;let r=t+o;r>s&&(r=s);let u=0;for(;r>=i&&u<c;)r-=i,u++;return{steps:u,accumulator:r,alpha:E(r,i),displayDt:o}}function l(t){let e=t>>>0;return function(){e=e+1831565813|0;let n=e;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}}const g="volter-render",h="volter-seed",p="gameplay",A=2654435769;function S(t){let e=2166136261;for(let a=0;a<t.length;a++)e^=t.charCodeAt(a),e=Math.imul(e,16777619);return e>>>0}function _(t){let e=t>>>0;const a=new Map;function n(o){return(S(o)^e)>>>0}function i(o){let r=a.get(o);return r||(r={gen:l(n(o))},a.set(o,r)),r}function c(o){const r=i(o);return()=>r.gen()}const s=(()=>i(p).gen());return Object.defineProperties(s,{stream:{value:c,enumerable:!0},reseed:{value:o=>{e=o>>>0;for(const[r,u]of a)u.gen=l(n(r))},enumerable:!0},seed:{get:()=>e,enumerable:!0}}),s}const d=f("seeded-random");function x(t,e){d.set(t,e)}function D(t){return d.get(t)??null}export{A as D,h as R,m as T,_ as a,g as b,R as c,D as g,b as p,x as r};
|
|
@@ -122,7 +122,7 @@ import _blender_web
|
|
|
122
122
|
_UNKNOWN_GEOMETRY = "RUNTIME_FRAME_UNKNOWN_GEOMETRY"
|
|
123
123
|
_UNKNOWN_IMAGE = "RUNTIME_FRAME_UNKNOWN_IMAGE"
|
|
124
124
|
|
|
125
|
-
ROOT = os.environ.get("
|
|
125
|
+
ROOT = os.environ.get("VOLTER_SESSION_ROOT", "/work/.volter-session")
|
|
126
126
|
IN = os.path.join(ROOT, "in")
|
|
127
127
|
OUT = os.path.join(ROOT, "out")
|
|
128
128
|
ASK = os.path.join(ROOT, "ask")
|
|
@@ -142,7 +142,7 @@ REPLY = os.path.join(ROOT, "reply")
|
|
|
142
142
|
# whose host cannot reach the module's memory at all
|
|
143
143
|
# (\`blender-wali-engine.mts\`), where the file is not a fallback but the
|
|
144
144
|
# native door onto the same bytes.
|
|
145
|
-
EXPORT_BUFFER_PATH = os.environ.get("
|
|
145
|
+
EXPORT_BUFFER_PATH = os.environ.get("VOLTER_EXPORT_BUFFER_PATH", "")
|
|
146
146
|
_real_stderr = sys.stderr
|
|
147
147
|
|
|
148
148
|
|
|
@@ -172,7 +172,7 @@ def _prepare_directories():
|
|
|
172
172
|
except FileExistsError:
|
|
173
173
|
pass
|
|
174
174
|
except OSError as error:
|
|
175
|
-
_say("@@
|
|
175
|
+
_say("@@VOLTER-ERROR cannot create %s: %r" % (directory, error))
|
|
176
176
|
try:
|
|
177
177
|
os.chmod(directory, 0o777)
|
|
178
178
|
except OSError:
|
|
@@ -215,7 +215,7 @@ def warn(what):
|
|
|
215
215
|
return
|
|
216
216
|
_WARNED.add(what)
|
|
217
217
|
_WARNINGS.append(what)
|
|
218
|
-
_say("@@
|
|
218
|
+
_say("@@VOLTER-WARN " + what)
|
|
219
219
|
|
|
220
220
|
|
|
221
221
|
# ---------------------------------------------------------------- the world
|
|
@@ -1820,11 +1820,11 @@ _ASK_SEQUENCE = [0]
|
|
|
1820
1820
|
def _drop(path):
|
|
1821
1821
|
"""Remove one of THIS side's own channel files. A failure here means the
|
|
1822
1822
|
ownership rule was broken by the other side, so it is named rather than
|
|
1823
|
-
swallowed -- and named where \`
|
|
1823
|
+
swallowed -- and named where \`volter-model-editor console\` reads it, not into a log."""
|
|
1824
1824
|
try:
|
|
1825
1825
|
os.unlink(path)
|
|
1826
1826
|
except OSError as error:
|
|
1827
|
-
_say("@@
|
|
1827
|
+
_say("@@VOLTER-WARN the session could not remove its own %s: %r" % (path, error))
|
|
1828
1828
|
|
|
1829
1829
|
|
|
1830
1830
|
def ask(payload):
|
|
@@ -1979,7 +1979,7 @@ def _assert_photographed_from(reported, position, target, up):
|
|
|
1979
1979
|
)
|
|
1980
1980
|
|
|
1981
1981
|
|
|
1982
|
-
class
|
|
1982
|
+
class VolterRenderEngine(bpy.types.RenderEngine):
|
|
1983
1983
|
"""The scene's renderer, so \`write_still\`, \`save_render\` and Render Result
|
|
1984
1984
|
behave as Blender's own.
|
|
1985
1985
|
|
|
@@ -1989,7 +1989,7 @@ class VgaiRenderEngine(bpy.types.RenderEngine):
|
|
|
1989
1989
|
starts a path trace nobody asked for inside the tab.
|
|
1990
1990
|
"""
|
|
1991
1991
|
|
|
1992
|
-
bl_idname = "
|
|
1992
|
+
bl_idname = "VOLTER_THREE"
|
|
1993
1993
|
bl_label = "three.js"
|
|
1994
1994
|
bl_use_preview = False
|
|
1995
1995
|
|
|
@@ -2087,7 +2087,7 @@ def _register_engine():
|
|
|
2087
2087
|
("BLENDER_WORKBENCH", "Workbench"),
|
|
2088
2088
|
):
|
|
2089
2089
|
existing = _engine_class(identifier)
|
|
2090
|
-
if existing is not None and issubclass(existing,
|
|
2090
|
+
if existing is not None and issubclass(existing, VolterRenderEngine):
|
|
2091
2091
|
made.append(identifier)
|
|
2092
2092
|
continue
|
|
2093
2093
|
if existing is not None:
|
|
@@ -2098,8 +2098,8 @@ def _register_engine():
|
|
|
2098
2098
|
else:
|
|
2099
2099
|
_release_from_owning_addon(existing)
|
|
2100
2100
|
engine = type(
|
|
2101
|
-
"
|
|
2102
|
-
(
|
|
2101
|
+
"Volter" + identifier.title().replace("_", ""),
|
|
2102
|
+
(VolterRenderEngine,),
|
|
2103
2103
|
{"bl_idname": identifier, "bl_label": label, "bl_use_preview": False},
|
|
2104
2104
|
)
|
|
2105
2105
|
try:
|
|
@@ -2115,17 +2115,17 @@ def _register_engine():
|
|
|
2115
2115
|
# in the start reply and refused by name at the render, never a
|
|
2116
2116
|
# warning on every boot.
|
|
2117
2117
|
unavailable.append(identifier)
|
|
2118
|
-
# \`
|
|
2118
|
+
# \`VOLTER_THREE\` is the engine under its own name, registered ONCE: this runs
|
|
2119
2119
|
# again after every file load (the ids have to be retaken), and Blender
|
|
2120
2120
|
# refuses a class it already holds -- which is not a capability anyone
|
|
2121
2121
|
# lost, so it is not a warning.
|
|
2122
|
-
if _engine_class(
|
|
2122
|
+
if _engine_class(VolterRenderEngine.bl_idname) is None:
|
|
2123
2123
|
try:
|
|
2124
|
-
bpy.utils.register_class(
|
|
2124
|
+
bpy.utils.register_class(VolterRenderEngine)
|
|
2125
2125
|
except Exception as error: # noqa: BLE001
|
|
2126
2126
|
warn("could not register the three.js engine: %s" % error)
|
|
2127
|
-
if _engine_class(
|
|
2128
|
-
made.append(
|
|
2127
|
+
if _engine_class(VolterRenderEngine.bl_idname) is not None:
|
|
2128
|
+
made.append(VolterRenderEngine.bl_idname)
|
|
2129
2129
|
return made, unavailable
|
|
2130
2130
|
|
|
2131
2131
|
|
|
@@ -2698,7 +2698,7 @@ def _py_row(target, name, descriptor, owner):
|
|
|
2698
2698
|
from what it answers -- an ID is a POINTER, a sequence of them a
|
|
2699
2699
|
COLLECTION with its count and names, a scalar its scalar. A value no RNA
|
|
2700
2700
|
type covers is not invented into one: the property is dropped, and
|
|
2701
|
-
nothing here is a
|
|
2701
|
+
nothing here is a volter field over Blender's data."""
|
|
2702
2702
|
row = {
|
|
2703
2703
|
"identifier": name,
|
|
2704
2704
|
"name": name,
|
|
@@ -3894,7 +3894,7 @@ def _node_row(node):
|
|
|
3894
3894
|
|
|
3895
3895
|
|
|
3896
3896
|
def _node_tree_of(path, material):
|
|
3897
|
-
"""WHICH TREE. Either an explicit RNA address (so a \`
|
|
3897
|
+
"""WHICH TREE. Either an explicit RNA address (so a \`volter-model-editor eval\` can open a
|
|
3898
3898
|
world's or a group's tree with the engine's own spelling), or a material by
|
|
3899
3899
|
name, or -- given neither -- the active object's active material, which is
|
|
3900
3900
|
what Blender's own Shading header resolves (\`space_node.py:89-93\`,
|
|
@@ -4152,7 +4152,7 @@ def rna_rig(object_name=None):
|
|
|
4152
4152
|
presented frame carries every object at once, and the presenter has to know
|
|
4153
4153
|
which of its meshes are \`THREE.SkinnedMesh\`es before it builds them. Asking
|
|
4154
4154
|
per object would be one round trip per mesh; asking by NAME stays available
|
|
4155
|
-
for a \`
|
|
4155
|
+
for a \`volter-model-editor eval\` that wants to read one.
|
|
4156
4156
|
"""
|
|
4157
4157
|
scene_frame = int(bpy.context.scene.frame_current)
|
|
4158
4158
|
if object_name:
|
|
@@ -4796,7 +4796,7 @@ def dispatch(request):
|
|
|
4796
4796
|
if k in request}
|
|
4797
4797
|
if op == "execute":
|
|
4798
4798
|
cause["code"] = str(request.get("code", ""))[:160]
|
|
4799
|
-
_say("@@
|
|
4799
|
+
_say("@@VOLTER-WARN %s removed objects %s (%s); %d remain" % (
|
|
4800
4800
|
op, sorted(removed), json.dumps(cause), len(bpy.data.objects)))
|
|
4801
4801
|
|
|
4802
4802
|
|
|
@@ -4865,14 +4865,14 @@ def _dispatch(request):
|
|
|
4865
4865
|
except Exception as thrown: # noqa: BLE001
|
|
4866
4866
|
# LOUD, because a present that fails leaves the Model document
|
|
4867
4867
|
# showing the state BEFORE this call and nothing else says so.
|
|
4868
|
-
# \`@@
|
|
4868
|
+
# \`@@VOLTER-PRESENT-FAILED\` was not one of the prefixes the engines
|
|
4869
4869
|
# escalate (\`blender-emscripten-engine.mts:159\`,
|
|
4870
|
-
# \`blender-wali-engine.mts:266\` raise \`@@
|
|
4870
|
+
# \`blender-wali-engine.mts:266\` raise \`@@VOLTER-WARN\`/\`@@VOLTER-ERROR\`
|
|
4871
4871
|
# to the console and nothing else), so it logged at \`log\` level and
|
|
4872
4872
|
# reached no counter -- measured 2026-09-19 (I4), when a throw in
|
|
4873
4873
|
# the overlay walk froze the viewport through a dozen successful
|
|
4874
|
-
# \`blender-execute\` calls with \`
|
|
4875
|
-
_say("@@
|
|
4874
|
+
# \`blender-execute\` calls with \`volter-model-editor console\` silent throughout.
|
|
4875
|
+
_say("@@VOLTER-ERROR the present after this call failed, so the Model document is "
|
|
4876
4876
|
"showing the state before it: " + repr(thrown))
|
|
4877
4877
|
return answer
|
|
4878
4878
|
if op == "scene-info":
|
|
@@ -4915,14 +4915,14 @@ def _dispatch(request):
|
|
|
4915
4915
|
except Exception as thrown: # noqa: BLE001
|
|
4916
4916
|
# LOUD, because a present that fails leaves the Model document
|
|
4917
4917
|
# showing the state BEFORE this call and nothing else says so.
|
|
4918
|
-
# \`@@
|
|
4918
|
+
# \`@@VOLTER-PRESENT-FAILED\` was not one of the prefixes the engines
|
|
4919
4919
|
# escalate (\`blender-emscripten-engine.mts:159\`,
|
|
4920
|
-
# \`blender-wali-engine.mts:266\` raise \`@@
|
|
4920
|
+
# \`blender-wali-engine.mts:266\` raise \`@@VOLTER-WARN\`/\`@@VOLTER-ERROR\`
|
|
4921
4921
|
# to the console and nothing else), so it logged at \`log\` level and
|
|
4922
4922
|
# reached no counter -- measured 2026-09-19 (I4), when a throw in
|
|
4923
4923
|
# the overlay walk froze the viewport through a dozen successful
|
|
4924
|
-
# \`blender-execute\` calls with \`
|
|
4925
|
-
_say("@@
|
|
4924
|
+
# \`blender-execute\` calls with \`volter-model-editor console\` silent throughout.
|
|
4925
|
+
_say("@@VOLTER-ERROR the present after this call failed, so the Model document is "
|
|
4926
4926
|
"showing the state before it: " + repr(thrown))
|
|
4927
4927
|
return answer
|
|
4928
4928
|
if op == "rna-set":
|
|
@@ -4936,14 +4936,14 @@ def _dispatch(request):
|
|
|
4936
4936
|
except Exception as thrown: # noqa: BLE001
|
|
4937
4937
|
# LOUD, because a present that fails leaves the Model document
|
|
4938
4938
|
# showing the state BEFORE this call and nothing else says so.
|
|
4939
|
-
# \`@@
|
|
4939
|
+
# \`@@VOLTER-PRESENT-FAILED\` was not one of the prefixes the engines
|
|
4940
4940
|
# escalate (\`blender-emscripten-engine.mts:159\`,
|
|
4941
|
-
# \`blender-wali-engine.mts:266\` raise \`@@
|
|
4941
|
+
# \`blender-wali-engine.mts:266\` raise \`@@VOLTER-WARN\`/\`@@VOLTER-ERROR\`
|
|
4942
4942
|
# to the console and nothing else), so it logged at \`log\` level and
|
|
4943
4943
|
# reached no counter -- measured 2026-09-19 (I4), when a throw in
|
|
4944
4944
|
# the overlay walk froze the viewport through a dozen successful
|
|
4945
|
-
# \`blender-execute\` calls with \`
|
|
4946
|
-
_say("@@
|
|
4945
|
+
# \`blender-execute\` calls with \`volter-model-editor console\` silent throughout.
|
|
4946
|
+
_say("@@VOLTER-ERROR the present after this call failed, so the Model document is "
|
|
4947
4947
|
"showing the state before it: " + repr(thrown))
|
|
4948
4948
|
return answer
|
|
4949
4949
|
if op == "save-document":
|
|
@@ -4971,7 +4971,7 @@ bpy.app.handlers.load_post.append(_load_post)
|
|
|
4971
4971
|
bpy.app.handlers.undo_post.append(_history_post)
|
|
4972
4972
|
bpy.app.handlers.redo_post.append(_history_post)
|
|
4973
4973
|
ENGINES, UNAVAILABLE_ENGINES = _register_engine()
|
|
4974
|
-
_say("@@
|
|
4974
|
+
_say("@@VOLTER-READY " + json.dumps({"blender": bpy.app.version_string, "engines": ENGINES,
|
|
4975
4975
|
"unavailableEngines": UNAVAILABLE_ENGINES}))
|
|
4976
4976
|
|
|
4977
4977
|
# Markers already dispatched, and the answers whose \`out/\` files this loop
|
|
@@ -5054,7 +5054,7 @@ try:
|
|
|
5054
5054
|
except BaseException as _thrown: # noqa: BLE001
|
|
5055
5055
|
# The one place a channel death can still be named. Without this the
|
|
5056
5056
|
# program ends 0 and the page reports only that Blender is gone.
|
|
5057
|
-
_say("@@
|
|
5057
|
+
_say("@@VOLTER-ERROR the session's channel loop raised %s: %s -- the session is over and "
|
|
5058
5058
|
"every outstanding call will go unanswered. %s"
|
|
5059
5059
|
% (type(_thrown).__name__, _thrown, traceback.format_exc().replace("\\n", " | ")))
|
|
5060
5060
|
raise
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{S as O,a as q,W as st}from"./three.module-BLhyNg0e.js";import{Pass as H,Effect as ue,Selection as ot,RenderPass as re,NormalPass as We,EffectPass as nt,SMAAPreset as ie,SMAAEffect as lt,SSAOEffect as ct,BloomEffect as ut,DepthOfFieldEffect as ft,TiltShiftEffect as dt,GodRaysEffect as ht,OutlineEffect as pt,ChromaticAberrationEffect as mt,LensDistortionEffect as vt,ShockWaveEffect as gt,BrightnessContrastEffect as xt,HueSaturationEffect as Tt,SepiaEffect as St,ColorDepthEffect as bt,NoiseEffect as Dt,ScanlineEffect as yt,DotScreenEffect as wt,GridEffect as Mt,PixelationEffect as Pt,GlitchEffect as Rt,VignetteEffect as Ct}from"./index-DHhMOs_s.js";import{_ as N,cm as h,em as C,fx as z,dw as B,c1 as x,bi as V,au as J,cO as fe,ed as j,cE as b,fd as m,e8 as pe,b0 as E,aC as Te,fj as Nt,fo as U,co as Qe,d5 as Lt,N as It,ex as zt,M as Ce,du as Et,d9 as Ke,ff as Ye,b3 as At,fb as u,cP as Xe,ej as Ge,c3 as ce,eX as Se,b9 as _,fe as se,cl as Ze,eW as Ft,cN as ne,Y as Ne,aT as Ut,dv as me,C as Vt,cq as Bt,eU as Ot,Z as jt,dp as kt,ew as Ht,B as Wt,e as Qt,A as be,W as Kt,ea as Yt,c8 as Xt,d7 as Gt,df as Zt}from"./three.core-3arARmh6.js";import{DEFAULTS as ae}from"./defaults-DKiBJCPN.js";import{detectKtx2Support as qt}from"./loader-BTUKnX5Q.js";import{resolveRenderSettings as De}from"./render-settings-
|
|
1
|
+
import{S as O,a as q,W as st}from"./three.module-BLhyNg0e.js";import{Pass as H,Effect as ue,Selection as ot,RenderPass as re,NormalPass as We,EffectPass as nt,SMAAPreset as ie,SMAAEffect as lt,SSAOEffect as ct,BloomEffect as ut,DepthOfFieldEffect as ft,TiltShiftEffect as dt,GodRaysEffect as ht,OutlineEffect as pt,ChromaticAberrationEffect as mt,LensDistortionEffect as vt,ShockWaveEffect as gt,BrightnessContrastEffect as xt,HueSaturationEffect as Tt,SepiaEffect as St,ColorDepthEffect as bt,NoiseEffect as Dt,ScanlineEffect as yt,DotScreenEffect as wt,GridEffect as Mt,PixelationEffect as Pt,GlitchEffect as Rt,VignetteEffect as Ct}from"./index-DHhMOs_s.js";import{_ as N,cm as h,em as C,fx as z,dw as B,c1 as x,bi as V,au as J,cO as fe,ed as j,cE as b,fd as m,e8 as pe,b0 as E,aC as Te,fj as Nt,fo as U,co as Qe,d5 as Lt,N as It,ex as zt,M as Ce,du as Et,d9 as Ke,ff as Ye,b3 as At,fb as u,cP as Xe,ej as Ge,c3 as ce,eX as Se,b9 as _,fe as se,cl as Ze,eW as Ft,cN as ne,Y as Ne,aT as Ut,dv as me,C as Vt,cq as Bt,eU as Ot,Z as jt,dp as kt,ew as Ht,B as Wt,e as Qt,A as be,W as Kt,ea as Yt,c8 as Xt,d7 as Gt,df as Zt}from"./three.core-3arARmh6.js";import{DEFAULTS as ae}from"./defaults-DKiBJCPN.js";import{detectKtx2Support as qt}from"./loader-BTUKnX5Q.js";import{resolveRenderSettings as De}from"./render-settings-CRyDhHyz.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./render-features-DMSV2qKJ.js";import"./index-C5ZAyrKq.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";class Jt extends It{boundingSphere=new zt;constructor(){super(),this.setAttribute("position",new Ce(new Float32Array([-1,-1,3,-1,-1,3]),2)),this.setAttribute("uv",new Ce(new Float32Array([0,0,2,0,0,2]),2))}computeBoundingSphere(){}}const _t=new Jt,$t=new Lt;class W{constructor(e){this._mesh=new Qe(_t,e),this._mesh.frustumCulled=!1}render(e){e.render(this._mesh,$t)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}dispose(){this._mesh.material.dispose(),this._mesh.geometry.dispose()}}const ei={uniforms:{sceneDiffuse:{value:null},sceneDepth:{value:null},sceneNormal:{value:null},projMat:{value:new h},viewMat:{value:new h},projViewMat:{value:new h},projectionMatrixInv:{value:new h},viewMatrixInv:{value:new h},cameraPos:{value:new U},resolution:{value:new m},biasAdjustment:{value:new m},time:{value:0},samples:{value:[]},bluenoise:{value:null},distanceFalloff:{value:1},radius:{value:5},near:{value:.1},far:{value:1e3},ortho:{value:!1},screenSpaceRadius:{value:!1},frame:{value:0}},depthWrite:!1,depthTest:!1,vertexShader:`
|
|
2
2
|
varying vec2 vUv;
|
|
3
3
|
void main() {
|
|
4
4
|
vUv = uv;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isEditorOwnedObject as f}from"./editor-layers-
|
|
1
|
+
import{isEditorOwnedObject as f}from"./editor-layers-D-CTUqco.js";import{T as y,d as b,o as a}from"./three-DiL6vMXq.js";import{g}from"./user-data-C84W0V47.js";import{i as S,a as v,c as I}from"./model-inspection-DvspbmJl.js";import{C as j,S as w,r as R}from"./three-projection-core-B7Lf8tOp.js";const u=new WeakMap;function E(d){let t=!1;if(d.traverse(s=>{g(s,"gaussianSplat")&&(t=!0)}),t)return"Gaussian splat";const r=S(d),e=v(d);return{static:"Static model",animated:"Animated model",rigged:"Rigged model",skinned:"Skinned model"}[I(r,e)]}function h(d){const t=d.material;return Array.isArray(t)?t[0]??null:t??null}function l(d){return d?.color??null}class p{constructor(t,r,e){if(this.store=t,this.scene=r,this.options=e,this.provenance=e.provenance??(e.documentKind==="asset"?{source:"document",label:"derived asset",detail:"Loaded from an ordinary project asset. Edit its source or import recipe."}:{source:"source-code",label:"source",detail:"Instantiated from project TypeScript. Edit source or exposed parameters, then rebuild."}),this.documentNodeId=`object3d-document:${e.documentId}`,this.projector=new y(b(e.documentId)),this.indexGraph(),e.hierarchyRoots&&new Set(e.hierarchyRoots).size!==e.hierarchyRoots.length)throw new Error(`Object3D document "${e.title}" declared the same hierarchy root twice.`);const s=new Set(e.hierarchyRoots??[]);for(const o of s){let i=o.parent;for(;i&&i!==r;){if(s.has(i))throw new Error(`Object3D document "${e.title}" declared nested hierarchy roots; roots must be non-overlapping.`);i=i.parent}}this.hierarchyRootIds=e.hierarchyRoots?e.hierarchyRoots.map(o=>{const i=this.idByObject.get(o);if(!i)throw new Error(`Object3D document "${e.title}" declared a hierarchy root outside its native graph.`);return i}):[...this.projector.rootIds],this.view=new j({projector:this.projector,scene:r,documentNodeId:this.documentNodeId,rootIds:this.hierarchyRootIds}),this.selectionState=new w({store:t.shell,owns:o=>this.byId.has(o),initial:[this.documentNodeId],onChange:o=>this.syncMarkedSelection(o)})}documentNodeId;projector;hierarchyRootIds;view;selectionState;markedSelection=new Set;capabilities={transform:!1,inspectorFields:!0,persist:!1};provenance;disposed=!1;dispose(){if(!this.disposed){this.disposed=!0;for(const t of this.watchedForStructure)t.removeEventListener("childadded",this.onStructureChanged),t.removeEventListener("childremoved",this.onStructureChanged);this.watchedForStructure=[]}}watchedForStructure=[];structureReindexQueued=!1;onStructureChanged=t=>{f(t.child)||this.scheduleStructureReindex()};indexGraph(){this.projector.project(this.scene),this.watchStructure()}watchStructure(){const t=e=>e;for(const e of this.watchedForStructure)t(e).removeEventListener("childadded",this.onStructureChanged),t(e).removeEventListener("childremoved",this.onStructureChanged);this.watchedForStructure=[];const r=e=>{t(e).addEventListener("childadded",this.onStructureChanged),t(e).addEventListener("childremoved",this.onStructureChanged),this.watchedForStructure.push(e)};r(this.scene);for(const[,e]of this.byId)r(e)}scheduleStructureReindex(){this.disposed||this.structureReindexQueued||(this.structureReindexQueued=!0,queueMicrotask(()=>{if(this.structureReindexQueued=!1,this.disposed||(this.indexGraph(),this.store.scene!==this.scene))return;const t=this.store.objectMap;t.clear();for(const[e,s]of this.byId)t.set(e,s);const r=[...this.store.shell.selectedEntityIds].filter(e=>e===this.documentNodeId||this.byId.has(e));r.length!==this.store.shell.selectedEntityIds.size&&this.store.shell.selectMultiple(r),this.store.notifyIngestObjectMapEdit()}))}get byId(){return this.projector.objects}get idByObject(){return this.projector.idsByObject}documentTypeLabel(){if(this.options.documentKind!=="asset")return;const t=this.scene.children.find(s=>this.idByObject.has(s))??null;if(!t)return;const r=u.get(t);if(r!==void 0)return r;const e=E(t);return u.set(t,e),e}hierarchy={roots:()=>[this.hierarchy.node(this.documentNodeId)],node:t=>{if(t===this.documentNodeId){const e=this.documentTypeLabel();return{id:t,label:this.options.title,secondaryLabel:this.options.sourcePath,role:"document",kind:this.options.documentKind==="asset"?"model-asset":"three-source",...e?{typeLabel:e}:{},parentId:null,childIds:this.view.rootIds()}}const r=this.byId.get(t);return r?this.view.node(r):null},object3D:t=>this.byId.get(t)??null,idForObject3D:t=>this.idByObject.get(t)??null};selection={get:()=>this.selectionState.current(),set:t=>this.selectionState.publish(t.filter(r=>r===this.documentNodeId||this.byId.has(r)))};static READ_ONLY_REASON="This document shows what the module builds; its properties are read-only here. Edit the module.";readOnly=()=>({writable:!1,reason:p.READ_ONLY_REASON});transforms={get:t=>R(this.byId.get(t)??null),beginEdit:()=>{},apply:()=>{},endEdit:()=>{}};inspector={properties:t=>{if(t===this.documentNodeId)return this.options.audit===!1?[]:[{path:"name",label:"Name",type:"string",readonly:!0},{path:"source.path",label:"Source",type:"string",readonly:!0}];const r=this.byId.get(t);if(!r)return[];const e=a(r);if(e?.fields)return e.fields().map(({value:n,...m})=>m);const s=[{path:"name",label:"Name",type:"string",readonly:!0},{path:"visible",label:"Visible",type:"boolean",readonly:!0},{path:"object.type",label:"Native type",type:"string",readonly:!0}],o=r;if(o.isMesh&&o.geometry){const n=o.geometry.getAttribute("position");s.push({path:"mesh.vertices",label:"Vertices",type:"number",readonly:!0,group:"Mesh"}),n&&s.push({path:"mesh.triangles",label:"Triangles",type:"number",readonly:!0,group:"Mesh"})}const i=h(r);i&&(s.push({path:"material.type",label:"Material",type:"string",readonly:!0,group:"Material"}),l(i)&&s.push({path:"material.color",label:"Color",type:"color",readonly:!0,group:"Material"}));const c=r;return c.isSkinnedMesh&&c.skeleton&&s.push({path:"skin.bones",label:"Bones",type:"number",readonly:!0,group:"Skin"}),s},get:(t,r)=>{if(t===this.documentNodeId)return r==="name"?this.options.title:r==="source.path"?this.options.sourcePath:void 0;const e=this.byId.get(t);if(!e)return;const o=a(e)?.fields?.().find(n=>n.path===r);if(o)return o.value();if(r==="name")return e.name||e.type;if(r==="visible")return e.visible;if(r==="object.type")return e.type;const i=e;if(r==="mesh.vertices")return i.geometry?.getAttribute("position")?.count??0;if(r==="mesh.triangles"){const n=i.geometry;return(n?.index?.count??n?.getAttribute("position")?.count??0)/3}const c=h(e);if(r==="material.type")return c?.type;if(r==="material.color"){const n=l(c);return n?`#${n.getHexString()}`:void 0}if(r==="skin.bones")return e.skeleton?.bones.length??0},set:()=>{},editability:()=>this.readOnly()};subscribe(t){return this.store.shell.subscribe(t)}get documentId(){return this.documentNodeId}get documentRootObject(){const t=this.hierarchy.node(this.documentNodeId)?.childIds[0];return t?this.byId.get(t)??null:null}syncMarkedSelection(t){const r=new Set(t.map(e=>this.byId.get(e)??null).filter(e=>e!==null).filter(e=>a(e)?.selectionChanged!==void 0));for(const e of this.markedSelection)r.has(e)||a(e)?.selectionChanged?.(!1);for(const e of r)this.markedSelection.has(e)||a(e)?.selectionChanged?.(!0);this.markedSelection=r}}export{p as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{gC as d,d4 as u,bm as f,bn as a,as as p,e7 as l,O as c,gD as g}from"./index-C5ZAyrKq.js";import{r as s,I as h,i as w}from"./ingest-source-persistence-6ShMoSCa.js";function y(n){const t={sourceLocation:e=>{const r=n(e);if(!(!r.anchored||r.kind!=="source"))return{file:r.file,line:r.line}}};return{links:e=>{const r=n(e);return!r.anchored||r.kind!=="source"?[]:[{id:`creation-site:${r.file}:${r.line}:${r.col}`,title:`Constructed at ${r.display}`,open:()=>{d(t,e,"callsite").then(u)}}]}}}function $(n){return`this gesture changed ${n.length} properties at once (${n.join(", ")}), and creation-site write-back plans one property per gesture`}function v(n){const{backend:t,label:e}=n;return f({resolve:()=>{const r=n.subject(),i=t.gate(r);if(!i.ok)return a(i.reason);const o=r.anchorKind;return o==="live-only"?a(t.describe(r)):{reaches:"writer",anchorKind:o,destination:t.destination(),write:()=>t.write({...r,baseline:n.baseline,next:n.next,label:e})}},record:r=>{r||n.journal()},report:r=>{t.armed()&&t.report(e,r)}})}function S(n){let t=null;return{attach(e){t=n.writer??(g("An ingest root’s source persistence")?new h({history:n.history,live:e}):null)},describe({anchor:e,instances:r,property:i,writeScope:o}){return t?t.describe(e,r,i,o):e.anchored?e.kind==="data"?`Live-only edit — this object is ${e.display}.`:`Live-only edit — this object is created at ${e.display}.`:`Live-only edit — ${e.reason}.`},gate({anchor:e,instances:r,property:i,writeScope:o}){return t?t.gate(e,r,i,o):{ok:!1,reason:"this editor tier cannot write project source"}},armed:()=>t!==null&&l(),readSiteLiterals:e=>t?t.inspect(e):Promise.resolve({}),report:(e,r)=>s(e,r),async write(e){if(!t)return!1;try{const r=await t.persist(e);return r.persisted?(c.log(`[ingest] ${e.label} written to the game's own source — ${r.detail}`),!0):(s(e.label,r.reason),!1)}catch(r){return s(e.label,`the write failed: ${r instanceof Error?r.message:String(r)}`),!1}},removal:{available(e){return t?t.gate(e.anchor,e.instances,e.property,e.writeScope).ok:!1},async perform(e){if(!t)return!1;try{const r=await t.remove({property:e.property,surface:e.surface,anchor:e.anchor,instances:e.instances,writeScope:e.writeScope,label:e.label});return r.persisted?(c.log(`[ingest] ${e.label} — dropped from the game's own source (${r.detail})`),!0):(s(e.label,r.reason),!1)}catch(r){return s(e.label,`the removal failed: ${r instanceof Error?r.message:String(r)}`),!1}}},destination(){const e=w();return l()&&e?.writable&&t?"the game's own source (creation-site write-back)":p},dispose(){t?.dispose(),t=null}}}export{S as a,y as c,$ as m,v as p};
|
package/dist/assets/{spark-renderer-lifecycle-DfYpvEJa.js → spark-renderer-lifecycle-B6Axb6jm.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{hasUserData as a}from"./user-data-
|
|
1
|
+
import{hasUserData as a}from"./user-data-CODoGZqA.js";import"./object-marks-BnvSuCTt.js";const s=16,e=3e3,u=500;function p(t,o){return o-t>=u}function d(t){let o=!1;return t.traverse(i=>{!o&&a(i,"gaussianSplat")&&(o=!0)}),o}function m(t){t.autoUpdate=!1,t.sortDirty=!1,t.updateTimeoutId!==-1&&(clearTimeout(t.updateTimeoutId),t.updateTimeoutId=-1),t.sortTimeoutId!==-1&&(clearTimeout(t.sortTimeoutId),t.sortTimeoutId=-1);let o=e;const i=()=>{if(t.sorting){o>0?(o-=s,setTimeout(i,s)):console.warn("SparkRenderer did not become idle; skipped worker termination.");return}t.dispose()};i()}export{u as SPARK_DISCOVERY_INTERVAL_MS,m as disposeSparkRendererWhenIdle,d as sceneHasGaussianSplat,p as shouldDiscoverGaussianSplat};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as h}from"./index-nmcBqr7Y.js";import{s as b,c as f,l as V,a as x,t as S,v as P,p as T,b as y}from"./camera-authoring-DYjhU5Zp.js";import{
|
|
1
|
+
import{r as h}from"./index-nmcBqr7Y.js";import{s as b,c as f,l as V,a as x,t as S,v as P,p as T,b as y}from"./camera-authoring-DYjhU5Zp.js";import{h7 as L,aH as A,dR as C,aJ as k,x as g,r as O,d4 as M,h8 as E,g4 as R,h9 as z}from"./index-C5ZAyrKq.js";import{a as D}from"./object3d-document-session-registry-CMRJdFp6.js";import{r as s}from"./transform-mode-request-DlEApNrA.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";function H(){const e=f();if(e.view)return[{id:"camera.exitView",label:"Exit Camera View",execute:V}];const i=x();return i?[{id:"camera.viewThrough",label:`View Through ${i.name}`,execute:()=>P(i)},...i.canAuthorPose?[{id:"camera.pilot",label:`Pilot ${i.name}`,execute:()=>T(i)},{id:"camera.alignToView",label:`Align ${i.name} to Current View`,execute:()=>y(i)}]:[],{id:"camera.pinPreview",label:e.previewPinned?"Unpin Camera Preview":"Pin Camera Preview",execute:S}]:[]}function j(){const e=g();return e?D(e):null}function a(e,i){const o=j();o?o.setMode(i):e.setShadingMode(i)}function $(e){const i=[{id:"mode.select",label:"Select Tool (no gizmo)",shortcut:"transform.select",execute:()=>s(e.shell,"select")},{id:"mode.combined",label:"Transform Mode (all handles)",shortcut:"transform.combined",execute:()=>s(e.shell,"combined")},{id:"mode.translate",label:"Translate Mode",shortcut:"transform.translate",execute:()=>s(e.shell,"translate")},{id:"mode.rotate",label:"Rotate Mode",shortcut:"transform.rotate",execute:()=>s(e.shell,"rotate")},{id:"mode.scale",label:"Scale Mode",shortcut:"transform.scale",execute:()=>s(e.shell,"scale")},{id:"mode.world",label:"World Space",execute:()=>e.shell.setTransformSpace("world")},{id:"mode.local",label:"Local Space",execute:()=>e.shell.setTransformSpace("local")},{id:"toggle.grid",label:"Toggle Grid",execute:()=>{const l=g();l&&A(l)&&C(l,!k(l))}},{id:"toggle.helpers",label:"Toggle Helpers",execute:()=>e.shell.toggleHelpers()},{id:"toggle.stats",label:"Toggle Stats Overlay",execute:()=>e.toggleStats()},{id:"toggle.snap",label:"Toggle Snap",shortcut:"viewport.toggleSnap",execute:()=>e.shell.toggleSnap()},{id:"toggle.surface-snap",label:"Toggle Surface Snap",execute:()=>e.shell.toggleSnapToSurface()},{id:"shading.solid",label:"Material Shading",execute:()=>a(e,"solid")},{id:"shading.clay",label:"Solid Shading",execute:()=>a(e,"clay")},{id:"shading.wireframe",label:"Wireframe Shading",execute:()=>a(e,"wireframe")},{id:"shading.unlit",label:"Unlit Shading",execute:()=>a(e,"unlit")},{id:"shading.normals",label:"Normal Shading",execute:()=>a(e,"normals")},{id:"shading.overdraw",label:"Overdraw Shading",execute:()=>a(e,"overdraw")},{id:"view.top",label:"Top View",shortcut:"view.top",execute:()=>e.shell.setViewPreset("top")},{id:"view.front",label:"Front View",shortcut:"view.front",execute:()=>e.shell.setViewPreset("front")},{id:"view.right",label:"Right View",shortcut:"view.right",execute:()=>e.shell.setViewPreset("right")},{id:"view.bottom",label:"Bottom View",shortcut:"view.bottom",execute:()=>e.shell.setViewPreset("bottom")},{id:"view.back",label:"Back View",shortcut:"view.back",execute:()=>e.shell.setViewPreset("back")},{id:"view.left",label:"Left View",shortcut:"view.left",execute:()=>e.shell.setViewPreset("left")},{id:"view.orbitLeft",label:"Orbit Left",shortcut:"view.orbitLeft",execute:()=>e.shell.stepView("orbit-left")},{id:"view.orbitRight",label:"Orbit Right",shortcut:"view.orbitRight",execute:()=>e.shell.stepView("orbit-right")},{id:"view.orbitUp",label:"Orbit Up",shortcut:"view.orbitUp",execute:()=>e.shell.stepView("orbit-up")},{id:"view.orbitDown",label:"Orbit Down",shortcut:"view.orbitDown",execute:()=>e.shell.stepView("orbit-down")},{id:"view.opposite",label:"Opposite View",shortcut:"view.opposite",execute:()=>e.shell.stepView("opposite")},{id:"view.rollLeft",label:"Roll Left",shortcut:"view.rollLeft",execute:()=>e.shell.stepView("roll-left")},{id:"view.rollRight",label:"Roll Right",shortcut:"view.rollRight",execute:()=>e.shell.stepView("roll-right")},{id:"view.all",label:"Frame All",shortcut:"view.all",execute:()=>e.shell.frameAll()},{id:"view.zoomIn",label:"Zoom In",shortcut:"view.zoomIn",execute:()=>e.shell.zoomView(1)},{id:"view.zoomOut",label:"Zoom Out",shortcut:"view.zoomOut",execute:()=>e.shell.zoomView(-1)},{id:"view.perspective",label:"Perspective View",shortcut:"view.perspective",execute:()=>e.shell.setViewPreset("perspective")},{id:"view.projection",label:"Perspective/Orthographic",shortcut:"view.projection",execute:()=>e.shell.toggleProjection()},{id:"view.camera",label:"Camera View",shortcut:"view.camera",execute:()=>e.shell.toggleCameraView()},{id:"focus.selected",label:"Focus Selected",shortcut:"viewport.frameSelection",execute:()=>e.shell.focusOnSelection()}];return L({actions:()=>[...i,...H()],subscribe:b})}function F(e,i,o){const{keyboard:l}=O(),r=t=>()=>{i.isFlying||s(e.shell,t)},v=l.bindActions([{id:"transform.select",scope:"stage",run:r("select")},{id:"transform.combined",scope:"stage",run:r("combined")},{id:"transform.translate",scope:"stage",run:r("translate")},{id:"transform.rotate",scope:"stage",run:r("rotate")},{id:"transform.scale",scope:"stage",run:r("scale")},{id:"viewport.toggleSnap",scope:"stage",run:()=>{e.shell.toggleSnap();const{translate:t,rotate:n,scale:m}=e.shell.snapValues,p=`${l.shortcutFor("viewport.toggleSnap")??""} toggles; hold Ctrl while dragging to snap once`;M(e.shell.snapEnabled?`Snap on — ${t} units, ${n}°, ×${m} (${p})`:`Snap off (${p})`)}},{id:"viewport.frameSelection",scope:"stage",run:()=>e.shell.focusOnSelection()},{id:"viewport.cyclePivot",scope:"stage",run:()=>{const t=["active-element","median-point","individual-origins"],n=t.indexOf(e.shell.pivotMode);e.shell.setPivotMode(t[(n+1)%t.length])}},{id:"view.top",scope:"stage",run:()=>e.shell.setViewPreset("top")},{id:"view.front",scope:"stage",run:()=>e.shell.setViewPreset("front")},{id:"view.right",scope:"stage",run:()=>e.shell.setViewPreset("right")},{id:"view.bottom",scope:"stage",run:()=>e.shell.setViewPreset("bottom")},{id:"view.back",scope:"stage",run:()=>e.shell.setViewPreset("back")},{id:"view.left",scope:"stage",run:()=>e.shell.setViewPreset("left")},{id:"view.orbitLeft",scope:"stage",run:()=>e.shell.stepView("orbit-left")},{id:"view.orbitRight",scope:"stage",run:()=>e.shell.stepView("orbit-right")},{id:"view.orbitUp",scope:"stage",run:()=>e.shell.stepView("orbit-up")},{id:"view.orbitDown",scope:"stage",run:()=>e.shell.stepView("orbit-down")},{id:"view.opposite",scope:"stage",run:()=>e.shell.stepView("opposite")},{id:"view.rollLeft",scope:"stage",run:()=>e.shell.stepView("roll-left")},{id:"view.rollRight",scope:"stage",run:()=>e.shell.stepView("roll-right")},{id:"view.all",scope:"stage",run:()=>e.shell.frameAll()},{id:"view.zoomIn",scope:"stage",run:()=>e.shell.zoomView(1)},{id:"view.zoomOut",scope:"stage",run:()=>e.shell.zoomView(-1)},{id:"view.perspective",scope:"stage",run:()=>e.shell.setViewPreset("perspective")},{id:"view.projection",scope:"stage",run:()=>e.shell.toggleProjection()},{id:"view.camera",scope:"stage",run:()=>e.shell.toggleCameraView()},{id:"viewport.snapToFloor",scope:"stage",run:()=>i.snapSelectionToFloor()}]),c=()=>R("viewport");o.addEventListener("pointerdown",c),E();const d=t=>l.chordsFor("viewport.vertexSnapHold").some(n=>n.key===t.key.toLowerCase()),u=t=>{if(d(t)&&!t.metaKey&&!t.ctrlKey&&!t.repeat){if(z()!=="viewport"||t.target instanceof HTMLInputElement||t.target instanceof HTMLTextAreaElement)return;e.setVertexSnapActive(!0),i.activateVertexSnap()}},w=t=>{d(t)&&!t.metaKey&&!t.ctrlKey&&(e.setVertexSnapActive(!1),i.deactivateVertexSnap())};return window.addEventListener("keydown",u),window.addEventListener("keyup",w),()=>{v(),o.removeEventListener("pointerdown",c),window.removeEventListener("keydown",u),window.removeEventListener("keyup",w)}}function Y({stage:e}){return h.useEffect(()=>F(e.store,e.viewport,e.canvas),[e.store,e.viewport,e.canvas]),h.useEffect(()=>$(e.store),[e.store]),null}export{Y as StageKeyboardBinding};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./jsx-runtime-DPjLkJKQ.js";import{r as s}from"./index-nmcBqr7Y.js";import{iT as w,g_ as R,cM as D,aK as f,af as v,iU as L,gJ as E,gK as k,iV as V,iW as T,d2 as A,dG as C,dH as b,aJ as N,iX as H,iY as I,cD as U,cE as M,aL as z,a1 as F,iZ as $,dR as W,i_ as _,i$ as G,a4 as q,j0 as J,j1 as K,j2 as Z,dI as X}from"./index-C5ZAyrKq.js";import{s as B,o as O,a as Y}from"./object3d-document-session-registry-CMRJdFp6.js";import{r as Q}from"./index-CtzuWnCS.js";import{T as ee}from"./TransientHint-Cc40mHWE.js";import{d as te,b as se}from"./ViewportShadingMenu-BoMPnTVh.js";import{V as j,s as oe}from"./StageHost-DYfGYwvq.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./index-CinJrH5C.js";import"./three-state-BCACvUtm.js";import"./editor-shell-store-DHVWS8cE.js";import"./output-pass-HurwNl0G.js";import"./three.module-BLhyNg0e.js";import"./three.core-3arARmh6.js";import"./Pass-D1MRT672.js";import"./editor-layers-D-CTUqco.js";import"./workspace-arrangement-DqG5sUns.js";import"./user-data-C84W0V47.js";import"./entity-object-MKYemTFM.js";import"./three-contract-Dkt6PmWY.js";import"./standard-viewport-dressing-BW-dM_1h.js";import"./content-bounds-DROIchTa.js";import"./hierarchy-marks-BuCO8Ke-.js";import"./environment-Dg-YaLsA.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./preview-renderer-BrYNFV1p.js";import"./renderer-ownership-BovSEcLv.js";import"./live-mixers-B-bwLZ7c.js";import"./live-gesture-lock-DJbrjOqf.js";import"./model-inspection-DvspbmJl.js";import"./three-viewport-presentation-CBzvc2v2.js";import"./clip-planes-CnAI6DZn.js";import"./three-DiL6vMXq.js";import"./component-instance-root-DLI40MiB.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./model-thumbnail-BmQs-h6t.js";import"./studio-environment-R9qXUUcC.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./OrbitControls-B13MKuwC.js";import"./LineSegments2-DN9pUfWA.js";import"./three.quarks.esm-C_HmSKXo.js";import"./three-integration-DXOFI88n.js";import"./host-hierarchy-objects-BV3WqU2w.js";import"./layered-pick-CAVQMPI7.js";import"./root-stacking-BEd9ZvxC.js";import"./viewport-door-BARIpMu-.js";import"./asset-preview-DxlSdRZn.js";import"./bitmap-label-Ct4k6ehY.js";import"./scene-framing-DkZKDwH3.js";import"./source-object3d-authoring-adapter-CvmFpSUj.js";import"./three-projection-core-B7Lf8tOp.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./transport-strip-xCg94CuI.js";import"./viewport-surface-status-TUfhXKR9.js";function h(t){return t.toFixed(2)}function re(){const t=w(),[o,r]=s.useState({x:0,y:0,z:0}),[i,n]=s.useState({x:0,y:0,z:0}),a=s.useRef(0);return s.useEffect(()=>{function u(){const m=t.cameraPosition,p=t.cameraTarget;r(l=>l.x!==m.x||l.y!==m.y||l.z!==m.z?{x:m.x,y:m.y,z:m.z}:l),n(l=>l.x!==p.x||l.y!==p.y||l.z!==p.z?{x:p.x,y:p.y,z:p.z}:l),a.current=requestAnimationFrame(u)}return a.current=requestAnimationFrame(u),()=>cancelAnimationFrame(a.current)},[t]),e.jsx(R,{variant:"overlay",border:!0,className:"volter-camera-info volter-chrome-island volter-glass-island","data-island-scale":"compact",children:e.jsxs(D,{gap:8,align:"center",style:{whiteSpace:"nowrap"},children:[e.jsxs(f,{variant:"code",children:["Pos ",h(o.x)," ",h(o.y)," ",h(o.z)]}),e.jsxs(f,{variant:"code",children:["Target ",h(i.x)," ",h(i.y)," ",h(i.z)]})]})})}function ie(){const t=w(),[,o]=s.useState(0),r=L();return s.useEffect(()=>{const i=setInterval(()=>o(n=>n+1),200);return()=>clearInterval(i)},[]),e.jsxs("div",{className:"volter-hud-overlay volter-chrome-island volter-glass-island","data-island-scale":"compact","data-hud-border":"strong",style:{position:"absolute",top:"var(--volter-viewport-overlay-hud-top, 48px)",right:8,padding:"6px 10px",pointerEvents:"auto",fontSize:"var(--volter-font-base)",color:v.content.primary,fontFamily:v.typography.mono,lineHeight:"16px"},children:[e.jsxs("div",{children:["FPS: ",t.fps.toFixed(0)]}),e.jsxs("div",{children:["Draw: ",t.drawCalls]}),e.jsxs("div",{children:["Tris: ",t.triangles.toLocaleString()]}),e.jsxs("div",{children:["Frame: ",t.frameTime.toFixed(1),"ms"]}),r!==null&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:["Heap: ",r.heapUsedMB===null?"n/a":`${r.heapUsedMB.toFixed(0)}MB`,r.heapLimitMB===null?"":` / ${r.heapLimitMB.toFixed(0)}MB`]}),e.jsxs("div",{children:["Mount epochs: ",r.mountEpochs]}),e.jsxs("div",{children:["Canvas: ",r.canvasMB.toFixed(1),"MB ×",r.canvases]}),r.textures!==void 0&&e.jsxs("div",{children:["GPU: ",r.textures," tex, ",r.geometries??0," geo",r.programs===void 0?"":`, ${r.programs} prog`]})]})]})}function ae({store:t,documentId:o}){s.useSyncExternalStore(t.shell.subscribe,t.shell.getSnapshot),s.useSyncExternalStore(E,k),s.useSyncExternalStore(V,T),s.useSyncExternalStore(B,O);const{adapter:r}=A(t.shell),i=Y(o);s.useSyncExternalStore(i?.subscribe??le,i?.getSnapshot??ce),s.useSyncExternalStore(C,b);const n=N(o),a=H(),u=I(),m=a.viewName==="bar"||a.viewName==="menu",[p,l]=s.useState(null),y=()=>p?.closest(".volter-dock-document-content")?.querySelector(':scope > .volter-stage-bar [data-stage-bar-slot="display"]')??null,x=s.useId(),g=y(),d=g&&(g.dataset.owner===void 0||g.dataset.owner===x)?g:null,[,P]=s.useReducer(c=>c+1,0);s.useEffect(()=>{const c=y();c&&c.dataset.owner===void 0&&(c.dataset.owner=x),(c&&c.dataset.owner===x?c:null)!==d&&P()}),s.useEffect(()=>()=>{d?.dataset.owner===x&&delete d.dataset.owner},[d,x]);const S=e.jsxs(U,{label:"Viewport display",className:"volter-viewport-toolbar volter-viewport-toolbar-right volter-stage-display",children:[a.viewName==="bar"&&i?e.jsx(j,{shell:t.shell,documentId:o,label:oe(i.viewport,i.projection(),"long")}):null,e.jsx(M,{text:`Grid: ${n?"On":"Off"}`,children:e.jsx(z,{"aria-label":"Toggle grid","aria-pressed":n,size:"comfortable",onClick:()=>W(o,!n),children:e.jsx(F,{icon:$,size:"md"})})}),e.jsx(pe,{store:t,word:u.helpers}),e.jsx(te,{mode:ne(i)??t.shadingMode,onChange:c=>i?i.setMode(c):t.setShadingMode(c),words:u.shading}),m?null:e.jsx(j,{shell:t.shell,documentId:o}),e.jsx(me,{adapter:r,store:t})]});return e.jsxs(e.Fragment,{children:[e.jsx("span",{ref:l,hidden:!0}),d?Q.createPortal(S,d):S]})}function ne(t){return t?.presentation().mode??null}const le=()=>()=>{},ce=()=>0,me=s.memo(function({adapter:o,store:r}){const[,i]=s.useReducer(a=>a+1,0);s.useEffect(()=>o.subscribe?.(i),[o]);const n=s.useMemo(()=>_(o),[o,r.shell.contentVersion]);return n===0?null:e.jsx(M,{text:`Open Light Explorer · ${n} ${n===1?"light":"lights"}`,children:e.jsx(z,{"aria-label":"Open Light Explorer",size:"comfortable",onClick:()=>q(J.lightExplorer.id),children:e.jsx(F,{icon:G,size:"md"})})})});function pe({store:t,word:o}){const r=[{key:"bounds",label:"Bounds"},{key:"lights",label:"Lights"},{key:"cameras",label:"Cameras"},{key:"colliders",label:"Colliders"},{key:"joints",label:"Joints"},{key:"particles",label:"Particle Emitters"},{key:"lod",label:"LOD"},{key:"audio",label:"Audio"},{key:"splines",label:"Splines"},{key:"navmesh",label:"NavMesh"},{key:"constraints",label:"Constraints"},{key:"reflectionProbes",label:"Reflection Probes"},{key:"triggerVolumes",label:"Trigger Volumes"},{key:"skeletons",label:"Skeletons"},{key:"weights",label:"Weights"},{key:"cursor",label:"3D Cursor"},{key:"empties",label:"Empties"}];return e.jsx(se,{label:"Helpers",...o!==void 0?{word:o}:{},master:{enabled:t.shell.showHelpers,onToggle:()=>t.shell.toggleHelpers()},choices:r.map(i=>({id:i.key,label:i.label,enabled:t.shell.helperVisibility[i.key],onToggle:()=>t.shell.toggleHelperType(i.key)}))})}function vt({store:t,documentId:o,stage:r,active:i,chrome:n}){const a=r?.store??t;s.useSyncExternalStore(t.shell.subscribe,t.shell.getShellSnapshot??t.shell.getSnapshot),s.useSyncExternalStore(a.shell.subscribe,a.shell.getShellSnapshot??a.shell.getSnapshot),s.useSyncExternalStore(V,T),s.useSyncExternalStore(B,O),s.useSyncExternalStore(E,k);const u=K(t.shell,o,n),m=Z(u);s.useSyncExternalStore(C,b,b);const p=X(o).overlays.cameraReadout;return e.jsxs(e.Fragment,{children:[m?e.jsxs(e.Fragment,{children:[e.jsx(ae,{store:a,documentId:o}),p?e.jsx(re,{}):null]}):null,u.surface==="three"&&a.showStats&&e.jsx(ie,{}),i?e.jsx(ee,{}):null]})}export{vt as StageOverlaySet};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./jsx-runtime-DPjLkJKQ.js";import"./index-nmcBqr7Y.js";import"./index-CtzuWnCS.js";import{d7 as Y,aj as N,x as Q,d8 as V,d9 as _}from"./index-C5ZAyrKq.js";import{a as O}from"./content-bounds-DROIchTa.js";import{r as w}from"./collaboration-presence-D6MC9xJN.js";import{e6 as G,fd as W,d9 as H,S as U,_ as M,T as k,ej as J,eE as K,eF as ee,dp as te,fo as x,cW as oe,J as ne,a$ as re,N as ie,bX as ae,bV as se}from"./three.core-3arARmh6.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";import"./hierarchy-marks-BuCO8Ke-.js";import"./workspace-arrangement-DqG5sUns.js";function ce(){const e=document.querySelector(`.${V}`);return(e?getComputedStyle(e).getPropertyValue("--volter-content-on-accent").trim():"")||_.color.content.onAccent}function Z(e,r){const o=e.image,n=o.getContext("2d");if(!n)return;n.clearRect(0,0,o.width,o.height),n.fillStyle=r.color,n.beginPath(),n.roundRect(2,2,o.width-4,o.height-4,16),n.fill(),n.fillStyle=ce(),n.font="600 22px system-ui, sans-serif",n.textAlign="center",n.textBaseline="middle";const c=r.kind==="agent"?" · AI":"";n.fillText(`${r.displayName}${c}`,o.width/2,o.height/2,238),e.needsUpdate=!0}function le(e){const r=new H(50,1,.2,1.4),o=new U(r),n=new M(e.color);o.setColors(n,n,n,n,n),o.name=`Collaboration camera: ${e.displayName}`,o.userData.editorOnly=!0;const c=document.createElement("canvas");c.width=256,c.height=64;const p=new k(c);p.colorSpace=J;const d=new K(new ee({map:p,depthTest:!1,transparent:!0}));return d.name=`Collaboration label: ${e.displayName}`,d.userData.editorOnly=!0,d.scale.set(1.8,.45,1),d.renderOrder=1e4,Z(p,e),{camera:r,helper:o,label:d,texture:p,signature:"",targetPosition:new x,targetQuaternion:new te,targetFov:50,initialized:!1}}function de(e,r){const o=r.presence.camera;if(!o)return;e.targetPosition.set(o.x,o.y,o.z);const n=new oe;n.position.copy(e.targetPosition),n.lookAt(o.targetX,o.targetY,o.targetZ),e.targetQuaternion.copy(n.quaternion),e.targetFov=o.fov,e.initialized||(e.initialized=!0,e.camera.position.copy(e.targetPosition),e.camera.quaternion.copy(e.targetQuaternion),e.camera.fov=e.targetFov);const c=`${r.displayName}|${r.kind}|${r.color}|${r.status}`;c!==e.signature&&(e.signature=c,Z(e.texture,r))}function pe(e,r){const o=1-Math.exp(-12*Math.max(0,r));e.camera.position.lerp(e.targetPosition,o),e.camera.quaternion.slerp(e.targetQuaternion,o),e.camera.fov+=(e.targetFov-e.camera.fov)*o,e.camera.updateProjectionMatrix(),e.camera.updateMatrixWorld(!0),e.helper.update(),e.label.position.copy(e.camera.position),e.label.position.y+=.55}function A(e){e.helper.removeFromParent(),e.label.removeFromParent(),e.helper.dispose(),e.texture.dispose(),e.label.material.dispose()}function ue(e,r){const o=O(e),n=new ne(o,new M(r));return n.name=`Collaboration selection: ${e.name||e.uuid}`,n.userData.editorOnly=!0,n.renderOrder=9999,n.material.depthTest=!1,{object:e,box:o,helper:n}}function b(e){e.helper.removeFromParent(),e.helper.geometry.dispose(),e.helper.material.dispose()}function me(e){if(!e||e.type!=="pointer-ray"||!["originX","originY","originZ","directionX","directionY","directionZ","length"].every(p=>typeof e[p]=="number"&&Number.isFinite(e[p])))return null;const o=new x(e.originX,e.originY,e.originZ),n=new x(e.directionX,e.directionY,e.directionZ),c=Math.min(1e3,Math.max(.1,e.length));return n.lengthSq()<1e-6?null:{origin:o,end:o.clone().add(n.normalize().multiplyScalar(c))}}function Le(e){const{scene:r,store:o,documentId:n,container:c,canvas:p,viewport:d,readVisibleCameraPose:R}=e,y=()=>Q()===n,v=()=>{if(!y())return;const i=R();w({camera:{x:i.position.x,y:i.position.y,z:i.position.z,targetX:i.target.x,targetY:i.target.y,targetZ:i.target.z,fov:i.fov}})};d.orbitControls.addEventListener("change",v);let C=!1;const I=i=>{const s=i.value===!0;C=s,y()&&w({gesture:s?{type:"transform",selection:[...o.shell.selectedEntityIds]}:null})};d.transformControls.addEventListener("dragging-changed",I);const S=new G,P=new W,z=i=>{if(C||i.buttons!==0||!y())return;const s=p.getBoundingClientRect();if(s.width<=0||s.height<=0)return;P.set((i.clientX-s.left)/s.width*2-1,-((i.clientY-s.top)/s.height)*2+1),S.setFromCamera(P,d.renderCamera);const l=S.ray,g=R();w({gesture:{type:"pointer-ray",originX:l.origin.x,originY:l.origin.y,originZ:l.origin.z,directionX:l.direction.x,directionY:l.direction.y,directionZ:l.direction.z,length:Math.max(2,g.position.distanceTo(g.target))}})},E=()=>{!C&&y()&&w({gesture:null})};c.addEventListener("pointermove",z),c.addEventListener("pointerleave",E),v();const m=new Map,u=new Map,f=new Map;let L=-1;const q=()=>{const i=Y();if(!i||i.sequence===L)return;L=i.sequence;const s=i.participants.filter(t=>t.participantId!==N&&t.presence.document===n),l=s.filter(t=>t.presence.camera),g=new Set(l.map(t=>t.participantId));for(const[t,a]of m)g.has(t)||(A(a),m.delete(t));for(const t of l){let a=m.get(t.participantId);a||(a=le(t),m.set(t.participantId,a),r.add(a.helper,a.label)),de(a,t)}const F=s.flatMap(t=>t.presence.selection.slice(0,20).map(a=>({key:`${t.participantId}:${a}`,objectId:a,color:t.color}))),B=new Set(F.map(t=>t.key));for(const[t,a]of u)B.has(t)||(b(a),u.delete(t));for(const t of F){const a=o.objectMap.get(t.objectId),h=u.get(t.key);if(!a){h&&(b(h),u.delete(t.key));continue}if(h?.object===a)continue;h&&b(h);const $=ue(a,t.color);u.set(t.key,$),r.add($.helper)}const X=s.flatMap(t=>{const a=me(t.presence.gesture);return a?[{participantId:t.participantId,color:t.color,ray:a}]:[]}),j=new Set(X.map(t=>t.participantId));for(const[t,a]of f)j.has(t)||(D(a),f.delete(t));for(const t of X){let a=f.get(t.participantId);a||(a=fe(t.color),f.set(t.participantId,a),r.add(a.line)),ge(a,t.ray)}},T=i=>{if(!y())return;const s=i.detail?.participantId;if(typeof s!="string")return;const l=Y()?.participants.find(g=>g.participantId===s)?.presence.camera;l&&o.shell.setCameraPose({x:l.x,y:l.y,z:l.z},{x:l.targetX,y:l.targetY,z:l.targetZ},l.fov)};return window.addEventListener("editor:collaboration-join",T),{reportCamera:v,syncMarkers:i=>{q();for(const s of m.values())pe(s,i);for(const s of u.values())O(s.object,s.box)},live:()=>m.size+u.size+f.size>0,dispose:()=>{d.orbitControls.removeEventListener("change",v),d.transformControls.removeEventListener("dragging-changed",I),c.removeEventListener("pointermove",z),c.removeEventListener("pointerleave",E),window.removeEventListener("editor:collaboration-join",T);for(const i of m.values())A(i);m.clear();for(const i of u.values())b(i);u.clear();for(const i of f.values())D(i);f.clear()}}}function fe(e){const r=new re(new Float32Array(6),3),o=new ie;o.setAttribute("position",r);const n=new ae({color:new M(e),depthTest:!1,transparent:!0,opacity:.9}),c=new se(o,n);return c.name="Collaboration pointer ray",c.userData.editorOnly=!0,c.renderOrder=10001,{line:c,positions:r}}function ge(e,r){e.positions.setXYZ(0,r.origin.x,r.origin.y,r.origin.z),e.positions.setXYZ(1,r.end.x,r.end.y,r.end.z),e.positions.needsUpdate=!0,e.line.geometry.computeBoundingSphere()}function D(e){e.line.removeFromParent(),e.line.geometry.dispose(),e.line.material.dispose()}export{Le as bindStagePresenceMarkers};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./jsx-runtime-DPjLkJKQ.js";import{dD as n,dE as m,K as l,dF as f,e2 as c,dI as S}from"./index-C5ZAyrKq.js";import{r as e}from"./index-nmcBqr7Y.js";import{t as T}from"./StageHost-DYfGYwvq.js";import{t as u}from"./editor-shell-store-DHVWS8cE.js";import{T as h,a as g}from"./Toolbar-M62Gob9T.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"./three-state-BCACvUtm.js";import"./standard-viewport-dressing-BW-dM_1h.js";import"./content-bounds-DROIchTa.js";import"./hierarchy-marks-BuCO8Ke-.js";import"./workspace-arrangement-DqG5sUns.js";import"./three.core-3arARmh6.js";import"./editor-layers-D-CTUqco.js";import"./environment-Dg-YaLsA.js";import"./three.module-BLhyNg0e.js";import"./RoomEnvironment-BkknvS_I.js";import"./EXRLoader-CITMBvGd.js";import"./HDRLoader-BTGuGhVo.js";import"./user-data-C84W0V47.js";import"./preview-renderer-BrYNFV1p.js";import"./renderer-ownership-BovSEcLv.js";import"./live-mixers-B-bwLZ7c.js";import"./live-gesture-lock-DJbrjOqf.js";import"./output-pass-HurwNl0G.js";import"./Pass-D1MRT672.js";import"./three-contract-Dkt6PmWY.js";import"./model-inspection-DvspbmJl.js";import"./three-viewport-presentation-CBzvc2v2.js";import"./clip-planes-CnAI6DZn.js";import"./three-DiL6vMXq.js";import"./component-instance-root-DLI40MiB.js";import"./entity-object-MKYemTFM.js";import"./viewport-editor-controls-BYaAZ_Ku.js";import"./model-thumbnail-BmQs-h6t.js";import"./studio-environment-R9qXUUcC.js";import"./KTX2Loader-CaqVE6nY.js";import"./GLTFLoader-KeoruJgS.js";import"./BufferGeometryUtils-B22h7jo4.js";import"./OrbitControls-B13MKuwC.js";import"./LineSegments2-DN9pUfWA.js";import"./three.quarks.esm-C_HmSKXo.js";import"./three-integration-DXOFI88n.js";import"./host-hierarchy-objects-BV3WqU2w.js";import"./layered-pick-CAVQMPI7.js";import"./root-stacking-BEd9ZvxC.js";import"./object3d-document-session-registry-CMRJdFp6.js";import"./viewport-door-BARIpMu-.js";import"./asset-preview-DxlSdRZn.js";import"./bitmap-label-Ct4k6ehY.js";import"./scene-framing-DkZKDwH3.js";import"./source-object3d-authoring-adapter-CvmFpSUj.js";import"./three-projection-core-B7Lf8tOp.js";import"./editor-presentation-activity-CqJH4G9t.js";import"./transport-strip-xCg94CuI.js";import"./viewport-surface-status-TUfhXKR9.js";import"./transform-mode-request-DlEApNrA.js";const s=new WeakMap;function x(r,t){if(r===null)return;const o=s.get(r)??new Set;if(s.set(r,o),o.has(t))return;o.add(t);const i={select:"select",transform:"combined",move:"translate",rotate:"rotate",scale:"scale"};r.shell.setTransformMode(i[S(t).interaction.bootTool])}function Cr({documentId:r}){e.useSyncExternalStore(n,m,m);const t=l(),o=T(r),i=f(r);if(e.useEffect(()=>{o==="gizmo"&&x(i&&u(i),r)},[o,i,r]),o==="none")return null;const p=o==="modal"?c(r):null;return a.jsx(g,{store:i??t,...p?{door:p}:{}})}function Mr({documentId:r}){e.useSyncExternalStore(n,m,m);const t=l();return a.jsx(h,{store:f(r)??t})}export{Mr as ThreeStageTransformControls,Cr as ThreeStageTransformTools};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import{a as nt}from"./content-bounds-DROIchTa.js";import{EDITOR_LAYER as bt}from"./editor-layers-D-CTUqco.js";import{loadEnvironmentImage as St}from"./environment-Dg-YaLsA.js";import{s as Y}from"./user-data-C84W0V47.js";import{P as J,S as Z}from"./three.module-BLhyNg0e.js";import{fm as xt,fn as kt,O as It}from"./index-C5ZAyrKq.js";import{aE as q,bh as tt,j as Ft,I as Pt,co as Ct,db as Gt,fo as et,ap as Tt,e as Et,A as Rt,cP as _t,cj as d,_ as f,au as it,dw as rt,bi as Dt,aT as Ot,c7 as $t,c1 as z,ej as st,bg as At,aw as Bt,cx as Lt}from"./three.core-3arARmh6.js";let at=0;function zt(){at++}function se(){return at}const Ht=[.8,.5,-1],N=new f(1975600),U=new f(5004144);function lt(){const i=typeof document>"u"?null:document.querySelector("[data-volter-palette]");if(!i)return{bottom:N.clone(),top:U.clone()};const t=getComputedStyle(i),o=document.createElement("canvas");o.width=o.height=1;const e=o.getContext("2d"),r=(s,u)=>{const p=t.getPropertyValue(s).trim();if(!e||!p||!CSS.supports("color",p))return u.clone();e.fillStyle=u.getStyle(),e.fillRect(0,0,1,1),e.fillStyle=t.getPropertyValue("--volter-surface-shell").trim(),e.fillRect(0,0,1,1),e.fillStyle=p,e.fillRect(0,0,1,1);const[y,l,M]=e.getImageData(0,0,1,1).data;return new f().setRGB(y/255,l/255,M/255,st)},n=r("--volter-surface-panel",N),a=r("--volter-surface-raised",U),h=n.lerp(N,.25).lerp(new f(16777215),.03),c=a.lerp(U,.25).lerp(new f(16777215),.04);return{bottom:h,top:c}}function Nt(i){if(typeof document>"u"||typeof MutationObserver>"u")return()=>{};const t=document.querySelector("[data-volter-palette]");if(!t)return()=>{};const o=new MutationObserver(()=>{i(),zt()});return o.observe(t,{attributes:!0,attributeFilter:["data-volter-palette","data-volter-material"]}),()=>o.disconnect()}function ct(i=lt()){const o=new Uint8Array(512),e=new f;for(let n=0;n<128;n++)e.copy(i.bottom).lerp(i.top,n/127).convertLinearToSRGB(),o[n*4]=Math.round(e.r*255),o[n*4+1]=Math.round(e.g*255),o[n*4+2]=Math.round(e.b*255),o[n*4+3]=255;const r=new it(o,1,128,rt);return r.colorSpace=st,r.magFilter=z,r.minFilter=z,r.needsUpdate=!0,r}function Ut(i){const t=nt(i);if(t.isEmpty())return{size:50,centre:[0,0]};const o=Math.max(t.max.x-t.min.x,t.max.z-t.min.z);return{size:Math.min(Math.max(Math.ceil(o/10)*10+20,50),1e3),centre:[(t.min.x+t.max.x)/2,(t.min.z+t.max.z)/2]}}function Wt(i){for(const t of[1,2,5,10])if(i/t<=60)return Math.round(i/t);return Math.round(i/10)}function ut(i,t){const o=t/2,e=o*.55,r=o;i.onBeforeCompile=n=>{n.uniforms.uGridFadeStart={value:e},n.uniforms.uGridFadeEnd={value:r},n.vertexShader=n.vertexShader.replace("#include <common>",`#include <common>
|
|
2
|
+
varying vec2 vGridPlanePosition;`).replace("#include <begin_vertex>",`#include <begin_vertex>
|
|
3
|
+
vGridPlanePosition = position.xz;`),n.fragmentShader=n.fragmentShader.replace("#include <common>",`#include <common>
|
|
4
|
+
varying vec2 vGridPlanePosition;
|
|
5
|
+
uniform float uGridFadeStart;
|
|
6
|
+
uniform float uGridFadeEnd;`).replace("#include <color_fragment>",`#include <color_fragment>
|
|
7
|
+
diffuseColor.a *= 1.0 - smoothstep(uGridFadeStart, uGridFadeEnd, length(vGridPlanePosition));`)},i.customProgramCacheKey=()=>`volter-grid-fade:${e}:${r}`}function jt(i,t){const{environment:o,background:e=!0,keyLight:r=!0,grid:n=!1}=t,a=[],h=[];let c=null;if(o&&(i.environment=o.texture),e&&(c=ct(),i.background=c),r){const l=new q(16774109,1.9);l.name="volter:standard-dressing-key",l.position.set(6,10,-4),l.castShadow=!0,Y(l,"editorHelper",!0),i.add(l),a.push(l),h.push(l)}let s=null,u="";const p=l=>{if(!n)return;const{size:M,centre:w}=Ut(l),b=`${M}:${w.join(":")}`;if(b===u)return;u=b,s&&(s.removeFromParent(),s.dispose(),a.splice(a.indexOf(s),1));const g=new At(M,Wt(M),10066329,10066329);s=g;const S=g.material;S.transparent=!0,S.opacity=.35,S.depthWrite=!1,ut(S,M),g.name="volter:standard-dressing-grid",g.position.set(w[0],-.02,w[1]),g.layers.set(bt),Y(g,"editorHelper",!0),i.add(g),a.push(g)};p(t.content??i);let y=!1;return{backgroundTexture:c,lights:h,frameContent:p,dispose(){if(!y){y=!0;for(const l of a)l.removeFromParent(),l.dispose?.();o&&(i.environment===o.texture&&(i.environment=null),o.dispose()),c&&(i.background===c&&(i.background=null),c.dispose())}}}}const W=12,qt=`
|
|
8
|
+
vec3 volterHable( vec3 x ) {
|
|
9
|
+
const float A = 0.22 * 4.0;
|
|
10
|
+
const float B = 0.30 * 2.0;
|
|
11
|
+
const float C = 0.10;
|
|
12
|
+
const float D = 0.20;
|
|
13
|
+
const float E = 0.01;
|
|
14
|
+
const float F = 0.30;
|
|
15
|
+
return ( ( x * ( A * x + C * B ) + D * E ) / ( x * ( A * x + B ) + D * F ) ) - E / F;
|
|
16
|
+
}
|
|
17
|
+
vec3 CustomToneMapping( vec3 color ) {
|
|
18
|
+
color *= toneMappingExposure;
|
|
19
|
+
return clamp( volterHable( max( vec3( 0.0 ), color ) ) / volterHable( vec3( 1.0 ) ), 0.0, 1.0 );
|
|
20
|
+
}`;{const i=Z.tonemapping_pars_fragment,t="vec3 CustomToneMapping( vec3 color ) { return color; }";i.includes(t)&&(Z.tonemapping_pars_fragment=i.replace(t,qt))}const Vt={none:_t,aces:Rt,agx:Et,filmic:Tt};function ot(i){return`image|${i.id}|${i.url}`}function j(i){return i*i*(3-2*i)}function k(i,t,o){let e=Math.imul(i,374761393)^Math.imul(t,668265263)^Math.imul(o,1440662683);return e=Math.imul(e^e>>>13,1274126177),((e^e>>>16)>>>0)/4294967296}function Kt(i,t,o){const e=Math.floor(i),r=Math.floor(t),n=Math.floor(o),a=j(i-e),h=j(t-r),c=j(o-n),s=d.lerp,u=s(k(e,r,n),k(e+1,r,n),a),p=s(k(e,r+1,n),k(e+1,r+1,n),a),y=s(k(e,r,n+1),k(e+1,r,n+1),a),l=s(k(e,r+1,n+1),k(e+1,r+1,n+1),a);return s(s(u,p,h),s(y,l,h),c)}function dt(i,t,o){let e=0,r=.5,n=1,a=0;for(let h=0;h<5;h++)e+=r*Kt(i*n,t*n,o*n),a+=r,r*=.5,n*=2;return e/a}let D=null;function Xt(i){if(!D){const o=new Float32Array(4096);for(let e=0;e<o.length;e++){const r=1-2*(e+.5)/o.length,n=Math.sqrt(1-r*r),a=e*2.399963229728653;o[e]=dt(Math.cos(a)*n*4,r*4,Math.sin(a)*n*4)}D=o.sort()}const t=d.clamp(Math.round((1-i)*(D.length-1)),0,D.length-1);return D[t]}function Qt(i){if(!i)return null;const t=(e,r)=>typeof e=="number"&&Number.isFinite(e)?e:r,o={cover:d.clamp(t(i.cover,.5),0,1),opacity:d.clamp(t(i.opacity,1),0,1),scale:Math.max(t(i.scale,4),.1)};return o.cover>0&&o.opacity>0?o:null}const E=4,V=400;function Yt(){const i=new Lt({roughness:.9,metalness:0,transparent:!0,depthWrite:!1,polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),t=V/2;return i.onBeforeCompile=o=>{o.vertexShader=o.vertexShader.replace("void main() {",`varying vec2 vFloorPlane;
|
|
21
|
+
void main() {`).replace("#include <begin_vertex>",`#include <begin_vertex>
|
|
22
|
+
vFloorPlane = position.xz;`),o.fragmentShader=o.fragmentShader.replace("void main() {",`varying vec2 vFloorPlane;
|
|
23
|
+
void main() {`).replace("#include <dithering_fragment>",`#include <dithering_fragment>
|
|
24
|
+
gl_FragColor.a *= 1.0 - smoothstep(${(t*.3).toFixed(1)}, ${(t*.95).toFixed(1)}, length(vFloorPlane));`)},i.customProgramCacheKey=()=>"volter-fading-floor",i}class Jt{constructor(t,o){this.onReady=o,this.group.name="volter:stage-presentation-rig",this.group.userData.editorHelper=!0,this.group.add(this.ambient),t.add(this.group),this.previewGroup.name="volter:stage-preview-rig",this.previewGroup.userData.editorHelper=!0,this.sun.name="volter:preview-sun",this.sun.userData.editorHelper=!0,this.previewGroup.add(this.sun,this.sun.target),this.previewGroup.visible=!1,t.add(this.previewGroup),this.floor.name="volter:preview-floor",this.floor.userData.editorHelper=!0,this.floor.receiveShadow=!0,this.floor.renderOrder=-1,this.floor.visible=!1,t.add(this.floor)}group=new tt;ambient=new Ft(16777215,0);lights=[];preset=null;presentation=null;source="studio";previewGroup=new tt;sun=new q(16777215,1);floorBounds=new Pt;floorContent=null;floor=new Ct(new Gt(V,V).rotateX(-Math.PI/2),Yt());sky=null;pmrem=null;direction=new et;loadingImage=null;pendingImage=null;failedImages=new Set;latestSky=null;rotation=0;disposed=!1;apply(t,o,e,r={}){this.presentation=t;const{lighting:n}=t,a=r.floor!==!1&&t.overlays.floor.visible,h=a&&!this.floor.visible;this.floor.visible=a,h&&this.floorContent&&this.placeFloor(this.floorContent),this.floor.material.color.set(t.overlays.floor.color);const c=xt(n.studioPreset);c!==this.preset&&this.build(c),this.source=n.source,this.group.visible=n.source==="studio",r.tone!==!1&&(o.toneMapping=e??Vt[n.tone.mapper],o.toneMappingExposure=n.tone.exposure);const{sun:s,environment:u}=n.preview,p=d.degToRad(s.altitude),y=d.degToRad(s.azimuth);this.sun.color.set(s.color),this.sun.intensity=s.enabled?s.energy:0,this.sun.position.set(Math.sin(y)*Math.cos(p),Math.sin(p),-Math.cos(y)*Math.cos(p)).multiplyScalar(W),this.sun.castShadow=s.enabled&&s.shadowDistance>0;const l=Math.min(Math.max(s.shadowDistance,1),50)/2;if(Object.assign(this.sun.shadow.camera,{left:-l,right:l,top:l,bottom:-l}),this.sun.shadow.camera.updateProjectionMatrix(),this.sun.updateMatrixWorld(),this.sun.target.updateMatrixWorld(),this.rotation=d.degToRad(u.rotation),!(r.sky!==!1&&u.enabled&&(n.source==="preview"||t.backdrop.source==="environment"))){this.loadingImage=null,this.pendingImage=null;return}const w=u.image===null?null:kt(u.image),b=()=>this.buildSky(u.sky,o,s.enabled?{direction:this.sun.position.clone().normalize(),color:s.color,energy:s.energy}:null);if(this.latestSky=b,w&&!this.failedImages.has(ot(w))){this.sky||b(),this.buildImage(w,o);return}this.loadingImage=null,this.pendingImage=u.image===null?null:{id:u.image,state:w?"failed":"unregistered"},b()}buildImage(t,o){const e=ot(t);if(this.sky?.key===e){this.pendingImage=null;return}this.loadingImage!==e&&(this.loadingImage=e,this.pendingImage={id:t.id,state:"loading"},St(t.url,t.format).then(r=>{if(this.disposed||this.loadingImage!==e){r.dispose();return}let n;try{this.pmrem??=new J(o),n=this.pmrem.fromEquirectangular(r)}catch(a){throw r.dispose(),a}this.loadingImage=null,this.pendingImage=null,this.disposeSky(),this.sky={key:e,image:t.id,background:r,environment:n},this.onReady?.()}).catch(r=>{this.disposed||this.loadingImage!==e||(this.loadingImage=null,this.failedImages.add(e),this.pendingImage={id:t.id,state:"failed"},It.error(`Environment image "${t.id}" (${t.url}) did not load: ${String(r)}`,"viewport"),this.latestSky?.(),this.onReady?.())}))}placeFloor(t){if(this.floorContent=t,!this.floor.visible)return;const o=nt(t,this.floorBounds);this.floor.position.y=o.isEmpty()?0:o.min.y,this.floor.updateMatrixWorld()}forgetFailedImages(){this.failedImages.clear()}sceneLightsShown(){return this.source!=="preview"||this.presentation?.lighting.preview.sceneLights!==!1}imageReport(){return{shown:this.sky?.image??null,pending:this.pendingImage}}turn(){return this.sky?.image?this.rotation:0}buildSky(t,o,e){const r=e?`${e.direction.toArray().map(m=>m.toFixed(4)).join(",")}|${e.color}|${e.energy}`:"none",n=Qt(t.clouds),a=n?`${n.cover}|${n.opacity}|${n.scale}`:"clear",h=`${t.top}|${t.horizon}|${t.ground}|${t.topCurve}|${t.groundCurve}|${a}|${r}`;if(this.sky?.key===h)return;this.disposeSky();const c=1024,s=512,u=d.degToRad(.5),p=d.degToRad(30),y=.15,l=new f(t.top),M=new f(t.horizon),w=new f(t.ground),b=e?new f(e.color).multiplyScalar(e.energy):null,g=new Uint16Array(c*s*4),S=m=>Bt.toHalfFloat(Math.min(m,65504)),ht=Math.max(t.topCurve,.001),pt=Math.max(t.groundCurve,.001),O=new f,I=new f,gt=new f(.92,.93,.95).lerp(M,.2),R=c/E,H=s/2/E+1,K=n?Xt(n.cover):1;let $=null;if(n){$=new Float32Array(R*H);for(let m=0;m<H;m++){const P=((Math.min(s/2+m*E,s-1)+.5)/s-.5)*Math.PI;for(let C=0;C<R;C++){const v=((C*E+.5)/c-.5)*Math.PI*2;$[m*R+C]=dt(Math.cos(v)*Math.cos(P)*n.scale,Math.sin(P)*n.scale,Math.sin(v)*Math.cos(P)*n.scale)}}}const X=new et;for(let m=0;m<s;m++){const x=((m+.5)/s-.5)*Math.PI,P=Math.PI/2-x;if(P<=Math.PI/2){const v=1-P/(Math.PI/2);O.copy(M).lerp(l,d.clamp(1-Math.pow(1-v,1/ht),0,1))}else{const v=(P-Math.PI/2)/(Math.PI/2);O.copy(M).lerp(w,d.clamp(1-Math.pow(1-v,1/pt),0,1))}const C=n&&x>0?d.smoothstep(Math.sin(x),0,.25):0;for(let v=0;v<c;v++){if(I.copy(O),n&&$&&C>0){const _=v/E,G=(m-s/2)/E,T=Math.floor(_),B=Math.max(0,Math.floor(G)),Q=_-T,ft=G-Math.floor(G),L=(Mt,wt)=>$[Math.min(wt,H-1)*R+Mt%R],vt=d.lerp(d.lerp(L(T,B),L(T+1,B),Q),d.lerp(L(T,B+1),L(T+1,B+1),Q),ft),yt=d.smoothstep(vt,K-.1,K+.1);I.lerp(gt,yt*n.opacity*C)}if(b&&e&&x>-Math.PI/2){const _=((v+.5)/c-.5)*Math.PI*2;X.set(Math.cos(_)*Math.cos(x),Math.sin(x),Math.sin(_)*Math.cos(x));const G=X.angleTo(e.direction);if(G<u)I.copy(b);else if(G<p){const T=(G-u)/(p-u);I.copy(b).lerp(O,d.clamp(1-Math.pow(1-T,1/y),0,1))}}const A=(m*c+v)*4;g[A]=S(I.r),g[A+1]=S(I.g),g[A+2]=S(I.b),g[A+3]=S(1)}}const F=new it(g,c,s,rt,Dt);F.mapping=Ot,F.colorSpace=$t,F.magFilter=z,F.minFilter=z,F.needsUpdate=!0,this.pmrem??=new J(o);const mt=this.pmrem.fromEquirectangular(F);this.sky={key:h,image:null,background:F,environment:mt}}disposeSky(){this.sky?.background.dispose(),this.sky?.environment.dispose(),this.sky=null}environment(){const t=this.presentation?.lighting;return t?this.source==="studio"?{texture:null,intensity:this.preset?.environmentIntensity??0,rotation:0}:this.source==="preview"?t.preview.environment.enabled?{texture:this.sky?.environment.texture??null,intensity:t.preview.environment.energy,rotation:this.turn()}:{texture:null,intensity:0,rotation:0}:null:null}backdrop(){const t=this.presentation?.backdrop;return!t||t.source==="fill"||t.source==="scene"?"keep":t.source==="transparent"?{value:null,blur:0,intensity:1,rotation:0}:t.source==="color"?{value:new f(t.color),blur:0,intensity:1,rotation:0}:this.sky?{value:this.sky.background,blur:t.blur,intensity:t.opacity,rotation:this.turn()}:"keep"}resolveSource(t){const o=this.presentation?.lighting;let e=o?.source??"studio";return o?.auto&&e!=="scene"&&o.auto.takeover.some(r=>t[r]===!0)&&(e="scene"),this.source=e,this.group.visible=e==="studio",this.previewGroup.visible=e==="preview",e}roots(){return[this.group,this.previewGroup,this.floor]}lightsVisible(){return this.group.visible&&this.lights.length>0}presetId(){return this.preset?.id??null}update(t){if(this.group.visible)for(const{light:o,spec:e}of this.lights)this.direction.set(...e.direction).normalize(),e.space==="camera"&&this.direction.applyQuaternion(t.quaternion),o.position.copy(this.direction).multiplyScalar(-W),o.target.position.set(0,0,0),o.updateMatrixWorld(),o.target.updateMatrixWorld()}dispose(){this.disposed=!0,this.clearLights(),this.group.removeFromParent(),this.previewGroup.removeFromParent(),this.floor.removeFromParent(),this.floor.geometry.dispose(),this.floor.material.dispose(),this.sun.dispose(),this.disposeSky(),this.pmrem?.dispose()}build(t){this.clearLights(),this.preset=t,this.ambient.color.set(t.ambient.color),this.ambient.intensity=t.ambient.intensity;for(const o of t.lights){const e=new q(o.color,o.intensity);e.name=`volter:studio-light:${t.id}`,e.castShadow=o.castShadow===!0,e.userData.editorHelper=!0,this.group.add(e),this.group.add(e.target),this.lights.push({light:e,spec:o})}this.direction.set(0,0,0);for(const{light:o,spec:e}of this.lights)e.space==="world"&&(this.direction.set(...e.direction).normalize(),o.position.copy(this.direction).multiplyScalar(-W),o.updateMatrixWorld(),o.target.updateMatrixWorld())}clearLights(){for(const{light:t}of this.lights)t.removeFromParent(),t.target.removeFromParent(),t.dispose();this.lights=[]}}const ae=Object.freeze(Object.defineProperty({__proto__:null,STANDARD_COMPONENT_CAMERA_DIRECTION:Ht,StagePresentationRig:Jt,applyGridDistanceFade:ut,applyStandardViewportDressing:jt,createGradientBackgroundTexture:ct,paletteBackdropStops:lt,watchPaletteBackdrop:Nt},Symbol.toStringTag,{value:"Module"}));export{Ht as S,Jt as a,jt as b,ct as c,ae as d,zt as i,se as s,Nt as w};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as t}from"./index-C5ZAyrKq.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const n="workspace.action",l=[{id:"state-watch",label:"Open State Watch",execute:()=>t().workspace.showUtility("tool:state-watch.utility")}];export{l as actions,n as point};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{r as t,ag as e}from"./index-C5ZAyrKq.js";import"./index-nmcBqr7Y.js";import"./_commonjsHelpers-D6-XlEtG.js";import"./index-D_NuPfjr.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-CtzuWnCS.js";import"./index-CinJrH5C.js";import"./index-FUuS4qwW.js";import"./client-DNXj_opT.js";const l="workspace.menu",n={menu:"debug",items:[{id:"state-watch",label:"State Watch",testId:"menu-state-watch",disabled:()=>e()==null,execute:()=>t().workspace.showUtility("tool:state-watch.utility")}]};export{n as menu,l as point};
|