@volter/cyclotron 0.5.202 → 0.5.204
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 +958 -926
- package/LICENSE-BLENDER +11 -0
- package/README.md +17 -11
- package/dist/.vite/manifest.json +2316 -2307
- package/dist/assets/EntityModelDocument-BfqEea57.js +1 -0
- package/dist/assets/EnvironmentAssetDocument-CsLtMafz.js +1 -0
- package/dist/assets/InspectorObjectPreview-DKTD8djU.js +1 -0
- package/dist/assets/LiveModuleDocument-BuNpJQbc.js +2 -0
- package/dist/assets/LutAssetDocument-Bqp3Wsg1.js +1 -0
- package/dist/assets/ModelAssetDocument-DcQf2FRl.js +1 -0
- package/dist/assets/NonThreeAuthoringBootstrap-CNKyK_Rt.js +1 -0
- package/dist/assets/Object3DDocumentToolbar-BRg5pYmf.js +1 -0
- package/dist/assets/Object3DPreview-Do101Vjr.js +2 -0
- package/dist/assets/QuarksAssetDocument-DovrWroI.js +2 -0
- package/dist/assets/ShaderAssetDocument-u_toG95W.js +1 -0
- package/dist/assets/StageHost-oT_AnfoY.js +1179 -0
- package/dist/assets/ToolObject3DPreview-CFx1wGMT.js +1 -0
- package/dist/assets/ViewportShadingMenu-CJ81Ahky.js +1 -0
- package/dist/assets/animation-mixers.service-Dx323V-E.js +1 -0
- package/dist/assets/animation-timeline.utility-DrwWm9e0.js +1 -0
- package/dist/assets/asset-preview-CuTe-U4d.js +4 -0
- package/dist/assets/blender-emscripten-engine-BFUuajuh.js +2 -0
- package/dist/assets/blender-node-editor.document-BxeP17Xa.js +1 -0
- package/dist/assets/blender-properties-model-emPa3cK0.js +1 -0
- package/dist/assets/blender-properties-tab-DPdOZl5C.js +3 -0
- package/dist/assets/blender-runtime-host-BJ0IarOD.js +7221 -0
- package/dist/assets/blender-runtime.document-UEEQ0E4-.js +13 -0
- package/dist/assets/blender-screenshot.menu-BW_l1eg-.js +1 -0
- package/dist/assets/blender-timeline.document-C5HzsCta.js +1 -0
- package/dist/assets/blender-uv-editor.document-Ck9i56Yy.js +1 -0
- package/dist/assets/blender-version.status-5IP63O6U.js +1 -0
- package/dist/assets/blender-wali-engine-C6WYYJ9a.js +2 -0
- package/dist/assets/blender.command-Ch0NrqOl.js +1 -0
- package/dist/assets/blender.status-BZyzLhRE.js +1 -0
- package/dist/assets/model-inspection-BRArHWRL.js +1 -0
- package/dist/assets/models.finder-DsCBrBod.js +1 -0
- package/dist/assets/object3d-document-session-registry-BBdl6yAl.js +2 -0
- package/dist/assets/play-live-CNIS7Ko6.js +1 -0
- package/dist/assets/product-CtriX0xi.js +14 -0
- package/dist/assets/properties-bone-constraints.inspector-B6M_hmS5.js +1 -0
- package/dist/assets/properties-bone.inspector-Dy-LejF4.js +1 -0
- package/dist/assets/properties-collection.inspector-Ba2zTWD-.js +1 -0
- package/dist/assets/properties-constraints.inspector-D29yLx1k.js +1 -0
- package/dist/assets/properties-data.inspector-BKJcR8kl.js +1 -0
- package/dist/assets/properties-material.inspector-Bhu4CyhT.js +1 -0
- package/dist/assets/properties-modifiers.inspector-BM-S9T2X.js +1 -0
- package/dist/assets/properties-object.inspector-D2aQBfWp.js +1 -0
- package/dist/assets/properties-output.inspector-CUVnALyp.js +1 -0
- package/dist/assets/properties-particles.inspector-CDidh-CH.js +1 -0
- package/dist/assets/properties-physics.inspector-umzx6kQ4.js +1 -0
- package/dist/assets/properties-render.inspector-BmsJUj7A.js +1 -0
- package/dist/assets/properties-scene.inspector-Dhq7ziGV.js +1 -0
- package/dist/assets/properties-texture.inspector-CyQ48n0m.js +1 -0
- package/dist/assets/properties-view-layer.inspector-CwUUoh0y.js +1 -0
- package/dist/assets/properties-world.inspector-cgoG1r0g.js +1 -0
- package/dist/assets/react-18-CFVAQPHm.js +1 -0
- package/dist/assets/session-B_EkWp0b.js +6047 -0
- package/dist/assets/stage-keyboard-D_xRK1dc.js +1 -0
- package/dist/assets/stage-overlay-set-BVfm5BRl.js +1 -0
- package/dist/assets/stage-presence-markers-q9a-7bW8.js +1 -0
- package/dist/assets/stage-transform-tools-CShiNJb1.js +1 -0
- package/dist/assets/standard-viewport-dressing-DYiIyLon.js +24 -0
- package/dist/assets/three-integration.service-DvMFG956.js +2 -0
- package/dist/assets/volter-sdk-Dc6t2ANP.js +2363 -0
- package/dist/assets/volter-sdk-account-xUIG6PEf.js +1 -0
- package/dist/assets/volter-sdk-client-BcOEVIJw.js +1 -0
- package/dist/assets/volter-sdk-contributions-DwJfq4Gk.js +1 -0
- package/dist/assets/volter-sdk-css-numeric-style-dJEo63DR.js +1 -0
- package/dist/assets/volter-sdk-document-probe-pBOAuBoz.js +1 -0
- package/dist/assets/volter-sdk-editor-view-B_7oRA8p.js +1 -0
- package/dist/assets/volter-sdk-host-DTtxOSh7.js +1 -0
- package/dist/assets/volter-sdk-http-transport.browser-cl14iM0z.js +1 -0
- package/dist/assets/volter-sdk-index-CRMcVbKb.js +1 -0
- package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-tsPmGg86.js +1 -0
- package/dist/assets/volter-sdk-kit-account-client-CfwiwZF_.js +1 -0
- package/dist/assets/volter-sdk-kit-action-registry-_UV4ymVV.js +1 -0
- package/dist/assets/volter-sdk-kit-active-product-C9ef_5p_.js +1 -0
- package/dist/assets/volter-sdk-kit-active-project-CzcXMhGX.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-editor-config-C42ndM32.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-module-SpxjBRxu.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-observation-CgaHKmxG.js +1 -0
- package/dist/assets/volter-sdk-kit-animation-animation-clock-BQVgKYc0.js +1 -0
- package/dist/assets/volter-sdk-kit-animation-stage-transport-CmMRnNGe.js +1 -0
- package/dist/assets/volter-sdk-kit-api-assets-ft-ZP2rL.js +1 -0
- package/dist/assets/volter-sdk-kit-api-base-BB4C-ta0.js +1 -0
- package/dist/assets/volter-sdk-kit-api-build-C1a5oHK9.js +1 -0
- package/dist/assets/volter-sdk-kit-api-logs-DFVJLlqY.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-identity-CP20p3-q.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-open-DA6BRrZ6.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-source-lFJ-e65g.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-state-Dr4B05rM.js +1 -0
- package/dist/assets/volter-sdk-kit-api-relay-B-MQZwHO.js +1 -0
- package/dist/assets/volter-sdk-kit-api-settings-9QPA-t86.js +1 -0
- package/dist/assets/volter-sdk-kit-api-themes-CgUXGQjo.js +1 -0
- package/dist/assets/volter-sdk-kit-api-worktrees-DlbLNOZv.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-capabilities-KZyi5J7S.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-compare-core-BGGpyCKu.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-editor-context-M_zSWvKo.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-events-DaU7O5qM.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-inspector-actions-DNQnvdZL.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-selection-DirKr8vb.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-2zMk4s04.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-thumbnails-vJDFNOLA.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-viewers-DpBFTexc.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-C00OmRMK.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-CptyRUZp.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-CGX_VNfp.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-CZZeu58-.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-DxLIpPji.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-LLtucOSM.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-CYbl-hOq.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-iTgoIJuw.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-DKhc6aFQ.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-DxNFUfvM.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-kg5BOy3I.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-Del8mpuy.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-C82gwnLj.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-DLj22790.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-project-content-BBMEClbZ.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-DSHWm5e-.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-active-adapter-BxUiy2zh.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-active-systems-VmhetAka.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-adapter-key-CW8vs24w.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-_xAYFklX.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-B3oW9kah.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-CGwSf-EQ.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-CGbNsubL.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-Dzist6So.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-consumer-actions-a0TGhF6U.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-design-time-layers-DDPAis6I.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-Dce6Xyxq.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-B2U6Fy6p.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-D_bsSZUG.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-Bb09vg6M.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-layered-pick-CMwkZklt.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-BlzIBeji.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-V0HXWKVD.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-6UpTbn4k.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-panel-authoring-DFj1fCZB.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-B8_ULt_t.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-provenance-D13XOwFr.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-CiBqqgbb.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-iyxr7oZM.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-story-board-BzXiuZ7t.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-seam-evidence-DHF-6-LL.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-selection-scope-BDhLhq2I.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-DvtAsoMz.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-27FxTC_O.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-three-root-Dz6_eahi.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-DpfYBpUT.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-CfKP58nb.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-world-session-state-DXRrzwuC.js +1 -0
- package/dist/assets/volter-sdk-kit-availability-tick-CyW5ugn3.js +1 -0
- package/dist/assets/volter-sdk-kit-bitmap-label-D5kyDEEo.js +1 -0
- package/dist/assets/volter-sdk-kit-boot-routing-DZHRDEX-.js +1 -0
- package/dist/assets/volter-sdk-kit-breakpoint-state-CNKLlzs1.js +1 -0
- package/dist/assets/volter-sdk-kit-build-identity-CMr_k1QI.js +1 -0
- package/dist/assets/volter-sdk-kit-bytes-codec-BgT_R72Q.js +1 -0
- package/dist/assets/volter-sdk-kit-cancellation-reason-DLfIdpSV.js +1 -0
- package/dist/assets/volter-sdk-kit-canvas-frames-BM_Y8bUx.js +1 -0
- package/dist/assets/volter-sdk-kit-capture-camera-pose-RH4-gX5R.js +1 -0
- package/dist/assets/volter-sdk-kit-capture-size-DWId-IPB.js +1 -0
- package/dist/assets/volter-sdk-kit-chrome-registry-BOdfgq1e.js +1 -0
- package/dist/assets/volter-sdk-kit-chrome-slot-registry-Bk31oHoU.js +1 -0
- package/dist/assets/volter-sdk-kit-collaboration-client-6mh7Srlc.js +1 -0
- package/dist/assets/volter-sdk-kit-collaboration-presence-ByenuOy4.js +1 -0
- package/dist/assets/volter-sdk-kit-command-dispatch-d3_xwdkd.js +1 -0
- package/dist/assets/volter-sdk-kit-command-listener-n4AYpNey.js +1 -0
- package/dist/assets/volter-sdk-kit-command-registry-8r4aTdX0.js +1 -0
- package/dist/assets/volter-sdk-kit-component-board-registry-BJlj_R57.js +1 -0
- package/dist/assets/volter-sdk-kit-component-states-registry--2upeZnQ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AlignToolbar-CiNZv2ez.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ApplicationMenus-DzYH7jV8.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AssetEditorShell-D_Mr8wn7.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-DVHraE1e.js +1 -0
- package/dist/assets/volter-sdk-kit-components-BoardRulers-B0yxrqJf.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-so_I9kO4.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-CAw5YHY8.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ChromeSlot-DYKvnA1B.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CodeView-CNqyXz6s.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-VQCNyfJI.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ConsolePanel-CJEXZn32.js +1 -0
- package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-B5ps1S5p.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectionProjection-DXWMLJBj.js +1 -0
- package/dist/assets/volter-sdk-kit-components-Inspector-D-5acFaK.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-B-dKPAVC.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-kHWYROqG.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-4C4-OuRQ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorToolSection-7PkpHy6m.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-Qb6lncsR.js +1 -0
- package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-I5bYPw8G.js +1 -0
- package/dist/assets/volter-sdk-kit-components-MediaProperties-DHqaKm53.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ProjectHeader-CKdOTd4z.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-CKAFAs9E.js +1 -0
- package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-CBcgXqO5.js +1 -0
- package/dist/assets/volter-sdk-kit-components-RootTextEditor-Cz67j-4n.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SaveStatus-Caz1OAep.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-pVJvS10a.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-wG9w1Ov4.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-BOrb6QNK.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ToolHost-eJh2dHBK.js +1 -0
- package/dist/assets/volter-sdk-kit-components-Toolbar-CG76ZyMm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-TransientHint-CZ_1_HpT.js +1 -0
- package/dist/assets/volter-sdk-kit-components-VersionControlSection-oMLaOizm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-D8gkJZAJ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-VolterLogo-CzGpbj4m.js +1 -0
- package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-Mh6Rrnms.js +1 -0
- package/dist/assets/volter-sdk-kit-components-account-documents-Dbwqig-x.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-documents-q07lSorN.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-jxfl9-Mb.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-selection-section-Cfra-fki.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-thumbnails-98Pzj8gX.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-DBoGqKx3.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-3-gMf79N.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-m3izls7N.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-DFDWUTXA.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-CQRanNix.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-jdECjyXq.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-s7uZ8Ud-.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-DHTFH1Bw.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-DGbNY6dk.js +1 -0
- package/dist/assets/volter-sdk-kit-components-board-guides-CPEc5fFw.js +1 -0
- package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-uv02pyDE.js +1 -0
- package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-T5jgJn2X.js +1 -0
- package/dist/assets/volter-sdk-kit-components-core-utilities-CeVE6o2Q.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-preview-section-DoVWbcT1.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-revert-label-DzXZZ_Vw.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-selection-BYfzBGYs.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-DwMnLWyF.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-transform-BGPtVmG9.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-D7ASpnJ3.js +1 -0
- package/dist/assets/volter-sdk-kit-components-kind-documents-Ci09TFHE.js +1 -0
- package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-DTn8M-wN.js +1 -0
- package/dist/assets/volter-sdk-kit-components-project-tool-documents-Du8YfSZs.js +1 -0
- package/dist/assets/volter-sdk-kit-components-scene-documents-Ch1YT0xR.js +1 -0
- package/dist/assets/volter-sdk-kit-components-status-contributions-DFVudgLm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-tool-documents-DeonY74x.js +1 -0
- package/dist/assets/volter-sdk-kit-components-tool-schema-form-DWgT2ck9.js +1 -0
- package/dist/assets/volter-sdk-kit-components-use-after-paint-F8L0rG-5.js +1 -0
- package/dist/assets/volter-sdk-kit-components-use-project-image-assets-B3VAx2pv.js +1 -0
- package/dist/assets/volter-sdk-kit-components-workspace-history-DUwOTfSr.js +1 -0
- package/dist/assets/volter-sdk-kit-components-world-documents-Dh7Mrvlx.js +1 -0
- package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-DCce_Nl3.js +1 -0
- package/dist/assets/volter-sdk-kit-composite-screenshot-Bx4ZwckJ.js +1 -0
- package/dist/assets/volter-sdk-kit-content-entry-source-registry-DHSyAl80.js +1 -0
- package/dist/assets/volter-sdk-kit-contribution-surfaces-nLNaCeiS.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-BQrkwTWS.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-DTr5Mqz1.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-DZWV_DXu.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-session-vitals-C3yMFqYq.js +1 -0
- package/dist/assets/volter-sdk-kit-creation-site-registry-GFc34k4W.js +1 -0
- package/dist/assets/volter-sdk-kit-delegate-harness-registry-DqCWUU60.js +1 -0
- package/dist/assets/volter-sdk-kit-document-areas-BpReVOBg.js +1 -0
- package/dist/assets/volter-sdk-kit-document-context-registry-h4QWXnDH.js +1 -0
- package/dist/assets/volter-sdk-kit-document-open-registry-Bsut-_gy.js +1 -0
- package/dist/assets/volter-sdk-kit-document-play-extension-Dnr7wLlF.js +1 -0
- package/dist/assets/volter-sdk-kit-document-preview-source-BIA66PX1.js +1 -0
- package/dist/assets/volter-sdk-kit-document-renderer-session-EhLaW1UH.js +1 -0
- package/dist/assets/volter-sdk-kit-document-stage-sessions-CNpw0-k6.js +1 -0
- package/dist/assets/volter-sdk-kit-document-viewports-BuNTj6gi.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-api-DXwcZRxd.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-chrome-capture-BbK96TB_.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-commands-Cmfp81UC.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-console-6m89k936.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-current-view-BnPHVBt8.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-document-probe-CX5IycrS.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-git-client-CMxMJwge.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-hotkeys-CEfK3Frz.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-lease-CTRjPMBI.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-lease-view-DddtK_ty.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-mode-DH2KoL5W.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-notifications-DG2RbDdr.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presence-B8lJuaMQ.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presentation-activity-BhtHqZzE.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presentation-notice-SjwjzlrG.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-runtime-D-Kv52Vn.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-server-response-BlyTrVzB.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-session-attribution-DlmzCvu5.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-session-mode-BFDmZGNs.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-state-facets-C8uSztkB.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-view-presentation-D7sN2Io2.js +1 -0
- package/dist/assets/volter-sdk-kit-environment-images-gEkxtdDw.js +1 -0
- package/dist/assets/volter-sdk-kit-eyedropper-session-iQlcdsrF.js +1 -0
- package/dist/assets/volter-sdk-kit-files-file-provider-BM3D7Hxu.js +1 -0
- package/dist/assets/volter-sdk-kit-files-project-files-D96nDy7l.js +1 -0
- package/dist/assets/volter-sdk-kit-finders-index-DzGUJ4WO.js +1 -0
- package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-BA3rf3j1.js +1 -0
- package/dist/assets/volter-sdk-kit-frame-frame-parts-2X8KuSIz.js +1 -0
- package/dist/assets/volter-sdk-kit-framed-document-capture-D8DGqqBo.js +1 -0
- package/dist/assets/volter-sdk-kit-game-surface-defaults-B8_7dFSa.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-export-state-CTdz6Niu.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-replay-D9LpPdzN.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-session-time-CiWOAIvT.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-sessions-BsqD2wAY.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-component-marks-DDQfNYKr.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-internals-yY_mjHaI.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-hat-40TT.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-vt0tpTZ8.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-node-rows-C3h8jMft.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-panel-view-DYeu5Gss.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-projection-DAJVvdEm.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-row-media-gsL26sRz.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-row-model-DHGRUiLM.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-rows-uQY5gDYt.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-walk-CTC6Etjc.js +1 -0
- package/dist/assets/volter-sdk-kit-history-editor-session-Ca2bFgGi.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-commands-DLBwl4Hd.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-delegate-3OiooMej.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-limit-notices-DXi28Jld.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-service-kr1hZRoU.js +1 -0
- package/dist/assets/volter-sdk-kit-history-persistence-coordinator-bbObuDbt.js +1 -0
- package/dist/assets/volter-sdk-kit-history-project-file-history-BzIwuOcz.js +1 -0
- package/dist/assets/volter-sdk-kit-history-project-root-history-backends-BNm9dOmX.js +1 -0
- package/dist/assets/volter-sdk-kit-history-resource-registry-CUXFY-oI.js +1 -0
- package/dist/assets/volter-sdk-kit-history-snapshot-store-BO_X174w.js +1 -0
- package/dist/assets/volter-sdk-kit-history-source-history-backend-Dbou8wZe.js +1 -0
- package/dist/assets/volter-sdk-kit-hmr-registration-group-DokR-9Y2.js +1 -0
- package/dist/assets/volter-sdk-kit-hmr-stable-react-context-BZd9eBK4.js +1 -0
- package/dist/assets/volter-sdk-kit-hotkeys-BFqIb2IE.js +1 -0
- package/dist/assets/volter-sdk-kit-inference-diagnostics-DvJL1JAP.js +1 -0
- package/dist/assets/volter-sdk-kit-initial-project-BonNLqRW.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-active-subject-BAJCvCLY.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-active-surface-icBYCaHR.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-compose-subject-DHrhix9n.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-display-DrofUfiU.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-document-subject-CI0aalrz.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-game-subject-GXwOrcl1.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-model-CAzunjkJ.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-node-media-DUbhfpyi.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-null-subject-DDu9eiuR.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-serialize-Ca5VK8TD.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-OLA0PBhX.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-presentation-v3Dd6aiU.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-property-grouping-0LgfwmIq.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-section-registry-DMhI2PuF.js +1 -0
- package/dist/assets/volter-sdk-kit-instance-source-actions-BniKGWCD.js +1 -0
- package/dist/assets/volter-sdk-kit-js-heap-D_k6ggRo.js +1 -0
- package/dist/assets/volter-sdk-kit-key-actions-CxnQwK8i.js +1 -0
- package/dist/assets/volter-sdk-kit-keymap-presets-BbO1GGLM.js +1 -0
- package/dist/assets/volter-sdk-kit-layout-policy-CKAA_Jn5.js +1 -0
- package/dist/assets/volter-sdk-kit-light-explorer-model-vZvDDwqC.js +1 -0
- package/dist/assets/volter-sdk-kit-live-canvas-frame-reNARBbE.js +1 -0
- package/dist/assets/volter-sdk-kit-live-document-Brotm2Qm.js +1 -0
- package/dist/assets/volter-sdk-kit-live-gesture-lock-CdoLLHOD.js +1 -0
- package/dist/assets/volter-sdk-kit-live-seam-evidence-jKL3n__8.js +1 -0
- package/dist/assets/volter-sdk-kit-live-session-registry-8Lji_Dgk.js +1 -0
- package/dist/assets/volter-sdk-kit-live-transition-CMLrfhxg.js +1 -0
- package/dist/assets/volter-sdk-kit-manifest-project-Dgihq_CM.js +1 -0
- package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-C8oBpgml.js +1 -0
- package/dist/assets/volter-sdk-kit-mount-failure-report-DxOf95Sz.js +1 -0
- package/dist/assets/volter-sdk-kit-native-selection-style-rJyrRoU1.js +1 -0
- package/dist/assets/volter-sdk-kit-object3d-document-write-policy-CGuHVDNP.js +1 -0
- package/dist/assets/volter-sdk-kit-packaged-runtime--HEj501Q.js +1 -0
- package/dist/assets/volter-sdk-kit-performance-profiler-sat5agtE.js +1 -0
- package/dist/assets/volter-sdk-kit-performance-sources-Db3RTE8l.js +1 -0
- package/dist/assets/volter-sdk-kit-photograph-notice-Dw_OdYBc.js +1 -0
- package/dist/assets/volter-sdk-kit-play-boot-phase-CwaVYSQo.js +1 -0
- package/dist/assets/volter-sdk-kit-play-camera-flight-5mfUC0Zf.js +1 -0
- package/dist/assets/volter-sdk-kit-presentation-surface-DgfazB_k.js +1 -0
- package/dist/assets/volter-sdk-kit-product-command-VtmL88nk.js +1 -0
- package/dist/assets/volter-sdk-kit-project-adapter-Xw_Y-908.js +1 -0
- package/dist/assets/volter-sdk-kit-project-asset-refresh-B5Pl3j_B.js +1 -0
- package/dist/assets/volter-sdk-kit-project-asset-roots-B5-xEHVV.js +1 -0
- package/dist/assets/volter-sdk-kit-project-local-state-B99ZJ4fp.js +1 -0
- package/dist/assets/volter-sdk-kit-project-manager-B9VUIcqj.js +1 -0
- package/dist/assets/volter-sdk-kit-project-module-changes-CSjBPmxU.js +1 -0
- package/dist/assets/volter-sdk-kit-project-module-split-CRSPgtUT.js +1 -0
- package/dist/assets/volter-sdk-kit-project-provenance-Cp7ojKln.js +1 -0
- package/dist/assets/volter-sdk-kit-project-ready-DnmQDekk.js +1 -0
- package/dist/assets/volter-sdk-kit-project-shape-BTZFZR7i.js +1 -0
- package/dist/assets/volter-sdk-kit-project-tools-CtxTarSf.js +1 -0
- package/dist/assets/volter-sdk-kit-readiness-BMtOiiFi.js +1 -0
- package/dist/assets/volter-sdk-kit-renderer-resource-counts-De8QRV0a.js +1 -0
- package/dist/assets/volter-sdk-kit-reported-play-state-BXKNSieM.js +1 -0
- package/dist/assets/volter-sdk-kit-resolve-contributed-command-Buvg2G9m.js +1 -0
- package/dist/assets/volter-sdk-kit-resolve-relative-specifier-Y9zNJ1fg.js +1 -0
- package/dist/assets/volter-sdk-kit-retained-document-states-B_rMedrB.js +1 -0
- package/dist/assets/volter-sdk-kit-scene-document-plan-C3B-BeR-.js +1 -0
- package/dist/assets/volter-sdk-kit-scene-live-open-DeHpTATs.js +1 -0
- package/dist/assets/volter-sdk-kit-scoped-game-css-CyjKWEoj.js +1 -0
- package/dist/assets/volter-sdk-kit-served-url-CqwbU14d.js +1 -0
- package/dist/assets/volter-sdk-kit-session-close-Cky2WmF4.js +1 -0
- package/dist/assets/volter-sdk-kit-session-tombstone-x4b5dE0D.js +1 -0
- package/dist/assets/volter-sdk-kit-settings-settings-provider-D5xY_ycx.js +1 -0
- package/dist/assets/volter-sdk-kit-settings-store-cQRLMOjT.js +1 -0
- package/dist/assets/volter-sdk-kit-shell-store-door-D-GgCwa8.js +1 -0
- package/dist/assets/volter-sdk-kit-shell-store-yjr4tC_5.js +1 -0
- package/dist/assets/volter-sdk-kit-source-conflict-B6wxxc3L.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-context-CyVQ6GFM.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-invalidation-DLBg5l-f.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-store-registry-C6UVdwEB.js +1 -0
- package/dist/assets/volter-sdk-kit-startup-failure-C_vNdlH4.js +1 -0
- package/dist/assets/volter-sdk-kit-state-report-deferral-BJ_dsrDV.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-host-files-storage-CXwZNOlA.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-http-storage-Bhevn2WU.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-index-S82TOyGN.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-mem-storage-DINeocEt.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-path-lock-gH0K6boV.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-paths-CKDiJr8B.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-BmQPNsEP.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-compose-project-stories-Cy5zTMkm.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-prefabs-finder-BHL82LAh.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-DTNNX4cl.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-project-story-regions-D_YjyDyE.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-scope-24yPysU7.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-capture-BEKuIyYL.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-declared-medium-05xRaehz.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-discovery-Cdlg6305.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-CDvJoNPe.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-grouping-DgtmbpJ7.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-presentation-Casxif9e.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-registry-BvHoY8Zf.js +1 -0
- package/dist/assets/volter-sdk-kit-story-document-openers-Dgf-awp5.js +1 -0
- package/dist/assets/volter-sdk-kit-story-thumbnails-C0DMx300.js +1 -0
- package/dist/assets/volter-sdk-kit-surface-keyboard-a7u-xvWh.js +1 -0
- package/dist/assets/volter-sdk-kit-surface-state-B3xeZgFt.js +1 -0
- package/dist/assets/volter-sdk-kit-system-seam-evidence-CCQZFekd.js +1 -0
- package/dist/assets/volter-sdk-kit-tab-census-DUFqFdYA.js +1 -0
- package/dist/assets/volter-sdk-kit-tab-lifecycle-client-CyLGzEsH.js +1 -0
- package/dist/assets/volter-sdk-kit-theme-library-ChB7TH1t.js +1 -0
- package/dist/assets/volter-sdk-kit-theme-preference-C3F0pO3f.js +1 -0
- package/dist/assets/volter-sdk-kit-three-viewport-presentation-3YG5TslE.js +1 -0
- package/dist/assets/volter-sdk-kit-tool-contribution-play-DTY5CEgV.js +1 -0
- package/dist/assets/volter-sdk-kit-tool-loader-CCHQfqsF.js +1 -0
- package/dist/assets/volter-sdk-kit-transform-mode-request-Cdt2Pfc3.js +1 -0
- package/dist/assets/volter-sdk-kit-transient-hint-Dt57gjFB.js +1 -0
- package/dist/assets/volter-sdk-kit-transport-strip-tkdyj5iV.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-C4U6uEKj.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-inspect-YfMT6kQG.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-B6e9iBkt.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-0ccn1WGm.js +1 -0
- package/dist/assets/volter-sdk-kit-user-local-state-CXD142zV.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-activation-timings-BWwEoQaL.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-editor-controls-DCILD0rx.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-presentation-Btm4dnQO.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-surface-status-B0--I6Fh.js +1 -0
- package/dist/assets/volter-sdk-kit-wait-until-D7BruTbg.js +1 -0
- package/dist/assets/volter-sdk-kit-worker-call-metrics-DikUbFEi.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-areas-BMqjyNIV.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-aux-commands-B1SpyMqR.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-available-documents-DGwQobaL.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-core-utilities-C6ZgxYOQ.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-ids-C3awSc5H.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-registry-DphKq5ll.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-restore-C91CVSCH.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-host-commands-B5DmiPFl.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-persistence-gate-Hbf78fPK.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-play-utilities-CJabpKW8.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-presets-Bmsw8CG_.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-regions-BHVn1Aey.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-static-panels-CkHThB18.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-status-registry-sQbulMKn.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-storage-B9kOguh-.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-style-xAhYw_hR.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-utility-commands-CKwj5XR7.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-utility-registry-CmxfAHgq.js +1 -0
- package/dist/assets/volter-sdk-kit-world-adoption-uKkfoWJN.js +1 -0
- package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-ivVooVbq.js +1 -0
- package/dist/assets/volter-sdk-kit-world-document-routing-DdA3J0yu.js +1 -0
- package/dist/assets/volter-sdk-kit-world-pan-state-ChlD977O.js +1 -0
- package/dist/assets/volter-sdk-kit-write-pipe-DmjD7ASL.js +1 -0
- package/dist/assets/volter-sdk-layout-arrangements-BV-rtqcD.js +1 -0
- package/dist/assets/volter-sdk-layouts-DQOzCulb.js +1 -0
- package/dist/assets/volter-sdk-selection-DcYKyCj2.js +1 -0
- package/dist/assets/volter-sdk-session-command-table-CpHcTWJ9.js +1 -0
- package/dist/assets/volter-sdk-session-editor-brand-0h4ZK_ou.js +1 -0
- package/dist/assets/volter-sdk-session-editor-compatibility-D5QRyxtv.js +1 -0
- package/dist/assets/volter-sdk-session-editor-control-protocol-eTblxxXS.js +1 -0
- package/dist/assets/volter-sdk-session-entrypoint-selection-readers-BLapOYBD.js +1 -0
- package/dist/assets/volter-sdk-session-game-css-scope-36SakZV0.js +1 -0
- package/dist/assets/volter-sdk-session-project-module-url-B9BjVL-W.js +1 -0
- package/dist/assets/volter-sdk-session-relative-path-guard-D6GsYmxe.js +1 -0
- package/dist/assets/volter-sdk-session-tool-contribution-convention-dJHJyi2s.js +1 -0
- package/dist/assets/volter-sdk-types-h05r24VY.js +1 -0
- package/dist/assets/volter-sdk-views-D9dseLRk.js +1 -0
- package/dist/assets/volter-sdk-widgets-design-system-VeNDGOle.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-appearance-DI6pqf5L.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-material-DpaSpCox.js +1 -0
- package/dist/assets/volter-sdk-widgets-icon-set-registry-CPrg-BlH.js +1 -0
- package/dist/assets/volter-sdk-widgets-index-Cya8_9-f.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-Bv4mj-uG.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-DUOHH6Fk.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-BvRGHRfR.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-AwFOXbba.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-PQRwu0Sj.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-Dy6YkFnK.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-Df106_ox.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-Dy-tWXMs.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-DlbDGo5Y.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-DUicJwPI.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-eui_cY6m.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-C5A88ghS.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-Cuat5_mN.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-Bflb3QF6.js +1 -0
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-BE9nodfE.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-Cmf9dI1s.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Fields-BZi0XHNm.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-List-DyaHdy3M.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-BYVsyF0W.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-CY3SjTNC.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-D4OuYIX3.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-B0jrVqW_.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tree-C6_tidhs.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-B-XMEiAc.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Button-CIBH2B7E.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-DFPqOyaK.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-DfnAY4s9.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-Djh9G6vx.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-nKzEEszM.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-DnSW8vm5.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-B0qUsEj9.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Layout-BRz6LF6Z.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Menu-C7DWCEBM.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-DD957NFV.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Panel-DCGHznF0.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-Dhmqzwzv.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Text-HKY7PI0B.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-pA57zg1c.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-Cy5OfGxU.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-BFpLSKZq.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-banner-tones-WZrE2BkU.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-CuAgbReG.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-egXQAepT.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-Cj5ge_Sn.js +1 -0
- package/dist/assets/volter-sdk-widgets-theme-DZfoy9UH.js +1 -0
- package/dist/assets/volter-sdk-widgets-z-index-BgXU6gF9.js +1 -0
- package/dist/assets/volter-shared-fontawesome-CJtWsAa5.js +1 -0
- package/dist/assets/volter-shared-jsx-dev-runtime-DE65WWqS.js +1 -0
- package/dist/assets/volter-shared-jsx-runtime-DVSK9k9G.js +1 -0
- package/dist/assets/volter-shared-react-D7esH4L1.js +1 -0
- package/dist/assets/volter-shared-react-dom-CqXNyca_.js +1 -0
- package/dist/assets/volter-shared-react-dom-client-Ctokfwqy.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 +16439 -2224
- package/dist-node/create.js +48 -42
- package/package.json +17 -15
- 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-CTv9neQl.js +0 -1
- package/dist/assets/EnvironmentAssetDocument-DvAItQDN.js +0 -1
- package/dist/assets/InspectorObjectPreview-OFjo-0If.js +0 -1
- package/dist/assets/LiveModuleDocument-B9tzWNvZ.js +0 -2
- package/dist/assets/LutAssetDocument-Lkh76TK_.js +0 -1
- package/dist/assets/ModelAssetDocument-BglGVCWf.js +0 -1
- package/dist/assets/NonThreeAuthoringBootstrap-BKYj1ZrL.js +0 -1
- package/dist/assets/Object3DDocumentToolbar-BWlPaJaR.js +0 -1
- package/dist/assets/Object3DPreview-Dq9NnHY-.js +0 -2
- package/dist/assets/QuarksAssetDocument-DFzUXgdw.js +0 -2
- package/dist/assets/ShaderAssetDocument-BOH6xjVq.js +0 -1
- package/dist/assets/StageHost-CUsLgJ9L.js +0 -1179
- package/dist/assets/ToolObject3DPreview-BU1QqwGb.js +0 -1
- package/dist/assets/ViewportShadingMenu-D8-tD90k.js +0 -1
- package/dist/assets/animation-mixers.service-BHZrQ6o9.js +0 -1
- package/dist/assets/animation-timeline.utility-BskUV9h5.js +0 -1
- package/dist/assets/asset-preview-BIeLrVDi.js +0 -4
- package/dist/assets/blender-emscripten-engine-DnJ85_-l.js +0 -2
- package/dist/assets/blender-node-editor.document-BZ3tDB0q.js +0 -1
- package/dist/assets/blender-properties-model-BFVxUxVu.js +0 -1
- package/dist/assets/blender-properties-tab-B7i6JVHg.js +0 -3
- package/dist/assets/blender-runtime-host-DKtrkHfq.js +0 -7221
- package/dist/assets/blender-runtime.document-CAJqbDlw.js +0 -13
- package/dist/assets/blender-screenshot.menu-BX8Qhz1K.js +0 -1
- package/dist/assets/blender-timeline.document-C_-4SumN.js +0 -1
- package/dist/assets/blender-uv-editor.document-C3yFk1L3.js +0 -1
- package/dist/assets/blender-version.status-BHmvomjL.js +0 -1
- package/dist/assets/blender-wali-engine-x-OfFUGX.js +0 -2
- package/dist/assets/blender.command-D7cBLV--.js +0 -1
- package/dist/assets/blender.status-DBj_h-w4.js +0 -1
- package/dist/assets/model-inspection-B7nJafQh.js +0 -1
- package/dist/assets/models.finder-821wCb5Q.js +0 -1
- package/dist/assets/object3d-document-session-registry-8bXWdrtp.js +0 -2
- package/dist/assets/play-mode-Cyjf00rK.js +0 -1
- package/dist/assets/product-kevIo93n.js +0 -14
- package/dist/assets/properties-bone-constraints.inspector-DbVQ-Rhq.js +0 -1
- package/dist/assets/properties-bone.inspector-BC7RAwED.js +0 -1
- package/dist/assets/properties-collection.inspector-DxJ61nVT.js +0 -1
- package/dist/assets/properties-constraints.inspector-CPeEVT5H.js +0 -1
- package/dist/assets/properties-data.inspector-BJlOtPcJ.js +0 -1
- package/dist/assets/properties-material.inspector-W5GbcQkT.js +0 -1
- package/dist/assets/properties-modifiers.inspector-BC0A_0Hu.js +0 -1
- package/dist/assets/properties-object.inspector-1fljhcYU.js +0 -1
- package/dist/assets/properties-output.inspector-C6KX8AJp.js +0 -1
- package/dist/assets/properties-particles.inspector-C1sPoMG7.js +0 -1
- package/dist/assets/properties-physics.inspector-C6hw0Y6I.js +0 -1
- package/dist/assets/properties-render.inspector-BC0jynlC.js +0 -1
- package/dist/assets/properties-scene.inspector-BcUUDycu.js +0 -1
- package/dist/assets/properties-texture.inspector-2s_zlduK.js +0 -1
- package/dist/assets/properties-view-layer.inspector-D2JLsZ4Z.js +0 -1
- package/dist/assets/properties-world.inspector-B2J5kXoP.js +0 -1
- package/dist/assets/react-18-Ltq8GJhW.js +0 -1
- package/dist/assets/session-rpZf0raD.js +0 -5972
- package/dist/assets/stage-keyboard-SPi6G9qU.js +0 -1
- package/dist/assets/stage-overlay-set-CSHPvCH_.js +0 -1
- package/dist/assets/stage-presence-markers-BfZdDdP7.js +0 -1
- package/dist/assets/stage-transform-tools-Bp2cs0uH.js +0 -1
- package/dist/assets/standard-viewport-dressing-BZJnDUxe.js +0 -24
- package/dist/assets/three-integration.service-BwAivmO0.js +0 -2
- package/dist/assets/volter-sdk-B7tf3Tvt.js +0 -2363
- package/dist/assets/volter-sdk-account-7JMtwi37.js +0 -1
- package/dist/assets/volter-sdk-client-5Byy2wXM.js +0 -1
- package/dist/assets/volter-sdk-contributions-CoJ92BxZ.js +0 -1
- package/dist/assets/volter-sdk-css-numeric-style-BUYJamSU.js +0 -1
- package/dist/assets/volter-sdk-document-probe-BTBIWGZo.js +0 -1
- package/dist/assets/volter-sdk-editor-view-CjY8aK6t.js +0 -1
- package/dist/assets/volter-sdk-host-BMYTog8q.js +0 -1
- package/dist/assets/volter-sdk-http-transport.browser-DKzOsvwJ.js +0 -1
- package/dist/assets/volter-sdk-index-CmXVdz18.js +0 -1
- package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-DYZY_-Jp.js +0 -1
- package/dist/assets/volter-sdk-kit-account-client-C__9OqCx.js +0 -1
- package/dist/assets/volter-sdk-kit-action-registry-DbZnCZuD.js +0 -1
- package/dist/assets/volter-sdk-kit-active-product-CJSQPG7X.js +0 -1
- package/dist/assets/volter-sdk-kit-active-project-W_h5o_1g.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-editor-config-yf74Q9V6.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-observation-CjE-3maR.js +0 -1
- package/dist/assets/volter-sdk-kit-animation-animation-clock-Bv4O7TzS.js +0 -1
- package/dist/assets/volter-sdk-kit-animation-stage-transport-BWUPntky.js +0 -1
- package/dist/assets/volter-sdk-kit-api-assets-urr61ysI.js +0 -1
- package/dist/assets/volter-sdk-kit-api-base-Cg1jQjly.js +0 -1
- package/dist/assets/volter-sdk-kit-api-build-IPeA_Geg.js +0 -1
- package/dist/assets/volter-sdk-kit-api-logs-DgvCJi1X.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-identity-DcrwneAO.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-open-CY0GGANh.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-source-B-GKXtsq.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-state-DaYEbDnF.js +0 -1
- package/dist/assets/volter-sdk-kit-api-relay-DcClK0Tj.js +0 -1
- package/dist/assets/volter-sdk-kit-api-settings-DA_ISTVj.js +0 -1
- package/dist/assets/volter-sdk-kit-api-themes-DobwNqVL.js +0 -1
- package/dist/assets/volter-sdk-kit-api-worktrees-D-1w6p1x.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-capabilities-Cj7f9cJ_.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-compare-core-CRJzZ7e9.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-editor-context-6JuLCBP0.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-events-DJHjAkj3.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-inspector-actions-Bh5wXH--.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-selection-UnAt6KM3.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-CaWf9v47.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-thumbnails-22-5CSoT.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-viewers-BKOaJMpK.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-BrrsjJga.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-CPOE0jPj.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-CF5pN2yr.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-CGPLkaKF.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-B2uF8Qr8.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-DFkzAOq7.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-CqZ7yiLi.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-DT-6JRu-.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-Dvy_iNjM.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-DxbVn0I8.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-Biscg5zR.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-DWSHWGxX.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-nBo0GLzq.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-M1f4AEWS.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-project-content-Zs1I0AYY.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-DW5T67GM.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-active-adapter-Da6B0VFl.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-active-systems-SnFtnrEP.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-adapter-key-DYByZK5n.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-DrZybg65.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-DX1fctWY.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-CuqgZEK0.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-CFdzaVqi.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-DtKitXG1.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-consumer-actions-CaIzvQGg.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-design-time-layers-D2dItuZJ.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-DUkwNruT.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-CNICAAxN.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-DtvlG0_r.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-C0bBI0Oq.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-layered-pick-DHVc4KkH.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-CMJqvaBK.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-C-V0yrIR.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-DIduzzWr.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-panel-authoring-CNg-xt_Y.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-C2JmvbH5.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-provenance-DBuV6m5Q.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-CZ9p6KTQ.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-DveQF6yR.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-story-board-BxCtoUSS.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-seam-evidence-BW409uVb.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-selection-scope-R4IwrpVA.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-BbCw867p.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-CGe1yE_M.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-three-root-KScMI_GK.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-f5MhQ3zW.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-BQ-liZyN.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-world-session-state-D5N0XAiv.js +0 -1
- package/dist/assets/volter-sdk-kit-availability-tick-BtAIfjED.js +0 -1
- package/dist/assets/volter-sdk-kit-bitmap-label--Eayjv5n.js +0 -1
- package/dist/assets/volter-sdk-kit-boot-routing-DgMsFIM8.js +0 -1
- package/dist/assets/volter-sdk-kit-breakpoint-state-ey2AKHF6.js +0 -1
- package/dist/assets/volter-sdk-kit-build-identity-CWm0idao.js +0 -1
- package/dist/assets/volter-sdk-kit-bytes-codec-p9viZgYd.js +0 -1
- package/dist/assets/volter-sdk-kit-cancellation-reason-Dk5ap6A2.js +0 -1
- package/dist/assets/volter-sdk-kit-canvas-frames-C3bH5ML2.js +0 -1
- package/dist/assets/volter-sdk-kit-capture-camera-pose-DTlrLT6B.js +0 -1
- package/dist/assets/volter-sdk-kit-capture-size-DqEiUell.js +0 -1
- package/dist/assets/volter-sdk-kit-chrome-registry-Y03Z4rb5.js +0 -1
- package/dist/assets/volter-sdk-kit-chrome-slot-registry-B8Nkg0xB.js +0 -1
- package/dist/assets/volter-sdk-kit-collaboration-client-Biffahna.js +0 -1
- package/dist/assets/volter-sdk-kit-collaboration-presence-9Lcnxe9r.js +0 -1
- package/dist/assets/volter-sdk-kit-command-dispatch-DkUJztlv.js +0 -1
- package/dist/assets/volter-sdk-kit-command-listener-DkB3zAUV.js +0 -1
- package/dist/assets/volter-sdk-kit-command-registry-B9071ZJF.js +0 -1
- package/dist/assets/volter-sdk-kit-component-board-registry-BEz4eGpc.js +0 -1
- package/dist/assets/volter-sdk-kit-component-states-registry-DP-an_wd.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AlignToolbar-CTX5J-vG.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ApplicationMenus-DU8NUJX_.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AssetEditorShell-BeqiCdMZ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-D5YC5ETL.js +0 -1
- package/dist/assets/volter-sdk-kit-components-BoardRulers-B5EEZQSQ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-C6NLGWP_.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-3QIscqiA.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ChromeSlot-B7w2qG_m.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CodeView-CVofKn39.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-Bn5OfN5M.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ConsolePanel-s3S8S1aX.js +0 -1
- package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-DB4395_M.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectionProjection-DTr-fCJV.js +0 -1
- package/dist/assets/volter-sdk-kit-components-Inspector-DJLfY8ge.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-obOM7Ty1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-BXcAoMVj.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-DkMLLYHP.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorToolSection-CMGWcxL8.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-DSvuMe8E.js +0 -1
- package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-HQxEJkEg.js +0 -1
- package/dist/assets/volter-sdk-kit-components-MediaProperties-DZcpZz2u.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ProjectHeader-Ja8C2i9Q.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-CLdJVqRO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-CXANLMyp.js +0 -1
- package/dist/assets/volter-sdk-kit-components-RootTextEditor-Crl4GInv.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SaveStatus-DyKtgKyo.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-D65G-ZCf.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-CjgqxNBS.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-UIYJ6pRt.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ToolHost-t7FJ8H3j.js +0 -1
- package/dist/assets/volter-sdk-kit-components-Toolbar-wLLQ2FJ4.js +0 -1
- package/dist/assets/volter-sdk-kit-components-TransientHint-CeXnqeIx.js +0 -1
- package/dist/assets/volter-sdk-kit-components-VersionControlSection-zKy-W9jH.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-D8JzeWZo.js +0 -1
- package/dist/assets/volter-sdk-kit-components-VolterLogo-BIM5Edfl.js +0 -1
- package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-CLgJ0lLf.js +0 -1
- package/dist/assets/volter-sdk-kit-components-account-documents-B8uRgQHV.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-documents-7GuLsNE-.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-BWVYMeG4.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-selection-section-Mebq9lHP.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-thumbnails-Dib7j3oD.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-CPLTItQo.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-BqXDfiHz.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-9azpKAM-.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-IZSkjpcC.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-DlKQjgi9.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-DaNGqSDM.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-BYkcyvDG.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-CLjRwu1I.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-CyH5Isos.js +0 -1
- package/dist/assets/volter-sdk-kit-components-board-guides-DMZ1ZnuQ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-BHv0V401.js +0 -1
- package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-D8Eod2re.js +0 -1
- package/dist/assets/volter-sdk-kit-components-core-utilities-Pe_IexTD.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-preview-section-CmkS3bex.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-revert-label-Chi9d4Aa.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-selection-DC4icDNM.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-BSSAUmKe.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-transform-Cs9QjKri.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-BWwn1qgP.js +0 -1
- package/dist/assets/volter-sdk-kit-components-kind-documents-CxnOVstq.js +0 -1
- package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-CmDCEN7m.js +0 -1
- package/dist/assets/volter-sdk-kit-components-project-tool-documents-BI7fumaL.js +0 -1
- package/dist/assets/volter-sdk-kit-components-scene-documents-CpmkIKtT.js +0 -1
- package/dist/assets/volter-sdk-kit-components-status-contributions-BOnfHdDr.js +0 -1
- package/dist/assets/volter-sdk-kit-components-tool-documents-WqSl2RHn.js +0 -1
- package/dist/assets/volter-sdk-kit-components-tool-schema-form-CacYoCqS.js +0 -1
- package/dist/assets/volter-sdk-kit-components-use-after-paint-BHvqq3TS.js +0 -1
- package/dist/assets/volter-sdk-kit-components-use-project-image-assets-BjPray2j.js +0 -1
- package/dist/assets/volter-sdk-kit-components-workspace-history-D4pkX1B3.js +0 -1
- package/dist/assets/volter-sdk-kit-components-world-documents-C0Nvz1by.js +0 -1
- package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-CppGcboN.js +0 -1
- package/dist/assets/volter-sdk-kit-composite-screenshot-DQTSBE3R.js +0 -1
- package/dist/assets/volter-sdk-kit-content-entry-source-registry-C_ftWlkd.js +0 -1
- package/dist/assets/volter-sdk-kit-contribution-surfaces-DEsx_k2Q.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-dzSdv9le.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-wU1j39Qh.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-BbgmWxhA.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-session-vitals-BHxJMOqH.js +0 -1
- package/dist/assets/volter-sdk-kit-creation-site-registry-tWO004ug.js +0 -1
- package/dist/assets/volter-sdk-kit-delegate-harness-registry-D4xWCPzQ.js +0 -1
- package/dist/assets/volter-sdk-kit-document-areas-CgItwH3n.js +0 -1
- package/dist/assets/volter-sdk-kit-document-context-registry-DnUCJ2Ew.js +0 -1
- package/dist/assets/volter-sdk-kit-document-open-registry-CPN5zJat.js +0 -1
- package/dist/assets/volter-sdk-kit-document-play-extension-DGtADZMq.js +0 -1
- package/dist/assets/volter-sdk-kit-document-preview-source-Cfl4Dy_3.js +0 -1
- package/dist/assets/volter-sdk-kit-document-renderer-session-8cEDXPAr.js +0 -1
- package/dist/assets/volter-sdk-kit-document-stage-sessions-GRh2JjD_.js +0 -1
- package/dist/assets/volter-sdk-kit-document-viewports-HtvvtALx.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-api-8c_rSJ8R.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-chrome-capture-TDV59iqa.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-commands-NSPJ3J69.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-console-CipG8ist.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-current-view-BNJuuGGe.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-document-probe-CqTl5xM-.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-git-client-Cvdqf4n8.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-hotkeys-BEG8vCFL.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-lease-DCvaE09F.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-lease-view-CvfqPRLe.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-mode-GoKwnpLK.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-notifications-8Dm2QeDZ.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presence-Cy6gEVnz.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presentation-activity-ynaasing.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presentation-notice-B1Xycry5.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-runtime-BwgmBJxX.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-server-response-CBtV7ekn.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-session-attribution-C8WSDC0Q.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-session-mode-Br-RYmCl.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-state-facets-DGTBNp4W.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-view-presentation-_J_UvKAW.js +0 -1
- package/dist/assets/volter-sdk-kit-environment-images-DbGMfma-.js +0 -1
- package/dist/assets/volter-sdk-kit-eyedropper-session-DczyBVkS.js +0 -1
- package/dist/assets/volter-sdk-kit-files-file-provider-BVOf7C-r.js +0 -1
- package/dist/assets/volter-sdk-kit-files-project-files-D7BYbDfP.js +0 -1
- package/dist/assets/volter-sdk-kit-finders-index-CIMkEiLT.js +0 -1
- package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-DH8ZBqft.js +0 -1
- package/dist/assets/volter-sdk-kit-frame-frame-parts-DIq7ll-Q.js +0 -1
- package/dist/assets/volter-sdk-kit-framed-document-capture-DnfuhB1m.js +0 -1
- package/dist/assets/volter-sdk-kit-game-surface-defaults-Bh3wv-mH.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-export-state-BEkckFjb.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-replay-DJHcbdV9.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-session-time-DElpE5Kt.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-sessions-vclLd3xX.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-component-marks-Bg_SPc4t.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-internals-BsAcvB3k.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-BcwYgpZd.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-s2ts29Yt.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-node-rows-efo0iJmc.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-panel-view-CIefmxpn.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-projection-BYYDCYV5.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-row-media-DFZ55Eq0.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-row-model-UxgV-SkK.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-rows-Cz5ZihYm.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-walk-Dr2U8ZO9.js +0 -1
- package/dist/assets/volter-sdk-kit-history-editor-session-CWCXIv3b.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-commands-2DWQSTTt.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-delegate-C3rzMOlx.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-limit-notices-D3ix018P.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-service-7W-3kfYQ.js +0 -1
- package/dist/assets/volter-sdk-kit-history-persistence-coordinator-BK0qQ3tf.js +0 -1
- package/dist/assets/volter-sdk-kit-history-project-file-history-C4ttOKyT.js +0 -1
- package/dist/assets/volter-sdk-kit-history-project-root-history-backends-CLkqF_Jr.js +0 -1
- package/dist/assets/volter-sdk-kit-history-resource-registry-DakXGHYK.js +0 -1
- package/dist/assets/volter-sdk-kit-history-snapshot-store-Bj4ZFRdu.js +0 -1
- package/dist/assets/volter-sdk-kit-history-source-history-backend-DOodlY__.js +0 -1
- package/dist/assets/volter-sdk-kit-hmr-registration-group-CSfQk9pL.js +0 -1
- package/dist/assets/volter-sdk-kit-hmr-stable-react-context-DwDITjLJ.js +0 -1
- package/dist/assets/volter-sdk-kit-hotkeys-CPPWDBzh.js +0 -1
- package/dist/assets/volter-sdk-kit-inference-diagnostics-p4D6in15.js +0 -1
- package/dist/assets/volter-sdk-kit-initial-project-65zDAw6V.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-active-subject-7diSTvFh.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-active-surface-OqdBerRk.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-compose-subject-DOhkLalv.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-display-D-IZAoDx.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-document-subject-C-b5D9du.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-game-subject-CTK8YlLe.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-model-Cy5--YYe.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-node-media-Cl5Pv5Xr.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-null-subject-1B-hPkvb.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-serialize-ugnltzbu.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-BIbj_zQO.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-presentation-BvvnMkOs.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-property-grouping-Bm2wCxwq.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-section-registry-BqsYeqqP.js +0 -1
- package/dist/assets/volter-sdk-kit-instance-source-actions-B1HuqEzQ.js +0 -1
- package/dist/assets/volter-sdk-kit-js-heap-0ed9Ql3b.js +0 -1
- package/dist/assets/volter-sdk-kit-key-actions-C6egPduq.js +0 -1
- package/dist/assets/volter-sdk-kit-keymap-presets-5yZW1Ken.js +0 -1
- package/dist/assets/volter-sdk-kit-layout-policy-tGPe3EAK.js +0 -1
- package/dist/assets/volter-sdk-kit-light-explorer-model-26_jaThf.js +0 -1
- package/dist/assets/volter-sdk-kit-live-canvas-frame-DRVTsZ7f.js +0 -1
- package/dist/assets/volter-sdk-kit-live-document-DNOa16Bq.js +0 -1
- package/dist/assets/volter-sdk-kit-live-gesture-lock-BfI3fpoY.js +0 -1
- package/dist/assets/volter-sdk-kit-live-seam-evidence-C3oBBPWO.js +0 -1
- package/dist/assets/volter-sdk-kit-live-session-registry-Db_iC2RG.js +0 -1
- package/dist/assets/volter-sdk-kit-live-transition-BxWCL92B.js +0 -1
- package/dist/assets/volter-sdk-kit-manifest-project-Dkjmvlek.js +0 -1
- package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-UGFYVMJn.js +0 -1
- package/dist/assets/volter-sdk-kit-mount-failure-report-D0ZQ71nh.js +0 -1
- package/dist/assets/volter-sdk-kit-native-selection-style-DQknGdcs.js +0 -1
- package/dist/assets/volter-sdk-kit-object3d-document-write-policy-Ce1L0rFI.js +0 -1
- package/dist/assets/volter-sdk-kit-packaged-runtime-Du8V-ZH8.js +0 -1
- package/dist/assets/volter-sdk-kit-performance-profiler-CxUavCgG.js +0 -1
- package/dist/assets/volter-sdk-kit-performance-sources-C-eI5WtQ.js +0 -1
- package/dist/assets/volter-sdk-kit-photograph-notice-CMNz5W6m.js +0 -1
- package/dist/assets/volter-sdk-kit-play-boot-phase-CztnwCxE.js +0 -1
- package/dist/assets/volter-sdk-kit-play-camera-flight-CvYyVfqu.js +0 -1
- package/dist/assets/volter-sdk-kit-presentation-surface-CS4DYiUp.js +0 -1
- package/dist/assets/volter-sdk-kit-product-command-DaIFfFu_.js +0 -1
- package/dist/assets/volter-sdk-kit-project-adapter-0aFFtmfA.js +0 -1
- package/dist/assets/volter-sdk-kit-project-asset-refresh-CJF0MSRU.js +0 -1
- package/dist/assets/volter-sdk-kit-project-asset-roots-CV_EbPry.js +0 -1
- package/dist/assets/volter-sdk-kit-project-local-state-DQv0Qa0e.js +0 -1
- package/dist/assets/volter-sdk-kit-project-manager-BdmMB_D-.js +0 -1
- package/dist/assets/volter-sdk-kit-project-module-changes-CWsfJwzV.js +0 -1
- package/dist/assets/volter-sdk-kit-project-module-split-DLDH1hds.js +0 -1
- package/dist/assets/volter-sdk-kit-project-provenance-Bbq065iV.js +0 -1
- package/dist/assets/volter-sdk-kit-project-ready-D3OERGyu.js +0 -1
- package/dist/assets/volter-sdk-kit-project-shape-B7Ad2TLc.js +0 -1
- package/dist/assets/volter-sdk-kit-project-tools-Bh0ogpoJ.js +0 -1
- package/dist/assets/volter-sdk-kit-readiness-VIETGQBH.js +0 -1
- package/dist/assets/volter-sdk-kit-renderer-resource-counts-hLvH-N1M.js +0 -1
- package/dist/assets/volter-sdk-kit-reported-play-state-FxN9UgrJ.js +0 -1
- package/dist/assets/volter-sdk-kit-resolve-contributed-command-Bq-D4Z-k.js +0 -1
- package/dist/assets/volter-sdk-kit-resolve-relative-specifier-BYz5ToiQ.js +0 -1
- package/dist/assets/volter-sdk-kit-retained-document-states-NHFeJEqz.js +0 -1
- package/dist/assets/volter-sdk-kit-scene-document-plan-CfN37jSz.js +0 -1
- package/dist/assets/volter-sdk-kit-scene-live-open-CUwi3scP.js +0 -1
- package/dist/assets/volter-sdk-kit-scoped-game-css-D-Zo7muz.js +0 -1
- package/dist/assets/volter-sdk-kit-served-url-CmQyUkUJ.js +0 -1
- package/dist/assets/volter-sdk-kit-session-close-CpeajdFt.js +0 -1
- package/dist/assets/volter-sdk-kit-session-tombstone-Qt6PTZUe.js +0 -1
- package/dist/assets/volter-sdk-kit-settings-settings-provider-CxyCrZci.js +0 -1
- package/dist/assets/volter-sdk-kit-settings-store-Bx1u09Ej.js +0 -1
- package/dist/assets/volter-sdk-kit-shell-store-Boaqeol8.js +0 -1
- package/dist/assets/volter-sdk-kit-shell-store-door-BIxg0K41.js +0 -1
- package/dist/assets/volter-sdk-kit-source-conflict-CA-dUA-W.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-context-OIqCRioe.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-invalidation-b0ChhDfp.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-store-registry-qwoXqP6n.js +0 -1
- package/dist/assets/volter-sdk-kit-startup-failure-CUj2L1tr.js +0 -1
- package/dist/assets/volter-sdk-kit-state-report-deferral-iZlfm4Nr.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-host-files-storage-Bt8R1X9k.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-http-storage-9nE2FlO-.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-index-B-AuWuD7.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-mem-storage-5sJsrCQS.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-path-lock-DtvTYQo0.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-paths-D-YlCKPr.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-B8SFGFOE.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-compose-project-stories-xyAUh9br.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-prefabs-finder-8RXr-Y7Q.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-7iiFLhC-.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-project-story-regions-a_qCa43Q.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-scope-Co0HbC12.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-capture-01sjOwEY.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-declared-medium-COdprqX6.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-discovery-Bb_5JF9r.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-DkQLVdlE.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-grouping-QZsmhYuS.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-presentation--DkLmQiN.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-registry-yiNoFm9N.js +0 -1
- package/dist/assets/volter-sdk-kit-story-document-openers-BflkfwTk.js +0 -1
- package/dist/assets/volter-sdk-kit-story-thumbnails-UKIziFdS.js +0 -1
- package/dist/assets/volter-sdk-kit-surface-keyboard-AlFTfn8y.js +0 -1
- package/dist/assets/volter-sdk-kit-surface-state-DrZCUwaU.js +0 -1
- package/dist/assets/volter-sdk-kit-system-seam-evidence-YrcyrxrN.js +0 -1
- package/dist/assets/volter-sdk-kit-tab-census-Clg8Smeu.js +0 -1
- package/dist/assets/volter-sdk-kit-tab-lifecycle-client-B5_REYPr.js +0 -1
- package/dist/assets/volter-sdk-kit-theme-library-CWHbgmPi.js +0 -1
- package/dist/assets/volter-sdk-kit-theme-preference-BgNnpwWG.js +0 -1
- package/dist/assets/volter-sdk-kit-three-viewport-presentation-ZzLJ-bkx.js +0 -1
- package/dist/assets/volter-sdk-kit-tool-contribution-play-C_uwb7tZ.js +0 -1
- package/dist/assets/volter-sdk-kit-tool-loader-DXuCfS8l.js +0 -1
- package/dist/assets/volter-sdk-kit-transform-mode-request-7evEpaB_.js +0 -1
- package/dist/assets/volter-sdk-kit-transient-hint-IRjb64Tc.js +0 -1
- package/dist/assets/volter-sdk-kit-transport-strip-Dti982Ng.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-CwokT34s.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-inspect-DBuRG4dn.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-TNGLa62q.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-D8EbjlnJ.js +0 -1
- package/dist/assets/volter-sdk-kit-user-local-state-DeynFvcT.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-activation-timings-AaacB9oC.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-editor-controls-CwuBDya8.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-presentation-BQwt4yDO.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-surface-status-CSUer8US.js +0 -1
- package/dist/assets/volter-sdk-kit-wait-until-DMOQpGn1.js +0 -1
- package/dist/assets/volter-sdk-kit-worker-call-metrics-Ce4JSc9n.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-areas-babY5OR_.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-aux-commands-HzXopiDV.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-available-documents-BjoSdh5n.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-core-utilities-zryGnXGS.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-ids-BM84KEq4.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-registry-DpAQ4cr5.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-restore-DAg6SG0l.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-host-commands-BFt3wb1k.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-persistence-gate-BJ6LHrOE.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-play-utilities-B_DKNtI4.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-presets-Dm7ciqEm.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-regions-D-9EZ8O8.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-static-panels-Dx_SxxnN.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-status-registry-B2icTxhq.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-storage-Dq0eDCYq.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-style-cU7H1sVx.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-utility-commands-DZOA5lmo.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-utility-registry-FNQX3Y4R.js +0 -1
- package/dist/assets/volter-sdk-kit-world-adoption-C4rdKYK1.js +0 -1
- package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-BBSDe3bt.js +0 -1
- package/dist/assets/volter-sdk-kit-world-document-routing-B_q3648G.js +0 -1
- package/dist/assets/volter-sdk-kit-world-pan-state-DM3zvrVp.js +0 -1
- package/dist/assets/volter-sdk-kit-write-pipe-DJr-GsL0.js +0 -1
- package/dist/assets/volter-sdk-layout-arrangements-Cq4DeXFd.js +0 -1
- package/dist/assets/volter-sdk-layouts-7zyUDSyl.js +0 -1
- package/dist/assets/volter-sdk-selection-DHab-84l.js +0 -1
- package/dist/assets/volter-sdk-session-command-table-CyyxFM5G.js +0 -1
- package/dist/assets/volter-sdk-session-editor-brand-CxqfUhRF.js +0 -1
- package/dist/assets/volter-sdk-session-editor-compatibility-Z7mDMTjo.js +0 -1
- package/dist/assets/volter-sdk-session-editor-control-protocol-DTCmhLv0.js +0 -1
- package/dist/assets/volter-sdk-session-entrypoint-selection-readers-MevBvB8r.js +0 -1
- package/dist/assets/volter-sdk-session-game-css-scope-DzK3tvc3.js +0 -1
- package/dist/assets/volter-sdk-session-project-module-url-B-bo0dz0.js +0 -1
- package/dist/assets/volter-sdk-session-relative-path-guard-CJu2RCoi.js +0 -1
- package/dist/assets/volter-sdk-session-tool-contribution-convention-D0i2YQZE.js +0 -1
- package/dist/assets/volter-sdk-types-CPqdxTgy.js +0 -1
- package/dist/assets/volter-sdk-views-Dv3YiPOm.js +0 -1
- package/dist/assets/volter-sdk-widgets-design-system-Bdjsniuv.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-appearance-BhhpmKy1.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-material-2FBr5lSj.js +0 -1
- package/dist/assets/volter-sdk-widgets-icon-set-registry-thqLOOyG.js +0 -1
- package/dist/assets/volter-sdk-widgets-index-COke1bt3.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-CH8wRoBz.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-BjKYd_LI.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-BRN5ojt0.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-CnsZZe_0.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-DauQ8QpW.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-GW-C4yt6.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-Bp6vbE2c.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-CZ78otUw.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-DFMHVcVT.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-LgPyLSuK.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-BnYH_LVT.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-pSErBwub.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-DIeXEpof.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-0re9z-H8.js +0 -1
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-TMS6NO4j.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-DZHXUa5e.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Fields-B7tBrFKE.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-List-vYi3mFKO.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-BPLk-0YV.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-CW_2xPhI.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-Bd4tK22G.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-BGtgAnQo.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tree-JJFaoxYv.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-CH2e0Jdr.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Button-dXXgw22L.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-BsnPOVLx.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-BLjhV7zr.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-6GCeaLqM.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-CK6Ta6O9.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-i5kg_jsv.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-DOVZVHEY.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Layout-XbFM9D5P.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Menu-CEQbALgk.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-384Py7qi.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Panel-pkq7sDwN.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-B0NCiED-.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Text-Dy0bMngl.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-D3jG_L8o.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-CMR4Hwx8.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-B_iWAEAR.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-banner-tones-C4DT_pTU.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-D04u0tdg.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-aAC5b9eb.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-BWwyhCy5.js +0 -1
- package/dist/assets/volter-sdk-widgets-theme-BkZMsIeV.js +0 -1
- package/dist/assets/volter-sdk-widgets-z-index-D1vkf5W4.js +0 -1
- package/dist/assets/volter-shared-fontawesome-BrxDGD11.js +0 -1
- package/dist/assets/volter-shared-jsx-dev-runtime-BpKOeLvd.js +0 -1
- package/dist/assets/volter-shared-jsx-runtime-CKkkxaUm.js +0 -1
- package/dist/assets/volter-shared-react-dom-DG63TACt.js +0 -1
- package/dist/assets/volter-shared-react-dom-client-V0luXxIF.js +0 -1
- package/dist/assets/volter-shared-react-pbR4BgAx.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
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/blender-node-editor.document-BZ3tDB0q.js","assets/volter-sdk-B7tf3Tvt.js","assets/blender-runtime-host-DKtrkHfq.js","assets/output-pass-j4dAGrPY.js","assets/three.module-CtVjCPcj.js","assets/linear-resolve-Cuka7Ypb.js","assets/blender-timeline.document-C_-4SumN.js","assets/play-mode-Cyjf00rK.js","assets/blender-uv-editor.document-C3yFk1L3.js","assets/blender-runtime.document-CAJqbDlw.js","assets/object3d-document-session-registry-8bXWdrtp.js","assets/blender-properties-model-BFVxUxVu.js","assets/blender-screenshot.menu-BX8Qhz1K.js","assets/blender-version.status-BHmvomjL.js","assets/blender.command-D7cBLV--.js","assets/blender.status-DBj_h-w4.js","assets/model.layout-BpZE1W9V.js","assets/regions-DWeEBnE2.js","assets/models.finder-821wCb5Q.js","assets/properties-bone-constraints.inspector-DbVQ-Rhq.js","assets/blender-properties-tab-B7i6JVHg.js","assets/properties-constraints.inspector-CPeEVT5H.js","assets/properties-bone.inspector-BC7RAwED.js","assets/properties-collection.inspector-DxJ61nVT.js","assets/properties-data.inspector-BJlOtPcJ.js","assets/properties-material.inspector-W5GbcQkT.js","assets/properties-modifiers.inspector-BC0A_0Hu.js","assets/properties-object.inspector-1fljhcYU.js","assets/properties-output.inspector-C6KX8AJp.js","assets/properties-particles.inspector-C1sPoMG7.js","assets/properties-physics.inspector-C6hw0Y6I.js","assets/properties-render.inspector-BC0jynlC.js","assets/properties-scene.inspector-BcUUDycu.js","assets/properties-texture.inspector-2s_zlduK.js","assets/properties-view-layer.inspector-D2JLsZ4Z.js","assets/properties-world.inspector-B2J5kXoP.js","assets/sculpt.layout-D-K5cLw6.js","assets/shading.layout-CZZHKBer.js","assets/uv-editing.layout-A8RA-cbM.js","assets/three-integration.service-BwAivmO0.js","assets/asset-preview-BIeLrVDi.js","assets/animation-mixers.service-BHZrQ6o9.js","assets/live-mixers-B-bwLZ7c.js","assets/animation-timeline.utility-BskUV9h5.js","assets/NonThreeAuthoringBootstrap-BKYj1ZrL.js","assets/volter-sdk-kit-live-session-registry-Db_iC2RG.js","assets/volter-sdk-kit-stories-story-capture-01sjOwEY.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-B7tf3Tvt.js";const Xf=[{entryPath:"@volter/editor-blender/contributions/blender-node-editor.document.tsx",load:()=>M(()=>import("./blender-node-editor.document-BZ3tDB0q.js"),__vite__mapDeps([0,1,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/blender-timeline.document.tsx",load:()=>M(()=>import("./blender-timeline.document-C_-4SumN.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-C3yFk1L3.js"),__vite__mapDeps([8,1,2,3,4,5]))},{entryPath:"@volter/editor-blender/contributions/blender-runtime.document.tsx",load:()=>M(()=>import("./blender-runtime.document-CAJqbDlw.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-BX8Qhz1K.js"),__vite__mapDeps([12,1]))},{entryPath:"@volter/editor-blender/contributions/blender-version.status.tsx",load:()=>M(()=>import("./blender-version.status-BHmvomjL.js"),__vite__mapDeps([13,1]))},{entryPath:"@volter/editor-blender/contributions/blender.command.ts",load:()=>M(()=>import("./blender.command-D7cBLV--.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-DBj_h-w4.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-821wCb5Q.js"),__vite__mapDeps([18,1]))},{entryPath:"@volter/editor-blender/contributions/properties-bone-constraints.inspector.tsx",load:()=>M(()=>import("./properties-bone-constraints.inspector-DbVQ-Rhq.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-BC7RAwED.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-DxJ61nVT.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-CPeEVT5H.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-BJlOtPcJ.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-W5GbcQkT.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-BC0A_0Hu.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-1fljhcYU.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-C6KX8AJp.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-C1sPoMG7.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-C6hw0Y6I.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-BC0jynlC.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-BcUUDycu.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-2s_zlduK.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-D2JLsZ4Z.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-B2J5kXoP.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-BwAivmO0.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-BHZrQ6o9.js"),__vite__mapDeps([41,1,42]))},{entryPath:"@volter/editor-threejs/contributions/animation-timeline.utility.tsx",load:()=>M(()=>import("./animation-timeline.utility-BskUV9h5.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-BKYj1ZrL.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-Db_iC2RG.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,"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!=="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-01sjOwEY.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as o,a as r}from"./blender-properties-tab-B7i6JVHg.js";import{CONSTRAINT_HEADER as e}from"./properties-constraints.inspector-CPeEVT5H.js";import"./volter-sdk-B7tf3Tvt.js";import"./blender-properties-model-BFVxUxVu.js";import"./blender-runtime-host-DKtrkHfq.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as o,a as t}from"./blender-properties-tab-B7i6JVHg.js";import"./volter-sdk-B7tf3Tvt.js";import"./blender-properties-model-BFVxUxVu.js";import"./blender-runtime-host-DKtrkHfq.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as t,a as i}from"./blender-properties-tab-B7i6JVHg.js";import"./volter-sdk-B7tf3Tvt.js";import"./blender-properties-model-BFVxUxVu.js";import"./blender-runtime-host-DKtrkHfq.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as o,a as r}from"./blender-properties-tab-B7i6JVHg.js";import"./volter-sdk-B7tf3Tvt.js";import"./blender-properties-model-BFVxUxVu.js";import"./blender-runtime-host-DKtrkHfq.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as i,b as p}from"./blender-properties-model-BFVxUxVu.js";import{b as l,a as c}from"./blender-properties-tab-B7i6JVHg.js";import"./volter-sdk-B7tf3Tvt.js";import"./blender-runtime-host-DKtrkHfq.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as t,a as r}from"./blender-properties-tab-B7i6JVHg.js";import"./volter-sdk-B7tf3Tvt.js";import"./blender-properties-model-BFVxUxVu.js";import"./blender-runtime-host-DKtrkHfq.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as o,a as t}from"./blender-properties-tab-B7i6JVHg.js";import"./volter-sdk-B7tf3Tvt.js";import"./blender-properties-model-BFVxUxVu.js";import"./blender-runtime-host-DKtrkHfq.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as t,a as o}from"./blender-properties-tab-B7i6JVHg.js";import"./volter-sdk-B7tf3Tvt.js";import"./blender-properties-model-BFVxUxVu.js";import"./blender-runtime-host-DKtrkHfq.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as t,a as r}from"./blender-properties-tab-B7i6JVHg.js";import"./volter-sdk-B7tf3Tvt.js";import"./blender-properties-model-BFVxUxVu.js";import"./blender-runtime-host-DKtrkHfq.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r,a as i}from"./blender-properties-tab-B7i6JVHg.js";import"./volter-sdk-B7tf3Tvt.js";import"./blender-properties-model-BFVxUxVu.js";import"./blender-runtime-host-DKtrkHfq.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};
|