@volter/cyclotron 0.5.201 → 0.5.203
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 +956 -924
- package/LICENSE-BLENDER +11 -0
- package/README.md +16 -10
- package/dist/.vite/manifest.json +2316 -2307
- package/dist/assets/EntityModelDocument-CTq_jwpe.js +1 -0
- package/dist/assets/EnvironmentAssetDocument-CaSQc1HY.js +1 -0
- package/dist/assets/InspectorObjectPreview-P6pJxnGB.js +1 -0
- package/dist/assets/LiveModuleDocument-B6Iw2YIE.js +2 -0
- package/dist/assets/LutAssetDocument-C7Tc5hRu.js +1 -0
- package/dist/assets/ModelAssetDocument-BUOK0YzX.js +1 -0
- package/dist/assets/NonThreeAuthoringBootstrap-Bbtz8I0R.js +1 -0
- package/dist/assets/Object3DDocumentToolbar-GjvQOSkS.js +1 -0
- package/dist/assets/Object3DPreview-BUogCxPt.js +2 -0
- package/dist/assets/QuarksAssetDocument-Cxg3fT6D.js +2 -0
- package/dist/assets/ShaderAssetDocument-BbXBHSY3.js +1 -0
- package/dist/assets/StageHost-BtQd8CQk.js +1179 -0
- package/dist/assets/ToolObject3DPreview-imwBjs0O.js +1 -0
- package/dist/assets/ViewportShadingMenu-Dx1gY8Op.js +1 -0
- package/dist/assets/animation-mixers.service-fNXcr-Vc.js +1 -0
- package/dist/assets/animation-timeline.utility-Dzab5JgT.js +1 -0
- package/dist/assets/asset-preview-BEzZu4j-.js +4 -0
- package/dist/assets/blender-emscripten-engine-BFUuajuh.js +2 -0
- package/dist/assets/blender-node-editor.document-Cu3LXipe.js +1 -0
- package/dist/assets/blender-properties-model-BrD2rboW.js +1 -0
- package/dist/assets/blender-properties-tab-CkbWamuD.js +3 -0
- package/dist/assets/blender-runtime-host-7Wv16WQe.js +7221 -0
- package/dist/assets/blender-runtime.document-CSHvDIaD.js +13 -0
- package/dist/assets/blender-screenshot.menu-CELFKP08.js +1 -0
- package/dist/assets/blender-timeline.document-BvHkPBTZ.js +1 -0
- package/dist/assets/blender-uv-editor.document-DVsbsG0P.js +1 -0
- package/dist/assets/blender-version.status-D_YQqOVz.js +1 -0
- package/dist/assets/blender-wali-engine-C6WYYJ9a.js +2 -0
- package/dist/assets/blender.command-M9NTZ04b.js +1 -0
- package/dist/assets/blender.status-H7PL8qIV.js +1 -0
- package/dist/assets/model-inspection-DAugZuDb.js +1 -0
- package/dist/assets/models.finder-C37d1CqG.js +1 -0
- package/dist/assets/object3d-document-session-registry-Nly7qqyW.js +2 -0
- package/dist/assets/play-live-nju-LbTd.js +1 -0
- package/dist/assets/product-B76VmSfR.js +14 -0
- package/dist/assets/properties-bone-constraints.inspector-CICws11L.js +1 -0
- package/dist/assets/properties-bone.inspector-BTh8HMja.js +1 -0
- package/dist/assets/properties-collection.inspector-CdxnUdEY.js +1 -0
- package/dist/assets/properties-constraints.inspector-CgLm__aq.js +1 -0
- package/dist/assets/properties-data.inspector-CPGohY4g.js +1 -0
- package/dist/assets/properties-material.inspector-BBmS0pWg.js +1 -0
- package/dist/assets/properties-modifiers.inspector-DmwrZuck.js +1 -0
- package/dist/assets/properties-object.inspector-CcLxRnp2.js +1 -0
- package/dist/assets/properties-output.inspector-B21rsdeE.js +1 -0
- package/dist/assets/properties-particles.inspector-3oYMCgFh.js +1 -0
- package/dist/assets/properties-physics.inspector-CXHZdBQv.js +1 -0
- package/dist/assets/properties-render.inspector-BgQVOySW.js +1 -0
- package/dist/assets/properties-scene.inspector-BvJsraNi.js +1 -0
- package/dist/assets/properties-texture.inspector-DPHw4ryw.js +1 -0
- package/dist/assets/properties-view-layer.inspector-MBifnnqO.js +1 -0
- package/dist/assets/properties-world.inspector-DOOIqcDX.js +1 -0
- package/dist/assets/react-18-Ceee8kSy.js +1 -0
- package/dist/assets/session-B_EkWp0b.js +6047 -0
- package/dist/assets/stage-keyboard-CfcRPwij.js +1 -0
- package/dist/assets/stage-overlay-set-B8PO_8GO.js +1 -0
- package/dist/assets/stage-presence-markers-CheQj0g2.js +1 -0
- package/dist/assets/stage-transform-tools-B3kiH81y.js +1 -0
- package/dist/assets/standard-viewport-dressing-4szt4iVE.js +24 -0
- package/dist/assets/three-integration.service-BRF8px1l.js +2 -0
- package/dist/assets/volter-sdk-BKodmrby.js +2363 -0
- package/dist/assets/volter-sdk-account-LQPzi3UZ.js +1 -0
- package/dist/assets/volter-sdk-client-DgRgxfuo.js +1 -0
- package/dist/assets/volter-sdk-contributions-Di1uSPw_.js +1 -0
- package/dist/assets/volter-sdk-css-numeric-style-Gy-GyM9Y.js +1 -0
- package/dist/assets/volter-sdk-document-probe-kPNnaNGr.js +1 -0
- package/dist/assets/volter-sdk-editor-view-g0uNyGJC.js +1 -0
- package/dist/assets/volter-sdk-host-CXSewq8M.js +1 -0
- package/dist/assets/volter-sdk-http-transport.browser-B3TdfhI7.js +1 -0
- package/dist/assets/volter-sdk-index-4Kp3lnTd.js +1 -0
- package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-CjXSPJIo.js +1 -0
- package/dist/assets/volter-sdk-kit-account-client-ByTVy6-o.js +1 -0
- package/dist/assets/volter-sdk-kit-action-registry-D1kqJ80f.js +1 -0
- package/dist/assets/volter-sdk-kit-active-product-CEEc_Nk5.js +1 -0
- package/dist/assets/volter-sdk-kit-active-project-BrcrV5ab.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-editor-config-DqJAYMZM.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-module-Cm1FKR3D.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-observation-DNCkd2d_.js +1 -0
- package/dist/assets/volter-sdk-kit-animation-animation-clock-0FXkaCv-.js +1 -0
- package/dist/assets/volter-sdk-kit-animation-stage-transport-C7MuqkhX.js +1 -0
- package/dist/assets/volter-sdk-kit-api-assets-DC5mYDg9.js +1 -0
- package/dist/assets/volter-sdk-kit-api-base-Jd4izSaw.js +1 -0
- package/dist/assets/volter-sdk-kit-api-build-CXv7iVa0.js +1 -0
- package/dist/assets/volter-sdk-kit-api-logs-BJS5qQS0.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-identity-BTbrDP21.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-open-B2xmn-LQ.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-source-B8I05SPp.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-state-b7drJlZm.js +1 -0
- package/dist/assets/volter-sdk-kit-api-relay-CXoYAGag.js +1 -0
- package/dist/assets/volter-sdk-kit-api-settings-Ooohukfm.js +1 -0
- package/dist/assets/volter-sdk-kit-api-themes-DWL43Vk4.js +1 -0
- package/dist/assets/volter-sdk-kit-api-worktrees-36I3L3ep.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-capabilities-B_JHyPEo.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-compare-core-k1g4sfK4.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-editor-context-BtXkPrch.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-events-DNL9sOD1.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-inspector-actions-CIyFU73p.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-selection-YBxUZh2F.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-BP6LhiLy.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-thumbnails-cVPLoYS6.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-viewers-D4Nn4_BR.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-BSMDOcaj.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-Ce2VXJ2Z.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-BUyAOAr6.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-BItOpEbd.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-BBeCjirT.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-UfPQty9g.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-DDRruLeu.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-T_DLL58P.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-BjuMcGvJ.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-Ciewiory.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-DNMc3Uhr.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-BTZveIZ2.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-CGdTixEp.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-0cIEsyFV.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-project-content-B883NWEX.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-udhK_bK8.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-active-adapter-CaV79Zym.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-active-systems-D-sRD1JD.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-adapter-key-4m95v2b2.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-CHBNmukT.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-Dz5hKatn.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-BHValVeR.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-RexSF-J2.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-CbcNeoQ9.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-consumer-actions-CnMS-_cD.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-design-time-layers-Zg9zdDef.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-DKLgadwc.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-M81xEMIH.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-DIwvGeWZ.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-EmOGzQA_.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-layered-pick-DmtPQOEU.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-CEz93V3J.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-mfK9FD-y.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-R2pfEtvy.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-panel-authoring-VEFAXYyu.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-B2qmlVET.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-provenance-CWNbjFfV.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-BkL1OUf3.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-DSJif289.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-story-board-DEtWuCdl.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-seam-evidence-yrcHmQZ9.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-selection-scope-DVHy1MNQ.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-CrTR4pdw.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-CzDJyhVH.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-three-root-DGX0pTp1.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-c-RZK1GX.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-Cea2wigf.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-world-session-state-N1az4tj8.js +1 -0
- package/dist/assets/volter-sdk-kit-availability-tick-B-AloCSv.js +1 -0
- package/dist/assets/volter-sdk-kit-bitmap-label-D5-Z31T5.js +1 -0
- package/dist/assets/volter-sdk-kit-boot-routing-XVOVyUc_.js +1 -0
- package/dist/assets/volter-sdk-kit-breakpoint-state-D-KEzzvG.js +1 -0
- package/dist/assets/volter-sdk-kit-build-identity-D-zdIjo6.js +1 -0
- package/dist/assets/volter-sdk-kit-bytes-codec-DVfFaFPs.js +1 -0
- package/dist/assets/volter-sdk-kit-cancellation-reason-DnCUNdRD.js +1 -0
- package/dist/assets/volter-sdk-kit-canvas-frames-BGh2p4Ce.js +1 -0
- package/dist/assets/volter-sdk-kit-capture-camera-pose-WspKGBnF.js +1 -0
- package/dist/assets/volter-sdk-kit-capture-size-DSdRe3ay.js +1 -0
- package/dist/assets/volter-sdk-kit-chrome-registry-D4L_4xEJ.js +1 -0
- package/dist/assets/volter-sdk-kit-chrome-slot-registry-Ce1SavKJ.js +1 -0
- package/dist/assets/volter-sdk-kit-collaboration-client-BklHxwDT.js +1 -0
- package/dist/assets/volter-sdk-kit-collaboration-presence-Cbx-Ojaw.js +1 -0
- package/dist/assets/volter-sdk-kit-command-dispatch-Dyhs6OSN.js +1 -0
- package/dist/assets/volter-sdk-kit-command-listener-CHEIOy3c.js +1 -0
- package/dist/assets/volter-sdk-kit-command-registry-CUKeDb9O.js +1 -0
- package/dist/assets/volter-sdk-kit-component-board-registry-BF8BzQDh.js +1 -0
- package/dist/assets/volter-sdk-kit-component-states-registry-RkljZ-Lm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AlignToolbar-L-1f9zZf.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ApplicationMenus-BKxEMCFq.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AssetEditorShell-ByYpeg3g.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-AzQ_b4hk.js +1 -0
- package/dist/assets/volter-sdk-kit-components-BoardRulers-Cjeqdfie.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-BOfMdh1M.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-rZGGuOwh.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ChromeSlot-CYRqS-XZ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CodeView-CZ4K-R4r.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-C0Jzb6sx.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ConsolePanel-vTD-MnSe.js +1 -0
- package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-fQY5p6rX.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectionProjection-Dn7ly9U9.js +1 -0
- package/dist/assets/volter-sdk-kit-components-Inspector-DlXSsDRU.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-D2fHAo8Q.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-BACKigHR.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-C2tFcY5Z.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorToolSection-CKxWWFgq.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-BscOuHaz.js +1 -0
- package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-Czgrsno8.js +1 -0
- package/dist/assets/volter-sdk-kit-components-MediaProperties-4JJy007U.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ProjectHeader-CHXnXf4V.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-CjQh_ckk.js +1 -0
- package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-CIhN8hQt.js +1 -0
- package/dist/assets/volter-sdk-kit-components-RootTextEditor-Bh2YKApp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SaveStatus-BD-zOD-c.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-BH1PNp8a.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-C4IvdpGQ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-CtiZX-C_.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ToolHost-DLj25ucp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-Toolbar-DOHf2NES.js +1 -0
- package/dist/assets/volter-sdk-kit-components-TransientHint-zFA_MLx1.js +1 -0
- package/dist/assets/volter-sdk-kit-components-VersionControlSection-C9By_77E.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-vr4do7lA.js +1 -0
- package/dist/assets/volter-sdk-kit-components-VolterLogo-DS8HqAPp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-DIEnM6m4.js +1 -0
- package/dist/assets/volter-sdk-kit-components-account-documents-C-kuLuRW.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-documents-wvxuPzJN.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-DRbF9-yC.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-selection-section-D-iE-RCy.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-thumbnails-D3TyvHrp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-Dk2jKOhT.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-_nthvrZy.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-i-UhuMgF.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-CzBAEr0C.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-CyV7UI3C.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-Bd3a2_oA.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-B0oBgcRW.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-Ad0PtQNX.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-BcRGAaa4.js +1 -0
- package/dist/assets/volter-sdk-kit-components-board-guides-DlFbMQZl.js +1 -0
- package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-C-WHgNDO.js +1 -0
- package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-CqErnLHB.js +1 -0
- package/dist/assets/volter-sdk-kit-components-core-utilities-B339nXVW.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-preview-section-fv1kHl0P.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-revert-label-CGouljBF.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-selection-svwL5thP.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-CXI8Z8PL.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-transform-B6n6Cdof.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-C3qg6v_f.js +1 -0
- package/dist/assets/volter-sdk-kit-components-kind-documents-W8USaiPh.js +1 -0
- package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-Dd4u-Wtm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-project-tool-documents-DFq82d8o.js +1 -0
- package/dist/assets/volter-sdk-kit-components-scene-documents-B73lYyVv.js +1 -0
- package/dist/assets/volter-sdk-kit-components-status-contributions-FTso27Xh.js +1 -0
- package/dist/assets/volter-sdk-kit-components-tool-documents-BbGwfFpc.js +1 -0
- package/dist/assets/volter-sdk-kit-components-tool-schema-form-BIF8LmJV.js +1 -0
- package/dist/assets/volter-sdk-kit-components-use-after-paint-CtKNo2UU.js +1 -0
- package/dist/assets/volter-sdk-kit-components-use-project-image-assets-G7f6izdS.js +1 -0
- package/dist/assets/volter-sdk-kit-components-workspace-history-B2vo6Xx_.js +1 -0
- package/dist/assets/volter-sdk-kit-components-world-documents-B5tULKmS.js +1 -0
- package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-DDEiWrz7.js +1 -0
- package/dist/assets/volter-sdk-kit-composite-screenshot-BMOK3iYM.js +1 -0
- package/dist/assets/volter-sdk-kit-content-entry-source-registry-B9eUIMgv.js +1 -0
- package/dist/assets/volter-sdk-kit-contribution-surfaces-DC-uHDQg.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-DiRNBVRN.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-Csc86Z_f.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-Brd3w7kt.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-session-vitals-BoNy6hEZ.js +1 -0
- package/dist/assets/volter-sdk-kit-creation-site-registry-CdhSUaPD.js +1 -0
- package/dist/assets/volter-sdk-kit-delegate-harness-registry-CHNkXHhB.js +1 -0
- package/dist/assets/volter-sdk-kit-document-areas-7iD_pTF6.js +1 -0
- package/dist/assets/volter-sdk-kit-document-context-registry-6DcBS8uQ.js +1 -0
- package/dist/assets/volter-sdk-kit-document-open-registry-CS2V2rTe.js +1 -0
- package/dist/assets/volter-sdk-kit-document-play-extension-DyULINB5.js +1 -0
- package/dist/assets/volter-sdk-kit-document-preview-source-YxLsIauQ.js +1 -0
- package/dist/assets/volter-sdk-kit-document-renderer-session-IoKOp6Se.js +1 -0
- package/dist/assets/volter-sdk-kit-document-stage-sessions-DSmPpree.js +1 -0
- package/dist/assets/volter-sdk-kit-document-viewports-CvdifVJF.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-api-CB1FgcVg.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-chrome-capture-B-e-WKT4.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-commands-BYWHMTwS.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-console-jCw-ErXD.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-current-view-CbBqd-eR.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-document-probe-BC-zqNPD.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-git-client-BQQFtPz9.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-hotkeys-BzoxjaxK.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-lease-B_3921d6.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-lease-view-Dwm149iL.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-mode-DOBZoYnf.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-notifications-BfExd624.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presence-DNnOAqPS.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presentation-activity-CFp63FEl.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presentation-notice-Df1-39oQ.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-runtime-CCziNuJh.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-server-response-DJiPWdEl.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-session-attribution-qdIqiRBe.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-session-mode-r0EdgfW4.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-state-facets-ChaCu38O.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-view-presentation-Dp6RpQY2.js +1 -0
- package/dist/assets/volter-sdk-kit-environment-images-BUDsa8Yi.js +1 -0
- package/dist/assets/volter-sdk-kit-eyedropper-session-CuB0NOuY.js +1 -0
- package/dist/assets/volter-sdk-kit-files-file-provider-DIDQ2_uI.js +1 -0
- package/dist/assets/volter-sdk-kit-files-project-files-CQvJk0Gq.js +1 -0
- package/dist/assets/volter-sdk-kit-finders-index-DKfmE3QQ.js +1 -0
- package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-CmiBcR6h.js +1 -0
- package/dist/assets/volter-sdk-kit-frame-frame-parts-Dva44YHz.js +1 -0
- package/dist/assets/volter-sdk-kit-framed-document-capture-DB3Ncfrz.js +1 -0
- package/dist/assets/volter-sdk-kit-game-surface-defaults-Cj-0v8BH.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-export-state-Xf39gCAN.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-replay-F8jJrsPf.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-session-time-DTTj1olA.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-sessions-CxKyk9Md.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-component-marks-BabNBUji.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-internals-CoK3Z_Xh.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-Cm6Wsuhy.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-DaGff9wa.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-node-rows-BcRUZUvZ.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-panel-view-BZoc7eJQ.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-projection-CHs2jgL8.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-row-media-PFIeRJqY.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-row-model-Cw1It5is.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-rows-Dssu1BMj.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-walk-B1L9eTXm.js +1 -0
- package/dist/assets/volter-sdk-kit-history-editor-session-BtVV5q7v.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-commands-TABAJNSR.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-delegate-DeK2Tm-B.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-limit-notices-BVoYaGBF.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-service-BHBRoss1.js +1 -0
- package/dist/assets/volter-sdk-kit-history-persistence-coordinator-n84--IYf.js +1 -0
- package/dist/assets/volter-sdk-kit-history-project-file-history-CcXjOv2P.js +1 -0
- package/dist/assets/volter-sdk-kit-history-project-root-history-backends-DTX8q5fG.js +1 -0
- package/dist/assets/volter-sdk-kit-history-resource-registry-CLkqOjdr.js +1 -0
- package/dist/assets/volter-sdk-kit-history-snapshot-store-DycW6GLB.js +1 -0
- package/dist/assets/volter-sdk-kit-history-source-history-backend-9xMoYlbd.js +1 -0
- package/dist/assets/volter-sdk-kit-hmr-registration-group-DmMHpNnB.js +1 -0
- package/dist/assets/volter-sdk-kit-hmr-stable-react-context-D-TLq4Hc.js +1 -0
- package/dist/assets/volter-sdk-kit-hotkeys-XirVHMg5.js +1 -0
- package/dist/assets/volter-sdk-kit-inference-diagnostics-CXk1gv7L.js +1 -0
- package/dist/assets/volter-sdk-kit-initial-project-Cbnj6h8K.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-active-subject-CZRJ1Iol.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-active-surface-gAahXjP2.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-compose-subject-BBlLRs6P.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-display-D546j-bp.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-document-subject-DDqyp_xw.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-game-subject-sQwCYXs1.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-model-DC9Hl3cj.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-node-media-DjPyEqvx.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-null-subject-Ct7EGK3P.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-serialize-Bq6tap3p.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-C_yp3gfW.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-presentation-Di1bDrzW.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-property-grouping-Hrg_OJm5.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-section-registry-CvrpGvES.js +1 -0
- package/dist/assets/volter-sdk-kit-instance-source-actions-BCuKBxGf.js +1 -0
- package/dist/assets/volter-sdk-kit-js-heap-KxSszS6k.js +1 -0
- package/dist/assets/volter-sdk-kit-key-actions-Wz9BljgB.js +1 -0
- package/dist/assets/volter-sdk-kit-keymap-presets-GXj7fO30.js +1 -0
- package/dist/assets/volter-sdk-kit-layout-policy-cFlperJi.js +1 -0
- package/dist/assets/volter-sdk-kit-light-explorer-model-CkrLkUUZ.js +1 -0
- package/dist/assets/volter-sdk-kit-live-canvas-frame-CIEkO3Ed.js +1 -0
- package/dist/assets/volter-sdk-kit-live-document-DhUo-Edg.js +1 -0
- package/dist/assets/volter-sdk-kit-live-gesture-lock-CMfHfSyJ.js +1 -0
- package/dist/assets/volter-sdk-kit-live-seam-evidence-BwAIj8fP.js +1 -0
- package/dist/assets/volter-sdk-kit-live-session-registry-DLpuZ5fm.js +1 -0
- package/dist/assets/volter-sdk-kit-live-transition-CzY_KNsh.js +1 -0
- package/dist/assets/volter-sdk-kit-manifest-project-D966gGPJ.js +1 -0
- package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-BhBAOyzv.js +1 -0
- package/dist/assets/volter-sdk-kit-mount-failure-report-uZuQLIak.js +1 -0
- package/dist/assets/volter-sdk-kit-native-selection-style-DWR8dlSz.js +1 -0
- package/dist/assets/volter-sdk-kit-object3d-document-write-policy-Bj_jp-7_.js +1 -0
- package/dist/assets/volter-sdk-kit-packaged-runtime-iG7YMb12.js +1 -0
- package/dist/assets/volter-sdk-kit-performance-profiler-CNmFMe3k.js +1 -0
- package/dist/assets/volter-sdk-kit-performance-sources-Dn00aXW5.js +1 -0
- package/dist/assets/volter-sdk-kit-photograph-notice-Dfg0UxVZ.js +1 -0
- package/dist/assets/volter-sdk-kit-play-boot-phase-CXNgzv-J.js +1 -0
- package/dist/assets/volter-sdk-kit-play-camera-flight-DLwGfpJp.js +1 -0
- package/dist/assets/volter-sdk-kit-presentation-surface-cMmRpkGJ.js +1 -0
- package/dist/assets/volter-sdk-kit-product-command-Bu6DLKpE.js +1 -0
- package/dist/assets/volter-sdk-kit-project-adapter-BuzQScGI.js +1 -0
- package/dist/assets/volter-sdk-kit-project-asset-refresh-Bap7mqgb.js +1 -0
- package/dist/assets/volter-sdk-kit-project-asset-roots-By8xlXHl.js +1 -0
- package/dist/assets/volter-sdk-kit-project-local-state-ChdRwLow.js +1 -0
- package/dist/assets/volter-sdk-kit-project-manager-CLiEnNgu.js +1 -0
- package/dist/assets/volter-sdk-kit-project-module-changes-BDpD6OsB.js +1 -0
- package/dist/assets/volter-sdk-kit-project-module-split-CVNdzh8m.js +1 -0
- package/dist/assets/volter-sdk-kit-project-provenance-cp2gtKVj.js +1 -0
- package/dist/assets/volter-sdk-kit-project-ready-D8V6Kzge.js +1 -0
- package/dist/assets/volter-sdk-kit-project-shape-CClCrXxY.js +1 -0
- package/dist/assets/volter-sdk-kit-project-tools-CtP3bOpD.js +1 -0
- package/dist/assets/volter-sdk-kit-readiness-D0ouQROM.js +1 -0
- package/dist/assets/volter-sdk-kit-renderer-resource-counts-aXKN0rxR.js +1 -0
- package/dist/assets/volter-sdk-kit-reported-play-state-C-Mib-ba.js +1 -0
- package/dist/assets/volter-sdk-kit-resolve-contributed-command-BM8YcJz7.js +1 -0
- package/dist/assets/volter-sdk-kit-resolve-relative-specifier-CSTX2j7-.js +1 -0
- package/dist/assets/volter-sdk-kit-retained-document-states-QrHnyn4V.js +1 -0
- package/dist/assets/volter-sdk-kit-scene-document-plan-C9wHG6B7.js +1 -0
- package/dist/assets/volter-sdk-kit-scene-live-open-CXb4AskH.js +1 -0
- package/dist/assets/volter-sdk-kit-scoped-game-css-FdsRmDqV.js +1 -0
- package/dist/assets/volter-sdk-kit-served-url-DIf-qLum.js +1 -0
- package/dist/assets/volter-sdk-kit-session-close-COfy5ras.js +1 -0
- package/dist/assets/volter-sdk-kit-session-tombstone-BitY9Sdx.js +1 -0
- package/dist/assets/volter-sdk-kit-settings-settings-provider-BPuTDIxn.js +1 -0
- package/dist/assets/volter-sdk-kit-settings-store-BPOsFHZe.js +1 -0
- package/dist/assets/volter-sdk-kit-shell-store-DwHeZ5nQ.js +1 -0
- package/dist/assets/volter-sdk-kit-shell-store-door-BWHcu98B.js +1 -0
- package/dist/assets/volter-sdk-kit-source-conflict-CkxYCMk1.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-context-CP-upNgr.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-invalidation-CeDdEl0b.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-store-registry-B2jyIREA.js +1 -0
- package/dist/assets/volter-sdk-kit-startup-failure-DWjZgwSJ.js +1 -0
- package/dist/assets/volter-sdk-kit-state-report-deferral-Dzam5Bu-.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-host-files-storage-BxTEyrKN.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-http-storage-T4fMC6Ww.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-index-C2Gf9k45.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-mem-storage-CcdOLba9.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-path-lock-r7SjMxYI.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-paths-BWI0b699.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-DPyefE_s.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-compose-project-stories-Dz_zorT8.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-prefabs-finder-VOD4Fih8.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-BbJ4drXs.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-project-story-regions-CPPt7sAc.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-scope-CIIL7T3O.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-capture-DMWk2KXY.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-declared-medium-Bx-ygbVe.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-discovery-CafUDauh.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-CiCD8tr1.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-grouping-BRGub3eG.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-presentation-Bt3rB_N9.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-registry-bF3ym9Kn.js +1 -0
- package/dist/assets/volter-sdk-kit-story-document-openers-R2-yxXGg.js +1 -0
- package/dist/assets/volter-sdk-kit-story-thumbnails-CI-p0jom.js +1 -0
- package/dist/assets/volter-sdk-kit-surface-keyboard-Bclcg_ZX.js +1 -0
- package/dist/assets/volter-sdk-kit-surface-state-OwSMnQPF.js +1 -0
- package/dist/assets/volter-sdk-kit-system-seam-evidence-mhKxMLF-.js +1 -0
- package/dist/assets/volter-sdk-kit-tab-census-BkucfkR2.js +1 -0
- package/dist/assets/volter-sdk-kit-tab-lifecycle-client-xPlJR_Is.js +1 -0
- package/dist/assets/volter-sdk-kit-theme-library-BmQiddws.js +1 -0
- package/dist/assets/volter-sdk-kit-theme-preference-CY62ohS6.js +1 -0
- package/dist/assets/volter-sdk-kit-three-viewport-presentation-C4zfYkP5.js +1 -0
- package/dist/assets/volter-sdk-kit-tool-contribution-play-D-X4TndA.js +1 -0
- package/dist/assets/volter-sdk-kit-tool-loader-Bppn2i0e.js +1 -0
- package/dist/assets/volter-sdk-kit-transform-mode-request-DVP6KCfG.js +1 -0
- package/dist/assets/volter-sdk-kit-transient-hint-znMlkMOz.js +1 -0
- package/dist/assets/volter-sdk-kit-transport-strip-dGQ-YoNm.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-bA1RQVjN.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-inspect-vbzR9DTw.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-jvrPvSXj.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-_aDOX96f.js +1 -0
- package/dist/assets/volter-sdk-kit-user-local-state-C9PMe7ZC.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-activation-timings-Bl8_neTA.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-editor-controls-aUeFDe8t.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-presentation-IbDRhAjA.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-surface-status-B0m0crzV.js +1 -0
- package/dist/assets/volter-sdk-kit-wait-until-Bby0hAXq.js +1 -0
- package/dist/assets/volter-sdk-kit-worker-call-metrics-JG55IFWY.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-areas-D-wnNrv1.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-aux-commands-iFWD7R5b.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-available-documents-DEOtsr7U.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-core-utilities-Do_ivM3K.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-ids-CekfZZKH.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-registry-CtvIBYpT.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-restore-VAID48D1.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-host-commands-Ddx5Tgyl.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-persistence-gate-CXlifVZM.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-play-utilities-ByGVJzRW.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-presets-CjP5LvcE.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-regions-iau7y1g3.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-static-panels-B6jKhrp4.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-status-registry-g8wytHL5.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-storage-B5hTXq0f.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-style-LV2J3BUW.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-utility-commands-Ci_KJODl.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-utility-registry-BbjESGwy.js +1 -0
- package/dist/assets/volter-sdk-kit-world-adoption-DQ4KT5o5.js +1 -0
- package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-r5rqWOVZ.js +1 -0
- package/dist/assets/volter-sdk-kit-world-document-routing-D-fYy4j5.js +1 -0
- package/dist/assets/volter-sdk-kit-world-pan-state-CMG7tsSx.js +1 -0
- package/dist/assets/volter-sdk-kit-write-pipe-DNEDBnz-.js +1 -0
- package/dist/assets/volter-sdk-layout-arrangements-CHD3ZMFe.js +1 -0
- package/dist/assets/volter-sdk-layouts-CCA7FuOC.js +1 -0
- package/dist/assets/volter-sdk-selection-D0kL_iDi.js +1 -0
- package/dist/assets/volter-sdk-session-command-table-DA_l3-71.js +1 -0
- package/dist/assets/volter-sdk-session-editor-brand-BF7c04d1.js +1 -0
- package/dist/assets/volter-sdk-session-editor-compatibility-DTohfZFv.js +1 -0
- package/dist/assets/volter-sdk-session-editor-control-protocol-BldcSvMF.js +1 -0
- package/dist/assets/volter-sdk-session-entrypoint-selection-readers-C5lBU-ru.js +1 -0
- package/dist/assets/volter-sdk-session-game-css-scope-BU2odzp5.js +1 -0
- package/dist/assets/volter-sdk-session-project-module-url-BXpMu1Rd.js +1 -0
- package/dist/assets/volter-sdk-session-relative-path-guard-QB40XSDf.js +1 -0
- package/dist/assets/volter-sdk-session-tool-contribution-convention-B_nVNyey.js +1 -0
- package/dist/assets/volter-sdk-types-CpvyGiQa.js +1 -0
- package/dist/assets/volter-sdk-views-DJ_MnaUh.js +1 -0
- package/dist/assets/volter-sdk-widgets-design-system-D7xN8pRO.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-appearance-Crp-pBLJ.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-material-MHO-HL-5.js +1 -0
- package/dist/assets/volter-sdk-widgets-icon-set-registry-BV2KyS5k.js +1 -0
- package/dist/assets/volter-sdk-widgets-index-Pv9HbBUF.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-vPIEJ2AQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-0kpmltFh.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-C1igd7oH.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-B2hEex_l.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-cyhMzK5L.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-DcQAkx63.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker--uOgL4qW.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-DTAtC77d.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-khJ7avew.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-eiGFiwHP.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-Cd-F281s.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-C7uJEWC0.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-B5TWzor-.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-DEQKguQB.js +1 -0
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-Bl0RzyJQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-UyDjvCxC.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Fields-nF0yD3V1.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-List-D34mrQDy.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-CLSEwJ2u.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-Bnz6CGdv.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-BGh2nrPU.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-DD17mnjd.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tree-CCzpKURV.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-rAsZA766.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Button-B1Ppeaoa.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-CHAXdol_.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-CnNtxQXT.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-Cimr9Mco.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-CT_S601l.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-B8HUvMqd.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-B4XDeGeD.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Layout-Bi7EShmW.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Menu-CKIw0gyB.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-Cm3QFgJj.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Panel-Bydp9OuQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-CCux7aOb.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Text-CX8Zqrmp.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-9ZuvJNaQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-DQ24NxRN.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-B8ydBBhm.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-banner-tones-DJXfSNS6.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-BzMgToKr.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-RjhVjrNt.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-CaqZYWvq.js +1 -0
- package/dist/assets/volter-sdk-widgets-theme-GZiAnowy.js +1 -0
- package/dist/assets/volter-sdk-widgets-z-index-CvywNZqF.js +1 -0
- package/dist/assets/volter-shared-fontawesome-D0om5i4C.js +1 -0
- package/dist/assets/volter-shared-jsx-dev-runtime-Nf2pZiIO.js +1 -0
- package/dist/assets/volter-shared-jsx-runtime-mOtwwECE.js +1 -0
- package/dist/assets/volter-shared-react-D-xjcqWm.js +1 -0
- package/dist/assets/volter-shared-react-dom-DdRTSMx8.js +1 -0
- package/dist/assets/volter-shared-react-dom-client-WSvYqY8Z.js +1 -0
- package/dist/assets/worker-CxcSX7C7.js +8 -0
- package/dist/volter-shared-react.json +6 -6
- package/dist/volter-shared-sdk.json +462 -461
- package/dist-node/cli.js +16100 -2176
- package/dist-node/create.js +42 -36
- package/package.json +11 -9
- package/starter/AGENTS.md +30 -7
- package/starter/add-play/game-state.ts +25 -0
- package/starter/add-play/game.tsx +16 -0
- package/starter/add-play/model.play.ts +77 -0
- package/starter/package.json +5 -0
- package/starter/playable/src/models/canyon.blend +0 -0
- package/starter/playable/src/models/canyon.play.ts +107 -0
- package/starter/playable/src/models/canyon.py +55 -0
- package/starter/playable/src/models/circuit.py +131 -0
- package/starter/playable/src/models/complete_environment.py +35 -0
- package/starter/playable/src/models/course.ts +12 -0
- package/starter/playable/src/models/detail.py +44 -0
- package/starter/playable/src/models/driver_details.py +25 -0
- package/starter/playable/src/models/environment.py +87 -0
- package/starter/playable/src/models/finish_scene.py +13 -0
- package/starter/playable/src/models/kart_finish.py +31 -0
- package/starter/playable/src/models/polish.py +75 -0
- package/starter/playable/src/models/race-state.ts +15 -0
- package/starter/playable/src/models/refine.py +69 -0
- package/starter/playable/src/models/scene_helpers.py +54 -0
- package/starter/playable/src/models/scenery_ao.py +114 -0
- package/starter/playable/src/textures/asphalt.png +0 -0
- package/starter/playable/src/textures/generate.py +16 -0
- package/starter/playable/src/textures/sandstone.png +0 -0
- package/starter/playable/src/ui/game.stories.tsx +16 -0
- package/starter/playable/src/ui/game.tsx +6 -0
- package/starter/playable/src/ui/race-hud.tsx +29 -0
- package/starter/playable/src/ui/race-widgets.tsx +29 -0
- package/dist/assets/EntityModelDocument-SFx7GJi9.js +0 -1
- package/dist/assets/EnvironmentAssetDocument-CpQnoQK7.js +0 -1
- package/dist/assets/InspectorObjectPreview-DhOKGE_h.js +0 -1
- package/dist/assets/LiveModuleDocument-eahaoeUi.js +0 -2
- package/dist/assets/LutAssetDocument-CTFpkbXP.js +0 -1
- package/dist/assets/ModelAssetDocument-qpaA8PMi.js +0 -1
- package/dist/assets/NonThreeAuthoringBootstrap-Cxat6HDi.js +0 -1
- package/dist/assets/Object3DDocumentToolbar-DAGo1TZr.js +0 -1
- package/dist/assets/Object3DPreview-f5xt7xae.js +0 -2
- package/dist/assets/QuarksAssetDocument-B4GuWtSi.js +0 -2
- package/dist/assets/ShaderAssetDocument-D6UrvTPz.js +0 -1
- package/dist/assets/StageHost-CCbIVhfB.js +0 -1179
- package/dist/assets/ToolObject3DPreview-nevU8Vmi.js +0 -1
- package/dist/assets/ViewportShadingMenu-rbW6zaze.js +0 -1
- package/dist/assets/animation-mixers.service-qLmPXMph.js +0 -1
- package/dist/assets/animation-timeline.utility-Cepgwl9G.js +0 -1
- package/dist/assets/asset-preview-C3dOTcRY.js +0 -4
- package/dist/assets/blender-emscripten-engine-DnJ85_-l.js +0 -2
- package/dist/assets/blender-node-editor.document-BjpzVLc9.js +0 -1
- package/dist/assets/blender-properties-model-BNV7uq3w.js +0 -1
- package/dist/assets/blender-properties-tab-BoiBE9VB.js +0 -3
- package/dist/assets/blender-runtime-host-DKW0D0Bb.js +0 -7221
- package/dist/assets/blender-runtime.document-xKuVNUX7.js +0 -13
- package/dist/assets/blender-screenshot.menu-c6UvFn7v.js +0 -1
- package/dist/assets/blender-timeline.document-_vgbH_K5.js +0 -1
- package/dist/assets/blender-uv-editor.document-CjOx4LD3.js +0 -1
- package/dist/assets/blender-version.status-GBqitUon.js +0 -1
- package/dist/assets/blender-wali-engine-x-OfFUGX.js +0 -2
- package/dist/assets/blender.command-CYOL3BTf.js +0 -1
- package/dist/assets/blender.status-BYUrfsCR.js +0 -1
- package/dist/assets/model-inspection-DGW_rNdi.js +0 -1
- package/dist/assets/models.finder-C2OdvWDn.js +0 -1
- package/dist/assets/object3d-document-session-registry-BkSfsQD9.js +0 -2
- package/dist/assets/play-mode-Bfa-EEKv.js +0 -1
- package/dist/assets/product-4XoIi8-H.js +0 -14
- package/dist/assets/properties-bone-constraints.inspector-De28M-3w.js +0 -1
- package/dist/assets/properties-bone.inspector-Dwl_8RHa.js +0 -1
- package/dist/assets/properties-collection.inspector-zgL35H1s.js +0 -1
- package/dist/assets/properties-constraints.inspector-C4HmYG4b.js +0 -1
- package/dist/assets/properties-data.inspector-C84mWYEx.js +0 -1
- package/dist/assets/properties-material.inspector-EXqO4JLk.js +0 -1
- package/dist/assets/properties-modifiers.inspector-B5-5UoW_.js +0 -1
- package/dist/assets/properties-object.inspector-CacLETan.js +0 -1
- package/dist/assets/properties-output.inspector-DpGmXWef.js +0 -1
- package/dist/assets/properties-particles.inspector-XTVoWTZq.js +0 -1
- package/dist/assets/properties-physics.inspector-DlhF0h-n.js +0 -1
- package/dist/assets/properties-render.inspector-Dpnfz8vA.js +0 -1
- package/dist/assets/properties-scene.inspector-DqOfknkg.js +0 -1
- package/dist/assets/properties-texture.inspector-WD0VfQaG.js +0 -1
- package/dist/assets/properties-view-layer.inspector-DWFckdDj.js +0 -1
- package/dist/assets/properties-world.inspector-DcqJkcHc.js +0 -1
- package/dist/assets/react-18-AEAPuaAj.js +0 -1
- package/dist/assets/session-rpZf0raD.js +0 -5972
- package/dist/assets/stage-keyboard-ChQ8dJ_y.js +0 -1
- package/dist/assets/stage-overlay-set-PfEXKWA6.js +0 -1
- package/dist/assets/stage-presence-markers-Dnxnhx_2.js +0 -1
- package/dist/assets/stage-transform-tools-mFUKm77V.js +0 -1
- package/dist/assets/standard-viewport-dressing-DChZYVlW.js +0 -24
- package/dist/assets/three-integration.service-C6HNczqS.js +0 -2
- package/dist/assets/volter-sdk-CjkJnQ6d.js +0 -2363
- package/dist/assets/volter-sdk-account-DZEQFuaU.js +0 -1
- package/dist/assets/volter-sdk-client-D6tlzH-t.js +0 -1
- package/dist/assets/volter-sdk-contributions-Cl4ThyFT.js +0 -1
- package/dist/assets/volter-sdk-css-numeric-style-BSayA78S.js +0 -1
- package/dist/assets/volter-sdk-document-probe-rU9NBzUS.js +0 -1
- package/dist/assets/volter-sdk-editor-view-DfxbbN7q.js +0 -1
- package/dist/assets/volter-sdk-host-Dy6XofbJ.js +0 -1
- package/dist/assets/volter-sdk-http-transport.browser-Co0YCwat.js +0 -1
- package/dist/assets/volter-sdk-index-B2ws1and.js +0 -1
- package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-CBEHQx0y.js +0 -1
- package/dist/assets/volter-sdk-kit-account-client-CLa-z4XH.js +0 -1
- package/dist/assets/volter-sdk-kit-action-registry-ifQNLVPb.js +0 -1
- package/dist/assets/volter-sdk-kit-active-product-v7CkKfFz.js +0 -1
- package/dist/assets/volter-sdk-kit-active-project-Di0hQPIg.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-editor-config-fdw01apb.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-observation-CW92skZV.js +0 -1
- package/dist/assets/volter-sdk-kit-animation-animation-clock-B3sM2uit.js +0 -1
- package/dist/assets/volter-sdk-kit-animation-stage-transport-JvYidVYX.js +0 -1
- package/dist/assets/volter-sdk-kit-api-assets-D7VbukcI.js +0 -1
- package/dist/assets/volter-sdk-kit-api-base-DerHHtTE.js +0 -1
- package/dist/assets/volter-sdk-kit-api-build-CeuJY-Zz.js +0 -1
- package/dist/assets/volter-sdk-kit-api-logs-1pMi7TTm.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-identity-CBU8Hed0.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-open-D067PXCw.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-source-Bho3j6pZ.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-state-BKh_xLbJ.js +0 -1
- package/dist/assets/volter-sdk-kit-api-relay-CC-iWi7D.js +0 -1
- package/dist/assets/volter-sdk-kit-api-settings-sot6qLo3.js +0 -1
- package/dist/assets/volter-sdk-kit-api-themes-Cc-af_-d.js +0 -1
- package/dist/assets/volter-sdk-kit-api-worktrees-D1GTPFtv.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-capabilities-CNOHj_kb.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-compare-core-CXAda1bF.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-editor-context-DsUk8Th6.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-events-BL8DRoc8.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-inspector-actions-0o9QNJKn.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-selection-B3xjSJGy.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-SEv2CkwZ.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-thumbnails-Dljbgkxh.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-viewers-CxZRO5JV.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-DqIPpnfC.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-D1KEb0Ey.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-D6HUnLJm.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-By1Yv3wm.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-DisvezHH.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-BwwiLB40.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-FrA-pulC.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-DDI1Kwjv.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-CzPpDfqY.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-DdWpOH6e.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-Cqtyka10.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-BUxJUIx-.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-Dpvl0ufz.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-Clt-ftCc.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-project-content-BO7LgDmE.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-CCoxMBjk.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-active-adapter-Po4bB0Uj.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-active-systems-B1Bx10Aq.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-adapter-key-BlWE7I0N.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-SOwAcp48.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-DnBU8nzt.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-BFAbj3pB.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-DOJYMXPn.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-BoBcdwww.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-consumer-actions-DeU9WESz.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-design-time-layers-ZcfipFHX.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-4mdJO8W-.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-Bymo2_8C.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-BeRaeFRT.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-De7LQ6t6.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-layered-pick-DMVOLo1B.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-CXLwIbEX.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-D_y8WcS6.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-B8wcp7IQ.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-panel-authoring-sbvO6626.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-Cykydx2J.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-provenance-D0b1PE71.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-CSwEgzI6.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-Cl2M3OV0.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-story-board-bTjtW2CO.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-seam-evidence-pkdnkJtV.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-selection-scope-DVgEaPQM.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-BbuK7pxG.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-OFpXQxIF.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-three-root-BkH3AlEt.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-Cr0fa0Hl.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-DTnGce_x.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-world-session-state-D5Aqfbm8.js +0 -1
- package/dist/assets/volter-sdk-kit-availability-tick-h3DHQ7AK.js +0 -1
- package/dist/assets/volter-sdk-kit-bitmap-label-nN7zK7TR.js +0 -1
- package/dist/assets/volter-sdk-kit-boot-routing-mm6XL4_m.js +0 -1
- package/dist/assets/volter-sdk-kit-breakpoint-state-BhIvquyw.js +0 -1
- package/dist/assets/volter-sdk-kit-build-identity-BUHMFgej.js +0 -1
- package/dist/assets/volter-sdk-kit-bytes-codec-j4IdoVn0.js +0 -1
- package/dist/assets/volter-sdk-kit-cancellation-reason-D-nMBP2I.js +0 -1
- package/dist/assets/volter-sdk-kit-canvas-frames-DEW6SW_n.js +0 -1
- package/dist/assets/volter-sdk-kit-capture-camera-pose-lHuE4-F1.js +0 -1
- package/dist/assets/volter-sdk-kit-capture-size-CfI__WD3.js +0 -1
- package/dist/assets/volter-sdk-kit-chrome-registry-DQC9TBMd.js +0 -1
- package/dist/assets/volter-sdk-kit-chrome-slot-registry-BaA2m-hW.js +0 -1
- package/dist/assets/volter-sdk-kit-collaboration-client-BgCs9YmN.js +0 -1
- package/dist/assets/volter-sdk-kit-collaboration-presence-zP8Qm_Wp.js +0 -1
- package/dist/assets/volter-sdk-kit-command-dispatch-DMN1cHQ0.js +0 -1
- package/dist/assets/volter-sdk-kit-command-listener-Bi6V9vZY.js +0 -1
- package/dist/assets/volter-sdk-kit-command-registry-CbwwOUlX.js +0 -1
- package/dist/assets/volter-sdk-kit-component-board-registry-DuKMXXDn.js +0 -1
- package/dist/assets/volter-sdk-kit-component-states-registry-C8fPwGac.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AlignToolbar-DI9H0cLf.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ApplicationMenus-0EFLpJl3.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AssetEditorShell-W9E9Idk3.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-B9C8g1u8.js +0 -1
- package/dist/assets/volter-sdk-kit-components-BoardRulers-TvtGoLvw.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-BbT71ZLs.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-DMlRqvRX.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ChromeSlot-CBMhERxH.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CodeView-DaFrODJ5.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-DAU9Rz8t.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ConsolePanel-DL9PRS8g.js +0 -1
- package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-BQM829E_.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectionProjection-ct5F1-5f.js +0 -1
- package/dist/assets/volter-sdk-kit-components-Inspector-D_LqAGkl.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-BE7YIVKr.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-m9xPIIHr.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-ZlS3c7i5.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorToolSection-B0nuZPLk.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-nkjme0st.js +0 -1
- package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-BWEMMDqF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-MediaProperties-D7iIz70v.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ProjectHeader-BGak497E.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-DC8ly4DP.js +0 -1
- package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-BgFEsPuR.js +0 -1
- package/dist/assets/volter-sdk-kit-components-RootTextEditor-D5kNPJPO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SaveStatus-DUcBxh5_.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-DS5fFxXL.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-LQ6wer_f.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-CsA2zXqR.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ToolHost-CCgNWoYQ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-Toolbar-BcFqLTKO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-TransientHint-BJ8PYeZC.js +0 -1
- package/dist/assets/volter-sdk-kit-components-VersionControlSection-DmfeMks1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-CgfsJe_1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-VolterLogo-Bsb05O0W.js +0 -1
- package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-DHIF6Kg1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-account-documents-CwYhcEZA.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-documents-DyPZbhVR.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-DFyUUrtF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-selection-section-CcmRV0Bv.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-thumbnails-CVmK39Vm.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-C7t9xXsJ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-DyOUPMrf.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-BZVLIpzi.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-MFzv1JKl.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-C1I6t0XF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-TSnI0wjc.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-DisNEKau.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-CT1gLpCM.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-D-ByF1Z9.js +0 -1
- package/dist/assets/volter-sdk-kit-components-board-guides-C3ZEj1WY.js +0 -1
- package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-BQ9gavD1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-DVB2TYkq.js +0 -1
- package/dist/assets/volter-sdk-kit-components-core-utilities-inT-Nle5.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-preview-section-vfZoaY5P.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-revert-label-DRRZSGIK.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-selection-Bv1ikayS.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-BpG3_W7U.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-transform-CP6nVKqd.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-Du0gXiav.js +0 -1
- package/dist/assets/volter-sdk-kit-components-kind-documents-B_HiV65O.js +0 -1
- package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-7rauPX0T.js +0 -1
- package/dist/assets/volter-sdk-kit-components-project-tool-documents-3di65yH2.js +0 -1
- package/dist/assets/volter-sdk-kit-components-scene-documents-Bl1zTaDc.js +0 -1
- package/dist/assets/volter-sdk-kit-components-status-contributions-B8H0B8ft.js +0 -1
- package/dist/assets/volter-sdk-kit-components-tool-documents-C2PpEqP0.js +0 -1
- package/dist/assets/volter-sdk-kit-components-tool-schema-form-72_NOun0.js +0 -1
- package/dist/assets/volter-sdk-kit-components-use-after-paint-DrYvNkkp.js +0 -1
- package/dist/assets/volter-sdk-kit-components-use-project-image-assets-BqKEbF2g.js +0 -1
- package/dist/assets/volter-sdk-kit-components-workspace-history-xnZKFOcO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-world-documents-B_l8OVFP.js +0 -1
- package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-C0aE-brt.js +0 -1
- package/dist/assets/volter-sdk-kit-composite-screenshot-BcGNs7-k.js +0 -1
- package/dist/assets/volter-sdk-kit-content-entry-source-registry-CSDvBeHp.js +0 -1
- package/dist/assets/volter-sdk-kit-contribution-surfaces-CQ2rcWky.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-CaBb6Hfn.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-BZvDlBew.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-CyWzK029.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-session-vitals-BSV6PDul.js +0 -1
- package/dist/assets/volter-sdk-kit-creation-site-registry-fCJv-VnD.js +0 -1
- package/dist/assets/volter-sdk-kit-delegate-harness-registry-0s32Ke4a.js +0 -1
- package/dist/assets/volter-sdk-kit-document-areas-d6o-fnVq.js +0 -1
- package/dist/assets/volter-sdk-kit-document-context-registry-C-rdTIZz.js +0 -1
- package/dist/assets/volter-sdk-kit-document-open-registry-VuPIF1dw.js +0 -1
- package/dist/assets/volter-sdk-kit-document-play-extension-CnbtQG5g.js +0 -1
- package/dist/assets/volter-sdk-kit-document-preview-source-BOuN3JP9.js +0 -1
- package/dist/assets/volter-sdk-kit-document-renderer-session-C4Y-LjCl.js +0 -1
- package/dist/assets/volter-sdk-kit-document-stage-sessions-DFQXt_Kt.js +0 -1
- package/dist/assets/volter-sdk-kit-document-viewports-Caa-nlVQ.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-api-C1nO5qN_.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-chrome-capture-Cyo9MOWB.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-commands-DgSsLdds.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-console-D1PH1xFg.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-current-view-Bset7Nwl.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-document-probe-Czf1syZL.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-git-client-CMFbof3B.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-hotkeys-_jIQrvhL.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-lease-CqLtzZdx.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-lease-view-B38iYVxe.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-mode-DhgTI0qH.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-notifications-Yta6jrTE.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presence-CmU0c8nu.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presentation-activity-Chb0_n3L.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presentation-notice-CJJau7kX.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-runtime-C_0J-89o.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-server-response-AowGGRsX.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-session-attribution-CE3iHsa9.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-session-mode-DxwZ4UOE.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-state-facets-CrumZoYh.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-view-presentation-C-p2mMYG.js +0 -1
- package/dist/assets/volter-sdk-kit-environment-images-bVl6oO0J.js +0 -1
- package/dist/assets/volter-sdk-kit-eyedropper-session-xsFx5slJ.js +0 -1
- package/dist/assets/volter-sdk-kit-files-file-provider-BZr0PG4o.js +0 -1
- package/dist/assets/volter-sdk-kit-files-project-files-DlEfa4r5.js +0 -1
- package/dist/assets/volter-sdk-kit-finders-index-1Yh1UrN5.js +0 -1
- package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-BdkJ-g9C.js +0 -1
- package/dist/assets/volter-sdk-kit-frame-frame-parts-DvbxUeaX.js +0 -1
- package/dist/assets/volter-sdk-kit-framed-document-capture-Doq07qaD.js +0 -1
- package/dist/assets/volter-sdk-kit-game-surface-defaults-Cco9xAIy.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-export-state-Bh35kQUs.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-replay-CJUXUO5Z.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-session-time-xKMm2Bmw.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-sessions-BtyPVYt1.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-component-marks-CMA_1E0Z.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-internals-C2mw6TEb.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-Uq5N3cYQ.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-BuUQH5-1.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-node-rows-DoIy_rr4.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-panel-view-C28YFK-D.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-projection-BlTrqGJP.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-row-media-Bi4TlkKq.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-row-model-B6Umqjy9.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-rows-LJpacUWB.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-walk-CUME5S0j.js +0 -1
- package/dist/assets/volter-sdk-kit-history-editor-session-vyoZV4Se.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-commands-BvP_RqsP.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-delegate-DilFGldE.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-limit-notices-Bl7qNsVW.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-service-CUwc9Oh1.js +0 -1
- package/dist/assets/volter-sdk-kit-history-persistence-coordinator-By_l7An0.js +0 -1
- package/dist/assets/volter-sdk-kit-history-project-file-history-stqJ4Wa9.js +0 -1
- package/dist/assets/volter-sdk-kit-history-project-root-history-backends-Dhihw3lO.js +0 -1
- package/dist/assets/volter-sdk-kit-history-resource-registry-BmWUO5On.js +0 -1
- package/dist/assets/volter-sdk-kit-history-snapshot-store-DpGm1CKT.js +0 -1
- package/dist/assets/volter-sdk-kit-history-source-history-backend-CWkNA5B8.js +0 -1
- package/dist/assets/volter-sdk-kit-hmr-registration-group-DXxPfV1d.js +0 -1
- package/dist/assets/volter-sdk-kit-hmr-stable-react-context-DTKg0yz7.js +0 -1
- package/dist/assets/volter-sdk-kit-hotkeys-B-DB4WDn.js +0 -1
- package/dist/assets/volter-sdk-kit-inference-diagnostics-Bg2RC291.js +0 -1
- package/dist/assets/volter-sdk-kit-initial-project-DcV4d4vU.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-active-subject-Dpg7lLaz.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-active-surface-CtXLz-UE.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-compose-subject-DPCLcleB.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-display-WcRFy6fP.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-document-subject-Dg6DIr4J.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-game-subject-CCU0bOnL.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-model-BHHq-F57.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-node-media-D3HHlQ-1.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-null-subject-CojoXu4j.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-serialize-BXTD5f5F.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-D0tMZbA8.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-presentation-DDTS4NPQ.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-property-grouping-C8gM67Ji.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-section-registry-C0bhf71P.js +0 -1
- package/dist/assets/volter-sdk-kit-instance-source-actions-DxsyQJOt.js +0 -1
- package/dist/assets/volter-sdk-kit-js-heap-COa0ZQO1.js +0 -1
- package/dist/assets/volter-sdk-kit-key-actions-DUdVok9i.js +0 -1
- package/dist/assets/volter-sdk-kit-keymap-presets-CtsgCBMq.js +0 -1
- package/dist/assets/volter-sdk-kit-layout-policy-B1UriNWB.js +0 -1
- package/dist/assets/volter-sdk-kit-light-explorer-model-DDrGjN_l.js +0 -1
- package/dist/assets/volter-sdk-kit-live-canvas-frame-Bx3mSipB.js +0 -1
- package/dist/assets/volter-sdk-kit-live-document-CPBTdxo0.js +0 -1
- package/dist/assets/volter-sdk-kit-live-gesture-lock-B4b9BM5c.js +0 -1
- package/dist/assets/volter-sdk-kit-live-seam-evidence-ByZ2Gf3m.js +0 -1
- package/dist/assets/volter-sdk-kit-live-session-registry-mxT-37yH.js +0 -1
- package/dist/assets/volter-sdk-kit-live-transition-CrRFP373.js +0 -1
- package/dist/assets/volter-sdk-kit-manifest-project-BCBSW7yn.js +0 -1
- package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-ENr7r-oj.js +0 -1
- package/dist/assets/volter-sdk-kit-mount-failure-report-Diw3prSP.js +0 -1
- package/dist/assets/volter-sdk-kit-native-selection-style-D_oHLKGc.js +0 -1
- package/dist/assets/volter-sdk-kit-object3d-document-write-policy-Dq8rnb-h.js +0 -1
- package/dist/assets/volter-sdk-kit-packaged-runtime-2ZtSBw9e.js +0 -1
- package/dist/assets/volter-sdk-kit-performance-profiler-J1GcKurL.js +0 -1
- package/dist/assets/volter-sdk-kit-performance-sources-Dk3RIhPs.js +0 -1
- package/dist/assets/volter-sdk-kit-photograph-notice-CEVpX_yj.js +0 -1
- package/dist/assets/volter-sdk-kit-play-boot-phase-D22MvZjX.js +0 -1
- package/dist/assets/volter-sdk-kit-play-camera-flight-Dh3-SiG2.js +0 -1
- package/dist/assets/volter-sdk-kit-presentation-surface-DtvQ6uwm.js +0 -1
- package/dist/assets/volter-sdk-kit-product-command-DhQ2vGY7.js +0 -1
- package/dist/assets/volter-sdk-kit-project-adapter-lJsp7vSt.js +0 -1
- package/dist/assets/volter-sdk-kit-project-asset-refresh-D94Pa8-n.js +0 -1
- package/dist/assets/volter-sdk-kit-project-asset-roots-DkjE-H4P.js +0 -1
- package/dist/assets/volter-sdk-kit-project-local-state-C3dueXjj.js +0 -1
- package/dist/assets/volter-sdk-kit-project-manager-D8pSoBk5.js +0 -1
- package/dist/assets/volter-sdk-kit-project-module-changes-CmswawEd.js +0 -1
- package/dist/assets/volter-sdk-kit-project-module-split-BWSP4PC6.js +0 -1
- package/dist/assets/volter-sdk-kit-project-provenance-y2LiaenC.js +0 -1
- package/dist/assets/volter-sdk-kit-project-ready-5KOkgAie.js +0 -1
- package/dist/assets/volter-sdk-kit-project-shape-CRi6VMwW.js +0 -1
- package/dist/assets/volter-sdk-kit-project-tools-DefLgVW-.js +0 -1
- package/dist/assets/volter-sdk-kit-readiness-CFiVXonW.js +0 -1
- package/dist/assets/volter-sdk-kit-renderer-resource-counts-yv0wDv9Z.js +0 -1
- package/dist/assets/volter-sdk-kit-reported-play-state-CdBN7lgt.js +0 -1
- package/dist/assets/volter-sdk-kit-resolve-contributed-command-C-UnZAy2.js +0 -1
- package/dist/assets/volter-sdk-kit-resolve-relative-specifier-B0fBf47E.js +0 -1
- package/dist/assets/volter-sdk-kit-retained-document-states-BaHAJmNJ.js +0 -1
- package/dist/assets/volter-sdk-kit-scene-document-plan-ByPu78Ca.js +0 -1
- package/dist/assets/volter-sdk-kit-scene-live-open-WieSHU0m.js +0 -1
- package/dist/assets/volter-sdk-kit-scoped-game-css-Cl-iGkav.js +0 -1
- package/dist/assets/volter-sdk-kit-served-url-CvjRxXVY.js +0 -1
- package/dist/assets/volter-sdk-kit-session-close-Bj5v_SbU.js +0 -1
- package/dist/assets/volter-sdk-kit-session-tombstone-D1LTs2G4.js +0 -1
- package/dist/assets/volter-sdk-kit-settings-settings-provider-CdD8uh79.js +0 -1
- package/dist/assets/volter-sdk-kit-settings-store-CdCWpZpX.js +0 -1
- package/dist/assets/volter-sdk-kit-shell-store-BPMrMgto.js +0 -1
- package/dist/assets/volter-sdk-kit-shell-store-door-D5csR7L7.js +0 -1
- package/dist/assets/volter-sdk-kit-source-conflict-C1LAtXzO.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-context-B5Ashsvr.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-invalidation-DrB2GJkV.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-store-registry-BBmIUDrH.js +0 -1
- package/dist/assets/volter-sdk-kit-startup-failure-B_1Us5LR.js +0 -1
- package/dist/assets/volter-sdk-kit-state-report-deferral-CadDAzqC.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-host-files-storage-DlAZpF8O.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-http-storage-BGzRT9Yh.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-index-BRza5xQo.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-mem-storage--iLg4qqC.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-path-lock-DIiF0WD6.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-paths-RUYTo3ty.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-CIWFkcHG.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-compose-project-stories-DwoDwmJU.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-prefabs-finder-1J_oByWW.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-BWzNS_pC.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-project-story-regions-Cmj0gYSU.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-scope-dbPpXRCQ.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-capture-3Y8Mr8qy.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-declared-medium-D3PDNDCy.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-discovery-lsLHfYGO.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-Bcuc8WAV.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-grouping-iqNIaFLi.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-presentation-CK7iy9Ei.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-registry-BgeJ9s08.js +0 -1
- package/dist/assets/volter-sdk-kit-story-document-openers-cYEL6Hy6.js +0 -1
- package/dist/assets/volter-sdk-kit-story-thumbnails-CM9Z-bvM.js +0 -1
- package/dist/assets/volter-sdk-kit-surface-keyboard-DBn-R4RW.js +0 -1
- package/dist/assets/volter-sdk-kit-surface-state-lyZ-F89S.js +0 -1
- package/dist/assets/volter-sdk-kit-system-seam-evidence-M2PpGJaD.js +0 -1
- package/dist/assets/volter-sdk-kit-tab-census-D-cKQr53.js +0 -1
- package/dist/assets/volter-sdk-kit-tab-lifecycle-client-C9bdy1EQ.js +0 -1
- package/dist/assets/volter-sdk-kit-theme-library-C1SMcZX-.js +0 -1
- package/dist/assets/volter-sdk-kit-theme-preference-D7fq5Aos.js +0 -1
- package/dist/assets/volter-sdk-kit-three-viewport-presentation-C3jDpb-D.js +0 -1
- package/dist/assets/volter-sdk-kit-tool-contribution-play-BOVfgHO-.js +0 -1
- package/dist/assets/volter-sdk-kit-tool-loader-cdxKzGe5.js +0 -1
- package/dist/assets/volter-sdk-kit-transform-mode-request-BPBs33SD.js +0 -1
- package/dist/assets/volter-sdk-kit-transient-hint-DvRRSOfn.js +0 -1
- package/dist/assets/volter-sdk-kit-transport-strip-Dd6GTpZe.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-BPLcvfGC.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-inspect-Ckv_4nvy.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-CiReq_FI.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-DZJqZvWO.js +0 -1
- package/dist/assets/volter-sdk-kit-user-local-state-9E2MdgX4.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-activation-timings-C7D8UOhh.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-editor-controls-D88BRUuu.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-presentation-Zb13u02P.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-surface-status-Ca85AZuU.js +0 -1
- package/dist/assets/volter-sdk-kit-wait-until-pqtZlaLI.js +0 -1
- package/dist/assets/volter-sdk-kit-worker-call-metrics-Cbz-2gPO.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-areas-B_i10_dm.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-aux-commands-DtGEjh20.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-available-documents-C8VSQ_mD.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-core-utilities-BiDneGhJ.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-ids-BWk99i3Z.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-registry-DS1fKB9K.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-restore-ZPSOlafH.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-host-commands-BLPz-3R_.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-persistence-gate-DaFEto7Y.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-play-utilities-DOoHAHVj.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-presets-DOs3QGh-.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-regions-wBvCVXKS.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-static-panels-ByMR68k-.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-status-registry-HAD_cNR4.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-storage-CqQ3PjCZ.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-style-BQcwaxYJ.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-utility-commands-et9TkyCh.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-utility-registry-rYY77c5M.js +0 -1
- package/dist/assets/volter-sdk-kit-world-adoption-Cdr7X1RK.js +0 -1
- package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-CIToIMqL.js +0 -1
- package/dist/assets/volter-sdk-kit-world-document-routing-BZEtZVgX.js +0 -1
- package/dist/assets/volter-sdk-kit-world-pan-state-gNJklP8p.js +0 -1
- package/dist/assets/volter-sdk-kit-write-pipe-BADasoOU.js +0 -1
- package/dist/assets/volter-sdk-layout-arrangements-C2GnUWEf.js +0 -1
- package/dist/assets/volter-sdk-layouts-ai4Mr9iJ.js +0 -1
- package/dist/assets/volter-sdk-selection--L_yVThI.js +0 -1
- package/dist/assets/volter-sdk-session-command-table-HzFjzv-r.js +0 -1
- package/dist/assets/volter-sdk-session-editor-brand-DZQ6PWq1.js +0 -1
- package/dist/assets/volter-sdk-session-editor-compatibility-Dqc8l3ef.js +0 -1
- package/dist/assets/volter-sdk-session-editor-control-protocol-C9Ru_wUN.js +0 -1
- package/dist/assets/volter-sdk-session-entrypoint-selection-readers-zxVRreaL.js +0 -1
- package/dist/assets/volter-sdk-session-game-css-scope-Dqlihty_.js +0 -1
- package/dist/assets/volter-sdk-session-project-module-url-D83kzz0q.js +0 -1
- package/dist/assets/volter-sdk-session-relative-path-guard-CuR0WI9k.js +0 -1
- package/dist/assets/volter-sdk-session-tool-contribution-convention-BCFbkxzk.js +0 -1
- package/dist/assets/volter-sdk-types-CEnscS2I.js +0 -1
- package/dist/assets/volter-sdk-views-C5SjARB1.js +0 -1
- package/dist/assets/volter-sdk-widgets-design-system-CvoouaNJ.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-appearance-C7o2ovx9.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-material-DexUBcgV.js +0 -1
- package/dist/assets/volter-sdk-widgets-icon-set-registry-DlFlaNAF.js +0 -1
- package/dist/assets/volter-sdk-widgets-index-yq00_bNp.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-BTgcU6jh.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-C2o3TwgU.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-FDtHP3jG.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-BuPI_wXu.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-DgzQ9479.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-DAvp2mOL.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-D0qkPeCp.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-CCsSB7GO.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-HX8HYQyz.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-W6DD40ZY.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-Da1Qassw.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-CubhrOnj.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-BfEw1ffU.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-BHXdKcVo.js +0 -1
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-BN0E0Doa.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-BRrjlh-m.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Fields-DZH1odj7.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-List-C6d9TZjZ.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-Drk0tBrv.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-DDRN7QIn.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-EjlJmcJW.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-CFvWB8mN.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tree-BuqeZDz5.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-CTTEOeVU.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Button-C_0ZSSpT.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-CDSl_uTD.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-DkmxJEkt.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-BBWNM0Qo.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-BWxUJrgm.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-DWhR7NPO.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-DT-JU62m.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Layout-DdGxhqhS.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Menu-DZZRIImg.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-BhCoXeub.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Panel-CBt-GWg4.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-zNqJ43pZ.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Text-D5kMrfFl.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-C3qNx2NP.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-BZa_2pgU.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-DHMZkNZm.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-banner-tones-B0Vu5nrN.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-gPoKdjpr.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-CzOo1YYK.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-L08FUXCP.js +0 -1
- package/dist/assets/volter-sdk-widgets-theme-3FhMTQQW.js +0 -1
- package/dist/assets/volter-sdk-widgets-z-index-BY332K7Z.js +0 -1
- package/dist/assets/volter-shared-fontawesome-DpCdukGW.js +0 -1
- package/dist/assets/volter-shared-jsx-dev-runtime-Dzhuy0jr.js +0 -1
- package/dist/assets/volter-shared-jsx-runtime-CZf-NxSP.js +0 -1
- package/dist/assets/volter-shared-react-B8I974G-.js +0 -1
- package/dist/assets/volter-shared-react-dom-BSKZma7T.js +0 -1
- package/dist/assets/volter-shared-react-dom-client-aO0ss-5e.js +0 -1
- package/dist/assets/worker-C7WcdPfy.js +0 -8
- package/starter/race-state.ts +0 -22
- package/starter/track.blend +0 -0
- package/starter/track.play.ts +0 -343
- package/starter/track.py +0 -324
- package/starter/ui/game.stories.tsx +0 -12
- package/starter/ui/game.tsx +0 -10
- package/starter/ui/race-hud.tsx +0 -29
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/blender-node-editor.document-Cu3LXipe.js","assets/volter-sdk-BKodmrby.js","assets/blender-runtime-host-7Wv16WQe.js","assets/output-pass-j4dAGrPY.js","assets/three.module-CtVjCPcj.js","assets/linear-resolve-Cuka7Ypb.js","assets/blender-timeline.document-BvHkPBTZ.js","assets/play-live-nju-LbTd.js","assets/blender-uv-editor.document-DVsbsG0P.js","assets/blender-runtime.document-CSHvDIaD.js","assets/object3d-document-session-registry-Nly7qqyW.js","assets/blender-properties-model-BrD2rboW.js","assets/blender-screenshot.menu-CELFKP08.js","assets/blender-version.status-D_YQqOVz.js","assets/blender.command-M9NTZ04b.js","assets/blender.status-H7PL8qIV.js","assets/model.layout-BpZE1W9V.js","assets/regions-DWeEBnE2.js","assets/models.finder-C37d1CqG.js","assets/properties-bone-constraints.inspector-CICws11L.js","assets/blender-properties-tab-CkbWamuD.js","assets/properties-constraints.inspector-CgLm__aq.js","assets/properties-bone.inspector-BTh8HMja.js","assets/properties-collection.inspector-CdxnUdEY.js","assets/properties-data.inspector-CPGohY4g.js","assets/properties-material.inspector-BBmS0pWg.js","assets/properties-modifiers.inspector-DmwrZuck.js","assets/properties-object.inspector-CcLxRnp2.js","assets/properties-output.inspector-B21rsdeE.js","assets/properties-particles.inspector-3oYMCgFh.js","assets/properties-physics.inspector-CXHZdBQv.js","assets/properties-render.inspector-BgQVOySW.js","assets/properties-scene.inspector-BvJsraNi.js","assets/properties-texture.inspector-DPHw4ryw.js","assets/properties-view-layer.inspector-MBifnnqO.js","assets/properties-world.inspector-DOOIqcDX.js","assets/sculpt.layout-D-K5cLw6.js","assets/shading.layout-CZZHKBer.js","assets/uv-editing.layout-A8RA-cbM.js","assets/three-integration.service-BRF8px1l.js","assets/asset-preview-BEzZu4j-.js","assets/animation-mixers.service-fNXcr-Vc.js","assets/live-mixers-B-bwLZ7c.js","assets/animation-timeline.utility-Dzab5JgT.js","assets/NonThreeAuthoringBootstrap-Bbtz8I0R.js","assets/volter-sdk-kit-live-session-registry-DLpuZ5fm.js","assets/volter-sdk-kit-stories-story-capture-DMWk2KXY.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{g as M,h as Ua,r as Ka,k as Ga,l as Ya,m as qa,j as o,G as Ja,n as a,F as Yn,T as ot,B as te,o as Xa,t as Q,C as Za,D as Qa,p as ei,q as ti,s as ni,u as ri,v as at,w as oi,x as bs,y as hr,z as si,A as $t,E as ai,H as ii,I as ci,J as ws,K as yn,L as qn,M as xs,N as li,O as $e,P as Ss,Q as di,S as ui,U as pi,V as Ce,W as fi,X as hi,Y as mi,Z as vi,$ as yi,a0 as gi,a1 as bi,a2 as Es,a3 as wi,a4 as St,a5 as $r,a6 as kn,a7 as xi,a8 as Mr,a9 as Si,aa as Ei,ab as ji,ac as ki,ad as Ri,ae as Ci,af as Pi,ag as Ii,ah as Ti,ai as _i,aj as Ai,ak as Di,al as qe,am as Ni,an as ao,ao as js,ap as Li,aq as Rn,ar as Oi,as as ue,at as ks,au as $i,av as Mi,aw as Fr,ax as Mt,ay as $n,az as ft,aA as Rs,aB as Cn,aC as Cs,aD as Fi,aE as an,aF as Vr,aG as en,aH as Vi,aI as io,aJ as Wi,aK as Hi,aL as zi,aM as Bi,aN as Ui,aO as Ye,aP as Ps,aQ as co,aR as Is,aS as lo,aT as Wr,aU as Ki,aV as Gi,aW as Yi,aX as qi,aY as De,aZ as Me,a_ as Ft,a$ as ht,b0 as gn,b1 as Ts,b2 as Hr,b3 as _s,b4 as As,b5 as zr,b6 as Ds,b7 as Ji,b8 as Xi,b9 as uo,ba as Zi,bb as po,bc as Ns,bd as fo,be as ho,bf as Qi,bg as ec,bh as tc,bi as nc,bj as rc,bk as Ls,bl as Os,bm as $s,bn as oc,bo as sc,bp as ac,bq as ic,br as cc,bs as lc,bt as dc,bu as uc,bv as pc,bw as fc,bx as hc,by as mc,bz as vc,bA as yc,bB as gc,bC as Br,bD as bc,bE as wc,bF as xc,bG as mo,bH as Sc,bI as Ec,bJ as jc,bK as kc,bL as Rc,bM as Cc,bN as Ms,bO as G,bP as Ur,bQ as Pc,bR as Ic,bS as Fs,bT as Vs,bU as Tc,bV as _c,bW as Ac,bX as Dc,bY as Nc,bZ as Lc,b_ as vo,b$ as mr,c0 as tn,c1 as Oc,c2 as $c,c3 as Kr,c4 as Mc,c5 as Fc,c6 as Vc,c7 as Jn,c8 as Wc,c9 as yo,ca as Ws,cb as Pn,cc as Lt,cd as Hs,ce as Hc,cf as zc,cg as Gr,ch as cn,ci as Mn,cj as Yr,ck as Fn,cl as zs,cm as Bc,cn as Uc,co as Kc,cp as Gc,cq as Bs,cr as Ge,cs as go,ct as be,cu as Yc,cv as Us,cw as qc,cx as nn,cy as bn,cz as it,cA as bo,cB as Jc,cC as Xc,cD as Zc,cE as Qc,cF as el,cG as tl,cH as nl,cI as rl,cJ as ol,cK as sl,cL as al,cM as il,cN as Ct,cO as wo,cP as qr,cQ as cl,cR as ll,cS as dl,cT as ul,cU as Jr,cV as pl,cW as In,cX as fl,cY as hl,cZ as ml,c_ as Xn,c$ as vl,d0 as yl,d1 as gl,d2 as bl,d3 as wl,d4 as xl,d5 as Ks,d6 as xo,d7 as Sl,d8 as El,d9 as jl,da as kl,db as So,dc as Rl,dd as Cl,de as Pl,df as Il,dg as Tl,dh as _l,di as Eo,dj as Al,dk as Zn,dl as Dl,dm as jo,dn as Nl,dp as Ll,dq as ko,dr as Ro,ds as Gs,dt as Ol,du as $l,dv as Tn,dw as Ml,dx as Fl,dy as Vl,dz as Wl,dA as Hl,dB as zl,dC as Bl,dD as Ul,dE as Kl,dF as Gl,dG as Yl,dH as ql,dI as Jl,dJ as Xl,dK as Zl,dL as vr,dM as Vt,dN as Z,dO as Ql,dP as Ys,dQ as Co,dR as ed,dS as td,dT as nd,dU as rd,dV as qs,dW as je,dX as Rt,dY as od,dZ as Js,d_ as sd,d$ as ad,e0 as id,e1 as cd,e2 as yr,e3 as ld,e4 as dd,e5 as pt,e6 as ud,e7 as rn,e8 as pd,e9 as fd,ea as Vn,eb as Xs,ec as Po,ed as hd,ee as Io,ef as md,eg as gr,eh as vd,ei as yd,ej as gd,ek as bd,el as wd,em as Wt,en as wn,eo as Gt,ep as xd,eq as Sd,er as Ed,es as jd,et as kd,eu as br,ev as Rd,ew as Zt,ex as de,ey as To,ez as Cd,eA as Pd,eB as Id,eC as Td,eD as _o,eE as xt,eF as _d,eG as Ad,eH as Dd,eI as Nd,eJ as Ld,eK as Od,eL as _n,eM as $d,eN as Md,eO as Fd,eP as Vd,eQ as Wd,eR as Hd,eS as zd,eT as Bd,eU as Ud,eV as Kd,eW as Gd,eX as Zs,eY as Qn,eZ as Yd,e_ as Ao,e$ as Do,f0 as qd,f1 as Jd,f2 as Xd,f3 as Zd,f4 as Qd,f5 as eu,f6 as tu,f7 as nu,f8 as ru,f9 as ou,fa as su,fb as au,fc as iu,fd as cu,fe as lu,ff as du,fg as uu,fh as pu,fi as fu,fj as hu,fk as Qs,fl as mu,fm as vu,fn as yu,fo as gu,fp as bu,fq as wu,fr as xu,fs as Su,ft as Eu,fu as ju,fv as ea,fw as ku,fx as Ru,fy as Cu,fz as Pu,fA as Iu,fB as Tu,fC as _u,fD as Au,fE as Du,fF as Nu,fG as Lu,fH as Ou,fI as $u,fJ as Mu,fK as Fu,fL as Vu,fM as Wu,fN as Hu,fO as zu,fP as Bu,fQ as Uu,fR as Ku,fS as Gu,fT as Yu,fU as qu,fV as Ju,fW as Xu,fX as Zu,fY as Qu,fZ as ep,f_ as tp,f$ as np,g0 as rp,g1 as op,g2 as sp,g3 as ap,g4 as ip,g5 as cp,g6 as lp,g7 as un,g8 as le,g9 as dp,ga as up,gb as pp,gc as fp,gd as hp,ge as ta,gf as mp,gg as An,gh as vp,gi as yp,gj as gp,gk as bp,gl as wp,gm as xp,gn as Sp,go as Ep,gp as jp,gq as kp,gr as wr,gs as Rp,gt as Cp,gu as na,gv as Pp,gw as Ip,gx as ra,gy as Xr,gz as Tp,gA as oa,gB as _p,gC as sa,gD as Ap,gE as Dp,gF as Np,gG as Lp,gH as Zr,gI as Wn,gJ as Hn,gK as Op,gL as Qr,gM as $p,gN as Mp,gO as Fp,gP as Vp,gQ as Wp,gR as Hp,gS as aa,gT as zp,gU as Bp,gV as Up,gW as Kp,gX as Gp,gY as Yp,gZ as qp,g_ as Jp,g$ as ia,h0 as Xp,h1 as No,h2 as he,h3 as Zp,h4 as Qp,h5 as ef,h6 as tf,h7 as nf,h8 as rf,h9 as of,ha as sf,hb as af,hc as cf,hd as lf,he as df,hf as uf,hg as pf,hh as ff,hi as hf,hj as mf,hk as vf,hl as yf,hm as gf,hn as bf,ho as Lo,hp as ca,hq as xr,hr as wf,hs as xf,ht as Dn,hu as la,hv as da,hw as Sf,hx as Ef,hy as jf,hz as kf,hA as Rf,hB as Cf,hC as Pf,hD as If,hE as Tf,hF as _f,hG as Af,hH as Df,hI as Nf,hJ as Lf,hK as Of,hL as $f,hM as Mf,hN as Ff,hO as Vf,hP as Wf,hQ as Hf,hR as zf,hS as Bf,hT as Uf,hU as Kf,hV as Gf,hW as Yf,hX as Oo,hY as qf,hZ as Jf}from"./volter-sdk-BKodmrby.js";const Xf=[{entryPath:"@volter/editor-blender/contributions/blender-node-editor.document.tsx",load:()=>M(()=>import("./blender-node-editor.document-Cu3LXipe.js"),__vite__mapDeps([0,1,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/blender-timeline.document.tsx",load:()=>M(()=>import("./blender-timeline.document-BvHkPBTZ.js"),__vite__mapDeps([6,1,2,3,4,5,7]))},{entryPath:"@volter/editor-blender/contributions/blender-uv-editor.document.tsx",load:()=>M(()=>import("./blender-uv-editor.document-DVsbsG0P.js"),__vite__mapDeps([8,1,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/blender-runtime.document.tsx",load:()=>M(()=>import("./blender-runtime.document-CSHvDIaD.js"),__vite__mapDeps([9,1,2,3,4,5,10,11,7]))},{entryPath:"@volter/editor-blender/contributions/blender-screenshot.menu.ts",load:()=>M(()=>import("./blender-screenshot.menu-CELFKP08.js"),__vite__mapDeps([12,1]))},{entryPath:"@volter/editor-blender/contributions/blender-version.status.tsx",load:()=>M(()=>import("./blender-version.status-D_YQqOVz.js"),__vite__mapDeps([13,1]))},{entryPath:"@volter/editor-blender/contributions/blender.command.ts",load:()=>M(()=>import("./blender.command-M9NTZ04b.js"),__vite__mapDeps([14,2,3,4,5,1]))},{entryPath:"@volter/editor-blender/contributions/blender.environment.ts",load:()=>M(()=>import("./blender.environment-CG-pC7sk.js"),[])},{entryPath:"@volter/editor-blender/contributions/blender.keymap.ts",load:()=>M(()=>import("./blender.keymap-BmOBRY7p.js"),[])},{entryPath:"@volter/editor-blender/contributions/blender.status.tsx",load:()=>M(()=>import("./blender.status-H7PL8qIV.js"),__vite__mapDeps([15,1]))},{entryPath:"@volter/editor-blender/contributions/blender.style.ts",load:()=>M(()=>import("./blender.style--aBP5V1k.js"),[])},{entryPath:"@volter/editor-blender/contributions/model.layout.ts",load:()=>M(()=>import("./model.layout-BpZE1W9V.js"),__vite__mapDeps([16,17]))},{entryPath:"@volter/editor-blender/contributions/models.finder.ts",load:()=>M(()=>import("./models.finder-C37d1CqG.js"),__vite__mapDeps([18,1]))},{entryPath:"@volter/editor-blender/contributions/properties-bone-constraints.inspector.tsx",load:()=>M(()=>import("./properties-bone-constraints.inspector-CICws11L.js"),__vite__mapDeps([19,20,1,11,2,3,4,5,21]))},{entryPath:"@volter/editor-blender/contributions/properties-bone.inspector.tsx",load:()=>M(()=>import("./properties-bone.inspector-BTh8HMja.js"),__vite__mapDeps([22,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-collection.inspector.tsx",load:()=>M(()=>import("./properties-collection.inspector-CdxnUdEY.js"),__vite__mapDeps([23,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-constraints.inspector.tsx",load:()=>M(()=>import("./properties-constraints.inspector-CgLm__aq.js"),__vite__mapDeps([21,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-data.inspector.tsx",load:()=>M(()=>import("./properties-data.inspector-CPGohY4g.js"),__vite__mapDeps([24,11,1,2,3,4,5,20]))},{entryPath:"@volter/editor-blender/contributions/properties-material.inspector.tsx",load:()=>M(()=>import("./properties-material.inspector-BBmS0pWg.js"),__vite__mapDeps([25,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-modifiers.inspector.tsx",load:()=>M(()=>import("./properties-modifiers.inspector-DmwrZuck.js"),__vite__mapDeps([26,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-object.inspector.tsx",load:()=>M(()=>import("./properties-object.inspector-CcLxRnp2.js"),__vite__mapDeps([27,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-output.inspector.tsx",load:()=>M(()=>import("./properties-output.inspector-B21rsdeE.js"),__vite__mapDeps([28,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-particles.inspector.tsx",load:()=>M(()=>import("./properties-particles.inspector-3oYMCgFh.js"),__vite__mapDeps([29,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-physics.inspector.tsx",load:()=>M(()=>import("./properties-physics.inspector-CXHZdBQv.js"),__vite__mapDeps([30,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-render.inspector.tsx",load:()=>M(()=>import("./properties-render.inspector-BgQVOySW.js"),__vite__mapDeps([31,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-scene.inspector.tsx",load:()=>M(()=>import("./properties-scene.inspector-BvJsraNi.js"),__vite__mapDeps([32,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-texture.inspector.tsx",load:()=>M(()=>import("./properties-texture.inspector-DPHw4ryw.js"),__vite__mapDeps([33,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-view-layer.inspector.tsx",load:()=>M(()=>import("./properties-view-layer.inspector-MBifnnqO.js"),__vite__mapDeps([34,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/properties-world.inspector.tsx",load:()=>M(()=>import("./properties-world.inspector-DOOIqcDX.js"),__vite__mapDeps([35,20,1,11,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/sculpt.layout.ts",load:()=>M(()=>import("./sculpt.layout-D-K5cLw6.js"),__vite__mapDeps([36,17]))},{entryPath:"@volter/editor-blender/contributions/shading.layout.ts",load:()=>M(()=>import("./shading.layout-CZZHKBer.js"),__vite__mapDeps([37,17]))},{entryPath:"@volter/editor-blender/contributions/uv-editing.layout.ts",load:()=>M(()=>import("./uv-editing.layout-A8RA-cbM.js"),__vite__mapDeps([38,17]))},{entryPath:"@volter/editor-blender/contributions/texture.layout.ts",load:()=>M(()=>import("./texture.layout-DASpHVht.js"),[])}],Zf=[{entryPath:"@volter/editor-threejs/contributions/three-integration.service.ts",load:()=>M(()=>import("./three-integration.service-BRF8px1l.js").then(e=>e.A),__vite__mapDeps([39,1,3,4,40,10]))},{entryPath:"@volter/editor-threejs/contributions/animation-mixers.service.ts",load:()=>M(()=>import("./animation-mixers.service-fNXcr-Vc.js"),__vite__mapDeps([41,1,42]))},{entryPath:"@volter/editor-threejs/contributions/animation-timeline.utility.tsx",load:()=>M(()=>import("./animation-timeline.utility-Dzab5JgT.js"),__vite__mapDeps([43,1]))}];Ua();function ua(e,t){const n=t.instances;return!e||!n?!1:n.describe(e.id)!==null}function Qf(e,t){const n=Ka(e,t),r=n?.storiesFor(t)[0];return!n||!r?null:{story:r,open:()=>n.apply(t,r.id)}}function er(e){return typeof e=="string"?e:JSON.stringify(e)}function eh({adapter:e,nodeId:t}){const n=e.instances?.describe(t)??null,[r,s]=a.useState(new Set),[i,c]=a.useState(null),[u,f]=a.useState(!1);if(a.useEffect(()=>{s(new Set),c(null)},[t]),!n)return null;const p=Qf(e,t),v=(R,w)=>{s(P=>{const g=new Set(P);return w?g.add(R):g.delete(R),g})},k=async()=>{if(!(r.size===0||!e.instances)){f(!0);try{await ri(e,t,[...r]),s(new Set),at(`Reverted ${r.size} prefab override${r.size===1?"":"s"}.`)}finally{f(!1)}}},T=async()=>{if(!(!i||!e.instances)){f(!0);try{const R=await oi(e,t,i.path);at(R.message),R.changed&&c(null)}finally{f(!1)}}};return o.jsxs("div",{style:{display:"grid",gap:10},"data-testid":"prefab-instance-overrides",children:[o.jsx(Yn,{label:"Prefab",children:o.jsx(ot,{children:n.componentName})}),o.jsxs("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[o.jsx(te,{size:"compact",disabled:!e.instances?.openComponent,onClick:()=>Xa(e,t),children:"Open Component"}),o.jsx(te,{size:"compact",disabled:!p,title:p?`Open ${p.story.label}`:"This prefab has no composed story.",onClick:()=>p?.open(),children:"Open Story"})]}),o.jsxs("div",{children:[o.jsxs(ot,{tone:"muted",children:["Overrides (",n.overrides.length,")"]}),n.overrides.length===0?o.jsx("div",{style:{paddingTop:6},children:o.jsx(ot,{tone:"muted",children:"Using component defaults. Change a property above and it will be listed here as an override you can apply or revert."})}):o.jsx("div",{style:{display:"grid",gap:4,paddingTop:6},children:n.overrides.map(R=>o.jsxs("div",{style:{border:`1px solid ${Q.boundary.default}`,borderRadius:5,display:"grid",gap:4,padding:6},children:[o.jsxs("label",{style:{display:"flex",alignItems:"center",gap:6},children:[o.jsx(Za,{checked:r.has(R.path),onChange:w=>v(R.path,w.target.checked)}),o.jsx(ot,{children:R.label}),o.jsx(ot,{tone:"muted",children:er(R.value)})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,paddingLeft:22},children:[o.jsxs(ot,{tone:"muted",children:["default: ",R.defaultText??"component fallback"]}),o.jsx(te,{size:"compact",disabled:!R.canApplyToComponent||u,title:R.applyUnavailableReason,onClick:()=>c(R),children:"Apply…"})]})]},R.path))})]}),n.overrides.length>0?o.jsx(te,{size:"compact",disabled:r.size===0||u,title:r.size===0?"Tick an override above to select it first.":void 0,onClick:()=>void k(),children:"Revert Selected"}):null,i?o.jsxs(Qa,{labelledBy:"apply-prefab-default-title",onDismiss:()=>!u&&c(null),children:[o.jsx(ei,{titleId:"apply-prefab-default-title",title:`Apply “${i.label} = ${er(i.value)}” to ${n.componentName}?`}),o.jsx(ti,{children:o.jsxs("div",{style:{display:"grid",gap:8},children:[o.jsxs(ot,{children:["This changes the default used by ",i.affectedInstanceCount," placed instance",i.affectedInstanceCount===1?"":"s","."]}),o.jsx(Yn,{label:"Current default",children:o.jsx(ot,{tone:"muted",children:i.defaultText??"component fallback"})}),o.jsx(Yn,{label:"New default",children:o.jsx(ot,{children:er(i.value)})})]})}),o.jsxs(ni,{children:[o.jsx(te,{disabled:u,onClick:()=>c(null),children:"Cancel"}),o.jsx(te,{disabled:u,onClick:()=>void T(),children:"Apply"})]})]}):null]})}function th(e,t){if(!e||!ua(e,t))return[];const n=t.instances?.describe(e.id);return n?[{id:"prefab-instance",title:"Prefab Instance",icon:qa,order:Ja+125,body:{kind:"custom",render:()=>o.jsx(eh,{adapter:t,nodeId:e.id}),data:{component:n.componentName,sourcePath:n.sourcePath??null,overrideCount:n.overrides.length,overrides:n.overrides.map(r=>({path:r.path,value:r.value,default:r.defaultText??null,canApplyToComponent:r.canApplyToComponent}))}}}]:[]}const nh=Ya(void 0,"prefab-instance-inspector");nh.ensure(e=>{e(Ga({match:ua,sections:th}))});bs({match:e=>e.surface==="asset-lab",describe:()=>{const e=si();if(!e)return null;const t=hr();return t?.documentId===e.documentId?t.subject:{id:e.documentId,title:e.title,kindLabel:e.type,sections:[]}}});bs({match:()=>{const e=hr();return e!==null&&e.documentId===$t()},describe:()=>hr()?.subject??null});async function rh(e,t){const n=await ws();if(n.status==="unreadable")throw new Error(`${yn} is present but could not be read (${n.reason}). Refusing to overwrite it — fix or delete the file, then try again.`);const r=n.status==="ok"?n.manifest:{version:1,profile:qn.version,generatedAt:new Date().toISOString(),entries:{}},s=e.replace(/^\/+/,""),i=r.entries[s]??{state:"fallback",profileVersion:qn.version,issueCode:"thumbnail.pending-regeneration"},c={...r,profile:qn.version,generatedAt:new Date().toISOString(),entries:{...r.entries,[s]:{...i,framing:t}}},u=`${JSON.stringify(c,null,2)}
|
|
3
|
+
`,f=di();(f?await xs(f,li(),"project-resources").write(yn,u,{label:`${t?"Save":"Reset"} thumbnail framing ${e}`,kind:"project-file",contentType:"application/json"}):await $e.write(yn,u).then(()=>!0))&&Ss()}const oh={openPersistence:e=>ci(e),replaceSource:async(e,t)=>{const n=ai("The Asset Editor");if(!n)throw new Error("This editor tier cannot write project source.");return ii(n,e,t)},saveThumbnailFraming:rh};function sh(){let e=0;const t=async()=>{const r=++e,s=Ce();if(s)try{const i=await pi();if(i.status!=="project"||i.project.path!==s.rootPath)return;const c=i.project.config;if(r!==e||Ce()!==s)return;fi({...s,config:c})}catch(i){r===e&&Ce()===s&&console.error("[project] Could not refresh project declarations:",i)}},n=ui(()=>void t());return()=>{e++,n()}}function ah(){return hi(()=>{mi(),vi(null),yi(),gi(),bi(),Es(),wi(),St()})}async function ih(){typeof performance<"u"&&performance.getEntriesByType("navigation").length>0&&await Promise.race([Mr(),new Promise(t=>setTimeout(t,5e3))]),await kn()}function ch(){ih();const e=$r(()=>void kn()),t=xi(()=>void kn());return()=>{e(),t()}}function lh({children:e}){const t=a.useRef(null);t.current||(t.current=new Si({followsWorkspaceFocus:!0}),Ei(t.current));const n=a.useRef(null);if(!n.current){const c=Ce();n.current=new ji(c?.rootPath??"unknown-project")}t.current.attachHistory(n.current.history),ki(oh);const r=a.useRef(null);r.current||(r.current={fps:0,frameTime:0,drawCalls:0,triangles:0,cameraPosition:{x:0,y:0,z:0},cameraTarget:{x:0,y:0,z:0}});const s=a.useRef(null);s.current||(s.current=Ri()),a.useEffect(()=>Ci(t.current,n.current.historyCommands),[]),a.useEffect(()=>ch(),[]),a.useEffect(()=>Pi(),[]),a.useEffect(()=>Ii(),[]),a.useEffect(()=>sh(),[]),a.useEffect(()=>ah(),[]),a.useEffect(()=>Ti(),[]),a.useEffect(()=>_i({report:Di}),[]);const i=a.useRef(!1);return a.useEffect(()=>{i.current=!0;const c=n.current;return()=>{i.current=!1,queueMicrotask(()=>{i.current||c.dispose()})}},[]),o.jsx(Ai,{runtime:{store:t.current,stats:r.current,initPromise:s.current,session:n.current},children:e})}const $o="agent-presented-view";function dh(){const e=qe();a.useSyncExternalStore(Ni,ao,ao);const t=Li();return a.useEffect(()=>{if(!t){js($o);return}Rn({id:$o,tone:"info",title:"Agent presented this view.",...t.presented.warnings.length>0?{detail:t.presented.warnings.join(" ")}:{},onDismiss:Oi,actions:[{label:"Copy Link",keeps:!0,run:()=>{Promise.resolve().then(()=>navigator.clipboard.writeText(t.presented.url)).catch(()=>{ue.warn("Could not copy the view link to the clipboard.","editor")})}},{label:"Return",primary:!0,run:()=>{ks(e,t.previousView,{origin:"return"}).catch(n=>{ue.error(`Could not return to the previous editor view: ${n instanceof Error?n.message:String(n)}`,"editor")})}}]})},[t,e]),null}function uh(e){a.useEffect(()=>{const t=Mi(),n=()=>$i(e.playState!=="stopped");n();const r=e.subscribe(n);return()=>{r(),t(),Es()}},[e])}function ph({documentId:e,runtime:t=!1,island:n=!1,assetPath:r,transformControls:s,children:i}){a.useSyncExternalStore(Fr,Mt,Mt);const c=a.useSyncExternalStore($n,ft,ft);a.useSyncExternalStore(Rs,Cn,Cn);const u=Cs(e)?.headerWidth??null,f=a.useCallback(v=>Fi(e,v),[e]),p=an(e)?.HeaderControls;return!i&&!p&&!s||!t&&c.includes("header:hidden")?null:o.jsxs("div",{className:n?"volter-dock-document-toolbar volter-chrome-island volter-glass-island":"volter-dock-document-toolbar","data-runtime-toolbar":t||void 0,"data-island-scale":"compact","data-testid":`document-header:${e}`,children:[i?o.jsx("div",{className:"volter-dock-document-toolbar-own",children:i}):null,s,p?o.jsx(a.Suspense,{fallback:null,children:o.jsx(p,{documentId:e,...r&&!r.startsWith("online:")?{assetPath:r}:{}})}):null,u===null?null:o.jsx("div",{ref:f,className:"volter-dock-document-toolbar-area","data-testid":`document-header-area:${e}`,style:{flex:"0 0 auto",width:u,alignSelf:"stretch",display:"flex",alignItems:"center",position:"relative",zIndex:1,background:"var(--volter-surface-chrome)"}})]})}function fh({documentId:e,children:t}){const n=a.useSyncExternalStore($n,ft,ft);return!t||n.includes("shelf:hidden")?null:o.jsx("div",{className:"volter-dock-document-shelf","data-testid":`document-shelf:${e}`,role:"toolbar","aria-orientation":"vertical","aria-label":"Document tools",children:t})}function hh(e){return e==="game"||e==="scene"||e==="world"?"world":"resource"}function pa({viewId:e,descriptor:t,active:n,backdrop:r=!1,chrome:s=!0}){const i=t.Content,c=t.Toolbar,u=t.Shelf,f=hh(t.kind),p=qe();a.useSyncExternalStore(p.subscribe,p.getShellSnapshot??p.getSnapshot),a.useSyncExternalStore(Vr,en,en),a.useSyncExternalStore(Fr,Mt,Mt),a.useSyncExternalStore(Vi,io,io);const v=a.useSyncExternalStore(Wi,()=>Hi(t.id),()=>!1),k=an(t.id),T=n&&!v&&t.kind!=="game"?k?.transformTools?.()??"none":"none",R=k?.TransformTools,w=k?.TransformControls,P=zi(),g=s&&!v&&k!==null&&k!==void 0&&!r,A=g&&P.bar!=="none"&&P.tools!=="shelf",N=a.useSyncExternalStore($n,ft,ft).includes("shelf:hidden"),d=T==="none"||!R?null:o.jsx(a.Suspense,{fallback:null,children:o.jsx(R,{documentId:t.id})});a.useSyncExternalStore(Rs,Cn,Cn);const h=Cs(t.id)?.shelf??null,D=g&&P.bar!=="none",W=!D||P.display==="corner"?null:P.display==="bar-start"?"start":"end",ne=A?P.tools==="bar-start"?"start":"end":null,Y=D&&P.transformControls==="bar"&&T==="gizmo"&&w!==void 0,ke=Y?ne??W??"start":null,re=H=>o.jsxs("div",{className:"volter-stage-bar-group","data-edge":H,children:[W===H?o.jsx("div",{className:"volter-stage-bar-slot","data-stage-bar-slot":"display"}):null,ne===H?d:null,ke===H&&w?o.jsx(a.Suspense,{fallback:null,children:o.jsx(w,{documentId:t.id})}):null]});return o.jsxs("div",{className:"volter-dock-document","data-testid":`workspace-doc:${t.id}`,"data-editor-hotkey-scope":f==="world"?"viewport":"workspace","data-volter-document-family":f,children:[s&&o.jsx(ph,{documentId:t.id,runtime:t.kind==="game",island:r&&f==="world",assetPath:Bi(t.id)?.assetPath,transformControls:T==="gizmo"&&w&&!Y?o.jsx(a.Suspense,{fallback:null,children:o.jsx(w,{documentId:t.id})}):null,children:c?o.jsx(c,{documentId:t.id,active:n}):null}),o.jsxs("div",{className:"volter-dock-document-content","data-workspace-document-id":t.id,"data-workspace-view-id":e,"data-volter-stage-bar":g&&P.bar!=="none"?P.bar:void 0,"data-volter-stage-rail":s&&!v&&!N&&(d&&!A||u)?void 0:"empty",children:[o.jsx(Ui,{surface:`document:${t.id}`,label:`The ${t.title} document`,children:o.jsx(i,{documentId:t.id,...e?{viewId:e}:{},active:n})},t.id),D?o.jsxs("div",{className:"volter-stage-bar","data-form":P.bar,role:"toolbar","aria-label":"Viewport",children:[re("start"),re("end")]}):null,s&&!N&&h&&d&&!A?Ye.createPortal(d,h):null,s&&!v&&o.jsx(fh,{documentId:t.id,children:d&&!A||u?o.jsxs(o.Fragment,{children:[A?null:d,u?o.jsx(u,{documentId:t.id,active:n}):null]}):null})]})]})}const pn=new Map;function mh(e,t){const n=Ft();let r=pn.get(e);(!r||r.project!==n)&&(r={project:n,count:0,created:t},pn.set(e,r)),r.count++;const s=r;return()=>{pn.get(e)!==s||--s.count>0||(pn.delete(e),s.created&&Ft()===s.project&&_s(e))}}function vh({document:e,chrome:t=!0,active:n=!0,onReady:r}){const s=qe(),[i,c]=a.useState(null),[u,f]=a.useState(null),p=JSON.stringify(e),v=a.useRef(r);v.current=r;const k=a.useRef(null);a.useSyncExternalStore(De,Me,Me);const T=a.useSyncExternalStore(Fr,Mt,Mt);a.useEffect(()=>{let w=!1,P;const g=Ft(),A=()=>!w&&Ft()===g,N=JSON.parse(p);return c(null),f(null),(async()=>{if(await Wr(),!A())return;const d=new Set(ht().map(D=>D.descriptor.id)),h=N.kind==="asset"?gn(N.path,N.assetKind??"source",{activate:n}):N.kind==="workspace"?d.has(N.id)?N.id:null:await Ts(N.kind,s,{...N,activate:n});if(A()){if(!h)throw new Error("The requested layout document is unavailable.");P=mh(h,!d.has(h)),c(h)}})().catch(d=>{A()&&f(d instanceof Error?d.message:String(d))}),()=>{w=!0,P?.()}},[s,p]),a.useEffect(()=>{!i||!n||Hr(i)},[i,n]),a.useEffect(()=>{if(!i)return;const w=an(i);if(!(!w||k.current===w)){k.current=w;try{v.current?.({select(P){const g=w.idsNamed?.(P)??[];if(g.length!==1)throw new Error(`Expected one object named "${P}"; found ${g.length}.`);w.selection?.apply(g)},transform(P){w.setTransformMode?.(P)},frame(){w.frame("document")}})}catch(P){f(P instanceof Error?P.message:String(P))}}},[i,T]);const R=i?ht().find(w=>w.descriptor.id===i):void 0;return o.jsx("div",{style:{position:"relative",flex:1,minWidth:0,minHeight:0,height:"100%",overflow:"hidden"},children:u?o.jsx("div",{role:"alert",children:u}):R?o.jsx(pa,{descriptor:R.descriptor,active:n,chrome:t}):o.jsx("div",{role:"status",children:"Opening document…"})})}function yh(){return o.jsxs(Ki,{children:[o.jsx(Gi,{}),o.jsx(Yi,{}),o.jsx(qi,{})]})}function gh(){const e=qe();a.useSyncExternalStore(e.subscribe,e.getShellSnapshot??e.getSnapshot);const t=a.useSyncExternalStore(Ps,co,co),[n,r]=a.useState(!1),s=a.useSyncExternalStore(Is,lo,lo);if(a.useEffect(()=>{let c=!1;return Wr().then(()=>{c||r(!0)}),()=>{c=!0}},[]),!n)return o.jsx("div",{role:"status",children:s??"Loading project layout…"});const i=t.Layout??yh;return o.jsx(i,{playing:e.playState!=="stopped",paused:e.playState==="paused"})}function bh(){return As().filter(e=>e.category==="canvas").map(({descriptor:e})=>({id:`board:${e.id}`,label:`Open ${e.title}`,category:"action",execute:()=>void zr(e.id)}))}function wh(e,t,n){const r=Qi(e,t,n),s=[...ec(),...bh(),...tc()],i=nc(e),c=rc().map(u=>({id:u.id,label:u.label,category:"action",shortcut:u.shortcut?Ls(u.shortcut):void 0,execute:u.execute}));return[...r,...s,...c,...Eh(),...i]}const xh=["view","window","debug","tools","help"],Sh={view:"View",window:"Window",debug:"Debug",tools:"Tools",help:"Help"};function Eh(){return xh.flatMap(e=>Os(e).map(t=>{const n=typeof t.label=="function"?t.label():t.label,r=`${Sh[e]}: ${n}`;return{id:t.id,label:r,category:"action",menu:{id:e,label:n},execute:()=>{if(t.disabled?.({})){at(`${r} is not available right now.`);return}return t.execute({})}}}))}function jh(e){return e.map(t=>`${t.id}\0${t.label}\0${t.menu?.id??""}`).join("")}function kh(){const e=qe(),t=Ds(),n=Ji(),r=a.useSyncExternalStore(Xi,uo,uo),s=a.useSyncExternalStore(e.subscribe,e.getShellSnapshot??e.getSnapshot),i=a.useSyncExternalStore(Zi,po,po),c=a.useSyncExternalStore(Ns,fo,fo),u=a.useMemo(()=>wh(e,t,n),[e,t,n,r,s,i,c]),f=a.useRef(null);return a.useEffect(()=>{const p=jh(u);p!==f.current&&(f.current=p,ho(u.map(v=>({id:v.id,label:v.label,category:v.category,run:v.execute,...v.menu?{menu:v.menu}:{}}))))},[u]),a.useEffect(()=>()=>{f.current=null,ho([])},[]),null}const Rh=a.lazy(async()=>({default:(await M(()=>import("./NonThreeAuthoringBootstrap-Bbtz8I0R.js"),__vite__mapDeps([44,1]))).ProjectAuthoringBootstrap}));function Ch(){const e=qe(),t=$s(),n=Ds();return a.use(oc()),a.useSyncExternalStore(e.subscribe,e.getShellSnapshot??e.getSnapshot),uh(e),a.useEffect(()=>sc(),[]),a.useEffect(()=>ac(),[]),a.useEffect(()=>ic(t),[t]),a.useEffect(()=>cc(),[]),a.useEffect(()=>lc(),[e]),a.useEffect(()=>dc(),[e]),a.useEffect(()=>uc(t),[t]),a.useEffect(()=>pc(e,n),[e,n]),a.useEffect(()=>fc(e),[e]),a.useEffect(()=>hc(()=>window.dispatchEvent(new CustomEvent("editor:assets-changed")),r=>window.dispatchEvent(new CustomEvent("editor:assets-changed",{detail:r}))),[]),o.jsxs(o.Fragment,{children:[o.jsx(a.Suspense,{fallback:null,children:o.jsx(Rh,{store:e})}),o.jsx(gh,{}),o.jsx(dh,{}),o.jsx(kh,{})]})}const Nn="volter.editor.orphaned-tab.v1";function Ph(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null)return null;const n=t;if(typeof n.at!="number"||!Number.isFinite(n.at)||n.reason!=="server-gone")return null;const r=typeof n.project=="string"?n.project:null;return{at:n.at,reason:n.reason,project:r}}function Ih(e){return JSON.stringify(e)}function Th(e,t){const n=Math.max(0,Math.round((t-e.at)/1e3)),r=n<90?`${n}s ago`:n<5400?`${Math.round(n/60)}m ago`:`${Math.round(n/3600)}h ago`,s=e.project?` on ${e.project}`:"";return`A previous editor window at this address lost its server ${r}${s} and was left orphaned. If that window is still open it is a stale snapshot — nothing in it is saved and every click in it hangs on retries. Close it; this window is the live one.`}const _h=720*60*1e3;function Ah(e,t){const n=t-e.at;return n>=0&&n<=_h}function eo(){try{return typeof localStorage>"u"?null:localStorage}catch{return null}}function Dh(e,t=eo()){try{t?.setItem(Nn,Ih(e))}catch{}}function Nh(e=eo()){if(!e)return null;try{const t=Ph(e.getItem(Nn));return e.removeItem(Nn),t}catch{return null}}function Lh(e=eo()){try{e?.removeItem(Nn)}catch{}}function Oh(e){return e?e.split(/[\\/]/).filter(Boolean).at(-1)??null:null}async function $h(){try{const{stopAllLiveSessions:e}=await M(async()=>{const{stopAllLiveSessions:t}=await import("./volter-sdk-kit-live-session-registry-DLpuZ5fm.js");return{stopAllLiveSessions:t}},__vite__mapDeps([45,1]));e()}catch{}}function Mh(){const[e,t]=a.useState({kind:"quiet"}),n=a.useRef(mc(Date.now())),r=a.useRef(null),s=a.useRef(!1);return a.useEffect(()=>{let i=!1,c=null;const u=()=>{c!==null&&(clearInterval(c),c=null)},f=async g=>{r.current=g,kc(g),g==="taken-over"&&u(),g==="server-gone"&&Dh({at:Date.now(),reason:"server-gone",project:n.current.bootIdentity?.project??null}),t(s.current?{kind:"degraded",subject:"stale"}:{kind:"void",reason:g,reloadOffered:!1}),await $h()},p=(g,A,N)=>{switch(Ec(n.current.bootIdentity,g)){case"resume":{r.current=null,jc(),Lh(),n.current=mo(n.current,g,A,N),t({kind:"quiet"});return}case"reload":if(s.current)return;window.location.reload();return;case"offer-reload":t(d=>d.kind==="void"&&!d.reloadOffered?{...d,reloadOffered:!0}:d);return;default:return}},v=async()=>{const g=await wc();if(i)return;if(g.ok&&g.lease==="page"){i=!0,u();return}const A=xc(),N=Date.now();if(r.current!==null){p(g,A,N);return}n.current=mo(n.current,g,A,N);const d=Sc({consecutiveFailures:n.current.consecutiveFailures,unbackedFailures:n.current.unbackedFailures,failureThreshold:Rc,darkForMs:N-n.current.darkSince,minDarkWindowMs:Cc,bootIdentity:n.current.bootIdentity,lastIdentity:n.current.lastIdentity});if(d.status==="void"&&d.reason!==null){await f(d.reason);return}t(d.status==="degraded"?{kind:"degraded",subject:"busy"}:{kind:"quiet"})};let k=!1;const T=()=>{k||i||(k=!0,v().finally(()=>{k=!1}))},R=()=>{i||(r.current===null&&(n.current=bc(n.current,Date.now())),T())},w=()=>{document.visibilityState==="visible"&&R()};document.addEventListener("visibilitychange",w),window.addEventListener("pageshow",R);let P=null;try{const g=vc();g.addEventListener("error",T),g.addEventListener("open",T),P=g}catch{}return c=setInterval(T,yc),()=>{i=!0,u(),document.removeEventListener("visibilitychange",w),window.removeEventListener("pageshow",R),P?.close()}},[]),a.useEffect(()=>{gc(e);const i=Oh(n.current.bootIdentity?.project??null),c=()=>{s.current=!0,t({kind:"degraded",subject:"stale"})};if(e.kind==="quiet"){js(tr);return}if(e.kind==="degraded"){Rn({id:tr,tone:"warning",sticky:!0,...e.subject==="busy"?{title:"Editor server is slow to answer.",detail:"Still connected — this window keeps working, and this clears itself when the server catches up."}:{title:"This window's editor server has stopped.",detail:"You chose to keep reading it — nothing here saves, and it will not reconnect on its own. Reload once the editor is served here again.",actions:[{label:"Reload",primary:!0,run:()=>window.location.reload()}]}});return}Rn({id:tr,tone:"error",sticky:!0,title:"Editor disconnected.",detail:e.reason==="taken-over"?`${i?`${i}'s`:"This project's"} editor is now running in another window. This one has yielded.`:`This window's editor server has stopped — nothing here is saved, and a running game has left its room. Reopen with ${Br(`edit ${i??"<project>"}`)}${i?`, or leave this window open: it reloads by itself when ${i}'s editor is served here again.`:"."}`,onDismiss:()=>{s.current||c()},actions:[...e.reloadOffered?[{label:"Reload",primary:!0,run:()=>window.location.reload()}]:[],{label:"Close window",run:()=>window.close()},{label:"Continue anyway",run:c}]})},[e]),null}const tr="editor-lease";function Fh({error:e,onDismiss:t,onRetry:n,startup:r=!1}){const s=e.recovery&&"verbs"in e.recovery?Ms(e.recovery.verbs):null,[i,c]=a.useState(!1);return a.useEffect(()=>{if(!i)return;const u=window.setTimeout(()=>c(!1),1600);return()=>window.clearTimeout(u)},[i]),o.jsxs("div",{role:"alert",className:"volter-error-card volter-shell-rise",children:[o.jsx("div",{className:"volter-error-card-icon","aria-hidden":"true",children:o.jsx(G,{icon:Ur})}),o.jsxs("div",{className:"volter-error-card-body",children:[r?o.jsx("h1",{className:"volter-error-card-title",children:e.recovery?.title??"Couldn’t open this project"}):e.recovery&&o.jsx("div",{className:"volter-error-card-title",children:e.recovery.title}),e.recovery&&o.jsx("p",{className:"volter-error-card-guidance",children:e.recovery.guidance}),o.jsx("div",{className:"volter-error-card-message","data-testid":r?"project-startup-error-details":void 0,children:e.message}),s&&o.jsxs("div",{children:[r&&o.jsx("div",{className:"volter-error-card-recovery-label",children:"RUN FROM THE PROJECT FOLDER"}),o.jsxs("div",{className:"volter-error-card-command",children:[o.jsx("code",{"data-testid":r?"project-startup-recovery-command":"project-screen-recovery-command",children:s}),o.jsxs(te,{type:"button",variant:"secondary",size:"compact",onClick:()=>{navigator.clipboard?.writeText(s),c(!0)},children:[o.jsx(G,{icon:i?Pc:Ic,"aria-hidden":"true"}),i?"Copied":"Copy"]})]})]}),o.jsxs("div",{className:"volter-error-card-actions",children:[n&&o.jsx(te,{type:"button",variant:"primary",className:"volter-shell-cta","data-testid":"retry-project-detection",onClick:n,children:"Retry"}),t&&o.jsx(te,{type:"button",variant:"ghost",className:"volter-shell-cta","aria-label":"Dismiss error",onClick:t,children:"Dismiss"})]})]})]})}function Sr({error:e,report:t,onRetry:n}){return o.jsx("div",{className:"volter-shell","data-testid":"project-detection-error",children:o.jsxs("div",{className:"volter-shell-container","data-view":"startup-error",children:[o.jsx("header",{className:"volter-shell-header",children:o.jsxs("span",{className:"volter-shell-brand-static",children:[o.jsx("span",{className:"volter-shell-brand-mark","aria-hidden":"true",children:o.jsx(Fs,{size:30})}),o.jsx("span",{className:"volter-shell-wordmark",children:Vs.name})]})}),o.jsx(Fh,{error:e,onRetry:n,startup:!0}),t?.projectPath&&o.jsx("div",{className:"volter-shell-notice","data-testid":"project-startup-serving",children:o.jsxs("span",{children:["This editor server is serving"," ",o.jsx("code",{"data-testid":"project-startup-serving-path",children:t.projectPath})," — the project exists; the editor could not read it. Fix the file it names above and press Retry."]})}),o.jsx("footer",{className:"volter-shell-footer",children:o.jsxs("span",{className:"volter-chip","data-variant":"tag",children:["Editor v",Tc," · Engine v",_c]})})]})})}function Vh({wait:e}={}){return o.jsx("main",{role:"status","aria-live":"polite","aria-label":"Opening project","data-testid":"startup-loading-screen",className:"volter-splash",children:o.jsxs("div",{className:"volter-splash-stack",children:[o.jsx("div",{"aria-hidden":"true",className:"volter-splash-logo",children:o.jsx(Fs,{size:72})}),o.jsx("div",{className:"volter-splash-title",children:Vs.name}),o.jsx("div",{"aria-hidden":"true",className:"volter-splash-progress"}),e?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"volter-splash-status","data-testid":"startup-wait-status",children:`Asking the server which project it serves — ${e.seconds}s`}),o.jsx("div",{className:"volter-splash-note",children:"Still trying. The first boot of a fresh checkout can take a while, so this keeps asking until the server answers."}),e.detail?o.jsxs("div",{className:"volter-splash-note",children:["Last attempt: ",e.detail]}):null]}):o.jsx("div",{className:"volter-splash-status",children:"Opening project…"})]})})}class Wh extends a.Component{state={error:null};static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,n){ue.error(`Editor chrome crashed while the command listener stayed attached: ${t.message}
|
|
4
|
+
${n.componentStack??""}`,"editor"),Kr("editor-surface",{message:`The editor surface crashed: ${t.message}`,guidance:"Dismiss this, then press Retry on the error screen to draw the editor again.",command:null})}componentWillUnmount(){tn("editor-surface")}render(){return this.state.error?o.jsx(Sr,{error:{message:`The editor surface crashed: ${this.state.error.message}`},onRetry:()=>{tn("editor-surface"),this.setState({error:null})}}):this.props.children}}function fn({children:e}){return o.jsxs(o.Fragment,{children:[e,o.jsx(Mh,{})]})}function Hh(e){const t=e instanceof Error?e.message:String(e);return e instanceof Fc?{status:"error",message:t,recovery:e.recovery}:e instanceof Vc?{status:"error",message:t,report:e.report}:{status:"error",message:t}}const zh=8e3;function Bh(e=Oc,t=zh){return new Promise((n,r)=>{const s=window.setTimeout(()=>{r(new Mc(t))},t);e().then(i=>{window.clearTimeout(s),n(i)},i=>{window.clearTimeout(s),r(i)})})}const Mo=3;function Fo(){return`This window has no project open. A session serves one project: open a folder that carries a volter.project.json, or start one from a terminal — ${Br("edit <folder>")}.`}const Vo="editor";function Yt(e){e?Kr(Vo,e):tn(Vo)}function Uh(){const[e,t]=a.useState({status:"detecting",waitingSince:null}),[n,r]=a.useState(0);a.useEffect(()=>Ac(),[]),a.useEffect(()=>Dc(),[]),a.useEffect(()=>Nc(()=>r(p=>p+1)),[]),a.useEffect(()=>{let p=!1,v,k=0;const T=Date.now();t({status:"detecting",waitingSince:null}),Yt(null);const R=()=>{Bh().then(w=>{if(!p)if(w)Yt(null),t({status:"ready",project:w});else{const P=Fo();ue.error(`Startup failed: ${P}`,"editor"),Yt({message:P,guidance:null,command:null}),t({status:"no-project"})}},w=>{if(p)return;k+=1;const P=$c(w,k);if(P.kind==="terminal"){const A=Hh(w),N=A.recovery&&"verbs"in A.recovery?Ms(A.recovery.verbs):null;ue.error(`Startup failed: ${A.message}${N&&!A.message.includes(N)?` Run: ${N}`:""}`,"editor"),Yt({message:A.message,guidance:A.recovery?.guidance??null,command:N}),t(A);return}const g=w instanceof Error?w.message:String(w);k===Mo&&ue.error(`Project detection has failed ${k} times and is still retrying: ${g}`,"editor"),k>=Mo&&Yt({message:`Still reading the project (${Math.round((Date.now()-T)/1e3)}s, ${k} attempts): ${g}`,guidance:null,command:null,transient:!0}),t({status:"detecting",waitingSince:T,lastError:g}),v=window.setTimeout(R,P.delayMs)})};return R(),()=>{p=!0,v!==void 0&&window.clearTimeout(v)}},[n]);const s=e.status==="detecting"?e.waitingSince:null,[i,c]=a.useState(0);a.useEffect(()=>{if(s===null){c(0);return}const p=()=>c(Math.max(0,Math.round((Date.now()-s)/1e3)));p();const v=window.setInterval(p,1e3);return()=>window.clearInterval(v)},[s]),a.useEffect(()=>{e.status!=="detecting"&&Lc(e.status==="ready"?"project":"no-project")},[e.status]);const u=e.status==="error"&&e.recovery?("summary"in e.recovery?e.recovery.summary:void 0)??e.recovery.title:null,f=e.status==="ready"?e.project.config.name:e.status==="error"?`Couldn't open project${u?` — ${u}`:""}`:null;return a.useEffect(()=>{if(document.title=vo(f,Jn()?.displayName),Jn())return;let p=!0;return mr().then(()=>{p&&(document.title=vo(f,Jn()?.displayName))}),()=>{p=!1}},[f]),e.status==="detecting"?o.jsx(fn,{children:o.jsx(Vh,{wait:e.waitingSince===null?void 0:{seconds:i,detail:e.lastError}})}):e.status==="no-project"?o.jsx(fn,{children:o.jsx(Sr,{error:{message:Fo()},onRetry:()=>r(p=>p+1)})}):e.status==="error"?o.jsx(fn,{children:o.jsx(Sr,{error:{message:e.message,...e.recovery?{recovery:e.recovery}:{}},report:e.report,onRetry:()=>r(p=>p+1)})}):o.jsx(fn,{children:o.jsx(lh,{children:o.jsx(Wh,{children:o.jsx(Ch,{})})})})}let dt=null,fa=0;const Er=new Set;function Kh(){return dt}function Wo(){return fa}function Gh(e){return Er.add(e),()=>Er.delete(e)}function Ho(e){if(!(dt===e||dt!==null&&e!==null&&dt.x===e.x&&dt.y===e.y&&dt.width===e.width&&dt.height===e.height)){dt=e,fa+=1;for(const n of Er)n()}}function Yh(e,t,n){const r=Math.min(t.maxWidth,Math.max(t.minSize,e.width-t.margin*2)),s=Math.min(t.maxHeight,Math.max(t.minSize,e.height-t.margin*2)),i=e.x+t.margin,c=e.x+e.width-r-t.margin,u=e.y+t.margin,f=e.y+e.height-s-t.margin,p=e.x+e.width-n.right-r,v=e.y+e.height-n.bottom-s;return{width:r,height:s,left:Math.min(Math.max(p,i),Math.max(c,i)),top:Math.min(Math.max(v,u),Math.max(f,u))}}const ha=260,ma=360,on=16,qh=200,va=220,jr=54,Jh=52,Xh={maxWidth:ha,maxHeight:ma,minSize:qh,margin:on},Zh={right:on,bottom:on},Qh={maxWidth:va,maxHeight:jr,minSize:jr,margin:on};function em(e,t,n){return Yh(e,n?Qh:Xh,t)}function tm(){const e=qe();a.useSyncExternalStore(e.subscribe,e.getShellSnapshot),a.useSyncExternalStore(De,Me,Me),a.useSyncExternalStore(Wc,yo,yo),a.useSyncExternalStore(Gh,Wo,Wo);const t=Kh(),[n,r]=a.useState(!1),{subject:s}=Ws(e),i=a.useCallback(()=>{St();const{adapter:u}=Pn(e);Lt(u,[])||e.select(null)},[e]),c=t?em(t,Zh,n):null;return o.jsx("div",{style:{position:"absolute",...c?{left:c.left,top:c.top,width:c.width,height:c.height}:{right:on,bottom:Jh,width:n?va:ha,height:n?jr:ma},display:"flex",alignItems:"flex-end",zIndex:Hs.sticky,pointerEvents:"none"},children:o.jsx("div",{"data-testid":"compact-inspector-card",style:{display:"flex",width:"100%",...n?{height:"100%"}:{maxHeight:"100%"},borderRadius:n?999:"var(--dv-group-border-radius, 8px)",overflow:n?"hidden":"clip",border:"var(--dv-floating-border, 1px solid var(--volter-boundary-default))",boxShadow:"var(--dv-floating-box-shadow, var(--volter-shadow-lg))",background:"var(--dv-group-view-background-color, var(--volter-bg-1))",pointerEvents:"auto"},children:n?o.jsx(Hc,{subject:s,onExpand:()=>r(!1),onClear:i}):o.jsx(zc,{actions:{minimize:()=>r(!0)},children:o.jsx(Gr,{})})})})}function nm(e,t){for(const n of e.childAdapters())if(e.groupNodeId(n.worldId)===t)return n.worldId;return e.ownerOf(t)}function rm(e,t,n){if(!(e instanceof cn))return!0;const r=nm(e,n);return r===null?!1:t.every(s=>e.ownerOf(s)===r)}const om="This world's structure comes from its own source, which the editor can't rewrite here — reparenting is not wired for it.",sm="That row is part of a component instance's own output, not authored content. Drop onto the instance itself to place relative to it.";function zo(e){return e.hasStructureWritePath?e.targetIsInternal?sm:null:om}const ya="hierarchyExpansion",Ht=new Map;let Bo=!1;function to(){if(Bo||!Yr())return;Bo=!0;const e=Fn(ya)??{};for(const[t,n]of Object.entries(e))Ht.set(t,new Map(Object.entries(n)))}function ga(){const e={};for(const[t,n]of Ht)e[t]=Object.fromEntries(n);Mn(ya,e)}function am(e,t){return to(),Ht.get(e)?.get(t)}function Uo(e,t){to();let n=Ht.get(e);n||(n=new Map,Ht.set(e,n));for(const[r,s]of t)n.set(r,s);ga()}function im(e){to(),Ht.delete(e),ga()}let Ln=null;const kr=new Set;function cm(){return Ln}function lm(e){return kr.add(e),()=>{kr.delete(e)}}function ba(e){if(Ln!==e){Ln=e;for(const t of kr)t()}}function dm(e){Ln===e&&ba(null)}function um(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(!Object.is(e[n],t[n]))return!1;return!0}class nr{#e=null;#t;computeCount=0;get current(){return this.#t}read(t,n){if(this.#e!==null&&um(this.#e,t))return this.#t;const r=n(this.#t);return this.#e=t,this.#t=r,this.computeCount+=1,r}}class pm{#e=new nr;#t=new nr;#o=new nr;#r;#n=Number.NEGATIVE_INFINITY;structural(t,n){const[r,s]=t;if(r===this.#r&&typeof s=="number"&&s<this.#n&&this.#e.current!==void 0)return this.#e.current;const i=this.#e.read(t,n);return r!==this.#r&&(this.#r=r,this.#n=Number.NEGATIVE_INFINITY),typeof s=="number"&&(this.#n=Math.max(this.#n,s)),i}collapsed(t,n){return this.#t.read(t,n)}browse(t,n){return this.#o.read(t,n)}get counts(){return{structural:this.#e.computeCount,collapsed:this.#t.computeCount,browse:this.#o.computeCount}}}function fm(e){const t=new Map,n=new Map;for(const r of e){if(r.more)continue;t.set(r.pathKey,r.node.id);const s=n.get(r.node.id);s?s.push(r.pathKey):n.set(r.node.id,[r.pathKey])}return{nodeIdByPathKey:t,pathKeysByNodeId:n}}function no(e){const t=e.split("."),n=[];for(let r=1;r<t.length;r++)n.push(t.slice(0,r).join("."));return n}function Ko(e,t){const n=new Set;for(const r of t)for(const s of e.pathKeysByNodeId.get(r)??[])for(const i of no(s)){const c=e.nodeIdByPathKey.get(i);c&&n.add(c)}return n}function hm(e,t){const n=new Map;for(const r of t)for(const s of e.pathKeysByNodeId.get(r)??[]){const i=s.split(".");let c=i[0];for(let u=1;u<i.length;u++){const f=Number(i[u]);Number.isFinite(f)&&n.set(c,Math.max(n.get(c)??0,f+1)),c=`${c}.${i[u]}`}}return n}function mm(e){return e.size===0?"":[...e].sort((t,n)=>t[0]<n[0]?-1:t[0]>n[0]?1:0).map(([t,n])=>`${t}=${String(n)}`).join(",")}const rr="application/x-editor-asset",or="application/x-hierarchy-reorder";function sr(e){const n=e?.querySelector(".volter-tree-row")?.getBoundingClientRect().height??0;if(n>0)return Math.round(n);const r=e?Number.parseFloat(getComputedStyle(e).getPropertyValue("--volter-tree-row-height")):Number.NaN;return Number.isFinite(r)&&r>0?r:$l.treeRow}const Jt="var(--volter-tree-indent)";function xn(e){return`calc(${Jt} * ${e})`}const Go=5;function vm(e,t,n){const r=[];for(let s=0;s<e;s++)r.push({column:s,starts:t===s,ends:n<=s});return r}const ym=[],gm=6,bm=8,wm=2400;function xm(e){const t=new Map,n=s=>{const i=s.childIds.flatMap(c=>{const u=e.node(c);return u?.role==="document"&&u.secondaryLabel?u.childIds:[c]});return i.length===s.childIds.length&&i.every((c,u)=>c===s.childIds[u])?null:i},r=s=>{let i=t.get(s.id);return i===void 0&&(i=n(s),t.set(s.id,i)),i===null?s:{...s,childIds:i}};return{...e,roots:()=>{const s=e.roots();return s.length===1&&s[0]?.role==="document"?s[0].childIds.map(i=>e.node(i)).filter(i=>i!==null).map(r):s.map(r)},node:s=>{const i=e.node(s);return i?r(i):null}}}const Sm=300,Em=new Map,jm={folder:Jr,document:ul,story:dl,component:ll,instance:cl,boundary:Ur};function km(e){return e.role==="root"?bn(e.kind,rd):e.role==="entity"||e.role==="element"?bn(e.kind):(e.role?jm[e.role]:void 0)??bn(e.kind)}const wa=new Set(["folder","root","document","story","boundary"]);function Rm(e,t,n){let r=e,s=0;for(;r&&s++<1e3;){if(t.includes(r))return!0;r=n.hierarchy.node(r)?.parentId??null}return!1}function Cm(e,t){return t===null?e.hierarchy.roots().map(n=>n.id):e.hierarchy.node(t)?.childIds??[]}function ro(e,t){if(!(e instanceof cn))return null;for(const n of e.childAdapters())if(e.groupNodeId(n.worldId)===t){const r=e.inspector?.get(t,"zOrder");return{zOrder:typeof r=="number"?r:n.zOrder,worldId:n.worldId,role:n.role,kind:n.kind,provenance:n.adapter.provenance??null}}return null}function Sn(e,t){return ro(e,t)!==null}function oo(e,t){return e instanceof cn&&e.isOrganizationNode(t)}function xa(e,t){if(!(e instanceof cn))return e;const n=e.ownerOf(t);return e.childAdapters().find(r=>r.worldId===n)?.adapter??e}function Yo(e,t){return t===void 0?e.structure!==void 0:xa(e,t).structure!==void 0}function Pm(e,t,n){return Sn(e,t)||oo(e,t)||n!==void 0&&wa.has(n)}function Im(e,t){const n=new Map,r=[],s=[],i=new Map;for(const c of e)c.more||i.set(c.node.id,c.node.kind);for(const c of e){if(c.more)continue;const u=c.depth===0?0:r[c.depth-1]??0,f=c.depth===0?null:s[c.depth-1],p=Pm(t,c.node.id,c.node.role),v=u+(p?0:1);r[c.depth]=v,r.length=c.depth+1,s[c.depth]=c.node,s.length=c.depth+1;const k=c.node.childIds.length>0&&c.node.childIds.every(T=>Bs(i.get(T)));n.set(c.node.id,c.node.defaultExpanded??(!k&&(p||v<=1||f?.childIds.length===1)))}return n}function Tm(e,t,n){const r=new Set;for(const s of e)if(!(s.more||!qr({structural:!1,internal:n(s.node.id)}).searchable)&&s.node.label.toLowerCase().includes(t)){r.add(s.pathKey);for(const i of no(s.pathKey))r.add(i)}return r}function _m(e,t){const n=new Map(e);for(const[r,s]of t)n.set(r,Math.max(n.get(r)??0,s));return n}function Am({value:e,onChange:t}){const n=a.useRef(null);return o.jsxs("div",{style:{position:"relative",display:"flex",alignItems:"center",flex:`0 1 var(${Nm}, ${Dm}px)`,minWidth:Lm},children:[o.jsx(G,{icon:ed,"aria-hidden":"true",style:{position:"absolute",left:Om,pointerEvents:"none",color:"var(--volter-text-1)",fontSize:"var(--volter-icon-lg)"}}),o.jsx(nn,{ref:n,type:"text","data-testid":"ingest-search",placeholder:"Search",className:"volter-input",value:e,onChange:r=>t(r.target.value),onKeyDown:r=>{r.key==="Escape"&&(r.stopPropagation(),e!==""?t(""):n.current?.blur())},style:{flex:1,minWidth:0,paddingLeft:`var(${Mm}, ${$m}px)`,paddingRight:Fm}})]})}const Dm=64,Nm="--volter-hierarchy-search-basis",Lm=56,Om=2,$m=21,Mm="--volter-hierarchy-search-text-inset",Fm=2;function Vm({onCollapseAll:e,onResetExpansion:t,onExpandAll:n}){const[r,s]=a.useState(!1),i=a.useRef(null);return o.jsxs("div",{ref:i,style:{position:"relative",flexShrink:0},children:[o.jsx(be,{title:"View","aria-label":"View","aria-haspopup":"menu","aria-expanded":r,"data-testid":"hierarchy-view-menu",onClick:()=>s(c=>!c),variant:"secondary",size:"compact",children:o.jsx(G,{icon:td,"aria-hidden":"true",style:{fontSize:"var(--volter-icon-xs)"}})}),r&&o.jsxs(Vt,{autoFocusFirst:!0,dismissBoundaryRef:i,onDismiss:()=>s(!1),style:{position:"absolute",top:"100%",right:0,marginTop:it[2],minWidth:170},children:[o.jsx(Z,{"data-testid":"hierarchy-collapse-all",onSelect:()=>{e(),s(!1)},children:"Collapse All"}),o.jsx(Z,{"data-testid":"hierarchy-reset-expansion",onSelect:()=>{t(),s(!1)},children:"Reset Openness"}),o.jsx(Z,{"data-testid":"hierarchy-expand-all",onSelect:()=>{n(),s(!1)},children:"Expand All"})]})]})}function Wm({slot:e,search:t,setSearch:n,adapter:r,createTargetId:s,onCollapseAll:i,onResetExpansion:c,onExpandAll:u}){const f=o.jsxs(o.Fragment,{children:[o.jsx(Am,{value:t,onChange:n}),o.jsx(Vm,{onCollapseAll:i,onResetExpansion:c,onExpandAll:u}),o.jsx(zm,{adapter:r,parentId:s})]});return e?Ye.createPortal(o.jsx("div",{"data-testid":"hierarchy-header-controls",style:{display:"flex",alignItems:"center",gap:Ge[1],height:"100%",minWidth:0},children:f}),e):o.jsx(Tn,{label:"Hierarchy controls",compact:!0,style:{gap:Ge[2]},children:f})}function Hm({state:e,adapter:t,store:n,isGroupNode:r,isInternal:s,onRename:i,onClose:c}){const u=a.useRef(null),[f,p]=a.useState({left:e.x,top:e.y});a.useLayoutEffect(()=>{const I=u.current;if(!I)return;const _=I.getBoundingClientRect();p(Ml({top:e.y,left:e.x,width:_.width,height:_.height}))},[e.x,e.y]);const[v,k]=a.useState(!1),T=a.useRef(!1);a.useEffect(()=>{v&&(T.current=!1)},[v]),a.useEffect(()=>{const I=J=>{u.current&&!u.current.contains(J.target)&&c()},_=J=>{J.key==="Escape"&&c()};return document.addEventListener("mousedown",I),document.addEventListener("keydown",_),()=>{document.removeEventListener("mousedown",I),document.removeEventListener("keydown",_)}},[c]);const R=t.hierarchy.node(e.nodeId);if(!R)return null;const w=t.structure?.creatableKinds?.(e.nodeId)??[],g=xa(t,e.nodeId).structure,A=!!g,N=t.inspector?.get(e.nodeId,"name")!==void 0,d=t.inspector?.get(e.nodeId,"locked")!==void 0,h=t.inspector?.get(e.nodeId,"locked")===!0,D=t.inspector?.get(e.nodeId,"visible")!==void 0,W=t.inspector?.get(e.nodeId,"visible")!==!1,ne=t.inspector?.editability?.(e.nodeId,"locked"),Y=t.inspector?.editability?.(e.nodeId,"visible"),ke=d&&(ne?.writable??!0),re=D&&(Y?.writable??!0),H=[...Fl(n).selectedEntityIds],pe=H.includes(e.nodeId)?H:[e.nodeId],oe=Vl(Wl(t,e.nodeId)),fe=g?.copy?"Copy needs source-addressable entities from one world.":oe,E=g?.paste?"Copy or cut a source-addressable entity in this world first.":oe,O=[],Pe=qr({structural:r,internal:s});if(s&&R.parentId!==null&&O.push({label:"Select Parent",testId:"hierarchy-context-menu-select-parent",action:()=>{Lt(t,[R.parentId]),c()}}),!r&&Pe.writable){O.push({label:"Rename",testId:"hierarchy-context-menu-rename",...N?{}:{disabledReason:oe},action:()=>{i(e.nodeId),c()}}),O.push({label:"Cut",testId:"hierarchy-context-menu-cut",...g?.cut&&(t.structure?.canCopy?.(pe)??!0)?{}:{disabledReason:fe},action:()=>{Hl(t,pe),c()}}),O.push({label:"Copy",testId:"hierarchy-context-menu-copy",...g?.copy&&(t.structure?.canCopy?.(pe)??!0)?{}:{disabledReason:fe},action:()=>{zl(t,pe),c()}}),O.push({label:"Paste",testId:"hierarchy-context-menu-paste",...g?.paste&&(t.structure?.canPaste?.(R.parentId)??!0)?{}:{disabledReason:E},action:()=>{Bl(t,R.parentId),c()}}),O.push({label:"Duplicate",testId:"hierarchy-context-menu-duplicate",...A?{}:{disabledReason:oe},action:()=>{H.length>1&&H.includes(e.nodeId)?Ul(n):Kl(t,e.nodeId).ack,c()}}),g?.group&&H.length>1&&H.includes(e.nodeId)&&O.push({label:"Group Selection",testId:"hierarchy-context-menu-group",action:()=>{Gl(t,H).ack,c()}}),g?.ungroup&&g.canUngroup?.(e.nodeId)&&O.push({label:"Ungroup",testId:"hierarchy-context-menu-ungroup",action:()=>{Yl(t,e.nodeId).ack,c()}}),g?.wrap&&O.push({label:"Wrap",testId:"hierarchy-context-menu-wrap",action:()=>{ql(t,e.nodeId),c()}}),g?.unwrap&&O.push({label:"Unwrap",testId:"hierarchy-context-menu-unwrap",action:()=>{Jl(t,e.nodeId),c()}}),R.parentId!==null&&O.push({label:"Select Parent",testId:"hierarchy-context-menu-select-parent",action:()=>{Lt(t,[R.parentId]),c()}}),O.push({label:D&&!W?"Show":"Hide",...re?{}:{disabledReason:Y?.reason??oe},action:()=>{t.inspector.set(e.nodeId,"visible",!W),n.notifyIngestEdit(),c()}}),O.push({label:h?"Unlock":"Lock",...ke?{}:{disabledReason:ne?.reason??oe},action:()=>{t.inspector.set(e.nodeId,"locked",!h),n.notifyIngestEdit(),c()}});for(const I of Xl({nodeId:e.nodeId,store:n}))O.push({label:I.label,...I.color!==void 0?{color:I.color}:{},action:()=>{I.action(),c()}});O.push({label:"Delete",testId:"hierarchy-context-menu-delete",color:Q.semantic.danger,...A?{}:{disabledReason:oe},action:()=>{H.length>1&&H.includes(e.nodeId)?Zl(n):t.structure.remove(e.nodeId),c()}})}return o.jsx(vr,{children:o.jsxs(Vt,{ref:u,"data-testid":"ingest-context-menu",style:{position:"fixed",left:f.left,top:f.top,minWidth:150,maxWidth:260,fontSize:"var(--volter-font-base)"},children:[!r&&Pe.writable&&w.length>0&&o.jsxs("div",{children:[o.jsxs(Z,{"data-testid":"hierarchy-context-menu-create",onSelect:()=>k(I=>!I),style:{justifyContent:"space-between",gap:it[4]},children:[o.jsx("span",{children:"Create"}),o.jsx(Ql,{direction:"right",tone:"dim"})]}),v&&w.map(I=>o.jsx(Z,{"data-testid":`hierarchy-context-menu-create-${I.kind}`,onSelect:()=>{T.current||(T.current=!0,Ys(t,I.kind,e.nodeId).ack,c())},style:{paddingLeft:Ge[12]},children:I.label},I.kind))]}),O.map(I=>I.disabledReason!==void 0?o.jsx(Z,{"data-testid":I.testId,"aria-disabled":"true",title:I.disabledReason,style:{cursor:"not-allowed",color:Q.content.dim,opacity:.7},children:I.label},I.label):o.jsx(Z,{"data-testid":I.testId,onSelect:I.action,style:I.color!==void 0?{color:I.color}:void 0,children:I.label},I.label)),s&&o.jsx("div",{"data-testid":"hierarchy-context-menu-internal-note",style:{padding:`${it[4]}px ${it[6]}px`,color:Q.content.dim,maxWidth:240,lineHeight:Co.normal},children:t.transforms?.editability?.(e.nodeId,"position")?.reason??"This rendered part has no authored source identity."}),!A&&!s&&o.jsxs("div",{style:{padding:`${it[4]}px ${it[6]}px`,color:Q.semantic.warning,maxWidth:240,lineHeight:Co.normal},children:[o.jsx("strong",{children:"Create / Delete / Reparent — not available."})," This game owns its own scene graph, so structural authoring isn't reapplicable. You can edit transform / material / visibility, or capture a subtree into the first-party editable format."]})]})})}function zm({adapter:e,parentId:t}){const[n,r]=a.useState(!1),s=a.useRef(null),i=a.useRef(!1),c=e.structure?.creatableKinds?.(t)??[],u=t?e.hierarchy.node(t)?.label:null;return a.useEffect(()=>{if(!n)return;i.current=!1;const f=v=>{s.current&&!s.current.contains(v.target)&&r(!1)},p=v=>{v.key==="Escape"&&r(!1)};return document.addEventListener("mousedown",f),document.addEventListener("keydown",p),()=>{document.removeEventListener("mousedown",f),document.removeEventListener("keydown",p)}},[n]),c.length===0?null:o.jsxs("div",{ref:s,style:{position:"relative",flexShrink:0},children:[o.jsxs(te,{title:u?`Add to ${u}`:"Add","aria-label":u?`Add to ${u}`:"Add","aria-expanded":n,"data-testid":"hierarchy-add-menu",onClick:()=>r(!n),variant:n?"primary":"secondary",size:"compact",children:[o.jsx(G,{icon:nd,style:{fontSize:"var(--volter-font-sm)"}})," ",o.jsx(G,{icon:Us,style:{fontSize:"var(--volter-font-xs)"}})]}),n&&o.jsx(Vt,{style:{position:"absolute",top:"100%",right:0,marginTop:it[2],minWidth:130,maxHeight:"min(480px, 70vh)",overflowY:"auto"},children:c.map(f=>o.jsx(Z,{"data-testid":`hierarchy-add-${f.kind}`,onSelect:()=>{i.current||(i.current=!0,Ys(e,f.kind,t??void 0).ack,r(!1))},children:f.label},f.kind))})]})}function Bm({row:e,onReveal:t}){const n=e.more.hidden;return o.jsxs(te,{type:"button",variant:"ghost",className:"volter-hierarchy-more","data-testid":"ingest-row-more",onClick:()=>t(e.more.parentPathKey),style:{paddingLeft:xn(e.depth+1)},children:["… ",n," more"]})}function qo(e,t){if(!t)return e;const n=e.toLowerCase(),r=t.toLowerCase(),s=[];let i=0,c=n.indexOf(r,i);if(c<0)return e;let u=0;for(;c>=0;)c>i&&s.push(e.slice(i,c)),s.push(o.jsx("mark",{"data-testid":"ingest-row-search-highlight",style:{background:Q.semantic.warning,color:Q.surface.shell,borderRadius:Q.shape.small},children:e.slice(c,c+r.length)},u++)),i=c+r.length,c=n.indexOf(r,i);return i<e.length&&s.push(e.slice(i)),s}function Sa(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}function Um(e,t){const n=e.node,r=t.node;return e.depth===t.depth&&e.pathKey===t.pathKey&&e.hasChildren===t.hasChildren&&e.hiddenByCollapse===t.hiddenByCollapse&&e.more?.parentPathKey===t.more?.parentPathKey&&e.more?.hidden===t.more?.hidden&&n.id===r.id&&n.label===r.label&&n.role===r.role&&n.secondaryLabel===r.secondaryLabel&&n.kind===r.kind&&n.typeLabel===r.typeLabel&&n.parentId===r.parentId&&Sa(n.childIds,r.childIds)&&n.crossSurfaceId===r.crossSurfaceId&&n.crossSurfaceParentId===r.crossSurfaceParentId&&n.crossSurfaceOrder===r.crossSurfaceOrder&&n.crossSurfaceGroupLabel===r.crossSurfaceGroupLabel}function Km(e,t){return Um(e.row,t.row)&&e.adapter===t.adapter&&e.store===t.store&&e.isSelected===t.isSelected&&e.isSelectionActive===t.isSelectionActive&&e.isEditing===t.isEditing&&e.isCollapsed===t.isCollapsed&&e.dropZone===t.dropZone&&e.isDragged===t.isDragged&&e.rowIndex===t.rowIndex&&e.prevDepth===t.prevDepth&&e.nextDepth===t.nextDepth&&e.isInternal===t.isInternal&&e.searchTerm===t.searchTerm&&e.lockCache===t.lockCache&&e.warningCache===t.warningCache&&e.editabilityVersion===t.editabilityVersion&&e.adapterVersion===t.adapterVersion&&e.threeRootId===t.threeRootId&&e.onToggleOpen===t.onToggleOpen&&e.onStartEditing===t.onStartEditing&&e.onContextMenu===t.onContextMenu&&e.onDragStart===t.onDragStart&&e.onClick===t.onClick&&e.onEnterScope===t.onEnterScope&&e.typeSuffixShown===t.typeSuffixShown&&e.instanceRuleShown===t.instanceRuleShown&&e.restrictionColumns===t.restrictionColumns&&e.excludeColumnShown===t.excludeColumnShown&&Sa(e.remoteSelectionColors,t.remoteSelectionColors)}const Gm=a.memo(function({row:t,adapter:n,store:r,isSelected:s,isSelectionActive:i,isEditing:c,isCollapsed:u,dropZone:f,isDragged:p,rowIndex:v,prevDepth:k,nextDepth:T,isInternal:R,searchTerm:w,lockCache:P,warningCache:g,editabilityVersion:A,adapterVersion:N,onToggleOpen:d,onStartEditing:h,threeRootId:D,onContextMenu:W,onDragStart:ne,onClick:Y,onEnterScope:ke,remoteSelectionColors:re,typeSuffixShown:H,instanceRuleShown:pe,restrictionColumns:oe,excludeColumnShown:fe}){const{node:E,depth:O,hasChildren:Pe}=t,I=ro(n,E.id),_=I!==null,J=oo(n,E.id),U=_||J||E.role!==void 0&&wa.has(E.role),me=qr({structural:U,internal:R}),Je=U?void 0:n.inspector?.get(E.id,"locked"),Xe=U?void 0:n.inspector?.get(E.id,"name"),Ze=!U&&n.inspector?.get(E.id,"visible")!==void 0,Ne=U?void 0:n.inspector?.editability?.(E.id,"locked"),ve=U?void 0:n.inspector?.editability?.(E.id,"visible"),ye=U?void 0:n.inspector?.get(E.id,"renderVisible"),Fe=ye!==void 0,Qe=ye!==!1,ie=U?void 0:n.inspector?.editability?.(E.id,"renderVisible"),ge=Fe&&(ie?.writable??!0),Pt=U?void 0:n.inspector?.get(E.id,"exclude"),ct=Pt!==void 0,we=Pt===!0,mt=U?void 0:n.inspector?.editability?.(E.id,"exclude"),et=ct&&(mt?.writable??!0),Ve=I?zs(I.worldId):!1,xe=I?Bc(I.worldId):!1,Ie=I?Uc(I.worldId):!1,ce=_?!Ve:n.inspector?.get(E.id,"visible")!==!1,tt=Je!==void 0,se=Je===!0,We=tt&&(Ne?.writable??!0),He=Ze&&(ve?.writable??!0),vt=Xe!==void 0,Se=Kc(E),Ee=U?0:n.instances?.describe(E.id)?.overrides.length??0,ze=U?Gc:P.summaryFor(n,A,E.id),Te=U?null:g.badgeFor(n,A,E.id),Be=U?null:In()?.detail(n,E.id,r)??null,Le=u&&Pe?E.childIds.slice(0,gm).map(C=>n.hierarchy.node(C)).filter(C=>C!==null&&Bs(C.kind)):[];return o.jsxs("div",{className:"volter-tree-row","data-entity-name":U?void 0:E.label,"data-testid":"ingest-row","data-ingest-name":E.label,"data-node-role":E.role,"data-depth":O,"data-selected":s?"true":void 0,"data-selection-active":i?"true":void 0,"data-remotely-selected":re.length>0?"true":void 0,"data-dragging":p?"true":void 0,"data-row-alt":v%2===1?"true":void 0,"data-internal":R?"true":void 0,"data-muted":R||we||!U&&!ce?"true":void 0,draggable:me.draggable,onDragStart:C=>ne(C,E.id),onClick:C=>{if(I?.role==="world"&&wo(I.worldId),E.role==="story"){const $=n instanceof cn?n.ownerOf(E.id):null;$&&wo($),n.stories?.apply(E.id,E.id)}Y(C,E.id)},onDoubleClick:()=>{E.role==="story"?Ct("story",r,{storyId:E.id}):E.role==="component"||E.role==="instance"||E.role==="boundary"?ke(E.id):me.renamable&&vt&&h(E.id)},onContextMenu:C=>{C.preventDefault(),W(C,E.id)},style:{position:"relative",paddingLeft:xn(O),paddingRight:Ge[2],gap:Ge[2],cursor:"pointer",outline:f==="child"?`1px dashed ${Q.accent.default}`:"none",whiteSpace:"nowrap",overflow:"hidden",fontSize:"var(--volter-font-base)"},children:[f==="before"&&o.jsx(go,{position:"before",style:{left:xn(O)}}),f==="after"&&o.jsx(go,{position:"after",style:{left:xn(O)}}),vm(O,k,T).map(C=>o.jsx("span",{className:"volter-tree-indent-guide","aria-hidden":"true",style:{left:`calc(${Jt} * ${C.column+.5} - 0.5px)`,top:C.starts?Go:0,bottom:C.ends?Go:0}},C.column)),Pe?o.jsx(be,{type:"button",variant:"ghost",size:"compact","aria-label":u?`Expand ${E.label}`:`Collapse ${E.label}`,"aria-expanded":!u,"data-testid":"ingest-row-caret",onClick:C=>{C.stopPropagation(),d(t,C.altKey)},title:"Expand/collapse (Option/Alt-click applies to the branch)",className:"volter-tree-caret",children:o.jsx(G,{icon:u?Yc:Us,"aria-hidden":"true"})}):o.jsx("span",{"data-testid":"ingest-row-caret","aria-hidden":"true",style:{width:Jt,flexShrink:0}}),re.length>0&&o.jsx("span",{className:"volter-tree-remote-selection",role:"img",title:`Selected by ${re.length} collaborator${re.length===1?"":"s"}`,"aria-label":"Selected by a collaborator",children:re.slice(0,3).map(C=>o.jsx("span",{style:{background:C},"aria-hidden":"true"},C))}),I?.role==="world"&&I.worldId===D&&o.jsx("span",{"data-testid":"world-focus-radio","data-world-focused":"true",title:"Live Three world — shown in the viewport",style:{fontSize:"var(--volter-font-xs)",opacity:.8,flexShrink:0},children:o.jsx(G,{icon:qc,"aria-hidden":"true"})}),o.jsx("span",{className:"volter-tree-type-glyph",title:E.role?`${E.role}: ${E.kind}`:E.kind,style:{width:"var(--volter-icon-md)",fontSize:"var(--volter-icon-sm)",flexShrink:0,textAlign:"center"},children:o.jsx(G,{icon:km(E),"aria-hidden":"true"})}),c?o.jsx(nn,{autoFocus:!0,defaultValue:E.label,onBlur:C=>{n.inspector.set(E.id,"name",C.currentTarget.value),r.notifyIngestEdit(),h("")},onKeyDown:C=>{C.key==="Enter"&&(n.inspector.set(E.id,"name",C.currentTarget.value),r.notifyIngestEdit(),h("")),C.key==="Escape"&&h("")},onClick:C=>C.stopPropagation(),"data-variant":"tree-edit",style:{flex:1,minWidth:0}}):o.jsxs("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:[Se.typeSuffix?o.jsxs("span",{"data-testid":"hierarchy-instance-label",...H?{}:{title:`Component instance of <${Se.typeSuffix}>`},style:{textDecorationLine:pe?s?"var(--volter-tree-active-name-underline)":"underline":"none",textDecorationStyle:"dotted",textDecorationColor:Q.semantic.instance,textUnderlineOffset:"3px",...s?{color:i?Q.content.active:Q.content.selected}:{}},children:[qo(E.label,w),!H&&Ee>0?"*":""]}):o.jsx("span",{"data-testid":"hierarchy-plain-label",style:s?{color:i?Q.content.active:Q.content.selected}:void 0,children:qo(E.label,w)}),Le.map(C=>o.jsx("span",{className:"volter-tree-datablock","data-active":i?"true":void 0,title:`${C.kind}: ${C.label}`,children:o.jsx(G,{icon:bn(C.kind),"aria-hidden":"true"})},C.id)),Se.typeSuffix&&H&&o.jsxs("span",{"data-testid":"hierarchy-instance-type","data-type-label":Se.typeSuffix,title:`Component instance of <${Se.typeSuffix}>`,style:{marginLeft:Ge[2],fontSize:"var(--volter-font-sm)",color:Q.content.dim},children:["·",Se.typeSuffix,Ee>0?"*":""]}),E.secondaryLabel&&o.jsx("span",{style:{marginLeft:Ge[3],fontSize:"var(--volter-font-sm)",opacity:.5},children:E.secondaryLabel}),Be&&o.jsx("span",{"data-testid":"hierarchy-instanced-units",style:{marginLeft:Ge[3],fontSize:"var(--volter-font-sm)",opacity:.5},children:Be}),I?.role==="world"&&I.zOrder!==0&&o.jsxs("span",{title:`Z order: ${I.zOrder}`,style:{marginLeft:Ge[3],fontSize:"var(--volter-font-sm)",opacity:.6},children:["Z ",I.zOrder]}),I?.provenance&&o.jsx("span",{"data-testid":"world-provenance","data-provenance":I.provenance.source,title:I.provenance.detail,style:{marginLeft:Ge[3],fontSize:"var(--volter-font-xs)",padding:`0 ${it[2]}px`,borderRadius:Q.shape.small,border:`1px solid ${Q.boundary.strong}`,color:Q.content.muted,verticalAlign:"middle"},children:I.provenance.label})]}),Te&&o.jsx("span",{"data-testid":"hierarchy-row-warning","data-warning-codes":Te.codes.join(","),"data-warning-count":Te.count,role:"img",title:Te.tooltip,"aria-label":`${E.label}: ${Te.tooltip}`,style:{fontSize:"var(--volter-font-sm)",color:Q.semantic.warning,flexShrink:0},children:o.jsx(G,{icon:Ur,"aria-hidden":"true"})}),ze.locked&&ze.reason&&o.jsx("span",{"data-testid":"hierarchy-transform-lock",role:"img",title:ze.reason,"aria-label":`${E.label}: ${ze.reason}`,style:{fontSize:"var(--volter-font-sm)",color:Q.content.dim,flexShrink:0},children:o.jsx(G,{icon:bo,"aria-hidden":"true"})}),oe==="select+viewport"&&tt&&me.writable&&o.jsx(be,{type:"button",variant:"ghost",size:"compact","data-testid":"ingest-row-lock",disabled:!We,title:We?se?"Unlock":"Lock":Ne?.reason||"Locked","aria-label":se?`Unlock ${E.label}`:`Lock ${E.label}`,"aria-pressed":se,onClick:C=>{C.stopPropagation(),n.inspector.set(E.id,"locked",!se),r.notifyIngestEdit()},children:o.jsx(G,{icon:se?bo:Jc,"aria-hidden":"true"})}),fe&&(ct&&me.writable?o.jsx(be,{type:"button",variant:"ghost",size:"compact","data-testid":"ingest-row-exclude",disabled:!et,title:et?we?"Include in view layer":"Exclude from view layer":mt?.reason||"Exclusion is read-only","aria-label":we?`Include ${E.label} in the view layer`:`Exclude ${E.label} from the view layer`,"aria-checked":!we,role:"checkbox",onClick:C=>{C.stopPropagation(),n.inspector.set(E.id,"exclude",!we),r.notifyIngestEdit()},children:o.jsx(G,{icon:we?Xc:Zc,"aria-hidden":"true"})}):o.jsx("span",{"aria-hidden":"true",style:{width:Jt,flexShrink:0}})),(Ze||_)&&me.writable&&o.jsx(be,{type:"button",variant:"ghost",size:"compact","data-testid":"ingest-row-visibility",disabled:!_&&!He,title:_||He?ce?"Hide":"Show":ve?.reason||"Visibility is read-only","aria-label":ce?`Hide ${E.label}`:`Show ${E.label}`,"aria-pressed":!ce,onClick:C=>{C.stopPropagation(),I?(tl(I.worldId),r.notifyIngestEdit()):(n.inspector.set(E.id,"visible",!ce),r.notifyIngestEdit())},children:o.jsx(G,{icon:ce?Qc:el,"aria-hidden":"true"})}),oe==="viewport+render"&&(Fe&&me.writable?o.jsx(be,{type:"button",variant:"ghost",size:"compact","data-testid":"ingest-row-render-visibility",disabled:!ge,title:ge?Qe?"Disable in renders":"Enable in renders":ie?.reason||"Render visibility is read-only","aria-label":Qe?`Disable ${E.label} in renders`:`Enable ${E.label} in renders`,"aria-pressed":!Qe,onClick:C=>{C.stopPropagation(),n.inspector.set(E.id,"renderVisible",!Qe),r.notifyIngestEdit()},children:o.jsx(G,{icon:Qe?nl:rl,"aria-hidden":"true"})}):o.jsx("span",{"aria-hidden":"true",style:{width:Jt,flexShrink:0}})),I&&o.jsx(be,{type:"button",variant:"ghost",size:"compact","data-testid":"world-interactive-toggle",title:xe?"Interactive (layer forwards pointer events)":"Not interactive (layer is pointer-events:none)","aria-label":`Forward pointer events to ${E.label}`,"aria-pressed":xe,onClick:C=>{C.stopPropagation(),sl(I.worldId),r.notifyIngestEdit()},children:o.jsx(G,{icon:ol,"aria-hidden":"true"})}),I&&o.jsx(be,{type:"button",variant:"ghost",size:"compact","data-testid":"world-picklock-toggle",title:Ie?"Pick-locked (skipped by topmost-layer picking)":"Not pick-locked","aria-label":`Exclude ${E.label} from viewport picking`,"aria-pressed":Ie,onClick:C=>{C.stopPropagation(),il(I.worldId),r.notifyIngestEdit()},children:o.jsx(G,{icon:al,"aria-hidden":"true"})})]})},Km);function Ym({store:e,adapter:t}){a.useSyncExternalStore(e.subscribe,e.getSnapshot);const n=a.useDeferredValue(e.contentVersion);a.useSyncExternalStore(hl,ml),a.useSyncExternalStore($n,ft,ft);const r=Xn().hierarchyTypeSuffix!=="hidden",s=Xn().hierarchyInstanceRule!=="hidden",i=Xn().hierarchyRestrictions??"select+viewport",[c,u]=a.useReducer(m=>m+1,0),f=a.useRef(e.getSnapshot());f.current=e.getSnapshot();const[p,v]=a.useState(vl());a.useEffect(()=>t.subscribe?.(()=>{f.current=e.getSnapshot(),u()}),[t,e]),a.useEffect(()=>yl(v),[]);const k=a.useMemo(()=>{const m=new Map;for(const S of p?.participants??[])if(S.participantId!==gl)for(const j of S.presence.selection){const L=m.get(j)??[];L.includes(S.color)||L.push(S.color),m.set(j,L)}return m},[p]),T=a.useRef(new bl),R=a.useRef(new wl),w=e.hierarchyRowFacetVersion,P=xl(e),[g,A]=a.useState(""),N=a.useSyncExternalStore(lm,cm,()=>null),[d,h]=a.useState(null),[D,W]=a.useState(null),[ne,Y]=a.useState(null),[ke,re]=a.useState(!1),[H,pe]=a.useState(null),oe=a.useRef(null),[fe,E]=a.useState(0),O=a.useRef(null),Pe=a.useSyncExternalStore(Ks,xo,xo).includes("outliner")?"outliner":void 0,I=a.useRef(new Map),_=a.useRef(new Map),J=a.useRef(new pm),U=a.useRef(0),me=a.useRef(null),Je=a.useRef(null),Xe=a.useRef(null),Ze=a.useRef(null),[,Ne]=a.useReducer(m=>m+1,0),ve=g.trim().toLowerCase(),ye=Ce()?.rootPath??"__unscoped__",Fe=t.selection?.get()??[],Qe=Fe.length===1?Fe[0]:null,ie=[...Fe].sort().join("\0"),ge=a.useMemo(()=>new Set(ie===""?[]:ie.split("\0")),[ie]),Pt=Fe.at(-1)??null,ct=Sl(t),we=ct.at(-1)??null,mt=a.useRef("");a.useEffect(()=>{if(ie===""||mt.current===ie)return;const m=O.current,S=m?.querySelector('[data-selected="true"]');if(!m||!S)return;const j=m.getBoundingClientRect(),L=S.getBoundingClientRect();(L.top<j.top||L.bottom>j.bottom)&&S.scrollIntoView({block:"nearest"}),mt.current=ie}),me.current!==ye&&(_.current.clear(),me.current=ye,Je.current=null);const et=J.current,Ve=[t,n,c],xe=et.structural(Ve,m=>{const S=El(t,In()?.marks(t.hierarchy)??Ol),j=jl(S),L=xm(j.hierarchy),X=In()?.structureLog(e)??null,V=X?.epoch()??0,q=m?n-m.contentVersion:0,K=m?V-m.objectMapEpoch:0,z=m?.adapter===t&&n===e.contentVersion&&q>0&&q===K?X?.parentChangesSince(m.objectMapEpoch)??null:null,ae=(m&&z?kl(L,m.structuralRows,z.changedParentIds):null)??So(L,new Set),l=Rl(Cl(Im(ae,t),ae,y=>S.isComponentRoot(y)),j);return{adapter:t,contentVersion:n,objectMapEpoch:V,marked:S,internals:j,hierarchyView:L,structuralRows:ae,defaultExpansion:l,index:fm(ae)}}),{marked:Ie,internals:ce,hierarchyView:tt,structuralRows:se,defaultExpansion:We}=xe,He=m=>_.current.get(m)??am(ye,m)??We.get(m)??!0,vt=Je.current;if(vt?.adapter!==t||vt.selection!==ie){for(const S of Ko(xe.index,ge))He(S)||(_.current.set(S,!0),U.current+=1);[...ge].every(S=>xe.index.pathKeysByNodeId.has(S))&&(Je.current={adapter:t,selection:ie})}const Se=m=>He(m.node.id),Ee=ve.length===0&&(Pl()||e.playState!=="stopped"),ze=_m(I.current,Ee?hm(xe.index,ge):Em),Te=J.current.collapsed([xe,U.current,ye,we],()=>{const m=we?se.find(j=>!j.more&&j.node.id===we)??null:null,S=new Set(se.filter(j=>!j.more&&j.hasChildren&&!Se(j)).map(j=>j.pathKey));if(m){S.delete(m.pathKey);for(const j of no(m.pathKey))S.delete(j)}return{scopeRow:m,effectiveCollapsedPaths:S}}),{scopeRow:Be,effectiveCollapsedPaths:Le}=Te,C=J.current.browse([xe,Te,ve,Ee,Ee?mm(ze):""],()=>{const m=So(tt,Le,ze,Ee),S=ve?Tm(se,ve,ce.isInternal):null,j=S?se.filter(V=>S.has(V.pathKey)):m,X=(Be?j.filter(V=>V.pathKey.startsWith(`${Be.pathKey}.`)).map(V=>({...V,depth:Math.max(0,V.depth-Be.depth-1)})):j).filter(V=>{if(Sn(t,V.node.id))return!0;let q=V.node.parentId;for(;q;){const K=ro(t,q);if(K&&zs(K.worldId))return!1;q=tt.node(q)?.parentId??null}return!0});return{rows:ve?X:X.filter(V=>!V.hiddenByCollapse)}}),{rows:$}=C,zt=a.useMemo(()=>$.some(m=>!m.more&&t.inspector?.get(m.node.id,"exclude")!==void 0),[$,t,c,n]);a.useEffect(()=>{E(0),O.current&&(O.current.scrollTop=0)},[ve]);const It=O.current?.clientHeight||wm,yt=sr(O.current),{start:Re,end:Ue}=$.length>Sm?Il($.length,fe,It,yt,bm):{start:0,end:$.length},lt=$.slice(Re,Ue),Bt=Re*yt,Bn=($.length-Ue)*yt,Tt=a.useCallback(m=>{const S=se.filter(j=>j.hasChildren).map(j=>[j.node.id,m]);for(const[j,L]of S)_.current.set(j,L);Uo(ye,S),U.current+=1,Ne()},[ye,se]),_t={rows:$,window:{start:Re,end:Ue},searchTerm:ve||null,scopeId:we,isExpanded:Se,isInternal:m=>ce.isInternal(m),isComponentRoot:m=>Ie.isComponentRoot(m),foldedInternalCount:m=>Ie.internalChildren?.(m)?.length??0,expandAll:()=>Tt(!0),collapseAll:()=>Tt(!1)};a.useEffect(()=>(Tl(_t),()=>_l(_t)),[_t]);const gt=a.useRef({adapter:t,rows:$,selectedIds:ge,structuralRows:se,isExpanded:Se,projectIdentity:ye});gt.current={adapter:t,rows:$,selectedIds:ge,structuralRows:se,isExpanded:Se,projectIdentity:ye};const ln=a.useCallback((m,S)=>{const j=gt.current,L=!j.isExpanded(m),X=[[m.node.id,L]];if(S){const V=`${m.pathKey}.`;for(const q of j.structuralRows)q.hasChildren&&q.pathKey.startsWith(V)&&X.push([q.node.id,L])}for(const[V,q]of X)_.current.set(V,q);Uo(j.projectIdentity,X),U.current+=1,Ne()},[]),Ke=a.useCallback(()=>{_.current.clear();for(const m of Ko(xe.index,ge))_.current.set(m,!0);im(ye),U.current+=1,Ne()},[ye,ie,xe]),At=a.useCallback(m=>{const S=I.current;S.set(m,(S.get(m)??Eo)+Eo),U.current+=1,Ne()},[]),nt=a.useCallback(m=>{Al(t,m)},[t,e]);a.useEffect(()=>{if(!ie){Ze.current=null;return}const m=Ze.current;if(m?.adapter===t&&m.selection===ie)return;Ze.current={adapter:t,selection:ie};const S=$.findIndex(q=>ge.has(q.node.id)),j=O.current;if(S<0||!j)return;const L=sr(j),X=S*L,V=X+L;X<j.scrollTop?j.scrollTop=X:V>j.scrollTop+j.clientHeight&&(j.scrollTop=Math.max(0,V-j.clientHeight)),E(j.scrollTop)},[t,$,ge,ie]);const Un=a.useCallback((m,S)=>{const j=gt.current;if(j.adapter.selection){if(m.metaKey||m.ctrlKey){const L=new Set(j.selectedIds);L.has(S)?L.delete(S):L.add(S),Lt(j.adapter,[...L])}else if(m.shiftKey&&Xe.current){const L=j.rows.findIndex(V=>V.node.id===Xe.current),X=j.rows.findIndex(V=>V.node.id===S);if(L>=0&&X>=0){const V=Math.min(L,X),q=Math.max(L,X),K=j.rows.slice(V,q+1).filter(z=>!z.more).map(z=>z.node.id);Lt(j.adapter,K)}}else Lt(j.adapter,[S]);Xe.current=S}},[]),Kn=a.useCallback((m,S)=>{const j=gt.current.selectedIds,L=j.has(S)?[...j]:[S];pe(L),m.dataTransfer.effectAllowed="move",m.dataTransfer.setData(or,JSON.stringify(L)),m.dataTransfer.setData("text/plain",S)},[]),Gn=a.useCallback((m,S)=>{h({x:m.clientX,y:m.clientY,nodeId:S})},[]),dn=a.useCallback(m=>{const S=m.dataTransfer.types.includes(or),j=m.dataTransfer.types.includes(rr);if(!S&&!j)return;m.preventDefault(),m.dataTransfer.dropEffect=S?"move":"copy",oe.current=null;const L=O.current.getBoundingClientRect(),X=O.current.scrollTop,V=m.clientY-L.top+X,q=sr(O.current),K=Math.floor(V/q);if(K>=$.length){Y(null),re(!0),S&&H&&(oe.current=zo({hasStructureWritePath:Yo(t,H[0]),targetIsInternal:!1}));return}re(!1);const z=K>=0?$[K]:void 0;if(!z||z.more){Y(null);return}const _e=zo({hasStructureWritePath:S?Yo(t,z.node.id):!0,targetIsInternal:ce.isInternal(z.node.id)});if(_e!==null){oe.current=_e,Y(null);return}const ae=V-K*q;let l;if(ae<q*.25?l="before":ae>q*.75?l="after":l="child",S&&H){const y=z.node.id;if(H.includes(y)||Rm(y,H,t))return;if(!rm(t,H,y)){Y(null);return}}if(Sn(t,z.node.id)&&l!=="child"&&(l="child"),(z.node.role==="document"||z.node.role==="story")&&(l="child"),z.node.role==="folder"||z.node.role==="boundary"){Y(null);return}Y({nodeId:z.node.id,zone:l})},[$,H,t,ce]),Ut=a.useCallback(()=>{Y(null),re(!1),pe(null),oe.current=null},[]),bt=a.useCallback(m=>{m.preventDefault(),m.stopPropagation();const S=ne,j=ke,L=oe.current;if(Y(null),re(!1),pe(null),oe.current=null,L!==null){at(L);return}const X=t.structure,V=m.dataTransfer.getData(or);if(V&&X){const K=JSON.parse(V);if(j){for(const b of K)Zn(t,b,null);return}if(!S)return;const z=$.find(b=>b.node.id===S.nodeId);if(!z)return;const _e=z.node.id;if(S.zone==="child"){for(const b of K)Zn(t,b,_e);return}const ae=z.node.parentId,l=Cm(t,ae).filter(b=>!K.includes(b)),y=l.indexOf(_e),x=S.zone==="before"?_e:y>=0?l[y+1]??null:null;for(const b of K)(t.hierarchy.node(b)?.parentId??null)!==ae&&Zn(t,b,ae??null),Dl(t,b,x);return}const q=m.dataTransfer.getData(rr);if(q&&t.assetDrop)try{const K=JSON.parse(q);if(K.kind==="scene")return;const z={item:K.component??{kind:"file",name:K.name??K.path.split("/").pop()??K.path}};if(j){t.assetDrop.accepts("",K.path,z)&&jo(t,"",K.path,z);return}if(!S)return;const _e=$.find(l=>l.node.id===S.nodeId);if(!_e)return;const ae=_e.node.id;t.assetDrop.accepts(ae,K.path,z)&&jo(t,ae,K.path,z)}catch{}},[ne,ke,$,t]),Oe=Nl(t)??"Untitled";return o.jsxs(Ll,{name:null,hideHeader:!0,onPointerDown:()=>Gs("hierarchy"),onDragOver:m=>{m.dataTransfer.types.includes(rr)&&(m.preventDefault(),m.dataTransfer.dropEffect="copy")},style:{flex:1,minWidth:0,minHeight:0,borderRight:`1px solid ${Q.boundary.default}`},children:[o.jsx("span",{"data-testid":"scene-name","data-scene":Oe,style:{display:"none"},children:Oe}),o.jsx(Wm,{slot:N,search:g,setSearch:A,adapter:t,createTargetId:Qe,onCollapseAll:()=>Tt(!1),onResetExpansion:Ke,onExpandAll:()=>Tt(!0)}),we&&o.jsxs("nav",{"data-testid":"selection-scope-breadcrumb","aria-label":"Selection scope",style:{display:"flex",alignItems:"center",gap:3,minHeight:26,padding:`0 ${it[2]}px`,borderBottom:`1px solid ${Q.boundary.default}`,overflow:"hidden",flexShrink:0},children:[o.jsx(te,{variant:"ghost",size:"compact","data-testid":"selection-scope-root",onClick:()=>ko(t,null),children:"Game"}),ct.map((m,S)=>{const j=t.hierarchy.node(m);if(!j)return null;const L=S===ct.length-1;return o.jsxs("span",{style:{display:"flex",alignItems:"center",minWidth:0},children:[o.jsx("span",{"aria-hidden":"true",style:{color:Q.content.muted},children:"/"}),o.jsx(te,{variant:"ghost",size:"compact","data-testid":"selection-scope-crumb","data-scope-current":L?"true":void 0,"aria-current":L?"location":void 0,onClick:()=>ko(t,m),style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:j.label})]},m)})]}),o.jsxs("div",{ref:O,"data-testid":"ingest-hierarchy",className:"volter-content-frost volter-tree-body","data-volter-region":Pe,style:{flex:1,minHeight:0,overflow:"auto",position:"relative",pointerEvents:"auto"},onDragOver:dn,onDrop:bt,onDragEnd:Ut,onScroll:m=>E(m.currentTarget.scrollTop),onDragLeave:m=>{O.current?.contains(m.relatedTarget)||(Y(null),re(!1))},children:[o.jsx("div",{"data-testid":"game-hierarchy-spacer-top",style:{height:Bt}}),lt.map((m,S)=>m.more?o.jsx(Bm,{row:m,onReveal:At},Ro(m)):o.jsx(Gm,{row:m,rowIndex:Re+S,prevDepth:$[Re+S-1]?.depth??-1,nextDepth:$[Re+S+1]?.depth??-1,adapter:t,store:e,isSelected:ge.has(m.node.id),isSelectionActive:Pt===m.node.id,isEditing:D===m.node.id,isCollapsed:ve?!1:Le.has(m.pathKey),dropZone:ne&&ne.nodeId===m.node.id?ne.zone:null,isDragged:H?.includes(m.node.id)??!1,isInternal:ce.isInternal(m.node.id),threeRootId:P,searchTerm:ve,lockCache:T.current,warningCache:R.current,editabilityVersion:w,adapterVersion:c,onToggleOpen:ln,onStartEditing:W,onContextMenu:Gn,onDragStart:Kn,onClick:Un,onEnterScope:nt,typeSuffixShown:r,instanceRuleShown:s,restrictionColumns:i,excludeColumnShown:zt,remoteSelectionColors:k.get(m.node.id)??ym},Ro(m))),o.jsx("div",{"data-testid":"game-hierarchy-spacer-bottom",style:{height:Bn}}),o.jsx("div",{style:{minHeight:40}}),ke&&o.jsx("div",{style:{position:"absolute",left:0,right:0,top:$.length*yt,height:2,background:Q.accent.default,pointerEvents:"none",zIndex:Hs.overlayLow}})]}),d&&(()=>{const m=tt.node(d.nodeId),S=m?Sn(t,m.id)||oo(t,m.id):!1;return o.jsx(Hm,{state:d,adapter:t,store:e,isGroupNode:S,isInternal:ce.isInternal(d.nodeId),onRename:W,onClose:()=>h(null)})})()]})}function Ea(){const e=qe(),[,t]=a.useReducer(r=>r+1,0);a.useSyncExternalStore(De,Me),a.useSyncExternalStore(Vr,en),a.useSyncExternalStore(pl,In);const{adapter:n}=Pn(e);return a.useEffect(()=>n.subscribe?.(t),[n]),o.jsx(Ym,{store:e,adapter:n},fl(n))}function qm({utility:e,testId:t}){const n=e.Content;return o.jsx("div",{className:"volter-dock-panel volter-regular-panel-portal","data-testid":t??`bottom-panel-utility-${e.id}`,"data-editor-hotkey-scope":"workspace","data-volter-noselect":"true",children:o.jsx(n,{})})}function Jm(e,t){return window.confirm(t)}const Xm=4,Zm=4,Qm=24,ev=4,tv=3,nv=new Set(["model","image"]),rv=new Set(["glb","gltf","fbx","obj","dae","stl","ply","spz","bvh","3ds"]);function ov(e){const t=e.lastIndexOf(".");return t>0&&rv.has(e.slice(t+1).toLowerCase())}const sv=new Set(["audio","video","prefab","json"]);function ja(e){let t=0;const n=[];return async r=>{t>=e&&await new Promise(s=>n.push(s)),t++;try{return await r()}finally{t--,n.shift()?.()}}}function so(e){return e.replace(/^(?:\.\/|\/)+/,"").replace(/\/+$/,"")}function av(e,t){const n=e?t.slice(e.length+1):t;return n.split("/",1)[0]??n}function Jo(e,t){return e.tier-t.tier||e.depth-t.depth||e.seq-t.seq}function iv(e,t,n,r){for(const s of e){if(t.length>=r)break;n.has(s.subtree)||(n.add(s.subtree),t.push(s))}for(const s of e){if(t.length>=r)break;t.includes(s)||t.push(s)}}function cv(e,t){const n=[...e].sort(Jo),r=[],s=new Set;for(const i of[1,2]){const c=n.filter(u=>u.tier===i);iv(c,r,s,t)}return r.sort(Jo),r.map(({path:i,name:c,kind:u})=>({path:i,name:c,kind:u}))}function lv(e){return nv.has(e)?1:sv.has(e)?2:0}function dv(e,t,n,r){for(const s of n){if(s.name.startsWith("."))continue;const i=t.dir?`${t.dir}/${s.name}`:s.name;if(s.type==="directory"){t.depth+1>e.maxDepth?e.truncated=!0:r.push({dir:i,depth:t.depth+1});continue}e.totalAssets++;const c=ov(s.name)?"model":je(s.name).kind,u=lv(c);u!==0&&e.candidates.push({path:i,name:s.name,kind:c,tier:u,depth:t.depth,seq:e.seq++,subtree:av(e.base,i)})}}async function uv(e,t,n={}){const r=n.listAssets??qs,s=n.maxItems??Xm,i=n.maxListings??Qm,c=ja(n.listConcurrency??ev),u=so(t),f={base:u,maxDepth:n.maxDepth??Zm,candidates:[],totalAssets:0,truncated:!1,failedListings:0,seq:0};let p=0,v=[{dir:u,depth:0}];for(;v.length>0;){const k=Math.max(0,i-p),T=v.slice(0,k);T.length<v.length&&(f.truncated=!0),p+=T.length;const R=await Promise.all(T.map(P=>c(()=>r(e,P.dir)))),w=[];for(const[P,g]of T.entries()){const A=R[P];if(!A||!A.ok){f.failedListings+=1;continue}dv(f,g,A.entries,w)}v=w}return{items:cv(f.candidates,s),totalAssets:f.totalAssets,scannedAll:!f.truncated&&f.failedListings===0,failedListings:f.failedListings}}const ka="\0",Et=new Map,pv=ja(tv);function fv(e,t,n){const r=`${e}${ka}${so(t)}`,s=Et.get(r);if(s)return s;const i=pv(()=>uv(e,t,n));Et.set(r,i);const c=()=>{Et.get(r)===i&&Et.delete(r)};return i.then(u=>{(u.failedListings>0||u.items.length===0&&u.totalAssets===0)&&c()},c),i}function hv(e,t){return e===t||e===""||t===""||e.startsWith(`${t}/`)||t.startsWith(`${e}/`)}function Xo(e){if(e===void 0){Et.clear();return}const t=so(e);for(const n of[...Et.keys()]){const r=n.slice(n.indexOf(ka)+1);hv(r,t)&&Et.delete(n)}}function Rr(e,t="$"){return typeof e=="string"?[{path:t,value:e}]:Array.isArray(e)?e.flatMap((n,r)=>Rr(n,`${t}[${r}]`)):!e||typeof e!="object"?[]:Object.entries(e).flatMap(([n,r])=>Rr(r,`${t}.${n}`))}function mv(e,t){if(!t||!e.toLowerCase().endsWith(".gltf"))return[];try{const n=JSON.parse(t),r=e.includes("/")?e.slice(0,e.lastIndexOf("/")+1):"";return[...n.buffers??[],...n.images??[]].flatMap(s=>s.uri&&!s.uri.startsWith("data:")?[`${r}${s.uri}`]:[])}catch{return[]}}function vv(e){const t=new Map(e.files.map(p=>[p.path.replace(/^\//,""),p])),n=e.assetPath.replace(/^\//,""),r=t.get(n),s=new Set,i=je(n);if(r||s.add("missing-file"),i.importable?i.runtimeReady||s.add("source-only"):s.add("unsupported-format"),r?.text&&i.kind==="json")try{JSON.parse(r.text)}catch{s.add("invalid-metadata")}const c=mv(n,r?.text);c.some(p=>!t.has(p))&&s.add("missing-dependency");const u=[];for(const p of e.files)if(!(!p.text||!/\.json$/i.test(p.path)))try{for(const v of Rr(JSON.parse(p.text))){const k=v.value.replace(/^\//,"");k===n?u.push({ownerPath:p.path,jsonPath:v.path,assetPath:n}):k.startsWith("assets/")&&!t.has(k)&&s.add("broken-asset-reference")}}catch{}s.size===0&&s.add("healthy");const f=new Set(["missing-file","missing-dependency","invalid-metadata","broken-asset-reference"]);return{health:{status:[...s].some(p=>f.has(p))?"error":s.has("healthy")?"healthy":"warning",codes:[...s]},dependencies:c,references:u}}async function Ra(e,t=""){const n=await e.list(t),r=[];for(const s of n){const i=t?`${t}/${s.name}`:s.name;s.type==="dir"?r.push(...await Ra(e,i)):/\.json$|\.gltf$/i.test(i)?r.push({path:i,text:await e.read(i)}):r.push({path:i})}return r}async function yv(e,t){return vv({assetPath:t,files:await Ra(e)})}function hn(e){typeof window>"u"||(window.dispatchEvent(new CustomEvent("editor:asset-mutation",{detail:e})),window.dispatchEvent(new CustomEvent("editor:assets-changed")))}function st(e){const t=e.replace(/^\/+/,"").replace(/\\/g,"/").replace(/\/{2,}/g,"/");if(!t||t==="."||t.split("/").some(n=>!n||n===".."))throw new Error(`Invalid project asset path: ${e}`);return t}async function ar(e,t){for(const n of t)if(await e.exists(n))throw new Error(`An asset already exists at ${n}.`)}async function gv(e,t){const n=xs(t.history,t.backend);switch(e.type){case"create-folder":{const r=st(e.path),s=`${r}/.volter-folder`;if(await t.backend.exists(r))throw new Error(`Folder already exists: ${r}.`);return n.write(s,"",{label:`Create folder ${r}`})}case"duplicate":{const r=st(e.source),s=st(e.destination);await ar(t.backend,[s]);const i=await t.backend.readBytes(r);return n.write(s,i,{label:`Duplicate ${r}`})}case"move":{const r=st(e.source),s=st(e.destination);await ar(t.backend,[s]);const i=await t.backend.readBytes(r),c=new Map([[s,i],[r,null]]),u=await n.mutate([...c].map(([f,p])=>({path:f,data:p})),{label:`Move ${r}`});return u&&hn({type:"move",oldPath:r,newPath:s}),u}case"move-many":{const r=e.moves.map(p=>({source:st(p.source),destination:st(p.destination)}));if(r.length===0)return!1;const s=new Set(r.map(p=>p.source)),i=r.map(p=>p.destination);if(new Set(i).size!==i.length)throw new Error("Batch move destinations must be unique.");for(const p of i)if(!s.has(p)&&await t.backend.exists(p))throw new Error(`An asset already exists at ${p}.`);const c=await Promise.all(r.map(async p=>({...p,bytes:await t.backend.readBytes(p.source)}))),u=new Map;for(const{destination:p,bytes:v}of c)u.set(p,v);for(const{source:p}of c)i.includes(p)||u.set(p,null);const f=await n.mutate([...u].map(([p,v])=>({path:p,data:v})),{label:`Move ${r.length} assets`});if(f)for(const p of r)hn({type:"move",oldPath:p.source,newPath:p.destination});return f}case"delete":{const r=[...new Set(e.paths.map(st))],s=await n.mutate(r.map(i=>({path:i,data:null})),{label:`Delete ${r.length} asset${r.length===1?"":"s"}`});return s&&hn({type:"delete",paths:r}),s}case"import":{const r=e.files.map(i=>({path:st(i.path),data:i.bytes}));await ar(t.backend,r.map(i=>i.path));const s=await n.mutate(r,{label:`Import ${r.length} asset${r.length===1?"":"s"}`});return s&&hn({type:"change",paths:r.map(i=>i.path)}),s}}}const Xt=new Map,bv=new cd(async e=>{const t=Xt.get(e);if(await new Promise(n=>{typeof requestIdleCallback=="function"?requestIdleCallback(()=>n(),{timeout:1e3}):setTimeout(n,0)}),[...t.consumers].every(n=>n.aborted))throw new DOMException("Preview demand was cancelled.","AbortError");return t.run()},1);let Qt=null,Zo,ir=null;const qt=new Set;async function Ca(e){const t=yr();let n;try{n=await t.list(e)}catch{return[]}const r=[];for(const s of n)s.type==="dir"?r.push(...await Ca(s.path)):r.push(`${s.path}:${s.size??0}:${s.mtime??0}`);return r}async function wv(){const e=Ce()?.rootPath;return Zo!==e&&(Zo=e,Qt=null),Qt??=Promise.all([ad([Js,"editor/volter.adapter.ts",".storybook/**/*","src/**/*.ts","src/**/*.tsx","src/**/*.js","src/**/*.jsx","src/**/*.mjs","src/**/*.cjs","src/**/*.json","src/**/*.css"]).then(async t=>Promise.all(t.map(async n=>`${n}:${await id(n)??""}`))),Ca("")]).then(([t,n])=>Pa([...t,...n].sort().join(`
|
|
5
|
+
`))),Qt}function xv(e){return qt.add(e),ir??=$e.watch(t=>{if(t.path===yn){Ss();for(const n of qt)n();return}if(!(!/^(src|public|\.storybook)\//.test(t.path)&&t.path!==Js&&t.path!=="editor/volter.adapter.ts")){Qt=null;for(const n of qt)n()}}),()=>{qt.delete(e),qt.size===0&&(ir?.(),ir=null,Qt=null)}}async function Sv(e,t,n){t.throwIfAborted();let r=Xt.get(e);r||(r={run:n,consumers:new Set},Xt.set(e,r)),r.consumers.add(t);const s=bv.request(e,1);t.addEventListener("abort",s.cancel,{once:!0});try{return await s.promise}finally{t.removeEventListener("abort",s.cancel),r.consumers.delete(t),r.consumers.size===0&&Xt.get(e)===r&&Xt.delete(e)}}async function Pa(e){const t=new TextEncoder().encode(e),n=await crypto.subtle.digest("SHA-256",t);return[...new Uint8Array(n)].map(r=>r.toString(16).padStart(2,"0")).join("")}function Ev(e){const t=/^data:([^;,]+);base64,(.*)$/s.exec(e);if(!t)throw new Error("Document preview owner returned an invalid image data URL.");const n=atob(t[2]),r=new Uint8Array(n.length);for(let s=0;s<n.length;s++)r[s]=n.charCodeAt(s);return{mime:t[1],bytes:r}}function Qo(e,t="image/png"){const n=new Uint8Array(e.byteLength);return n.set(e),URL.createObjectURL(new Blob([n.buffer],{type:t}))}async function jv(e){const t=await ws();if(t.status!=="ok")return;const n=t.manifest.entries[`document:${e}`]?.framing;return n?{position:{x:n.position[0],y:n.position[1],z:n.position[2]},target:{x:n.target[0],y:n.target[1],z:n.target[2]},...n.fov===void 0?{}:{fov:n.fov}}:void 0}async function kv(e,t,n,r){const s=Ce()?.rootPath??"no-project",i=await jv(e),c=JSON.stringify({projectId:s,documentId:e,recipe:sd,revision:t.revision(),dependencies:await wv(),camera:i});r.throwIfAborted();const u=await Pa(c),f=`.volter/cache/document-previews/${u}.png`;if(n===0&&await $e.exists(f))return Qo(await $e.readBytes(f));const p=await Sv(u,r,()=>t.capture({width:dd,height:ld,...i?{camera:i}:{}}));r.throwIfAborted();const v=Ev(p);return await $e.write(f,v.bytes),Qo(v.bytes,v.mime)}function Rv({documentId:e,source:t,previewRevision:n}){const[r,s]=a.useState(null),[i,c]=a.useState(null),[u,f]=a.useState(0),[p,v]=a.useState(0),[k,T]=a.useState(!0),[R,w]=a.useState(!1),P=a.useRef(null),g=a.useRef(null),A=a.useRef(null),N=a.useRef({previewRevision:n,retry:p});return a.useEffect(()=>{let d=null;const h=()=>{g.current?.abort(),T(!0),d&&clearTimeout(d),d=setTimeout(()=>f(ne=>ne+1),750)},D=t.subscribe(h),W=xv(h);return()=>{d&&clearTimeout(d),D(),W()}},[t]),a.useEffect(()=>()=>{A.current?.startsWith("blob:")&&URL.revokeObjectURL(A.current)},[]),a.useEffect(()=>{const d=P.current;if(!d)return;const h=new IntersectionObserver(([D])=>w(D?.isIntersecting??!1));return h.observe(d),()=>h.disconnect()},[]),a.useEffect(()=>{if(!R)return;const d=new AbortController;g.current=d;const h=N.current.previewRevision!==n||N.current.retry!==p?1:0;return c(null),T(!0),kv(e,t,h,d.signal).then(D=>{if(d.signal.aborted){URL.revokeObjectURL(D);return}A.current&&URL.revokeObjectURL(A.current),N.current={previewRevision:n,retry:p},A.current=D,s(D),T(!1)}).catch(D=>{d.signal.aborted||(c(D instanceof Error?D.message:String(D)),T(!1))}),()=>d.abort()},[e,n,p,t,u,R]),o.jsxs("div",{ref:P,style:{width:"100%",height:"100%",position:"relative",display:"grid",placeItems:"center"},children:[r&&o.jsx("img",{src:r,alt:`${e} preview`,style:{width:"100%",height:"100%",objectFit:"contain"}}),i?o.jsx("button",{type:"button",title:i,onClick:d=>{d.stopPropagation(),v(h=>h+1)},style:{position:"absolute",bottom:0,border:0,background:"var(--vscode-editor-background)",color:Rt[3],pointerEvents:"auto"},children:"Preview unavailable · Retry"}):k?o.jsx("span",{role:"status",style:{position:"absolute",bottom:0,background:"var(--vscode-editor-background)",color:Rt[3],fontSize:od.xs},children:r?"Refreshing preview…":"Loading preview…"}):null]})}function Ia(e,t){return Vn(e,t.path)}function Cv({root:e,item:t}){const[n,r]=a.useState(!1);return n?o.jsx(pt,{kind:"image",size:14}):o.jsx("img",{src:Ia(e,t),alt:t.name,loading:"lazy",onError:()=>r(!0)})}function Pv({root:e,item:t}){const n=pd(Ia(e,t),fd);return n.failed?o.jsx(pt,{kind:"model",size:14}):n.src?o.jsx("img",{src:n.src,alt:t.name,"data-fit":"contain",onError:n.fromManifest?n.rejectManifest:void 0}):null}function Iv({root:e,item:t}){return je(t.name).editor==="environment"?o.jsx(rn,{kind:"image",name:t.name,variant:"cell"}):t.kind==="image"?o.jsx(Cv,{root:e,item:t}):t.kind==="model"?o.jsx(Pv,{root:e,item:t}):o.jsx(rn,{kind:t.kind,name:t.name,variant:"cell"})}function Tv({root:e,folderPath:t,revision:n}){const[r,s]=a.useState(null);if(a.useEffect(()=>{s(null)},[e,t]),a.useEffect(()=>{let c=!1;return fv(e,t).then(u=>{c||s(u)},()=>{c||s("failed")}),()=>{c=!0}},[e,t,n]),r===null||r==="failed")return o.jsx(pt,{kind:"folder"});if(r.totalAssets===0)return o.jsx("div",{className:"volter-folder-preview","data-testid":"folder-preview-empty","aria-hidden":"true",children:o.jsxs("div",{className:"volter-folder-preview__empty",children:[o.jsx(G,{icon:ud,className:"volter-folder-preview__empty-glyph"}),o.jsx("span",{className:"volter-folder-preview__empty-caption",children:"Empty"})]})});const i=r.scannedAll?`${r.totalAssets}`:`${r.totalAssets}+`;return r.items.length===0?o.jsxs("div",{className:"volter-folder-preview","data-testid":"folder-preview-plain","aria-hidden":"true",children:[o.jsx("div",{className:"volter-folder-preview__fallback",children:o.jsx(pt,{kind:"folder"})}),o.jsx("span",{className:"volter-folder-preview__count",children:i})]}):o.jsxs("div",{className:"volter-folder-preview","data-testid":"folder-preview","aria-hidden":"true",children:[o.jsx("div",{className:"volter-folder-preview__grid","data-count":r.items.length,children:r.items.map(c=>o.jsx("div",{className:"volter-folder-preview__cell",children:o.jsx(Iv,{root:e,item:c})},c.path))}),o.jsx("span",{className:"volter-folder-preview__chip",children:o.jsx(G,{icon:Jr})}),o.jsx("span",{className:"volter-folder-preview__count",children:i})]})}const Ta="contentBrowser";function Cr(e){return e.type==="directory"?"folder":je(e.name).kind}function _v(e,t,n){return Vn(e,t?`${t}/${n}`:n)}function Av(e,t,n){return t?`/${t}/${n}`:`/${n}`}function Dv(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Pr(e){const t=je(e);return t.importable?t.runtimeReady?"healthy":"source-only":"unsupported"}const Nv=640,es={scope:"content",root:"public",currentPath:"",viewMode:"grid",sort:"relevance",filter:"all",density:96,expanded:["public"],treeVisibility:"auto",facets:["component"]};function Lv(){try{const e=Fn(Ta)??{},t=e.viewMode,n=e.treeVisibility,r=e.scope,s=e.root;return{...es,...e,root:s===Wt?Wt:"public",currentPath:e.currentPath??"",scope:r==="files"?"files":"content",viewMode:r==="files"&&t==="list"?"list":"grid",treeVisibility:n==="shown"||n==="hidden"?n:"auto",facets:Array.isArray(e.facets)&&e.facets.length>0?[e.facets[0]]:["component"]}}catch{return es}}const Ov={listAssets:qs,listProjectComponents:vd},cr="Reference material is not part of the built game — it stays in the project's references/ folder and is never exported. Copy the file into public/ to use it in the game; edit or remove it where it lives.",$v=new Set(["component","scene","canvas","model","image","video","audio","other"]);function Mv(e){const t=e.charAt(0).toUpperCase()+e.slice(1);return t.endsWith("s")?t:`${t}s`}async function ts(e,t){if(!t&&$t()!==e)throw new Error("Open this scene as the active document before using its current view.");const n=an(e)?.read()?.camera,r=n&&typeof n!="string"?n:null;if(!t&&!r)throw new Error("The active scene has no ready 3D authoring view to save.");await Vd().saveThumbnailFraming(`document:${e}`,t?void 0:{position:[r.position.x,r.position.y,r.position.z],target:[r.target.x,r.target.y,r.target.z],fov:r.fov??50})}function Fv(e){return e.component.surface==="three"?"3d":e.component.surface==="canvas"?"2d":"ui"}function Vv(e){const t={"3d":"3D","2d":"2D",ui:"UI"};return["3d","2d","ui"].flatMap(n=>{const r=e.filter(s=>s.source==="component"&&Fv(s)===n);return r.length>0?[{id:`prefabs-${n}`,label:t[n],headingLevel:"category",entries:r}]:[]})}function Wv(e,t,n){return t==="files"?[{id:"files",label:null,headingLevel:null,entries:[...e]}]:n.length===1&&n[0]==="component"?Vv(e):e.length>0?[{id:"content",label:null,headingLevel:null,entries:[...e]}]:[]}function _a(e){return e.source==="available"?e.available.category:e.source==="component"?e.component.contentKind??"component":e.source==="document"?e.document.kind:Id(e.name)}function Hv(e){return e.source==="component"?e.component.contentKind??"component":e.source==="available"||e.source==="document"?"source":Cr(e.entry)}function jt(e){const t=e.lastIndexOf("/");return t<0?"":e.slice(0,t)}function zv(e,t){if(e.source==="component"||e.source==="document"||e.source==="available")return;const{entry:n}=e,{currentRoot:r,currentPath:s,navigate:i,openAsset:c}=t;if(n.type==="directory"){i(r,s?`${s}/${n.name}`:n.name);return}const u=je(n.name),f=wn(u);if(f){if(e.spritesheet){const p=e.path.includes("#")?e.path.slice(e.path.lastIndexOf("#")+1):n.name.replace(/\.png$/i,"");c(`/${e.spritesheet.sheetPath}#${p}`,f);return}c(_v(e.root,s,n.name),f)}}function Aa(e){return e.source==="component"?`Component · line ${e.component.line}`:e.source==="available"?e.path||e.available.descriptor.title:e.source==="document"?`${e.document.kind} · ${e.path}`:e.entry.type!=="file"?"Folder":e.entry.size===void 0?"Size unknown":Dv(e.entry.size)}function Bv(e){if(e.source==="component")return`${e.name}
|
|
6
|
+
${e.path}:${e.component.line}`;if(e.source==="available")return`${e.name}
|
|
7
|
+
${e.path}`;if(e.source==="document")return`${e.name}
|
|
8
|
+
${e.path}`;const t=Aa(e);return t?`${e.name}
|
|
9
|
+
${t}`:e.name}function Uv(e,t,n){if(e.source==="component"||e.source==="document"||e.source==="available"||t==="all"||e.entry.type==="directory")return!0;const r=je(e.name),s=n?`${n}/${e.name}`:e.name;return{"runtime-ready":r.runtimeReady,"source-only":r.importable&&!r.runtimeReady,unsupported:!r.importable,imported:s.startsWith("asset-library/local/"),generated:s.startsWith(".generated/")}[t]}function Ot(e,t){return e.name.localeCompare(t.name)||e.path.localeCompare(t.path)}function ns(e){return e.source==="asset"?Ud({path:e.path,root:e.root,entry:e.entry}):e.source==="available"||e.source==="document"?10:Kd(e.component)-100}function Kv(e,t){const n=ns(e),r=ns(t);return n!==r?n-r:e.source!==t.source?e.source==="component"?-1:1:(e.source==="component"&&t.source==="component"||e.source!=="asset"||t.source!=="asset",Ot(e,t))}function rs(e,t){return e===void 0?t===void 0?0:1:t===void 0?-1:t-e}function Gv(e,t,n){if(e.entry.type!==t.entry.type)return e.entry.type==="directory"?-1:1;if(n==="size"&&e.entry.size!==t.entry.size)return rs(e.entry.size,t.entry.size);if(n==="modified"&&e.entry.modifiedAt!==t.entry.modifiedAt)return rs(e.entry.modifiedAt,t.entry.modifiedAt);if(n==="type"){const r=Cr(e.entry).localeCompare(Cr(t.entry));if(r!==0)return r}if(n==="health"){const r=Pr(e.name).localeCompare(Pr(t.name));if(r!==0)return r}return Ot(e,t)}function Yv(e,t,n){return n==="relevance"?Kv(e,t):n==="name"?Ot(e,t):e.source!==t.source?e.source==="component"?-1:1:e.source!=="asset"||t.source!=="asset"?Ot(e,t):Gv(e,t,n)}function qv(e,t){if(t.query&&!`${e.name} ${e.path}`.toLowerCase().includes(t.query))return!1;if(t.scope==="content"&&t.facets.length>0){const n=_a(e);return t.facets.includes(n)}return t.scope==="content"||Uv(e,t.filter,t.shownPath)}const Jv={width:"100%",minWidth:0,padding:0,textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",gap:3},Xv={width:"100%",minWidth:0,minHeight:28,padding:"3px 6px",textAlign:"left",display:"flex",flexDirection:"row",alignItems:"center",gap:7};function Zv(e){const t=new Map;if(!e.assetSubject)return t;const n=e.assetSubject.entries?.()??Pd(e.hierarchy).flatMap(r=>{const s=e.assetSubject?.get(r.id);return s?[{id:r.id,subject:s}]:[]});for(const{id:r,subject:s}of n){const i=s.sourcePath?.replaceAll("\\","/").replace(/^\.\//,"")??"",c=i.lastIndexOf("/src/"),u=c>=0?i.slice(c+1):i;t.set(`${u}:${s.name}`,{id:r,subject:s})}return t}const Qv=()=>()=>{},ey=()=>0;function ty({sheetUrl:e,frame:t}){return o.jsx(Gd,{sheetUrl:e,frame:{name:"",x:t.x,y:t.y,width:t.width,height:t.height,rotated:t.rotated,sourceWidth:t.sourceWidth,sourceHeight:t.sourceHeight,trimX:t.trimX,trimY:t.trimY},maxEdge:48})}function ny({item:e,kind:t,assetUrl:n,grid:r,folderPath:s,previewRevision:i}){const c=n;if(t==="folder")return r?o.jsx(Tv,{root:e.source==="asset"?e.root:"public",folderPath:s,revision:i}):o.jsx(pt,{kind:"folder",size:15});if(t==="audio"&&n)return o.jsx(Hd,{url:c,name:e.name});if(!r)return o.jsx(pt,{kind:t,size:15});if(e.source==="available"&&e.available.descriptor.preview)return o.jsx(Rv,{documentId:e.available.descriptor.id,source:e.available.descriptor.preview,previewRevision:i});if(e.source==="component"){const{Thumbnail:u}=e.contentSource;return o.jsx(u,{entry:e.contentEntry,previewRevision:i})}return je(e.name).editor==="environment"?o.jsx(rn,{kind:"image",name:e.name}):t==="image"?e.source==="asset"&&e.spritesheet?o.jsx(ty,{sheetUrl:`/${e.spritesheet.sheetPath}`,frame:e.spritesheet}):o.jsx("img",{src:c,alt:e.name,style:{maxWidth:48,maxHeight:48,objectFit:"contain",borderRadius:_n.sm}}):t==="video"&&c?o.jsx("video",{src:`${c}#t=0.1`,muted:!0,playsInline:!0,preload:"metadata",style:{maxWidth:48,maxHeight:48,objectFit:"contain",borderRadius:_n.sm}}):t==="model"||zd(n)?o.jsx(Bd,{url:n}):["prefab","json"].includes(t)?o.jsx(rn,{kind:t,name:e.name}):o.jsx(pt,{kind:t})}function ry({item:e,selected:t,onDragStart:n,onSelect:r,onOpen:s,onContextMenu:i,viewMode:c,previewRevision:u,showPath:f}){const p=Hv(e),v=e.source==="asset"?e.entry:null,k=v?.type==="file"?je(v.name):null,T=e.source==="asset"?Vn(e.root,e.path):"",R=e.path,w=Bv(e),P=v?v.type==="directory"||k?.placeable?k?.placeable?"grab":"pointer":"default":"pointer",g=Aa(e),A=e.source==="component"?e.path:e.source==="asset"?br(e.root,jt(e.path)).replace(/\/$/,""):jt(e.path)||"public",N=f?`${A} · ${g}`:g,d=c!=="list";return o.jsxs("div",{className:"volter-selectable volter-project-asset-entry","data-selected":t||void 0,"data-view":c,role:"option","aria-selected":t,tabIndex:0,draggable:e.source==="component"||e.source==="asset"&&v?.type==="file"&&k?.placeable===!0||e.source==="asset"&&e.spritesheet!==void 0||e.source==="asset"&&e.root===Wt&&v?.type==="file",onPointerEnter:()=>{p==="audio"&&T&&Fd(T)},onPointerLeave:()=>{p==="audio"&&T&&Md(T)},onDragStart:h=>n(h,e),onDragEnd:$d,onClick:h=>r(e,h),onDoubleClick:()=>s(e),onContextMenu:h=>i(h,e),onKeyDown:h=>{if(h.key==="ContextMenu"||h.shiftKey&&h.key==="F10"){h.preventDefault();const D=h.currentTarget.getBoundingClientRect();h.currentTarget.dispatchEvent(new MouseEvent("contextmenu",{bubbles:!0,cancelable:!0,clientX:D.left,clientY:D.bottom}))}else h.key==="Enter"?s(e):h.key===" "&&(r(e,h),h.preventDefault())},title:w,style:{...d?Jv:Xv,borderRadius:_n.sm,cursor:P,userSelect:"none"},children:[o.jsxs("div",{className:"volter-project-asset-entry__preview","data-testid":"asset-entry-preview",style:{...d?{width:"100%",aspectRatio:e.source==="available"&&e.available.descriptor.preview?"16 / 9":"1 / 1",margin:"0 auto"}:{width:18,height:18,margin:0},display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden",borderRadius:_n.sm,pointerEvents:"none",position:"relative"},children:[o.jsx(ny,{item:e,kind:p,assetUrl:T,grid:d,folderPath:R,previewRevision:u}),d&&o.jsx("span",{className:"volter-project-asset-entry__kind","data-testid":"asset-entry-kind",title:`${p} asset`,children:o.jsx(pt,{kind:p,size:11})})]}),o.jsx("div",{"data-testid":"asset-entry-name",style:{...d?{fontSize:10,lineHeight:"13px",minHeight:26,display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2}:{fontSize:11,lineHeight:"18px",flex:1},overflow:"hidden",textOverflow:"ellipsis",whiteSpace:d?"normal":"nowrap",color:Rt[1],minWidth:0},children:e.name}),!d&&o.jsx("div",{role:"listbox","aria-label":"Project assets","aria-multiselectable":"true",style:{maxWidth:"45%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:Rt[3],fontSize:10},children:N})]})}function oy({scope:e,facets:t,availableFacets:n,currentPath:r,currentRoot:s,searchOpen:i,searchQuery:c,viewMode:u,density:f,treeVisible:p,onScopeChange:v,onFacetToggle:k,onFacetsClear:T,onNavigate:R,onSearchOpenChange:w,onSearchQueryChange:P,onViewModeChange:g,onDensityChange:A,onTreeVisibilityToggle:N,onCreateFolder:d,onImport:h,onDelete:D,deleteDisabled:W,onRefresh:ne,generationTools:Y,onGenerate:ke}){const re=a.useRef(null),H=a.useRef(!0),pe=a.useRef(null),[oe,fe]=a.useState(!1),E=r?r.split("/"):[],O=jt(r),Pe=s===Wt?"References":"Files",I=()=>{P(""),w(!1)};return a.useEffect(()=>{if(!oe)return;const _=J=>{re.current?.contains(J.target)||fe(!1)};return document.addEventListener("pointerdown",_),()=>document.removeEventListener("pointerdown",_)},[oe]),a.useLayoutEffect(()=>{const _=pe.current;if(!_)return;const J=()=>{_.scrollLeft=_.scrollWidth};H.current=!0,J();const U=()=>{H.current=_.scrollWidth-_.clientWidth-_.scrollLeft<=1};_.addEventListener("scroll",U,{passive:!0});const me=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>{H.current&&J()});return me?.observe(_),()=>{_.removeEventListener("scroll",U),me?.disconnect()}},[r,i]),o.jsxs("div",{className:"volter-project-assets-toolbar",children:[o.jsxs(Tn,{label:"Content display",compact:!0,className:"volter-project-assets-toolbar__row",children:[o.jsxs(_o,{children:[o.jsx(xt,{text:"Content grid",position:"top",children:o.jsx(be,{"aria-label":"Content grid","data-testid":"content-scope-content","aria-pressed":e==="content",onClick:()=>{e!=="content"&&v("content"),g("grid")},children:o.jsx(G,{icon:_d})})}),o.jsx(xt,{text:"Browse grid",position:"top",children:o.jsx(be,{"aria-label":"Browse grid","data-testid":"content-scope-files","aria-pressed":e==="files"&&u==="grid",onClick:()=>{e!=="files"&&v("files"),g("grid")},children:o.jsx(G,{icon:Ad})})}),o.jsx(xt,{text:"Browse list",position:"top",children:o.jsx(be,{"aria-label":"Browse list","data-testid":"asset-view-list","aria-pressed":e==="files"&&u==="list",onClick:()=>{e!=="files"&&v("files"),g("list")},children:o.jsx(G,{icon:Dd})})})]}),o.jsx("span",{style:{flex:1}}),i?o.jsx(nn,{type:"text","data-testid":"asset-search-input","aria-label":"Search content",placeholder:"Search content...",value:c,onChange:_=>P(_.target.value),onKeyDown:_=>{_.key==="Escape"&&I()},className:"volter-input",autoFocus:!0,style:{flex:"0 1 160px",minWidth:60}}):null,o.jsx(xt,{text:i?"Close search":"Search",position:"top",children:o.jsx(be,{"data-testid":i?"asset-search-close":"asset-search-toggle","aria-label":i?"Close search":"Search content",onClick:()=>{i?I():w(!0)},children:o.jsx(G,{icon:i?Zt.action.close:Zt.action.search})})})]}),o.jsxs(Tn,{label:e==="content"?"Content types":"Folder navigation",compact:!0,className:"volter-project-assets-toolbar__row",children:[e==="files"&&o.jsxs(o.Fragment,{children:[o.jsx(xt,{text:p?"Hide folders":"Show folders",position:"top",children:o.jsx(be,{"data-testid":"asset-tree-toggle","aria-label":p?"Hide folder tree":"Show folder tree","aria-controls":"project-asset-tree","aria-expanded":p,onClick:N,children:o.jsx(G,{icon:Nd})})}),o.jsx(xt,{text:"Back",position:"top",children:o.jsx(be,{"data-testid":"asset-back","aria-label":"Back",disabled:!r,onClick:()=>R(s,O),children:o.jsx(G,{icon:Ld})})}),o.jsxs("nav",{ref:pe,"data-testid":"asset-breadcrumb","aria-label":"Asset location",style:{flex:1,display:"flex",alignItems:"center",gap:2,fontSize:12,minWidth:0,overflowX:"auto",overflowY:"hidden",whiteSpace:"nowrap"},children:[r?o.jsx(te,{type:"button",variant:"ghost",size:"compact",onClick:()=>R(s,""),style:{flexShrink:0},children:Pe}):o.jsx("span",{"aria-current":"location",style:{color:Rt[1]},children:Pe}),E.map((_,J)=>{const U=E.slice(0,J+1).join("/"),me=J===E.length-1;return o.jsxs("span",{style:{display:"flex",alignItems:"center",gap:2,flexShrink:0},children:[o.jsx("span",{style:{color:Rt[3]},children:"/"}),me?o.jsx("span",{"aria-current":"location",title:_,style:{color:Rt[1]},children:_}):o.jsx(te,{type:"button",variant:"ghost",size:"compact",onClick:()=>R(s,U),children:_})]},U)})]})]}),e==="content"&&o.jsxs(_o,{className:"volter-content-filter-inline","aria-label":"Content types",children:[i&&o.jsx(te,{variant:"ghost",size:"compact",className:"volter-content-filter-chip","data-testid":"content-filter-all","aria-pressed":t.length===0,onClick:T,children:"All"}),[...[["component","Prefabs"],["scene","Scenes"],["canvas","Canvases"],["model","Models"],["image","Images"],["video","Videos"],["audio","Audio"],["other","Other"]].filter(([_])=>n.has(_)),...[...n].filter(_=>!$v.has(_)).sort().map(_=>[_,Mv(_)])].map(([_,J])=>o.jsx(te,{variant:"ghost",size:"compact",className:"volter-content-filter-chip","data-testid":`content-filter-${_}`,"aria-pressed":t.includes(_),onClick:()=>k(_),children:J},_))]}),o.jsxs("div",{ref:re,className:"volter-project-assets-toolbar__more",children:[o.jsx(xt,{text:"More asset actions",position:"top",children:o.jsx(be,{"aria-label":"More asset actions","aria-expanded":oe,"aria-haspopup":"menu",onClick:()=>fe(_=>!_),children:o.jsx(G,{icon:Od})})}),oe&&o.jsxs(Vt,{autoFocusFirst:!0,className:"volter-project-assets-toolbar__menu",onDismiss:()=>fe(!1),children:[o.jsx(Z,{"data-command-id":de.import.id,onSelect:()=>{fe(!1),h()},children:"Import files…"}),o.jsx(Z,{"data-command-id":de.createFolder.id,onSelect:()=>{fe(!1),d()},children:"New folder"}),Y.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("hr",{className:"volter-menu-separator"}),o.jsx(Z,{onSelect:()=>{fe(!1),ke()},children:"Create asset…"})]}),o.jsx(Z,{onSelect:()=>{fe(!1),A(f<=96?132:88)},children:f<=96?"Larger thumbnails":"Smaller thumbnails"}),o.jsx(Z,{disabled:W,"data-command-id":de.delete.id,onSelect:()=>{fe(!1),D()},children:"Delete selected"}),o.jsx(Z,{onSelect:()=>{fe(!1),ne()},children:"Refresh"})]})]})]})]})}function sy(e){const[t,n]=a.useState(new Map);a.useEffect(()=>{n(new Map)},[e.revision]),a.useEffect(()=>{for(const s of e.expanded){if(t.has(s))continue;const i=Td.find(u=>s===u||s.startsWith(`${u}/`));if(!i)continue;const c=s===i?"":s.slice(`${i}/`.length);e.loadAssets(i,c).then(u=>{u.ok&&n(f=>{const p=new Map(f);return p.set(s,u.entries.filter(v=>v.type==="directory").map(v=>v.name)),p})})}},[t,e.expanded,e.loadAssets]);const r=(s,i,c)=>{const u=i?`${s}/${i}`:s,f=e.expanded.has(u),p=i.split("/").pop()||s;return o.jsxs("div",{children:[o.jsxs("div",{className:"volter-asset-tree-row",style:{paddingLeft:6+c*14},children:[o.jsx(be,{className:"volter-asset-tree-toggle","aria-label":`${f?"Collapse":"Expand"} ${p}`,"aria-expanded":f,onClick:()=>e.onExpanded(u),children:o.jsx(G,{icon:Wd,style:{transform:f?"rotate(90deg)":void 0}})}),o.jsxs(te,{variant:"ghost",size:"compact",className:"volter-asset-tree-target","aria-current":e.currentRoot===s&&e.currentPath===i?"page":void 0,onClick:()=>e.onNavigate(s,i),children:[o.jsx(G,{icon:Jr}),p]})]}),f&&t.get(u)?.map(v=>r(s,i?`${i}/${v}`:v,c+1))]},u)};return o.jsxs("aside",{id:"project-asset-tree",className:"volter-asset-tree","aria-label":"Project asset sources",hidden:e.hidden,children:[o.jsx("div",{className:"volter-asset-facet-title",children:"Project"}),r("public","",0),o.jsx(te,{variant:"ghost",size:"compact",className:"volter-asset-tree-target",onClick:()=>e.onNavigate("public","asset-library/local"),children:"Imported"}),o.jsx(te,{variant:"ghost",size:"compact",className:"volter-asset-tree-target",onClick:()=>e.onNavigate("public",".generated"),children:"Generated"}),o.jsx("div",{className:"volter-asset-facet-title",children:"References"}),r(Wt,"",0)]})}function ay(e){const t=a.useRef(null),[n,r]=a.useState(e),[s,i]=a.useState(!0);a.useLayoutEffect(()=>{const f=t.current;if(!f)return;const p=k=>{k>0&&i(k>=Nv)};if(p(f.getBoundingClientRect().width),typeof ResizeObserver>"u")return;const v=new ResizeObserver(([k])=>{k&&p(k.contentRect.width)});return v.observe(f),()=>v.disconnect()},[]);const c=n==="shown"||n==="auto"&&s,u=a.useCallback(()=>{r(c?"hidden":"shown")},[c]);return{browserRef:t,treeVisibility:n,treeVisible:c,toggleTreeVisibility:u}}function iy({services:e=Ov}){const t=qe(),n=typeof t.subscribe=="function"?t.subscribe:Qv,r=typeof t.getSnapshot=="function"?t.getSnapshot:ey,s=typeof t.getShellSnapshot=="function"?t.getShellSnapshot:r,i=a.useSyncExternalStore(n,s,s),c=a.useSyncExternalStore(Vr,en,en),u=a.useSyncExternalStore(De,Me,Me),f=a.useRef(t);f.current=t;const p=$s(),v=a.useSyncExternalStore(Xs,Po,Po),k=a.useSyncExternalStore(hd,Io,Io),T=v.filter(l=>l.point==="workspace.document"&&l.tool?.generation?.role==="submit"),R=a.useMemo(Lv,[]),[w,P]=a.useState(R.root),[g,A]=a.useState(R.scope),[N,d]=a.useState(R.facets),[h,D]=a.useState(R.currentPath),[W,ne]=a.useState(R.viewMode),[Y,ke]=a.useState(R.scope==="content"?"relevance":"name"),[re,H]=a.useState("all"),[pe,oe]=a.useState(R.density),{browserRef:fe,treeVisibility:E,treeVisible:O,toggleTreeVisibility:Pe}=ay(R.treeVisibility),[I,_]=a.useState(!1),[J,U]=a.useState({path:R.currentPath,entries:[]}),[me,Je]=a.useState([]),[Xe,Ze]=a.useState([]),Ne=a.useSyncExternalStore(md,As),ve=a.useSyncExternalStore(Is,gr,gr),[ye,Fe]=a.useState(!1),[Qe,ie]=a.useState([]),[ge,Pt]=a.useState(new Set(R.expanded)),[ct,we]=a.useState(0),[mt,et]=a.useState(0),[Ve,xe]=a.useState(""),[Ie,ce]=a.useState(new Set),[tt,se]=a.useState(null),[We,He]=a.useState(null),[vt,Se]=a.useState(""),Ee=a.useCallback(l=>{Se(l.initial),He(l)},[]),[ze,Te]=a.useState(!1),[Be,Le]=a.useState(null),[C,$]=a.useState(null),zt=a.useRef(null),It=a.useRef(new Map),yt=a.useRef("");a.useEffect(()=>{Mn(Ta,{scope:g,root:w,facets:N,currentPath:h,viewMode:W,sort:Y,filter:re,density:pe,expanded:[...ge],treeVisibility:E})},[h,w,pe,ge,N,re,g,Y,E,W]);const Re=a.useCallback(async(l,y)=>{const x=`${l}:${y}`;yt.current=x;const b=(B,Ae)=>{yt.current===x&&U({path:y,entries:B,...Ae===void 0?{}:{failure:Ae}})},F=It.current.get(x);if(F){b(F);return}try{const B=await e.listAssets(l,y);if(!B.ok){b([],B.reason);return}It.current.set(x,B.entries),b(B.entries)}catch(B){b([],B instanceof Error?B.message:String(B))}},[e]);a.useEffect(()=>{Re(w,h)},[w,h,Re]);const Ue=a.useCallback(async()=>{Fe(!0);try{const[l,y]=await Promise.all([yd(e.listAssets),e.listProjectComponents()]),x=await gd(l.assets,async b=>{try{const F=await fetch(`/${b}`);return F.ok?await F.text():null}catch{return null}});Je(x),Ze(y.ok?y.entries:[]),ie([...l.failedListings,...y.ok?[]:[`component index: ${y.reason}`]])}catch(l){Je([]),Ze([]),ie([l instanceof Error?l.message:String(l)])}finally{Fe(!1)}},[e]);a.useEffect(()=>{g==="content"&&Ue()},[Ue,g]);const lt=a.useCallback((l,y)=>{P(l),D(y),ce(new Set),Le(null),St(),xe(""),_(!1)},[]),Bt=a.useCallback(l=>{A(l),ke(l==="content"?"relevance":"name"),H("all"),ce(new Set),Le(null),St()},[]),Bn=a.useCallback(l=>{d([l])},[]),Tt=a.useCallback(l=>{_(l),l||d(y=>y.length>0?y:["component"])},[]),_t=J.path,gt=a.useMemo(()=>Zv(Pn(f.current).adapter),[c,i,u]),ln=a.useMemo(()=>Pn(f.current).surface,[c,i,u]),Ke=a.useMemo(()=>{if(g==="content"){const l=new Map(Xe.map(b=>[`${b.path}:${b.name}`,b])),y=bd().flatMap(b=>b.entries({components:Xe,surface:ln}).flatMap(F=>{const B=l.get(`${F.component.path}:${F.component.name}`);if(!B)return[];const Ae=`${B.path.replace(/^\.\//,"")}:${B.name}`,Dt=gt.get(Ae);return[{source:"component",key:`component:${b.id}:${F.id}`,name:B.name,path:B.path,component:B,contentSource:b,contentEntry:F,...Dt?{authoringAsset:Dt}:{}}]})),x=(ve?.scenes.entries??[]).flatMap(b=>{if(b.kind==="prefab")return[];const F=b.kind==="scene"?wd(b):null;return F&&Ne.some(B=>(B.category==="scene"||B.category==="canvas")&&(F.kind==="root-document"&&B.rootId===F.regionId||F.kind==="isolation-document"&&B.descriptor.id===F.documentId||!!b.source?.path&&B.descriptor.provenance?.sourcePath?.replace(/^\.\//,"")===b.source.path.replace(/^\.\//,"")))?[]:b.kind!=="scene"&&!b.source?[]:[{source:"document",key:`document:${b.id}`,name:b.label,path:b.source?.path??"",document:b}]});return[...y,...x,...Ne.map(b=>({source:"available",key:`available:${b.descriptor.id}`,name:b.descriptor.title,path:b.descriptor.provenance?.sourcePath??"",available:b})),...me.map(({path:b,root:F,entry:B,spritesheet:Ae})=>({source:"asset",key:`asset:${F}:${b}`,name:B.name,path:b,root:F,entry:B,...Ae?{spritesheet:Ae}:{}}))]}return J.entries.map(l=>{const y=J.path?`${J.path}/${l.name}`:l.name;return{source:"asset",key:`asset:${w}:${y}`,name:l.name,path:y,root:w,entry:l}})},[ln,ve,Ne,gt,Xe,me,k,w,J,g]),At=g==="content"?Qe[0]??null:J.failure??null,nt=a.useMemo(()=>{const l=Ve.toLowerCase(),y=Ke.filter(b=>qv(b,{query:l,scope:g,facets:N,filter:re,shownPath:_t})),x=g==="files"&&Y==="relevance"?"name":Y;return[...y].sort((b,F)=>Yv(b,F,x))},[Ke,N,_t,re,g,Ve,Y]),Un=a.useMemo(()=>{const l=new Set;for(const y of Ke)l.add(_a(y));return l},[Ke]),Kn=a.useMemo(()=>Wv(nt,g,N),[N,nt,g]),Gn=a.useCallback((l,y)=>{if(y.source==="component"){const Dt={path:y.path,kind:"component",name:y.name,component:{kind:"component",name:y.component.name,sourcePath:y.component.path,exportKind:y.component.defaultExport?"default":"named",surface:y.component.surface}};l.dataTransfer.setData("text/plain",y.name),l.dataTransfer.setData("application/x-editor-asset",JSON.stringify(Dt));return}if(y.source==="document"||y.source==="available"){if("dataTransfer"in l){l.dataTransfer.setData("text/plain",y.path);return}return}const{entry:x}=y,b=je(x.name);if(y.root===Wt){l.preventDefault(),at(`${x.name} is reference material. ${cr}`);return}if(y.spritesheet){l.preventDefault(),at(`${x.name} is one frame of the ${y.spritesheet.sheetPath.split("/").pop()??"sprite sheet"} sprite sheet — it is placed through the Prefab that animates it, not on its own. Drop a Prefab, or a standalone image file.`);return}if(x.type!=="file"||!b.placeable){l.preventDefault();return}const F=wn(b);if(!F)return;const Ae={path:Av(w,jt(y.path),x.name),kind:F,name:x.name};l.dataTransfer.setData("text/plain",x.name),l.dataTransfer.setData("application/x-editor-asset",JSON.stringify(Ae))},[w]),dn=a.useCallback((l,y)=>{let x=new Set;if(y.shiftKey&&Be){const rt=nt.findIndex(Kt=>Kt.key===Be),wt=nt.findIndex(Kt=>Kt.key===l.key);if(rt>=0&&wt>=0){const[Kt,za]=rt<wt?[rt,wt]:[wt,rt];x=new Set(nt.slice(Kt,za+1).map(Ba=>Ba.key))}}else y.metaKey||y.ctrlKey?(x=new Set(Ie),x.has(l.key)?x.delete(l.key):x.add(l.key),Le(l.key)):(x.add(l.key),Le(l.key));if(ce(x),l.source==="component"){if(l.component.contentKind==="image"&&l.authoringAsset){Gt({path:l.authoringAsset.subject.sourcePath??l.path,name:l.name,kind:"image",capabilities:je("svg"),health:"healthy",selectionCount:x.size});return}Gt({path:l.path,name:l.name,kind:"component",health:"healthy",selectionCount:x.size,componentPreview:{surface:l.component.surface,sourcePath:l.component.path}});return}if(l.source==="document"||l.source==="available"){Gt({path:`/${l.path}`,name:l.name,kind:"source",capabilities:je(l.name),origin:"project",health:"healthy",selectionCount:x.size});return}const{entry:b}=l;if(b.type==="directory"){St();return}const F=je(b.name),B=wn(F)??"unknown",Ae=Vn(l.root,l.path);if(Gt({path:Ae,name:b.name,kind:B,...b.size===void 0?{}:{sizeBytes:b.size},capabilities:F,health:Pr(b.name),selectionCount:x.size,...l.path.startsWith("asset-library/local")?{sourcePath:"Asset Library provenance metadata"}:{}}),l.root!=="public")return;const Dt=l.path;yv(yr(),Dt).then(rt=>{const wt=Ae;xd()?.path===wt&&Gt({path:wt,name:b.name,kind:B,...b.size===void 0?{}:{sizeBytes:b.size},capabilities:F,health:rt.health.status==="healthy"?"healthy":F.runtimeReady?"unsupported":"source-only",healthCodes:rt.health.codes,dependencies:rt.dependencies,references:rt.references,selectionCount:x.size})}).catch(()=>{})},[nt,Ie,Be]),Ut=a.useCallback(l=>{if(l.source==="component"){if(l.authoringAsset){Sd(l.authoringAsset.id,l.authoringAsset.subject);return}l.contentSource.open(t,l.contentEntry,l.name);return}if(l.source==="available"){zr(l.available.descriptor.id);return}if(l.source==="document"){if(l.document.kind==="scene"){const y=Ed(l.document.id);y.ok||ue.error(y.error,"scene");return}jd(l.document)||gn(`/${l.path}`,kd(l.document));return}zv(l,{currentRoot:w,currentPath:l.source==="asset"?jt(l.path):"",navigate:lt,openAsset:(y,x)=>gn(y,x)})},[w,lt,t]),bt=a.useCallback(l=>{if(we(y=>y+1),It.current.clear(),l?.length)for(const y of l)Xo(y);else Xo();et(y=>y+1),Re(w,h),g==="content"&&Ue()},[w,h,Ue,Re,g]);a.useEffect(()=>{const l=y=>bt(y.detail?.paths);return window.addEventListener("editor:assets-changed",l),()=>window.removeEventListener("editor:assets-changed",l)},[bt]),a.useEffect(()=>{const l=y=>{const x=y.detail?.path;if(!x)return;const b=je(x),F=wn(b);F&&gn(x,F)};return window.addEventListener("editor:open-project-asset",l),()=>window.removeEventListener("editor:open-project-asset",l)},[t]);const Oe=a.useMemo(()=>Ke.filter(l=>Ie.has(l.key)),[Ke,Ie]),m=a.useMemo(()=>Oe.flatMap(l=>l.source==="asset"&&l.entry.type==="file"&&l.root==="public"?[l.path]:[]),[Oe]),S=a.useMemo(()=>Oe.flatMap(l=>l.source==="asset"&&l.entry.type==="file"?[br(l.root,l.path)]:[]),[Oe]);a.useEffect(()=>{const l=new Set(Ke.map(y=>y.key));ce(y=>{const x=new Set([...y].filter(b=>l.has(b)));return y.size>0&&x.size===0&&(Le(null),St()),x.size===y.size?y:x})},[Ke]);const j=a.useCallback(async l=>{await gv(l,{backend:yr(),history:p}),It.current.clear(),w==="public"&&await Re(w,h),g==="content"&&await Ue()},[h,w,Ue,Re,p,g]),L=a.useCallback(async()=>{m.length!==0&&Jm("delete",`Delete ${m.length} selected asset(s)? This is undoable.`)&&(await j({type:"delete",paths:m}),ce(new Set),Le(null),St())},[j,m]),X=a.useCallback(()=>{m.length!==0&&Ee({title:`Move ${m.length} selected to folder`,initial:h,confirmLabel:"Move",run:async l=>{const y=l.replace(/^\/+|\/+$/g,"");se(null);try{await j({type:"move-many",moves:m.map(x=>({source:x,destination:y?`${y}/${x.split("/").pop()}`:x.split("/").pop()}))})}catch(x){se(x instanceof Error?x.message:String(x))}}})},[Ee,h,j,m]),V=a.useCallback(()=>{w==="public"&&Ee({title:"New folder name",initial:"",confirmLabel:"Create",run:async l=>{l&&await j({type:"create-folder",path:h?`${h}/${l}`:l})}})},[Ee,h,w,j]),q=a.useCallback(async l=>{if(!l||l.length===0)return;const y=g==="content"||w!=="public"?"":h,x=await Promise.all([...l].map(async b=>({path:y?`${y}/${b.name}`:b.name,bytes:new Uint8Array(await b.arrayBuffer())})));se(null);try{await j({type:"import",files:x})}catch(b){se(`Could not import ${x.length===1?x[0]?.path:`${x.length} files`}: ${b instanceof Error?b.message:String(b)}`);return}g==="content"&&Bt("files"),lt("public",y),at(x.length===1?`Imported ${x[0]?.path}`:`Imported ${x.length} files`)},[Bt,h,w,j,lt,g]),K=a.useCallback(l=>{if(!(l.source!=="asset"||l.entry.type!=="file")){if(l.root!=="public"){at(`${l.name} is reference material. ${cr}`);return}Ee({title:`Rename ${l.name}`,initial:l.name,confirmLabel:"Rename",run:async y=>{if(!y||y===l.name)return;const x=l.path,b=jt(l.path),F=b?`${b}/${y}`:y;await j({type:"move",source:x,destination:F})}})}},[Ee,j]),z=a.useCallback(async l=>{if(l.source!=="asset"||l.entry.type!=="file")return;if(l.root!=="public"){at(`${l.name} is reference material. ${cr}`);return}const y=l.name.lastIndexOf("."),x=y>0?`${l.name.slice(0,y)} copy${l.name.slice(y)}`:`${l.name} copy`,b=l.path,F=jt(l.path),B=F?`${F}/${x}`:x;await j({type:"duplicate",source:b,destination:B})},[j]),_e=a.useCallback(l=>{Pt(y=>{const x=new Set(y);return x.has(l)?x.delete(l):x.add(l),x})},[]);a.useEffect(()=>{const l=y=>{const x=y.detail?.id,b=Oe[0];x===de.refresh.id?bt():x===de.import.id?zt.current?.click():x===de.createFolder.id?V():x===de.move.id?X():x===de.delete.id?L():x===de.rename.id&&b?K(b):x===de.duplicate.id&&b?z(b):x===de.copyPath.id&&S[0]?navigator.clipboard.writeText(S[0]):x===de.reveal.id&&S[0]&&To(S[0])};return window.addEventListener("editor:project-asset-command",l),()=>window.removeEventListener("editor:project-asset-command",l)},[V,h,L,z,X,bt,K,Oe,S]);const ae=C?.item.source==="available"&&C.item.available.descriptor.preview?C.item:null;return o.jsxs("div",{ref:fe,className:"volter-asset-browser","data-tree-visible":g==="files"&&O,onPointerDown:()=>Gs("asset-browser"),onKeyDown:l=>{if(!Cd(l.target)){if(l.key==="Delete"||l.key==="Backspace")L(),l.preventDefault();else if((l.metaKey||l.ctrlKey)&&l.key.toLowerCase()==="d"){const y=Oe[0];y&&z(y),l.preventDefault()}else if(l.key==="F2"){const y=Oe[0];y&&K(y),l.preventDefault()}}},onDragOver:l=>{w!=="public"||!l.dataTransfer.types.includes("Files")||(l.preventDefault(),l.dataTransfer.dropEffect="copy",ze||Te(!0))},onDragLeave:l=>{l.currentTarget.contains(l.relatedTarget)||Te(!1)},onDrop:l=>{w!=="public"||!l.dataTransfer.types.includes("Files")||(l.preventDefault(),Te(!1),q(l.dataTransfer.files))},style:{display:"flex",flex:1,minHeight:0,position:"relative",...ze?{outline:`2px dashed ${Q.accent.default}`,outlineOffset:-2}:{}},children:[o.jsx(sy,{currentRoot:w,currentPath:h,expanded:ge,hidden:g!=="files"||!O,revision:ct,loadAssets:e.listAssets,onExpanded:_e,onNavigate:lt}),o.jsxs("div",{style:{flex:1,display:"flex",flexDirection:"column",minWidth:0,minHeight:0},children:[o.jsx(nn,{ref:zt,type:"file",multiple:!0,"aria-label":"Import project assets",hidden:!0,onChange:l=>{q(l.target.files),l.currentTarget.value=""}}),o.jsx(oy,{availableFacets:Un,scope:g,facets:N,currentPath:h,currentRoot:w,searchOpen:I,searchQuery:Ve,viewMode:W,density:pe,treeVisible:O,onScopeChange:Bt,onFacetToggle:Bn,onFacetsClear:()=>d([]),onNavigate:lt,onSearchOpenChange:Tt,onSearchQueryChange:xe,onViewModeChange:ne,onDensityChange:oe,onTreeVisibilityToggle:Pe,onCreateFolder:()=>void V(),onImport:()=>zt.current?.click(),onDelete:()=>void L(),deleteDisabled:m.length===0,onRefresh:bt,generationTools:T,onGenerate:()=>{Ct("generation",t,{kind:"generation",id:"create"})}}),tt&&o.jsx("div",{role:"alert",className:"volter-asset-operation-error",children:tt}),We&&o.jsxs("form",{className:"volter-asset-inline-prompt",style:{display:"flex",alignItems:"center",gap:6,padding:"6px 8px"},onSubmit:l=>{l.preventDefault();const y=We;He(null),y.run(vt.trim())},children:[o.jsx("span",{style:{fontSize:12},children:We.title}),o.jsx(nn,{autoFocus:!0,"aria-label":We.title,value:vt,onChange:l=>Se(l.target.value),onKeyDown:l=>{l.key==="Escape"&&He(null)}}),o.jsx(te,{type:"submit",size:"compact",children:We.confirmLabel}),o.jsx(te,{type:"button",variant:"ghost",size:"compact",onClick:()=>He(null),children:"Cancel"})]}),m.length>0&&o.jsxs(Tn,{label:"Selected asset actions",compact:!0,children:[o.jsxs("span",{children:[m.length," selected"]}),o.jsx(te,{variant:"ghost",size:"compact",onClick:()=>void X(),children:"Move selected"}),o.jsx(te,{variant:"ghost",size:"compact","aria-label":"Delete selected assets",onClick:()=>void L(),children:"Delete"})]}),o.jsxs("div",{className:"volter-project-assets-results","data-view":W,"data-testid":"project-asset-results",role:"listbox","aria-label":g==="content"?"Project content":"Project files","aria-multiselectable":"true",style:{flex:1,overflowY:"auto",padding:8,display:W==="list"?"flex":"grid",gridTemplateColumns:W==="grid"?`repeat(auto-fill, minmax(${Math.round(pe*.75)}px, 1fr))`:void 0,gridAutoRows:W==="list"?void 0:"min-content",flexDirection:W==="list"?"column":void 0,gap:W==="list"?1:6,alignContent:"start"},children:[Kn.map(l=>o.jsxs("div",{role:"group","aria-label":l.label??void 0,className:"volter-content-result-section",children:[l.label&&o.jsx("div",{role:"presentation",className:"volter-content-section-heading","data-level":l.headingLevel??void 0,"data-testid":`content-section-${l.id}`,children:o.jsx("span",{children:l.label})}),l.entries.map(y=>o.jsx(ry,{item:y,selected:Ie.has(y.key),onDragStart:Gn,onSelect:dn,onOpen:Ut,onContextMenu:(x,b)=>{x.preventDefault(),b.source!=="component"&&(Ie.has(b.key)||dn(b,x),$({x:x.clientX,y:x.clientY,item:b}))},viewMode:W,previewRevision:mt,showPath:g==="content"},y.key))]},l.id)),nt.length===0&&o.jsx(Rd,{compact:!0,style:{gridColumn:"1 / -1"},icon:o.jsx(G,{icon:At?Zt.status.warning:Ve?Zt.action.search:Zt.content.folder}),title:ye?"Finding project content…":At?"Listing failed":Ve?"No matching content":g==="content"?"No content in this type":"Empty folder",description:ye?"Scanning components and assets across the project.":At?`Listing failed: ${At}`:Ve?"Try a broader search or another content type.":g==="content"?"Choose another type or import an asset.":"Add files to this folder to see them here."})]})]}),ae&&C&&o.jsx(vr,{children:o.jsxs(Vt,{autoFocusFirst:!0,className:"volter-asset-context-menu",style:{left:C.x,top:C.y},onDismiss:()=>$(null),children:[o.jsxs(Z,{type:"button",role:"menuitem",onClick:()=>{Ut(ae),$(null)},children:["Open ",o.jsx("kbd",{children:"Enter"})]}),ae.available.category==="scene"&&o.jsxs(o.Fragment,{children:[o.jsx(Z,{type:"button",role:"menuitem",onClick:()=>{const l=ae.available.descriptor.id;$(null),ts(l,!1).then(()=>et(y=>y+1)).catch(y=>se(y instanceof Error?y.message:String(y)))},children:"Use current view for preview"}),o.jsx(Z,{type:"button",role:"menuitem",onClick:()=>{const l=ae.available.descriptor.id;$(null),ts(l,!0).then(()=>et(y=>y+1)).catch(y=>se(y instanceof Error?y.message:String(y)))},children:"Reset preview view"})]}),o.jsx(Z,{type:"button",role:"menuitem",onClick:()=>{$(null),et(l=>l+1)},children:"Refresh preview"})]})}),C&&C.item.source==="asset"&&o.jsx(vr,{children:o.jsxs(Vt,{autoFocusFirst:!0,className:"volter-asset-context-menu",style:{left:C.x,top:C.y},onDismiss:()=>$(null),children:[o.jsxs(Z,{type:"button",role:"menuitem","data-command-id":de.open.id,onClick:()=>{Ut(C.item),$(null)},children:["Open ",o.jsx("kbd",{children:"Enter"})]}),o.jsxs(Z,{type:"button",role:"menuitem","data-command-id":de.rename.id,onClick:()=>{K(C.item),$(null)},children:["Rename ",o.jsx("kbd",{children:"F2"})]}),o.jsxs(Z,{type:"button",role:"menuitem","data-command-id":de.duplicate.id,onClick:()=>{z(C.item),$(null)},children:["Duplicate ",o.jsx("kbd",{children:"⌘D"})]}),o.jsx(Z,{type:"button",role:"menuitem","data-command-id":de.move.id,disabled:m.length===0,title:m.length?"Move selected assets":"Select a file to move",onClick:()=>{X(),$(null)},children:"Move selected…"}),o.jsx(Z,{type:"button",role:"menuitem","data-command-id":de.copyPath.id,disabled:!S[0],onClick:()=>{S[0]&&navigator.clipboard.writeText(S[0]),$(null)},children:"Copy path"}),Os("asset").map(l=>{const y=C.item.source==="asset"&&C.item.entry.type==="file",x=C.item.source==="asset"?{assetPath:br(C.item.root,C.item.path)}:{};return o.jsx(Z,{type:"button",role:"menuitem","data-testid":l.testId,disabled:!y||(l.disabled?.(x)??!1),onClick:()=>{l.execute(x),$(null)},children:typeof l.label=="function"?l.label():l.label},l.id)}),o.jsx(Z,{type:"button",role:"menuitem","data-command-id":de.reveal.id,disabled:!S[0],onClick:()=>{S[0]&&To(S[0]),$(null)},children:"Reveal in Finder"}),o.jsxs(Z,{type:"button",role:"menuitem","data-command-id":de.delete.id,disabled:m.length===0,onClick:()=>{L(),$(null)},children:["Delete ",o.jsx("kbd",{children:"⌫"})]})]})})]})}const cy={agent:()=>o.jsx(Qn,{slot:"panel:agent"}),"project-work":()=>o.jsx(Qn,{slot:"panel:project-work"}),hierarchy:Ea,assets:({dependencies:e})=>o.jsx(iy,{services:e?.assets}),"asset-library":()=>o.jsx(Qn,{slot:"panel:asset-library"}),inspector:Gr};class ly extends a.Component{state={error:null};static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,n){ue.error(`The ${this.props.title} panel crashed and was taken down alone (the rest of the editor stays up; Retry in the panel remounts it): ${t.message}
|
|
10
|
+
${n.componentStack??""}`,"editor")}render(){return this.state.error?o.jsxs("div",{role:"alert","data-testid":"static-panel-crashed",style:{padding:12,display:"grid",gap:8,alignContent:"start"},children:[o.jsxs("strong",{children:[this.props.title," crashed."]}),o.jsx("span",{style:{opacity:.8,wordBreak:"break-word"},children:this.state.error.message}),o.jsx("div",{children:o.jsx(te,{type:"button",variant:"outline",size:"compact",onClick:()=>this.setState({error:null}),children:"Retry"})})]}):this.props.children}}const dy=Zs.map(e=>{const t=cy[e.kind],n=r=>o.jsx(ly,{title:e.title,children:o.jsx(t,{...r})});return n.displayName=`StaticPanel(${e.kind})`,{...e,Content:n}});function uy(e){return dy.find(t=>t.kind===e)}function py({kind:e,dependencies:t}){const{Content:n}=uy(e);return o.jsx(n,{dependencies:t})}const fy=250;function hy(){const e=Yd(),t=my();return()=>{t(),e()}}function my(){const e=new Map;let t=null,n=!1;function r(){const c=[],u=new Set;for(const f of ue.getEntries()){if(u.add(f.id),f.level!=="error"&&f.level!=="warn")continue;const p=e.get(f.id)??0;f.count<=p||(e.set(f.id,f.count),c.push({severity:f.level,message:f.message,source:f.source??null,occurrences:f.count-p}))}for(const f of[...e.keys()])u.has(f)||e.delete(f);return c}function s(){if(t=null,n)return;const c=r();c.length!==0&&Ao("console-entries",{entries:c,_clientId:Do})}const i=ue.subscribe(()=>{if(n)return;const c=ue.getEntries(),u=c[c.length-1];if(u&&u.level==="error"&&!e.has(u.id)){t!==null&&clearTimeout(t),t=null,queueMicrotask(s);return}t===null&&(t=setTimeout(s,fy))});return Ao("console-entries",{entries:[],_clientId:Do}),s(),()=>{n=!0,t!==null&&clearTimeout(t),i()}}function vy(){const e=$t();if(e===null)return null;const t=Qs(e);if(typeof t!="object"||t===null)return null;const n=t.stageMode;if(typeof n!="function")return null;const r=n.call(t);return typeof r=="string"?r:null}let Ir=null;function yy(e){Ir=e}function os(){if(!Ir)throw new Error("The workbench Output service is not connected.");return Ir}function gy(){Jd($t),qd({output:{write:(...e)=>os().write(...e),show:e=>os().show(e)},console:{log:(e,t)=>ue.log(e,t),warn:(e,t)=>ue.warn(e,t),error:(e,t)=>ue.error(e,t)},live:{register:ap,mounted:sp,playing:op,runWindow:rp,restartRequired:np,restart:tp,subscribe:ep,version:Qu,notifyChanged:Zu,snapshotFrame:Xu,frameCanvas:Ju,authoringRefusal:qu,dispatch:Yu,scenes:Gu,surface:Ku,coverage:Uu},viewport:{transition:{begin:Bu,ready:zu,end:Hu,onSettled:Wu,phase:Vu}},hierarchy:{subscribe:e=>{const t=un(e),n=le()?.subscribe(e);return()=>{t(),n?.()}},version:()=>{const e=le();return e?.getShellSnapshot?.()??e?.getSnapshot()??0}},session:{beginWork:Fu,reportFacet:Mu,onSample:$u,onCommandDispatched:Ou,playState:()=>le()?.playState??"stopped",playEditRegime:()=>le()?.playEditRegime??null,subscribe:e=>{const t=un(e),n=le()?.subscribe(e);return()=>{t(),n?.()}},version:()=>{const e=le();return e?.getShellSnapshot?.()??e?.getSnapshot()??0},open:()=>le()!==null,onEnded:e=>Sp(t=>{t!==null&&e()}),onBeforeClose:Lu,reportWorkerCallMeter:Nu},project:{documentTable:Du,mounts:Au,engineVersion:()=>Ce()?.config.engine.version??null,subscribe:$r,onReady:_u},notify:e=>Rn(e),systems:{inspected:Tu,subscribe:Iu,inspectedNetworking:Pu,subscribeNetworking:Cu,inspectedAudio:()=>xp()??null,subscribeAudio:Ru,audioVersion:ku},availability:{subscribe:ea,version:ju},workspace:{showUtility:Eu,openContributedDocument:e=>wp(e),open:async e=>await Ts(e.kind,le()??{},e)!==null,liveDocument:{id:Su,register:xu,acquire:wu,release:bu,open:gu,container:yu,setContainer:vu,releaseContainer:mu}},documents:{activeId:$t,active:()=>{const e=An();return e?{id:e.descriptor.id,kind:e.descriptor.kind,title:e.title}:null},subscribe:De,version:Me,context:Qs,waitForContext:hu,contextChanged:fu,captureActive:e=>{const t=le();return t?bp(t,e):Promise.reject(new Error("No editor session is open to capture a document from."))}},transport:{for:e=>gp(e),subscribe:pu},projectLocalState:{ready:Yr,read:Fn,write:Mn,projectRootPath:()=>Ce()?.rootPath??null},history:{record:uu,setDelegate:du,onElement:lu,invalidate:cu,onInvalidated:iu,changed:au,elements:su,focusedResource:()=>{const e=An();if(!e)return null;const t=e.descriptor.provenance?.sourcePath;if(t)return t;const n=le();return n?vp(n)??yp(n):null},undo:()=>le()?.projectHistory?.undo()??Promise.resolve(!1),redo:()=>le()?.projectHistory?.redo()??Promise.resolve(!1),canUndo:()=>le()?.projectHistory?.getSnapshot().canUndo??!1,canRedo:()=>le()?.projectHistory?.getSnapshot().canRedo??!1,undoLabel:()=>le()?.projectHistory?.getSnapshot().undoLabel??null,redoLabel:()=>le()?.projectHistory?.getSnapshot().redoLabel??null,subscribe:e=>{const t=mp(e),n=un(e),r=le()?.projectHistory?.subscribe(e),s=De(e);return()=>{t(),n(),r?.(),s()}}},files:{setProvider:ou,read:e=>$e.read(e),readBytes:e=>$e.readBytes(e),write:(e,t)=>$e.write(e,t),exists:e=>$e.exists(e),list:e=>$e.list(e),watch:e=>$e.watch(e)},settings:{setProvider:ru,get:nu,set:tu,inspect:eu,subscribe:e=>{const t=hp(e),n=ta(e);return()=>{t(),n()}}},keyboard:{actions:()=>fp().map(({id:e,scope:t})=>({id:e,scope:t})),keymaps:()=>up().map(({id:e,title:t})=>({id:e,title:t,chords:pp(e)})),activeKeymap:Qd,invoke:e=>dp(e),subscribe:e=>{const t=lp(e),n=Ns(e),r=un(e),s=le()?.subscribe(e),i=De(e);return()=>{t(),n(),r(),s?.(),i()}},version:()=>cp()+Me(),stage:()=>{const e=le();return e?{surface:ip(e).surface,mode:vy()}:{surface:null,mode:null}},bindActions:Zd,chordsFor:Xd,shortcutFor:e=>Ls(e)??null}})}let by=0,sn=null;const Tr=new Set;function ss(e){const t={generation:++by,promise:e,active:!0};sn=t;for(const n of Tr)n(t);return Tr.clear(),t}function wy(){const e=sn;return e?.active?Promise.resolve(e):new Promise(t=>Tr.add(t))}async function zn(){for(;;){const e=await wy();if(await e.promise,sn===e&&e.active)return}}const Da=16,xy=300,Sy=1e4,Na="workspace";function Ey(){const e=Fn(Na);return!e||e.version!==Da?null:e}function jy(e){Mn(Na,e)}function ky(e){const{descriptor:t}=e;if(!t.persist)return null;let n;try{n=t.persist({id:t.id,title:e.title})}catch{return null}if(n==null)return null;const r=Np(t.id);return{kind:t.kind,id:t.id,state:n,...Object.keys(r).length>0?{presentation:r}:{}}}function Ry(){const e={};let t=!1;for(const n of ra()){if(!n.persistKindState)continue;let r;try{r=n.persistKindState()}catch{continue}r!=null&&(e[n.kind]=r,t=!0)}return t?e:void 0}function Cy(){const e=[];for(const n of ht()){const r=ky(n);r&&e.push(r)}const t=Ry();return{version:Da,workspace:Dp(),documents:{open:e,activeId:$t(),...t?{kinds:t}:{}}}}async function Py(e,t,n){for(const r of sa(t.kind))try{if(await r.restore({id:t.id,state:t.state,active:t.id===n&&!Xr(),store:e}))return!0}catch{}return!1}function as(e){if(!e)return!1;const t=!Xr();return zr(e,t)?!0:Tp.has(e)?(oa(e),t&&_p(e),!0):t&&Hr(e)}function Iy(e,t){const n=t?.kinds??{},r=(t?.open.length??0)>0;for(const s of ra())if(s.beginRestore)try{s.beginRestore({state:n[s.kind],hasDocumentsToRestore:r,documentsToRestore:(t?.open??[]).map(i=>({kind:i.kind,state:i.state})),store:e})}catch{}}function Ty(e){const t=new Set;for(const n of e)for(const r of sa(n.kind))r.prepare&&t.add(r.prepare);return Promise.all([...t].map(n=>n().catch(()=>{})))}async function _y(e,t){const n=t?.documents;if(Iy(e,n),!n||n.open.length===0){as(n?.activeId??null);return}await Ty(n.open);for(const r of n.open){const s=r.presentation;s&&typeof s=="object"&&!Array.isArray(s)&&Ip(r.id,s),await Py(e,r,n.activeId)}as(n.activeId)}function La(e){if(!Yr()||Ce()&&!gr()){let P=!1,g=null,A=()=>{};const N=new Promise(h=>{A=h}),d=ss(N);return Promise.all([Ep(),Wr()]).then(()=>{if(P){A();return}g=La(e),d.active=!1,zn().finally(A)}),()=>{P=!0,g?.()}}const t=Ey();t?.workspace&&jp(t.workspace)&&kp(t.workspace)?wr(t.workspace):(t?.workspace&&Rp(t.workspace),wr(Cp(),{provisional:!0}));let n=!1,r=null;const s=[],i=()=>{r!==null&&(clearTimeout(r),r=null),!(Ap()||e.playState!==void 0&&e.playState!=="stopped")&&jy(Cy())},c=()=>{r!==null&&clearTimeout(r),r=setTimeout(i,xy)},u=()=>i();let f=null;const p=typeof window<"u"&&na(window.location.href)!==null,v=p||!(t?.documents?.open.length??0)?Promise.resolve():kn().catch(()=>{}),k=v.then(()=>p?void 0:_y(e,t)).catch(()=>{}),T=new Promise(P=>{v.then(()=>{n||(f=setTimeout(()=>{P()},Sy))})}),R=Promise.race([k,T]).then(()=>{f!==null&&clearTimeout(f),!n&&(s.push(De(c)),s.push(Pp(c)),window.addEventListener("pagehide",u))}),w=ss(R);return()=>{n=!0,w.active=!1,sn===w&&(sn=null),f!==null&&clearTimeout(f);for(const P of s)P();window.removeEventListener("pagehide",u),r!==null&&i()}}function Ay(e){a.useEffect(()=>{const t=na(window.location.href);if(!t)return;let n=!1;const r=Ft(),s=()=>!n&&Ft()===r;return zn().then(()=>{if(s())return ks(e,t,{updateUrl:!1,origin:"link"})}).catch(i=>{ue.error(`Could not restore shared editor view: ${i instanceof Error?i.message:String(i)}`,"editor")}),()=>{n=!0}},[e])}const is="volter:stale-chunk-reload";async function Dy(e,t,n=fetch){if(!e||typeof e!="object"||!("message"in e)||typeof e.message!="string")return!1;const r=/^(?:Failed to fetch dynamically imported module:|error loading dynamically imported module:|Unable to preload CSS for)\s*(\S+)\s*$/.exec(e.message);if(!r)return!1;try{const s=new URL(t),i=new URL(r[1],s),c=/-[\w-]{8,}\.(?:js|css)$/;if(!/^https?:$/.test(s.protocol)||!c.test(s.pathname)||i.origin!==s.origin||!c.test(i.pathname)||new URL(".",i).href!==new URL(".",s).href)return!1;const u=await n(i.href,{method:"HEAD",cache:"no-store"});return u.status===404||u.status===410}catch{return!1}}function Ny(){if(typeof window>"u")return;let e=!1,t=!1;window.addEventListener("vite:preloadError",async n=>{if(e||t)return;let r=0;try{r=Number(sessionStorage.getItem(is)??0)}catch{}if(Date.now()-r<6e4)return;e=!0;let s;try{s=await Dy(n.payload,import.meta.url)}finally{e=!1}if(s){t=!0;try{sessionStorage.setItem(is,String(Date.now()))}catch{}window.location.reload()}})}function Ly(e,t){const n=[];for(const r of Object.keys(t).sort())n.push(`${r}=${Oy(t[r])}`);return`${e}|${n.join("&")}`}function Oy(e){if(typeof e=="function")return"fn";if(typeof e=="symbol")return"symbol";if(e===void 0)return"undefined";try{return JSON.stringify(e)??"undefined"}catch{return`[${typeof e}]`}}const On=new Map,mn=new Map,cs=new WeakMap;let ls=Promise.resolve(),ds=null,$y=1;function My(){return typeof WebGLRenderingContext<"u"&&typeof navigator<"u"&&!navigator.userAgent.toLowerCase().includes("jsdom")}async function Fy(){await Promise.race([Mr(),new Promise(e=>setTimeout(e,5e3))]),await Promise.race([new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(()=>e()))),new Promise(e=>setTimeout(e,250))]),await new Promise(e=>setTimeout(e,750)),await new Promise(e=>{const t=globalThis.requestIdleCallback;if(typeof t=="function"){t(()=>e(),{timeout:2e3});return}setTimeout(e,0)})}function Vy(){return ds??=Fy(),ds}function Wy(e){const t=cs.get(e);if(t!==void 0)return t;const n=$y++;return cs.set(e,n),n}function Hy(e,t,n,r){const s=On.get(e);if(s)return Promise.resolve(s);const i=mn.get(e);if(i)return i;const c=ls.then(async()=>{await Vy();const u=n.parameters.layout,f=u==="fullscreen"||u==="padded"||u==="centered"?u:"padded",p={...r,props:n.args,layout:f},v=Lp(t==="canvas"?"canvas":"three");if(!v)throw new Error(`No ${t} story capture is registered.`);return v(n.Component,p)});return ls=c.then(()=>{},()=>{}),mn.set(e,c),c.then(u=>{On.set(e,u),mn.delete(e)},()=>mn.delete(e)),c}function zy({component:e,story:t,previewRevision:n,width:r=128,height:s=96}){const i=t.Component,c=`${e.surface}:${e.path}:${Ly(t.id,t.args)}:${Wy(i)}:${n}:${r}x${s}`,[u,f]=a.useState(()=>On.get(c)),[p,v]=a.useState(!1);return a.useEffect(()=>{let k=!1;if(v(!1),f(On.get(c)),!!My())return Hy(c,e.surface,t,{width:r,height:s}).then(T=>{k||f(T)},()=>{k||v(!0)}),()=>{k=!0}},[e.surface,s,c,t,r]),u?o.jsx("img",{src:u,alt:`${e.name} preview`,className:"volter-component-thumbnail"}):o.jsx("span",{className:"volter-component-thumbnail-fallback","data-component-preview":p?"failed":"capturing-story",children:o.jsx(rn,{kind:"component",name:e.name})})}function By(e,t){return e.surface==="dom"?!1:t===null||e.surface===t}function Uy({entry:e,previewRevision:t,width:n,height:r}){const s=e.detail;return o.jsx(zy,{component:e.component,story:s,previewRevision:t,...n===void 0?{}:{width:n},...r===void 0?{}:{height:r}})}const Ky="story",Gy={id:Ky,owner:"./component-content-source",entries(e){const t=Qr(),n=[];for(const r of e.components){if(!By(r,e.surface))continue;const s=Op(t,r.name,r.path);s&&n.push({id:`${r.path}:${r.name}`,component:r,detail:s})}return n},subscribe:Zr,Thumbnail:Uy,open(e,t,n){const r=t.detail,s=t.component.surface==="three";Ct(s?Wn:Hn,e,s?{modulePath:r.modulePath,storyName:r.name,title:n}:{modulePath:r.modulePath,storyName:r.name})}};function us(e){return $p(e.name,e.sourcePath)}const Yy={id:"portable-csf",owner:"./component-states",statesFor:(e,t)=>t.surface==="dom"?[]:us(e).map(n=>({id:n.id,label:n.label})),apply:(e,t,n)=>{const r=us(e).find(s=>s.id===t);if(r){if(n.surface==="three"){Ct(Wn,n.store,{modulePath:r.modulePath,storyName:r.name,title:r.label});return}if(n.surface==="canvas"){Ct(Hn,n.store,{modulePath:r.modulePath,storyName:r.name});return}ue.warn(`[portable-csf] no story document is registered for the "${n.surface}" surface, so state "${t}" of "${e.name}" could not be opened.`,"authoring")}}};function qy(){let e=0,t=!1;const n=p=>{const v=++e;Vp(),Mr().then(()=>{if(!(t||v!==e))return Wp(Ce(),void 0,{deferUndeclared:!0,...p?{changedPaths:p}:{}})})};n();let r=null,s=new Set;const c=Mp(p=>{const v=/(?:^|\/)(src\/.+\.(?:[cm]?tsx?|jsx?))$/.exec(p);v&&(s.add(v[1]??p),r!==null&&clearTimeout(r),r=setTimeout(()=>{r=null;const k=s;s=new Set,n(k)},1e3))}),u=$r(()=>n()),f=Fp(n);return()=>{t=!0,e+=1,r!==null&&clearTimeout(r),c(),u(),f()}}const Oa="story",lr=new Set,dr=new Set;function Jy(e){const t=Jp({modulePath:e.modulePath,title:e.title}).leaf;return t===e.label?t:`${t} · ${e.label}`}function ur(e){for(const t of Qr())if(t.ok){for(const n of t.stories)if(e.storyId===void 0?t.modulePath===e.modulePath&&n.name===e.storyName:n.id===e.storyId)return{modulePath:t.modulePath,storyName:n.name,title:e.title??Jy({modulePath:t.modulePath,title:n.title,label:n.label})}}return null}function Xy(e,t,n){const r={modulePath:n.modulePath,storyName:n.storyName,title:n.title,...t.activate===void 0?{}:{activate:t.activate}};if(t.mode==="docs")return Ct(Yp,e,r);const s=aa({modulePath:n.modulePath,regions:ia()});return s.medium===void 0?(qp(n.modulePath,s.reason),null):Ct(s.medium==="three"?Wn:Hn,e,r)}function ps(e){ue.warn(`No composed portable story carries the id ${JSON.stringify(e)}, so nothing opened it.`,"editor")}function Zy(){return Hp({id:Oa,owner:"./story-opener",open:(e,t)=>{const n=ur(t);return n?Xy(e,t,n):(t.modulePath?lr.add(t.modulePath):t.storyId!==void 0&&(dr.add(t.storyId),Xp()&&ps(t.storyId)),null)},settle:async()=>{await Up();const e=[...lr],t=[...dr];if(lr.clear(),dr.clear(),await Promise.all(e.map(n=>Kp(Ce(),n))),t.length!==0){await Gp();for(const n of t)ur({storyId:n})||ps(n)}},ready:async(e,t)=>{if(t.mode==="docs")return;const n=ur(t);if(!(!n||aa({modulePath:n.modulePath,regions:ia()}).medium!=="three")&&!await zp(()=>an(e)!==null,Bp))throw new Error(`The requested Object3D view did not mount for document: ${e}`)}})}const Qy={actions:()=>{if(!No(Hn)&&!No(Wn))return[];const e=[];for(const t of Qr()){if(!t.ok)continue;const n=t.modulePath.split("/").pop()??t.modulePath;for(const r of t.stories)e.push({id:`story:${r.id}`,label:`Open Story: ${r.name} — ${n}`,execute:()=>void he().workspace.open({kind:Oa,modulePath:t.modulePath,storyName:r.name,title:r.name})})}return e},subscribe:e=>Zr(e)},eg="packages/editor-core/src/stories/story-capture-command.ts",Nt="capture-story-variants";async function tg(e){if(document.visibilityState==="hidden")return{ok:!1,error:"story capture needs a PRESENTING tab — the editor tab is hidden, so the browser suspends the frames a story mount must paint. Bring the editor tab to the foreground (or unminimize its window) and re-run."};const t=e.modulePath;if(typeof t!="string"||t==="")return{ok:!1,error:`${Nt} requires a project-relative modulePath.`};const n=e.story;if(n!==void 0&&typeof n!="string")return{ok:!1,error:`${Nt} story must be a CSF export name.`};const r=(s,i,c)=>{if(s===void 0)return i;if(typeof s!="number"||!Number.isInteger(s)||s<64||s>1024)throw new Error(`${Nt} ${c} must be an integer from 64 to 1024.`);return s};try{const s=await(async()=>{try{const k=await Zp("volter.project.json");if(!k)return null;const T=JSON.parse(k),R=T.resolution?.width,w=T.resolution?.height;return typeof R!="number"||typeof w!="number"||R<64||w<64||R>4096||w>4096?null:{width:Math.min(1024,Math.round(R)),height:Math.min(1024,Math.round(w))}}catch{return null}})(),i=r(e.width,s?.width??960,"width"),c=r(e.height,s?.height??540,"height"),u=Qp(Nt,e.camera);if(typeof u=="string")return{ok:!1,error:u};const f=ef(Nt,e.pose);if(typeof f=="string")return{ok:!1,error:f};const{captureProjectStoryVariants:p}=await M(async()=>{const{captureProjectStoryVariants:k}=await import("./volter-sdk-kit-stories-story-capture-DMWk2KXY.js");return{captureProjectStoryVariants:k}},__vite__mapDeps([46,1]));return{ok:!0,data:{...await p(Ce(),{modulePath:t,...n===void 0?{}:{story:n},width:i,height:c,...u?{camera:u}:{},...f?{pose:f}:{}})}}}catch(s){return{ok:!1,error:s instanceof Error?s.message:String(s)}}}const ng={[Nt]:{timeoutMs:12e4,derivedRefresh:"if-content-changed",handle:tg}};function rg(){const e=tf(Gy),t=nf(Yy),n=Zy(),r=rf(Qy),s=of(eg,ng),i=qy(),c=Zr(()=>{sf()});return()=>{c(),i(),s(),r(),n(),t(),e()}}const og=[["descriptionForeground","--volter-content-dim"],["disabledForeground","--volter-content-placeholder"],["errorForeground","--volter-danger"],["focusBorder","--volter-accent"],["selection.background","--volter-accent","99"],["sash.hoverBorder","--volter-accent"],["menubar.selectionBackground","--volter-accent"],["menubar.selectionForeground","--volter-content-on-accent"],["menu.selectionBackground","--volter-accent"],["menu.selectionForeground","--volter-content-on-accent"],["editorGroupHeader.tabsBackground","--volter-surface-chrome"],["editorGroup.dropBackground","--volter-accent","66"],["tab.inactiveBackground","--volter-surface-chrome"],["tab.inactiveForeground","--volter-content-dim"],["editor.background","--volter-surface-chrome"],["editorLineNumber.foreground","--volter-content-placeholder"],["editor.selectionBackground","--volter-accent","99"],["editorGutter.background","--volter-surface-chrome"],["panelTitle.inactiveForeground","--volter-content-dim"],["list.activeSelectionBackground","--volter-accent"],["list.activeSelectionForeground","--volter-content-on-accent"],["list.focusOutline","--volter-accent"],["list.dropBackground","--volter-accent","66"],["button.background","--volter-accent"],["button.foreground","--volter-content-on-accent"],["checkbox.selectBackground","--volter-accent"],["input.background","--volter-surface-chrome"],["input.placeholderForeground","--volter-content-placeholder"],["inputOption.activeBackground","--volter-accent"],["inputOption.activeForeground","--volter-content-on-accent"],["inputValidation.errorBorder","--volter-danger"],["badge.background","--volter-accent"],["badge.foreground","--volter-content-on-accent"],["progressBar.background","--volter-accent"],["quickInputList.focusBackground","--volter-accent"],["quickInputList.focusForeground","--volter-content-on-accent"],["notificationsErrorIcon.foreground","--volter-danger"],["notificationsWarningIcon.foreground","--volter-warn"],["notificationsInfoIcon.foreground","--volter-accent"],["terminal.background","--volter-surface-chrome"],["commandCenter.background","--volter-surface-chrome"],["volter.view.background","--volter-surface-panel"],["foreground","--volter-content-primary"],["icon.foreground","--volter-content-muted"],["widget.border","--volter-boundary-default"],["titleBar.activeBackground","--volter-surface-shell"],["titleBar.inactiveBackground","--volter-surface-shell"],["titleBar.activeForeground","--volter-content-muted"],["titleBar.border","--volter-surface-shell"],["activityBar.background","--volter-surface-shell"],["activityBar.foreground","--volter-content-primary"],["activityBar.inactiveForeground","--volter-content-dim"],["activityBar.border","--volter-surface-shell"],["activityBar.activeBorder","--volter-accent"],["statusBar.background","--volter-surface-shell"],["statusBar.foreground","--volter-content-muted"],["statusBar.border","--volter-surface-shell"],["sideBar.background","--volter-surface-panel"],["sideBar.foreground","--volter-content-primary"],["sideBar.border","--volter-boundary-default"],["sideBarSectionHeader.background","--volter-surface-chrome"],["panel.background","--volter-surface-panel"],["panel.border","--volter-boundary-default"],["editorGroup.border","--volter-boundary-default"],["editorGroupHeader.tabsBorder","--volter-boundary-default"],["tab.activeBackground","--volter-surface-panel"],["tab.activeForeground","--volter-content-primary"],["tab.border","--volter-boundary-default"],["menu.background","--volter-widget-menu"],["menu.foreground","--volter-content-menu"],["menu.border","--volter-boundary-default"],["dropdown.background","--volter-widget-menu"],["dropdown.border","--volter-boundary-default"],["input.foreground","--volter-content-primary"],["input.border","--volter-boundary-default"]],sg=[["volter.viewport.background","--volter-viewport-background"],["volter.viewport.grid","--volter-viewport-grid"],["volter.viewport.axisX","--volter-viewport-axis-x"],["volter.viewport.axisY","--volter-viewport-axis-y"],["volter.viewport.axisZ","--volter-viewport-axis-z"],["volter.viewport.selection","--volter-viewport-selection"],["volter.viewport.active","--volter-viewport-active"],["volter.viewport.wire","--volter-viewport-wire"],["volter.gizmo.x","--volter-gizmo-x"],["volter.gizmo.y","--volter-gizmo-y"],["volter.gizmo.z","--volter-gizmo-z"],["volter.gizmo.navigationX","--volter-gizmo-navigation-x"],["volter.gizmo.navigationY","--volter-gizmo-navigation-y"],["volter.gizmo.navigationZ","--volter-gizmo-navigation-z"],["volter.gizmo.hover","--volter-gizmo-hover"],["volter.gizmo.drag","--volter-gizmo-drag"]];function fs(e){const t=e.trim().toLowerCase(),n=/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/.exec(t)?.[1];if(n)return`#${n.length===3?[...n].map(u=>u+u).join(""):n}`;const r=/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,/]+([\d.]+%?))?\s*\)$/.exec(t);if(!r)return null;const s=u=>Math.max(0,Math.min(255,Math.round(Number(u)))).toString(16).padStart(2,"0"),i=r[4],c=i===void 0?"":Math.round(Math.max(0,Math.min(1,i.endsWith("%")?Number.parseFloat(i)/100:Number(i)))*255).toString(16).padStart(2,"0");return`#${s(r[1])}${s(r[2])}${s(r[3])}${c==="ff"?"":c}`}function ag(e){const t=getComputedStyle(e),n={};for(const[r,s,i]of og){const c=fs(t.getPropertyValue(s));c!==null&&(c.length===9&&!i||(n[r]=i&&c.length===7?`${c}${i}`:c))}for(const[r,s]of sg){const i=fs(t.getPropertyValue(s));i!==null&&(n[r]=i)}return n}let ee=null,$a=0;const _r=new Set;function ig(e){return _r.add(e),()=>_r.delete(e)}function hs(){return $a}const pr=new Map;function Ma(e,t){pr.get(e)?.disconnect(),pr.delete(e);const n=()=>{const s=t?.isConnected?t.getBoundingClientRect():null;Nf(e,s!==null&&s.width>0&&s.height>0)};if(n(),t===null||typeof ResizeObserver>"u")return;const r=new ResizeObserver(n);r.observe(t),pr.set(e,r)}function cg(e,t){if(ee){if(t===null){if(ee[e]?.isConnected)return}else if(ee[e]===t)return;if(t===null&&(e==="outliner"||e==="properties"||e==="content")){const n={...ee};delete n[e],ee=n}else t!==null&&(ee={...ee,[e]:t});t!==null&&Fa(e,t),Ma(e,t),$a+=1;for(const n of _r)n()}}function Fa(e,t){t.dataset.volterPart=e}const ut=new Map;let ms=!1;function lg(){const e=t=>{if(!t)return null;const n=t.getBoundingClientRect();return{x:n.x,y:n.y,width:n.width,height:n.height,connected:t.isConnected}};return{editorRoots:[...document.querySelectorAll("#editor-root")].map(e),chrome:e(ee?.chromeRoot??null),slots:[...ut.values()].map(t=>({id:t.id,documentId:t.documentId,bounds:e(t.element)})),surfaces:[...document.querySelectorAll("[data-workspace-document-id]")].map(t=>({documentId:t.dataset.workspaceDocumentId,viewId:t.dataset.workspaceViewId,bounds:e(t)}))}}let Va=0;const Ar=new Set,Wa=new Set;let vs=!1;function ys(){for(const e of ht())Wa.add(e.descriptor.id)}function dg(e){vs||(vs=!0,De(ys)),ys(),!(!e||Wa.has(e))&&(Lf(e)||oa(e,!1))}function ug(e,t){if(t){if(!ut.delete(e.id))return}else{ut.has(e.id)||dg(e.documentId);const n=ut.get(e.id);if(n?.element===e.element&&n.documentId===e.documentId)return;ut.set(e.id,{...e})}Va+=1;for(const n of[...Ar])n()}function pg(e){return Ar.add(e),()=>{Ar.delete(e)}}function gs(){return Va}function kt({children:e,row:t=!1,center:n=!1}){return o.jsx("div",{className:"volter-editor-shell volter-part",onWheel:r=>r.stopPropagation(),"data-editor-hotkey-scope":"workspace","data-editor-hotkey-fallback":!0,style:{display:"flex",flexDirection:t?"row":"column",justifyContent:n?"center":void 0,width:"100%",height:"100%",minHeight:0,minWidth:0,position:"relative",fontFamily:"var(--volter-font-sans)",fontSize:"var(--volter-font-base)",color:"var(--volter-content-primary)"},children:e})}function fg({children:e}){return o.jsx(o.Fragment,{children:e})}function hg(){return ee?Ye.createPortal(o.jsx(kt,{center:!0,children:o.jsx(Yf,{})}),ee.header):null}function mg(){return null}function vg(){const e=a.useRef(null);return a.useEffect(()=>{const t=e.current;if(t)return ba(t),()=>dm(t)},[]),o.jsxs("div",{style:{display:"flex",flexDirection:"column",height:"100%",minHeight:0},children:[o.jsx("div",{ref:e,className:"volter-vscode-outliner-header",style:{padding:"var(--volter-space-2) var(--volter-space-4)","--volter-hierarchy-search-basis":"100%"}}),o.jsx("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column"},children:o.jsx(Ea,{})})]})}const En=new Map,Dr=new Set;let Nr=0;function yg(e,t){if(t){if(En.get(e)===t)return;t.dataset.volterUtility=e,En.set(e,t)}else if(!En.delete(e))return;Nr++;for(const n of Dr)n()}const jn=new Map,Lr=new Set;let Or=0;function gg(e,t){if(t){if(jn.get(e)===t)return;jn.set(e,t)}else if(!jn.delete(e))return;Or++;for(const n of Lr)n()}function bg(){return a.useSyncExternalStore(ca,Oo,Oo),a.useSyncExternalStore(e=>(Lr.add(e),()=>Lr.delete(e)),()=>Or,()=>Or),o.jsx(o.Fragment,{children:[...xr("left"),...xr("right")].map(e=>{const t=jn.get(e.id);if(!t)return null;const n=e.Content;return o.jsx(a.Fragment,{children:Ye.createPortal(o.jsx(n,{}),t)},e.id)})})}function wg(){return a.useSyncExternalStore(la,Dn,Dn),a.useSyncExternalStore(e=>(Dr.add(e),()=>Dr.delete(e)),()=>Nr,()=>Nr),o.jsx(o.Fragment,{children:da().map(e=>{const t=En.get(e.id);return t?o.jsx(a.Fragment,{children:Ye.createPortal(o.jsx(kt,{children:o.jsx(qm,{utility:e})}),t)},e.id):null})})}function xg({descriptor:e,viewId:t,slot:n,parking:r,visible:s,inspector:i}){const[c]=a.useState(()=>document.createElement("div"));return a.useLayoutEffect(()=>{c.className="volter-vscode-document-slot",c.dataset.volterDocument=e.id,c.dataset.volterArea=e.area??"",c.style.cssText=`display:${s?"flex":"none"};flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;position:relative;`},[c,e.id,e.area,s]),a.useLayoutEffect(()=>((n??r).appendChild(c),()=>c.remove()),[c,n,r]),Ye.createPortal(o.jsxs(kt,{children:[o.jsx(pa,{descriptor:e,viewId:t,active:s,chrome:!e.area}),i&&o.jsx(tm,{})]}),c)}let Ha=!0;function Sg({arrangement:e,immersivePlay:t}){const n=qe();Ay(n);const r=Ws(n);a.useLayoutEffect(()=>{Ha=r.column},[r.column]);const s=ut.get(Wf()??"")?.element??ee?.center;a.useLayoutEffect(()=>{if(!s)return;const v=()=>Ho({x:0,y:0,width:s.clientWidth,height:s.clientHeight}),k=new ResizeObserver(v);return k.observe(s),v(),()=>{k.disconnect(),Ho(null)}},[s]),a.useSyncExternalStore(n.subscribe,n.getShellSnapshot??n.getSnapshot),a.useSyncExternalStore(De,Me,Me),a.useSyncExternalStore(pg,gs,gs),a.useSyncExternalStore(ig,hs,hs),a.useLayoutEffect(()=>{const v=Hf({...e?{arrangement:e}:{},...t===void 0?{}:{immersivePlay:t},playUtilities:[]});return e&&wr(e.id),zf(),v},[e,t]);const i=n.playState!=="stopped",c=a.useSyncExternalStore(ta,Bf).play?.keepPanelsVisible;if(a.useEffect(()=>{Uf(i,Kf())},[i,t,c]),a.useEffect(()=>La(n),[n]),!ee)return null;const u=ee.center,f=ht(),p=An()??f[0]??null;return globalThis.__volterBridge={documents:f.map(v=>v.descriptor.id),active:p?.descriptor.id??null,workspace:e?.id??null,areas:f.flatMap(v=>v.descriptor.area?[{id:v.descriptor.id,area:v.descriptor.area}]:[]),slots:[...ut.values()].map(({id:v,documentId:k,element:T})=>({id:v,documentId:k,visible:!!T}))},o.jsxs(o.Fragment,{children:[[...ut.values()].map(v=>{const k=f.find(T=>T.descriptor.id===v.documentId)?.descriptor;return k?o.jsx(xg,{descriptor:k,viewId:v.id,slot:v.element??void 0,parking:u,visible:!!v.element,inspector:r.card&&k.id===p?.descriptor.id},v.id):null}),f.length===0&&Ye.createPortal(o.jsx(kt,{children:o.jsx("div",{className:"volter-vscode-empty",children:"No document open"})}),ee.center),ee.outliner&&Ye.createPortal(o.jsx(kt,{children:o.jsx(vg,{})}),ee.outliner),ee.properties&&Ye.createPortal(o.jsx(kt,{children:r.column?o.jsx(Gr,{}):o.jsx(Gf,{surface:r.surface})}),ee.properties),ee.content&&Ye.createPortal(o.jsx(kt,{children:o.jsx(py,{kind:"assets"})}),ee.content),o.jsx(wg,{}),o.jsx(bg,{})]})}const fr="no-document";let vn=null;function Eg(){vn?.();let e=!1;const t=[],n=()=>{e=!0;for(const r of t.splice(0))r();tn(fr),vn===n&&(vn=null)};vn=n,zn().then(()=>{if(e)return;let r=null;const s=()=>{if(e)return;if(ht().some(u=>!u.descriptor.area)){n();return}if(!Of())return;const i=Vf();if($f().length>0||i.length===0){r!==null&&(r=null,tn(fr));return}const c=i.map(u=>`${u.entryPath}: ${u.error.split(`
|
|
11
|
+
`)[0]}`).join(`
|
|
12
|
+
`);c!==r&&(r=c,ue.error(`Startup failed: no document can open, because these contributions did not load:
|
|
13
|
+
${c}`,"editor"),Kr(fr,{message:`No document can open: the editor's contributions that provide them did not load.
|
|
14
|
+
${c}`,guidance:`Reinstall the project's packages (npm install in the project folder), then reload this window; ${Br("console")} has the full errors.`,command:null}))};t.push(Xs(s),De(s)),s()})}async function jg(e,t={}){ee=e,t.workspaceStorage&&af(t.workspaceStorage),mr();for(const[d,h]of Object.entries(e))h&&Fa(d,h),Ma(d,h??null);e.chromeRoot.id="editor-chrome-root",cf({Frame:fg,Header:hg,Footer:mg,Workspace:Sg,Document:vh}),hy(),lf();const n=Nh();n&&Ah(n,Date.now())&&ue.warn(Th(n,Date.now()),"editor"),Ny(),df(),gy(),ms||(ms=!0,he().session.reportFacet(d=>({nativeLayout:d?.nativeLayout??lg()}),{reusableKeys:["nativeLayout"]})),rg(),await Promise.all([uf(),pf(),ff(),mr()]),hf(e.chromeRoot),e.chromeRoot.classList.toggle("volter-native-menus",mf()?.nativeMenus===!0);const r=document.createElement("div");r.id="editor-root",r.className="volter-part",r.style.cssText="position:absolute;inset:0;pointer-events:none;z-index:10;",e.chromeRoot.appendChild(r),vf.createRoot(r).render(o.jsx(Uh,{}));const s={activeKeymap:()=>he().keyboard.activeKeymap(),invoke:d=>he().keyboard.invoke(d),subscribe:d=>he().keyboard.subscribe(d),facts:()=>{const d=he(),h=d.keyboard.stage();return{surface:h.surface,mode:h.mode,documentKind:d.documents.active()?.kind??null,play:d.session.playState()}},report:(d,h,D)=>{const W=he();if(d==="error"?W.console.error(h,"editor"):W.console.warn(h,"editor"),d==="error"||D?.notify){const[ne,...Y]=h.split(/(?<=[.:])\s+/);W.notify({tone:d==="error"?"error":"warning",title:ne??h,...Y.length>0?{detail:Y.join(" ")}:{}})}}};let i=!1;const c={whenRestored:zn,activeSource:()=>{const d=he().documents.active();if(!d)return null;const h=d.kind==="model"&&d.id.startsWith("model:")?d.id.slice(6):"";return{kind:d.kind,path:h}},list:()=>ht().map(d=>{const h=d.descriptor.area?Df().find(D=>D.id===d.descriptor.area):void 0;return{id:d.descriptor.id,title:d.title,...h?{area:{id:h.id,place:h.place,ratio:h.ratio}}:{}}}),activeId:()=>An()?.descriptor.id??null,subscribe:d=>{i=!0;const h=De(d),D=Af(d);return()=>{h(),D()}},activate:(d,h)=>{!i&&Xr()||(h?_f(d,h):Hr(d))},close:d=>{if(_s(d))return;const h=ht().find(D=>D.descriptor.id===d);h&&s.report("warn",`“${h.title}” has unsaved changes, so it stayed open. Save it (⌘S) and close it again.`)},setView:(d,h)=>ug(d,h)},u={elements:()=>he().history.elements(),onElement:d=>he().history.onElement(d),onInvalidated:d=>he().history.onInvalidated(d),changed:()=>he().history.changed(),focusedResource:()=>he().history.focusedResource(),focusedDocument:()=>{const d=he().documents.active();return d?{id:d.id,label:d.title}:null},setDelegate:d=>he().history.setDelegate(d),report:s.report},f={setProvider:d=>he().files.setProvider(d),report:s.report},p={setProvider:d=>he().settings.setProvider(d),adapterValues:()=>[...xf()],workbenchValues:()=>{const d=ee?.chromeRoot;if(!d)return[];const h=getComputedStyle(d).getPropertyValue("--volter-command-bar-height").trim(),D=Number.parseFloat(h),W=["workbench.colorCustomizations",ag(d)];return!Number.isFinite(D)||D<=0?[W]:[["window.titleBarHeight",Math.round(D)],W]},lookId:()=>wf(),notify:d=>{he().notify(d)},subscribe:d=>{const h=Ps(d),D=Ks(d);return()=>{h(),D()}},report:s.report},v={list:()=>Tf().map(d=>({id:d.id,label:d.label,category:d.category,...d.menu?{menu:d.menu}:{}})),invoke:d=>If(d),subscribe:d=>Pf(d),setPaletteOpener:d=>Cf(d),setCommandExecutor:d=>Rf(d),report:s.report},k={setDelegate:d=>kf(d?{show:h=>d({...h,source:Mf()})}:null)},T={list:()=>jf().map(d=>({view:d.view,title:d.title,verbs:d.verbs.map(h=>({id:h.id,...h.title?{title:h.title}:{}}))})),invoke:(d,h,D)=>Ef(d,h,D),subscribe:d=>Sf(d)},R={list:()=>da().map((d,h)=>({id:d.id,title:d.title,order:d.order??h})),subscribe:d=>{let h=Dn();const D=la(d),W=ea(()=>{const ne=Dn();ne!==h&&(h=ne,d())});return()=>{D(),W()}},offerBody:(d,h)=>yg(d,h)};let w=!0,P=null,g=null;Ff(()=>w);const A={setActiveStaticPanel:d=>Lo(Zs.find(h=>h.kind===d)?.kind??null),focusCompactInspector:()=>{if(Ha)return!1;const d=ee?.center.querySelector('[data-testid="compact-inspector-card"]');return d?(d.tabIndex=-1,d.focus(),Lo("inspector"),!0):!1},setPaneActive:d=>{w!==d&&(w=d)},setImmersive:d=>{P?.(),P=null,!(!d||!ee)&&(P=bf({root:ee.chromeRoot,hideChrome:()=>d.enter(),showChrome:()=>d.exit()}))},setDockCommands:d=>{g?.(),g=null,d&&(g=gf({showUtility:h=>d.showUtility(h),toggleUtility:h=>d.toggleUtility(h),ensureUtility:h=>d.ensureUtility(h),closeUtility:h=>d.closeUtility(h),showStaticPanel:h=>d.showStaticPanel(h),setFocus:h=>d.setFocus(h),toggleFocus:()=>d.toggleFocus(),captureUtilities:h=>{for(const D of h)d.showUtility(D);return()=>{for(const D of h)d.closeUtility(D)}},showAuxiliary:()=>A.report("warn","Undo history has no panel under the VS Code frame: the stack is the workbench's own (U4), reached through Edit → Undo/Redo and the Timeline.")}))},report:(d,h)=>s.report(d,h)};return Eg(),{host:r,keyboard:s,documents:c,history:u,files:f,commands:v,notifications:k,views:T,utilities:R,output:{setProvider:yy},settings:p,status:{list:()=>["left","right"].flatMap(d=>xr(d).map((h,D)=>({id:h.id,title:h.name,align:d,order:h.order??D}))),subscribe:d=>ca(d),offerBody:(d,h)=>gg(d,h)},game:A,startup:{subscribe:yf},offerPart:cg}}function kg(e){const t=Object.keys(e.packages);return qf({id:e.id,packages:t,look:e.look,workspace:e.workspace,nativeMenus:e.nativeMenus,logo:e.logo}),Jf(t.flatMap(n=>e.packages[n]??[])),{mountVolter:jg}}const{mountVolter:Cg}=kg({id:"cyclotron",packages:{"@volter/editor-blender":Xf,"@volter/editor-threejs":Zf},look:"blender",workspace:"model"});export{Cg as mountVolter};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as o,a as r}from"./blender-properties-tab-CkbWamuD.js";import{CONSTRAINT_HEADER as e}from"./properties-constraints.inspector-CgLm__aq.js";import"./volter-sdk-BKodmrby.js";import"./blender-properties-model-BrD2rboW.js";import"./blender-runtime-host-7Wv16WQe.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./linear-resolve-Cuka7Ypb.js";const n=[{title:"Bone Constraints",from:"Constraints",collection:!0,properties:e,andDeclared:!0}],t={id:"bone_constraint",curated:n},d="selection.inspector",C="Bone Constraints",T="properties-bone-constraints",u=140,f="object",A=r(t),B=o(t);export{B as default,T as icon,A as match,u as order,d as point,f as railGroup,C as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as o,a as t}from"./blender-properties-tab-CkbWamuD.js";import"./volter-sdk-BKodmrby.js";import"./blender-properties-model-BrD2rboW.js";import"./blender-runtime-host-7Wv16WQe.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./linear-resolve-Cuka7Ypb.js";const s=[{title:"Transform (Pose)",from:"Pose Bone",properties:["location","lock_location","rotation_quaternion","rotation_axis_angle","rotation_euler","lock_rotation_w","lock_rotation","rotation_mode","scale","lock_scale"]},{title:"Transform",from:"Bone",properties:["head","tail","roll","length","lock"]},{title:"Bendy Bones",closed:!0,from:"Bone",properties:["bbone_segments","bbone_x","bbone_z","bbone_mapping_mode","use_endroll_as_inroll","use_scale_easing","bbone_handle_type_start","bbone_handle_use_scale_start","bbone_handle_use_ease_start","bbone_handle_type_end","bbone_handle_use_scale_end","bbone_handle_use_ease_end"]},{title:"Relations",from:"Bone",properties:["parent","children","use_relative_parent","use_connect","use_local_location","use_inherit_rotation","inherit_scale"]},{title:"Bone Collections",closed:!0,from:"Bone",properties:["collections"]},{title:"Inverse Kinematics",closed:!0,from:"Pose Bone",properties:["ik_stretch","lock_ik_x","lock_ik_y","lock_ik_z","ik_stiffness_x","ik_stiffness_y","ik_stiffness_z","use_ik_limit_x","ik_min_x","ik_max_x","use_ik_limit_y","ik_min_y","ik_max_y","use_ik_limit_z","ik_min_z","ik_max_z","use_ik_rotation_control"]},{title:"Deform",closed:!0,from:"Bone",properties:["use_deform","envelope_distance","envelope_weight","use_envelope_multiply","head_radius","tail_radius"]},{title:"Viewport Display",closed:!0,from:"Bone",properties:["hide","hide_select","display_type","color","show_wire"],sub:[{title:"Custom Shape",closed:!0,from:"Pose Bone",properties:["custom_shape","custom_shape_translation","custom_shape_rotation_euler","custom_shape_scale_xyz","use_custom_shape_bone_size","custom_shape_transform"]}]}],e={id:"bone",curated:s},p="selection.inspector",m="Bone",u="properties-bone",d=130,b="object",h=t(e),k=o(e);export{k as default,u as icon,h as match,d as order,p as point,b as railGroup,m as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as t,a as i}from"./blender-properties-tab-CkbWamuD.js";import"./volter-sdk-BKodmrby.js";import"./blender-properties-model-BrD2rboW.js";import"./blender-runtime-host-7Wv16WQe.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./linear-resolve-Cuka7Ypb.js";const o=[{title:"Visibility",properties:["hide_select","hide_render"],sub:[{title:"View Layer",from:"View Layer Collection",properties:["exclude","holdout","indirect_only"]}]},{title:"Instancing",properties:["instance_offset"]},{title:"Line Art",properties:["lineart_usage","lineart_use_intersection_mask","lineart_intersection_mask","use_lineart_intersection_priority","lineart_intersection_priority"]},{title:"Exporters",properties:["exporters"]}],e={id:"collection",curated:o},_="selection.inspector",d="Collection",m="properties-collection",u=60,b="collection",y=i(e),f=t(e);export{f as default,m as icon,y as match,u as order,_ as point,b as railGroup,d as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as o,a as r}from"./blender-properties-tab-CkbWamuD.js";import"./volter-sdk-BKodmrby.js";import"./blender-properties-model-BrD2rboW.js";import"./blender-runtime-host-7Wv16WQe.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./linear-resolve-Cuka7Ypb.js";const e=["name","type","enabled","mute","influence","error_location","error_rotation","is_valid","is_override_data"],n=[{title:"Constraints",from:"Constraints",collection:!0,active:"activeConstraint",properties:e,andDeclared:!0}],t={id:"constraint",curated:n},m="selection.inspector",b="Object Constraints",u="properties-constraints",C=110,_="object",T=r(t),f=o(t);export{e as CONSTRAINT_HEADER,f as default,u as icon,T as match,C as order,m as point,_ as railGroup,b as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as i,b as p}from"./blender-properties-model-BrD2rboW.js";import{b as l,a as c}from"./blender-properties-tab-CkbWamuD.js";import"./volter-sdk-BKodmrby.js";import"./blender-runtime-host-7Wv16WQe.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./linear-resolve-Cuka7Ypb.js";const n=[{title:"Vertex Groups",from:"Vertex Groups",collection:!0,active:"activeVertexGroup",properties:["name","index","lock_weight"]},{title:"Shape Keys",from:"Shape Keys",properties:["key_blocks","use_relative","eval_time","reference_key"]},{title:"UV Maps",properties:["uv_layers"]},{title:"Color Attributes",properties:["color_attributes"]},{title:"Attributes",properties:["attributes"]},{title:"Texture Space",closed:!0,properties:["texture_mesh","use_auto_texspace","texspace_location","texspace_size"]},{title:"Remesh",closed:!0,properties:["remesh_mode","remesh_voxel_size","remesh_voxel_adaptivity","use_remesh_fix_poles","use_remesh_preserve_volume","use_remesh_preserve_attributes"]},{title:"Geometry Data",closed:!0,properties:["has_custom_normals","total_vert_sel","total_edge_sel","total_face_sel"]},{title:"Animation",closed:!0,properties:["animation_data"]},{title:"Pose",properties:["pose_position"]},{title:"Bone Collections",closed:!0,properties:["collections_all","collections"]},{title:"Bones",from:"Bones",collection:!0,active:"activeBone",properties:["name","parent","use_connect","use_deform","head","tail","length"]},{title:"Viewport Display",closed:!0,properties:["display_type","show_names","show_bone_custom_shapes","show_bone_colors","show_axes","axes_position","relation_line_position"]},{title:"Inverse Kinematics",closed:!0,properties:["pose"]}],o={id:"data",curated:n},f="selection.inspector",y="Object Data",u={Mesh:"properties-data-mesh",Armature:"properties-data-armature",Curve:"properties-data-curve",SurfaceCurve:"properties-data-surface",MetaBall:"properties-data-meta",TextCurve:"properties-data-font",Lattice:"properties-data-lattice",Camera:"properties-data-camera",Light:"properties-data-light",Speaker:"properties-data-speaker",PointCloud:"properties-data-pointcloud",Volume:"properties-data-volume"},S=(s,a)=>{const e=i(s,a);if(e===null||e.kind!=="object")return"properties-data";const r=p();if(r.object!==e.name)return"properties-data";const t=r.context?.active?.dataType;return t==null?"properties-data-empty":u[t]??"properties-data"},A=120,C="object",T=c(o),k=l(o);export{k as default,S as icon,T as match,A as order,f as point,C as railGroup,y as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as t,a as r}from"./blender-properties-tab-CkbWamuD.js";import"./volter-sdk-BKodmrby.js";import"./blender-properties-model-BrD2rboW.js";import"./blender-runtime-host-7Wv16WQe.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./linear-resolve-Cuka7Ypb.js";const o=[{title:"Material Slots",from:"Material Slots",collection:!0,active:"activeMaterial",properties:["name","material","link","slot_index"]},{title:"Surface",from:"Material",properties:["use_nodes","node_tree","surface_render_method","use_backface_culling"]},{title:"Volume",closed:!0,from:"Material",properties:["volume_intersection_method","displacement_method","max_vertex_displacement"]},{title:"Settings",closed:!0,from:"Material",properties:["pass_index","use_backface_culling_shadow","use_backface_culling_lightprobe_volume","use_transparent_shadow","use_transparency_overlap","use_raytrace_refraction","thickness_mode","use_thickness_from_shadow"]},{title:"Line Art",closed:!0,from:"Material",properties:["lineart"]},{title:"Viewport Display",from:"Material",properties:["diffuse_color","metallic","roughness"]},{title:"Animation",closed:!0,from:"Material",properties:["animation_data"]}],e={id:"material",curated:o},m="selection.inspector",_="Material",d="properties-material",u=160,f="object",h=r(e),M=t(e);export{M as default,d as icon,h as match,u as order,m as point,f as railGroup,_ as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as o,a as t}from"./blender-properties-tab-CkbWamuD.js";import"./volter-sdk-BKodmrby.js";import"./blender-properties-model-BrD2rboW.js";import"./blender-runtime-host-7Wv16WQe.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./linear-resolve-Cuka7Ypb.js";const i=[{title:"Modifiers",from:"Modifiers",collection:!0,active:"activeModifier",properties:["name","type","show_viewport","show_render","show_in_editmode","show_on_cage","use_pin_to_last","is_active"],andDeclared:!0}],e={id:"modifier",curated:i},m="selection.inspector",l="Modifiers",_="properties-modifiers",f=80,b="object",h=t(e),u=o(e);export{u as default,_ as icon,h as match,f as order,m as point,b as railGroup,l as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as t,a as o}from"./blender-properties-tab-CkbWamuD.js";import"./volter-sdk-BKodmrby.js";import"./blender-properties-model-BrD2rboW.js";import"./blender-runtime-host-7Wv16WQe.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./linear-resolve-Cuka7Ypb.js";const r=[{title:"Transform",properties:[{property:"location",lock:"lock_location"},{property:"rotation_quaternion",label:"Rotation",lock:"lock_rotation",firstLock:"lock_rotation_w",when:{property:"rotation_mode",is:["QUATERNION"]}},{property:"rotation_axis_angle",label:"Rotation",lock:"lock_rotation",firstLock:"lock_rotation_w",when:{property:"rotation_mode",is:["AXIS_ANGLE"]}},{property:"rotation_euler",label:"Rotation",lock:"lock_rotation",when:{property:"rotation_mode",isNot:["QUATERNION","AXIS_ANGLE"]}},{property:"rotation_mode",label:"Mode"},{property:"scale",lock:"lock_scale"}],sub:[{title:"Delta Transform",closed:!0,properties:[{property:"delta_location",label:"Location"},{property:"delta_rotation_quaternion",label:"Rotation",when:{property:"rotation_mode",is:["QUATERNION"]}},{property:"delta_rotation_euler",label:"Rotation",when:{property:"rotation_mode",isNot:["QUATERNION","AXIS_ANGLE"]}},{property:"delta_scale",label:"Scale"}]}]},{title:"Relations",closed:!0,properties:["parent","parent_type","parent_bone","parent_bone_head_tail_factor","parent_vertices","use_parent_final_indices","use_camera_lock_parent","track_axis","up_axis","pass_index"]},{title:"Collections",closed:!0,properties:["users_collection"]},{title:"Instancing",closed:!0,properties:["instance_type","use_instance_vertices_rotation","instance_collection","show_instancer_for_viewport","show_instancer_for_render"],sub:[{title:"Scale by Face Size",closed:!0,properties:["use_instance_faces_scale","instance_faces_scale"]}]},{title:"Viewport Display",closed:!0,properties:["show_name","show_axis","show_wire","show_all_edges","show_texture_space","show_in_front","display_type","color","show_bounds","display_bounds_type","display"]},{title:"Shadow Terminator",closed:!0,properties:["shadow_terminator_normal_offset","shadow_terminator_geometry_offset","shadow_terminator_shading_offset"]},{title:"Visibility",closed:!0,properties:["hide_select","hide_surface_pick","hide_viewport","hide_render","visible_camera","visible_shadow","visible_raycast","visible_diffuse","visible_glossy","visible_transmission","visible_volume_scatter","hide_probe_volume","hide_probe_sphere","hide_probe_plane","use_grease_pencil_lights","is_holdout"]},{title:"Line Art",closed:!0,properties:["lineart"]},{title:"Animation",closed:!0,properties:["animation_data"]}],e={id:"object",standing:"object",curated:r},c="selection.inspector",d="Object",b="properties-object",u=70,h="object",m=!0,y=o(e),w=t(e);export{w as default,b as icon,y as match,u as order,c as point,m as railDefault,h as railGroup,d as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as t,a as r}from"./blender-properties-tab-CkbWamuD.js";import"./volter-sdk-BKodmrby.js";import"./blender-properties-model-BrD2rboW.js";import"./blender-runtime-host-7Wv16WQe.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./linear-resolve-Cuka7Ypb.js";const s=[{title:"Format",properties:["resolution_x","resolution_y","resolution_percentage","pixel_aspect_x","pixel_aspect_y","use_border","use_crop_to_border","fps","fps_base"]},{title:"Frame Range",properties:[{from:"Scene",property:"frame_start"},{from:"Scene",property:"frame_end"},{from:"Scene",property:"frame_step"}],sub:[{title:"Time Stretching",closed:!0,properties:["frame_map_old","frame_map_new"]}]},{title:"Stereoscopy",closed:!0,properties:["use_multiview","views_format","views"]},{title:"Output",properties:["save_output","filepath","use_file_extension","use_render_cache","use_overwrite","use_placeholder"],sub:[{title:"Color Management",closed:!0,from:"Image",properties:["color_management"]},{title:"Pixel Density",closed:!0,properties:["ppm_factor","ppm_base"]}]},{title:"Encoding",closed:!0,from:"FFmpeg",when:[{from:"Image",property:"file_format",is:["FFMPEG","XVID","H264","THEORA"]}],properties:["format","use_autosplit"],sub:[{title:"Video",from:"FFmpeg",properties:["codec",{from:"Image",property:"color_depth"},"use_lossless_output","ffmpeg_prores_profile","constant_rate_factor","custom_constant_rate_factor","ffmpeg_preset","gopsize","use_max_b_frames","max_b_frames","video_bitrate","minrate","maxrate","buffersize","muxrate","packetsize"]},{title:"Audio",from:"FFmpeg",properties:["audio_codec","audio_channels","audio_mixrate","audio_volume","audio_bitrate"]}]},{title:"Metadata",closed:!0,properties:["metadata_input","use_stamp_date","use_stamp_time","use_stamp_render_time","use_stamp_frame","use_stamp_frame_range","use_stamp_memory","use_stamp_hostname","use_stamp_camera","use_stamp_lens","use_stamp_scene","use_stamp_marker","use_stamp_filename","use_stamp_sequencer_strip"],sub:[{title:"Note",closed:!0,properties:["use_stamp_note","stamp_note_text"]},{title:"Burn Into Image",closed:!0,properties:["use_stamp","stamp_font_size","stamp_foreground","stamp_background","use_stamp_labels"]}]},{title:"Post Processing",closed:!0,properties:["use_compositing","use_sequencer","dither_intensity"]}],e={id:"output",standing:"any",curated:s},n="selection.inspector",c="Output",l="properties-output",d=20,f="scene",g=r(e),b=t(e);export{b as default,l as icon,g as match,d as order,n as point,f as railGroup,c as title};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as r,a as i}from"./blender-properties-tab-CkbWamuD.js";import"./volter-sdk-BKodmrby.js";import"./blender-properties-model-BrD2rboW.js";import"./blender-runtime-host-7Wv16WQe.js";import"./output-pass-j4dAGrPY.js";import"./three.module-CtVjCPcj.js";import"./linear-resolve-Cuka7Ypb.js";const e=[{from:"Settings",property:"type",is:["HAIR"]}],s=[{title:"Particle Systems",from:"Particle Systems",collection:!0,active:"activeParticleSystem",properties:["name","settings"]},{title:"Emission",from:"Settings",when:[{from:"Settings",property:"is_fluid",is:[!1]}],properties:["count",{from:"Active",property:"seed"},"hair_length","hair_step","frame_start","frame_end","lifetime","lifetime_random"],sub:[{title:"Source",closed:!0,from:"Settings",properties:["emit_from","use_modifier_stack","distribution","use_emit_random","invert_grid","hexagonal_grid","use_even_distribution","userjit","jitter_factor","grid_resolution","grid_random"]}]},{title:"Hair Dynamics",closed:!0,from:"Hair Dynamics",when:e,properties:[{from:"Active",property:"use_hair_dynamics"},"quality","pin_stiffness"],sub:[{title:"Collisions",closed:!0,from:"Hair Collisions",properties:["collision_quality","distance_min","impulse_clamp","collection"]},{title:"Structure",closed:!0,from:"Hair Dynamics",properties:["mass","bending_stiffness",{from:"Settings",property:"bending_random"},"bending_damping"]},{title:"Volume",closed:!0,from:"Hair Dynamics",properties:["air_damping","internal_friction","voxel_cell_size","density_target","density_strength"]}]},{title:"Cache",closed:!0,from:"Active",when:[{from:"Settings",property:"physics_type",isNot:["NO","KEYED"]}],properties:["point_cache"]},{title:"Velocity",closed:!0,from:"Settings",when:[{from:"Settings",property:"physics_type",isNot:["BOIDS"]}],properties:["normal_factor","tangent_factor","tangent_phase","object_align_factor","particle_factor","object_factor","factor_random"]},{title:"Rotation",closed:!0,from:"Settings",when:[{from:"Settings",property:"physics_type",isNot:["BOIDS"]}],properties:["use_rotations","rotation_mode","rotation_factor_random","phase_factor","phase_factor_random","use_dynamic_rotation"],sub:[{title:"Angular Velocity",closed:!0,from:"Settings",properties:["angular_velocity_mode","angular_velocity_factor"]}]},{title:"Physics",closed:!0,from:"Settings",properties:["physics_type","mass","use_multiply_size_mass","keyed_loops",{from:"Active",property:"use_keyed_timing"},"fluid","boids"],sub:[{title:"Forces",from:"Settings",when:[{from:"Settings",property:"physics_type",is:["NEWTON","FLUID"]}],properties:["brownian_factor","drag_factor","damping"]},{title:"Deflection",closed:!0,from:"Settings",when:[{from:"Settings",property:"physics_type",is:["NEWTON","FLUID"]}],properties:["use_size_deflect","use_die_on_collision","collision_collection"]},{title:"Integration",closed:!0,from:"Settings",when:[{from:"Settings",property:"physics_type",is:["NEWTON","FLUID"]}],properties:["integrator","timestep","subframes","use_adaptive_subframes","courant_target"]}]},{title:"Render",closed:!0,from:"Settings",properties:["render_type","particle_size","size_random","material_slot",{from:"Active",property:"parent"}],sub:[{title:"Path",from:"Settings",when:[{from:"Settings",property:"render_type",is:["PATH"]}],properties:["use_hair_bspline","render_step"],sub:[{title:"Timing",closed:!0,from:"Settings",properties:["use_absolute_path_time","path_start","path_end","length_random"]}]},{title:"Object",from:"Settings",when:[{from:"Settings",property:"render_type",is:["OBJECT"]}],properties:["instance_object","use_global_instance","use_rotation_instance","use_scale_instance"]},{title:"Collection",from:"Settings",when:[{from:"Settings",property:"render_type",is:["COLLECTION"]}],properties:["instance_collection","use_whole_collection","use_collection_pick_random","use_global_instance","use_rotation_instance","use_scale_instance"],sub:[{title:"Use Count",closed:!0,from:"Settings",properties:["use_collection_count","instance_weights"]}]},{title:"Extra",closed:!0,from:"Settings",when:[{from:"Settings",property:"render_type",isNot:["NONE"]}],properties:["use_parent_particles","show_unborn","use_dead"]}]},{title:"Viewport Display",closed:!0,from:"Settings",properties:["display_method","display_color","color_maximum","display_percentage","display_step","display_size"]},{title:"Children",closed:!0,from:"Settings",properties:["child_type","child_percent","rendered_child_count","child_length","child_length_threshold",{from:"Active",property:"child_seed"},"virtual_parents","create_long_hair_children","child_size","child_size_random","child_radius","child_roundness"],sub:[{title:"Parting",closed:!0,from:"Settings",when:[{from:"Settings",property:"child_type",is:["INTERPOLATED"]}],properties:["child_parting_factor","child_parting_min","child_parting_max"]},{title:"Clumping",closed:!0,from:"Settings",when:[{from:"Settings",property:"child_type",isNot:["NONE"]}],properties:["use_clump_curve","clump_factor","clump_shape","twist","use_twist_curve"],sub:[{title:"Clump Noise",closed:!0,from:"Settings",properties:["use_clump_noise","clump_noise_size"]}]},{title:"Roughness",closed:!0,from:"Settings",when:[{from:"Settings",property:"child_type",isNot:["NONE"]}],properties:["use_roughness_curve","roughness_1","roughness_1_size","roughness_endpoint","roughness_end_shape","roughness_2","roughness_2_size","roughness_2_threshold"]},{title:"Kink",closed:!0,from:"Settings",when:[{from:"Settings",property:"child_type",isNot:["NONE"]}],properties:["kink","kink_amplitude","kink_amplitude_random","kink_amplitude_clump","kink_axis","kink_axis_random","kink_frequency","kink_shape","kink_extra_steps","kink_flat"]}]},{title:"Hair Shape",closed:!0,from:"Settings",when:e,properties:["shape","root_radius","tip_radius","radius_scale","use_close_tip"]},{title:"Field Weights",closed:!0,from:"Settings",properties:["effector_weights","apply_effector_to_children","effect_hair"]},{title:"Force Field Settings",closed:!0,from:"Settings",properties:["use_self_effect","effector_amount","force_field_1","force_field_2"]},{title:"Vertex Groups",closed:!0,from:"Active",properties:["vertex_group_density","invert_vertex_group_density","vertex_group_length","invert_vertex_group_length","vertex_group_clump","invert_vertex_group_clump","vertex_group_kink","invert_vertex_group_kink","vertex_group_roughness_1","invert_vertex_group_roughness_1","vertex_group_roughness_2","invert_vertex_group_roughness_2","vertex_group_roughness_end","invert_vertex_group_roughness_end","vertex_group_twist","invert_vertex_group_twist"]},{title:"Textures",closed:!0,from:"Settings",properties:["texture_slots","active_texture"]},{title:"Animation",closed:!0,from:"Settings",properties:["animation_data"]}],t={id:"particle",curated:s},u="selection.inspector",m="Particles",d="properties-particles",g=90,f="object",h=i(t),y=r(t);export{y as default,d as icon,h as match,g as order,u as point,f as railGroup,m as title};
|