@volter/cyclotron 0.5.201 → 0.5.203
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BUNDLED_NOTICES +956 -924
- package/LICENSE-BLENDER +11 -0
- package/README.md +16 -10
- package/dist/.vite/manifest.json +2316 -2307
- package/dist/assets/EntityModelDocument-CTq_jwpe.js +1 -0
- package/dist/assets/EnvironmentAssetDocument-CaSQc1HY.js +1 -0
- package/dist/assets/InspectorObjectPreview-P6pJxnGB.js +1 -0
- package/dist/assets/LiveModuleDocument-B6Iw2YIE.js +2 -0
- package/dist/assets/LutAssetDocument-C7Tc5hRu.js +1 -0
- package/dist/assets/ModelAssetDocument-BUOK0YzX.js +1 -0
- package/dist/assets/NonThreeAuthoringBootstrap-Bbtz8I0R.js +1 -0
- package/dist/assets/Object3DDocumentToolbar-GjvQOSkS.js +1 -0
- package/dist/assets/Object3DPreview-BUogCxPt.js +2 -0
- package/dist/assets/QuarksAssetDocument-Cxg3fT6D.js +2 -0
- package/dist/assets/ShaderAssetDocument-BbXBHSY3.js +1 -0
- package/dist/assets/StageHost-BtQd8CQk.js +1179 -0
- package/dist/assets/ToolObject3DPreview-imwBjs0O.js +1 -0
- package/dist/assets/ViewportShadingMenu-Dx1gY8Op.js +1 -0
- package/dist/assets/animation-mixers.service-fNXcr-Vc.js +1 -0
- package/dist/assets/animation-timeline.utility-Dzab5JgT.js +1 -0
- package/dist/assets/asset-preview-BEzZu4j-.js +4 -0
- package/dist/assets/blender-emscripten-engine-BFUuajuh.js +2 -0
- package/dist/assets/blender-node-editor.document-Cu3LXipe.js +1 -0
- package/dist/assets/blender-properties-model-BrD2rboW.js +1 -0
- package/dist/assets/blender-properties-tab-CkbWamuD.js +3 -0
- package/dist/assets/blender-runtime-host-7Wv16WQe.js +7221 -0
- package/dist/assets/blender-runtime.document-CSHvDIaD.js +13 -0
- package/dist/assets/blender-screenshot.menu-CELFKP08.js +1 -0
- package/dist/assets/blender-timeline.document-BvHkPBTZ.js +1 -0
- package/dist/assets/blender-uv-editor.document-DVsbsG0P.js +1 -0
- package/dist/assets/blender-version.status-D_YQqOVz.js +1 -0
- package/dist/assets/blender-wali-engine-C6WYYJ9a.js +2 -0
- package/dist/assets/blender.command-M9NTZ04b.js +1 -0
- package/dist/assets/blender.status-H7PL8qIV.js +1 -0
- package/dist/assets/model-inspection-DAugZuDb.js +1 -0
- package/dist/assets/models.finder-C37d1CqG.js +1 -0
- package/dist/assets/object3d-document-session-registry-Nly7qqyW.js +2 -0
- package/dist/assets/play-live-nju-LbTd.js +1 -0
- package/dist/assets/product-B76VmSfR.js +14 -0
- package/dist/assets/properties-bone-constraints.inspector-CICws11L.js +1 -0
- package/dist/assets/properties-bone.inspector-BTh8HMja.js +1 -0
- package/dist/assets/properties-collection.inspector-CdxnUdEY.js +1 -0
- package/dist/assets/properties-constraints.inspector-CgLm__aq.js +1 -0
- package/dist/assets/properties-data.inspector-CPGohY4g.js +1 -0
- package/dist/assets/properties-material.inspector-BBmS0pWg.js +1 -0
- package/dist/assets/properties-modifiers.inspector-DmwrZuck.js +1 -0
- package/dist/assets/properties-object.inspector-CcLxRnp2.js +1 -0
- package/dist/assets/properties-output.inspector-B21rsdeE.js +1 -0
- package/dist/assets/properties-particles.inspector-3oYMCgFh.js +1 -0
- package/dist/assets/properties-physics.inspector-CXHZdBQv.js +1 -0
- package/dist/assets/properties-render.inspector-BgQVOySW.js +1 -0
- package/dist/assets/properties-scene.inspector-BvJsraNi.js +1 -0
- package/dist/assets/properties-texture.inspector-DPHw4ryw.js +1 -0
- package/dist/assets/properties-view-layer.inspector-MBifnnqO.js +1 -0
- package/dist/assets/properties-world.inspector-DOOIqcDX.js +1 -0
- package/dist/assets/react-18-Ceee8kSy.js +1 -0
- package/dist/assets/session-B_EkWp0b.js +6047 -0
- package/dist/assets/stage-keyboard-CfcRPwij.js +1 -0
- package/dist/assets/stage-overlay-set-B8PO_8GO.js +1 -0
- package/dist/assets/stage-presence-markers-CheQj0g2.js +1 -0
- package/dist/assets/stage-transform-tools-B3kiH81y.js +1 -0
- package/dist/assets/standard-viewport-dressing-4szt4iVE.js +24 -0
- package/dist/assets/three-integration.service-BRF8px1l.js +2 -0
- package/dist/assets/volter-sdk-BKodmrby.js +2363 -0
- package/dist/assets/volter-sdk-account-LQPzi3UZ.js +1 -0
- package/dist/assets/volter-sdk-client-DgRgxfuo.js +1 -0
- package/dist/assets/volter-sdk-contributions-Di1uSPw_.js +1 -0
- package/dist/assets/volter-sdk-css-numeric-style-Gy-GyM9Y.js +1 -0
- package/dist/assets/volter-sdk-document-probe-kPNnaNGr.js +1 -0
- package/dist/assets/volter-sdk-editor-view-g0uNyGJC.js +1 -0
- package/dist/assets/volter-sdk-host-CXSewq8M.js +1 -0
- package/dist/assets/volter-sdk-http-transport.browser-B3TdfhI7.js +1 -0
- package/dist/assets/volter-sdk-index-4Kp3lnTd.js +1 -0
- package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-CjXSPJIo.js +1 -0
- package/dist/assets/volter-sdk-kit-account-client-ByTVy6-o.js +1 -0
- package/dist/assets/volter-sdk-kit-action-registry-D1kqJ80f.js +1 -0
- package/dist/assets/volter-sdk-kit-active-product-CEEc_Nk5.js +1 -0
- package/dist/assets/volter-sdk-kit-active-project-BrcrV5ab.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-editor-config-DqJAYMZM.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-module-Cm1FKR3D.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-observation-DNCkd2d_.js +1 -0
- package/dist/assets/volter-sdk-kit-animation-animation-clock-0FXkaCv-.js +1 -0
- package/dist/assets/volter-sdk-kit-animation-stage-transport-C7MuqkhX.js +1 -0
- package/dist/assets/volter-sdk-kit-api-assets-DC5mYDg9.js +1 -0
- package/dist/assets/volter-sdk-kit-api-base-Jd4izSaw.js +1 -0
- package/dist/assets/volter-sdk-kit-api-build-CXv7iVa0.js +1 -0
- package/dist/assets/volter-sdk-kit-api-logs-BJS5qQS0.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-identity-BTbrDP21.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-open-B2xmn-LQ.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-source-B8I05SPp.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-state-b7drJlZm.js +1 -0
- package/dist/assets/volter-sdk-kit-api-relay-CXoYAGag.js +1 -0
- package/dist/assets/volter-sdk-kit-api-settings-Ooohukfm.js +1 -0
- package/dist/assets/volter-sdk-kit-api-themes-DWL43Vk4.js +1 -0
- package/dist/assets/volter-sdk-kit-api-worktrees-36I3L3ep.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-capabilities-B_JHyPEo.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-compare-core-k1g4sfK4.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-editor-context-BtXkPrch.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-events-DNL9sOD1.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-inspector-actions-CIyFU73p.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-selection-YBxUZh2F.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-BP6LhiLy.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-thumbnails-cVPLoYS6.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-viewers-D4Nn4_BR.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-BSMDOcaj.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-Ce2VXJ2Z.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-BUyAOAr6.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-BItOpEbd.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-BBeCjirT.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-UfPQty9g.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-DDRruLeu.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-T_DLL58P.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-BjuMcGvJ.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-Ciewiory.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-DNMc3Uhr.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-BTZveIZ2.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-CGdTixEp.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-0cIEsyFV.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-project-content-B883NWEX.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-udhK_bK8.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-active-adapter-CaV79Zym.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-active-systems-D-sRD1JD.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-adapter-key-4m95v2b2.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-CHBNmukT.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-Dz5hKatn.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-BHValVeR.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-RexSF-J2.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-CbcNeoQ9.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-consumer-actions-CnMS-_cD.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-design-time-layers-Zg9zdDef.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-DKLgadwc.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-M81xEMIH.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-DIwvGeWZ.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-EmOGzQA_.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-layered-pick-DmtPQOEU.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-CEz93V3J.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-mfK9FD-y.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-R2pfEtvy.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-panel-authoring-VEFAXYyu.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-B2qmlVET.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-provenance-CWNbjFfV.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-BkL1OUf3.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-DSJif289.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-story-board-DEtWuCdl.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-seam-evidence-yrcHmQZ9.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-selection-scope-DVHy1MNQ.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-CrTR4pdw.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-CzDJyhVH.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-three-root-DGX0pTp1.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-c-RZK1GX.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-Cea2wigf.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-world-session-state-N1az4tj8.js +1 -0
- package/dist/assets/volter-sdk-kit-availability-tick-B-AloCSv.js +1 -0
- package/dist/assets/volter-sdk-kit-bitmap-label-D5-Z31T5.js +1 -0
- package/dist/assets/volter-sdk-kit-boot-routing-XVOVyUc_.js +1 -0
- package/dist/assets/volter-sdk-kit-breakpoint-state-D-KEzzvG.js +1 -0
- package/dist/assets/volter-sdk-kit-build-identity-D-zdIjo6.js +1 -0
- package/dist/assets/volter-sdk-kit-bytes-codec-DVfFaFPs.js +1 -0
- package/dist/assets/volter-sdk-kit-cancellation-reason-DnCUNdRD.js +1 -0
- package/dist/assets/volter-sdk-kit-canvas-frames-BGh2p4Ce.js +1 -0
- package/dist/assets/volter-sdk-kit-capture-camera-pose-WspKGBnF.js +1 -0
- package/dist/assets/volter-sdk-kit-capture-size-DSdRe3ay.js +1 -0
- package/dist/assets/volter-sdk-kit-chrome-registry-D4L_4xEJ.js +1 -0
- package/dist/assets/volter-sdk-kit-chrome-slot-registry-Ce1SavKJ.js +1 -0
- package/dist/assets/volter-sdk-kit-collaboration-client-BklHxwDT.js +1 -0
- package/dist/assets/volter-sdk-kit-collaboration-presence-Cbx-Ojaw.js +1 -0
- package/dist/assets/volter-sdk-kit-command-dispatch-Dyhs6OSN.js +1 -0
- package/dist/assets/volter-sdk-kit-command-listener-CHEIOy3c.js +1 -0
- package/dist/assets/volter-sdk-kit-command-registry-CUKeDb9O.js +1 -0
- package/dist/assets/volter-sdk-kit-component-board-registry-BF8BzQDh.js +1 -0
- package/dist/assets/volter-sdk-kit-component-states-registry-RkljZ-Lm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AlignToolbar-L-1f9zZf.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ApplicationMenus-BKxEMCFq.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AssetEditorShell-ByYpeg3g.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-AzQ_b4hk.js +1 -0
- package/dist/assets/volter-sdk-kit-components-BoardRulers-Cjeqdfie.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-BOfMdh1M.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-rZGGuOwh.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ChromeSlot-CYRqS-XZ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CodeView-CZ4K-R4r.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-C0Jzb6sx.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ConsolePanel-vTD-MnSe.js +1 -0
- package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-fQY5p6rX.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectionProjection-Dn7ly9U9.js +1 -0
- package/dist/assets/volter-sdk-kit-components-Inspector-DlXSsDRU.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-D2fHAo8Q.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-BACKigHR.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-C2tFcY5Z.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorToolSection-CKxWWFgq.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-BscOuHaz.js +1 -0
- package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-Czgrsno8.js +1 -0
- package/dist/assets/volter-sdk-kit-components-MediaProperties-4JJy007U.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ProjectHeader-CHXnXf4V.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-CjQh_ckk.js +1 -0
- package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-CIhN8hQt.js +1 -0
- package/dist/assets/volter-sdk-kit-components-RootTextEditor-Bh2YKApp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SaveStatus-BD-zOD-c.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-BH1PNp8a.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-C4IvdpGQ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-CtiZX-C_.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ToolHost-DLj25ucp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-Toolbar-DOHf2NES.js +1 -0
- package/dist/assets/volter-sdk-kit-components-TransientHint-zFA_MLx1.js +1 -0
- package/dist/assets/volter-sdk-kit-components-VersionControlSection-C9By_77E.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-vr4do7lA.js +1 -0
- package/dist/assets/volter-sdk-kit-components-VolterLogo-DS8HqAPp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-DIEnM6m4.js +1 -0
- package/dist/assets/volter-sdk-kit-components-account-documents-C-kuLuRW.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-documents-wvxuPzJN.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-DRbF9-yC.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-selection-section-D-iE-RCy.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-thumbnails-D3TyvHrp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-Dk2jKOhT.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-_nthvrZy.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-i-UhuMgF.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-CzBAEr0C.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-CyV7UI3C.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-Bd3a2_oA.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-B0oBgcRW.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-Ad0PtQNX.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-BcRGAaa4.js +1 -0
- package/dist/assets/volter-sdk-kit-components-board-guides-DlFbMQZl.js +1 -0
- package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-C-WHgNDO.js +1 -0
- package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-CqErnLHB.js +1 -0
- package/dist/assets/volter-sdk-kit-components-core-utilities-B339nXVW.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-preview-section-fv1kHl0P.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-revert-label-CGouljBF.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-selection-svwL5thP.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-CXI8Z8PL.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-transform-B6n6Cdof.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-C3qg6v_f.js +1 -0
- package/dist/assets/volter-sdk-kit-components-kind-documents-W8USaiPh.js +1 -0
- package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-Dd4u-Wtm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-project-tool-documents-DFq82d8o.js +1 -0
- package/dist/assets/volter-sdk-kit-components-scene-documents-B73lYyVv.js +1 -0
- package/dist/assets/volter-sdk-kit-components-status-contributions-FTso27Xh.js +1 -0
- package/dist/assets/volter-sdk-kit-components-tool-documents-BbGwfFpc.js +1 -0
- package/dist/assets/volter-sdk-kit-components-tool-schema-form-BIF8LmJV.js +1 -0
- package/dist/assets/volter-sdk-kit-components-use-after-paint-CtKNo2UU.js +1 -0
- package/dist/assets/volter-sdk-kit-components-use-project-image-assets-G7f6izdS.js +1 -0
- package/dist/assets/volter-sdk-kit-components-workspace-history-B2vo6Xx_.js +1 -0
- package/dist/assets/volter-sdk-kit-components-world-documents-B5tULKmS.js +1 -0
- package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-DDEiWrz7.js +1 -0
- package/dist/assets/volter-sdk-kit-composite-screenshot-BMOK3iYM.js +1 -0
- package/dist/assets/volter-sdk-kit-content-entry-source-registry-B9eUIMgv.js +1 -0
- package/dist/assets/volter-sdk-kit-contribution-surfaces-DC-uHDQg.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-DiRNBVRN.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-Csc86Z_f.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-Brd3w7kt.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-session-vitals-BoNy6hEZ.js +1 -0
- package/dist/assets/volter-sdk-kit-creation-site-registry-CdhSUaPD.js +1 -0
- package/dist/assets/volter-sdk-kit-delegate-harness-registry-CHNkXHhB.js +1 -0
- package/dist/assets/volter-sdk-kit-document-areas-7iD_pTF6.js +1 -0
- package/dist/assets/volter-sdk-kit-document-context-registry-6DcBS8uQ.js +1 -0
- package/dist/assets/volter-sdk-kit-document-open-registry-CS2V2rTe.js +1 -0
- package/dist/assets/volter-sdk-kit-document-play-extension-DyULINB5.js +1 -0
- package/dist/assets/volter-sdk-kit-document-preview-source-YxLsIauQ.js +1 -0
- package/dist/assets/volter-sdk-kit-document-renderer-session-IoKOp6Se.js +1 -0
- package/dist/assets/volter-sdk-kit-document-stage-sessions-DSmPpree.js +1 -0
- package/dist/assets/volter-sdk-kit-document-viewports-CvdifVJF.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-api-CB1FgcVg.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-chrome-capture-B-e-WKT4.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-commands-BYWHMTwS.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-console-jCw-ErXD.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-current-view-CbBqd-eR.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-document-probe-BC-zqNPD.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-git-client-BQQFtPz9.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-hotkeys-BzoxjaxK.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-lease-B_3921d6.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-lease-view-Dwm149iL.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-mode-DOBZoYnf.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-notifications-BfExd624.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presence-DNnOAqPS.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presentation-activity-CFp63FEl.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presentation-notice-Df1-39oQ.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-runtime-CCziNuJh.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-server-response-DJiPWdEl.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-session-attribution-qdIqiRBe.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-session-mode-r0EdgfW4.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-state-facets-ChaCu38O.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-view-presentation-Dp6RpQY2.js +1 -0
- package/dist/assets/volter-sdk-kit-environment-images-BUDsa8Yi.js +1 -0
- package/dist/assets/volter-sdk-kit-eyedropper-session-CuB0NOuY.js +1 -0
- package/dist/assets/volter-sdk-kit-files-file-provider-DIDQ2_uI.js +1 -0
- package/dist/assets/volter-sdk-kit-files-project-files-CQvJk0Gq.js +1 -0
- package/dist/assets/volter-sdk-kit-finders-index-DKfmE3QQ.js +1 -0
- package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-CmiBcR6h.js +1 -0
- package/dist/assets/volter-sdk-kit-frame-frame-parts-Dva44YHz.js +1 -0
- package/dist/assets/volter-sdk-kit-framed-document-capture-DB3Ncfrz.js +1 -0
- package/dist/assets/volter-sdk-kit-game-surface-defaults-Cj-0v8BH.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-export-state-Xf39gCAN.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-replay-F8jJrsPf.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-session-time-DTTj1olA.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-sessions-CxKyk9Md.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-component-marks-BabNBUji.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-internals-CoK3Z_Xh.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-Cm6Wsuhy.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-DaGff9wa.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-node-rows-BcRUZUvZ.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-panel-view-BZoc7eJQ.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-projection-CHs2jgL8.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-row-media-PFIeRJqY.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-row-model-Cw1It5is.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-rows-Dssu1BMj.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-walk-B1L9eTXm.js +1 -0
- package/dist/assets/volter-sdk-kit-history-editor-session-BtVV5q7v.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-commands-TABAJNSR.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-delegate-DeK2Tm-B.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-limit-notices-BVoYaGBF.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-service-BHBRoss1.js +1 -0
- package/dist/assets/volter-sdk-kit-history-persistence-coordinator-n84--IYf.js +1 -0
- package/dist/assets/volter-sdk-kit-history-project-file-history-CcXjOv2P.js +1 -0
- package/dist/assets/volter-sdk-kit-history-project-root-history-backends-DTX8q5fG.js +1 -0
- package/dist/assets/volter-sdk-kit-history-resource-registry-CLkqOjdr.js +1 -0
- package/dist/assets/volter-sdk-kit-history-snapshot-store-DycW6GLB.js +1 -0
- package/dist/assets/volter-sdk-kit-history-source-history-backend-9xMoYlbd.js +1 -0
- package/dist/assets/volter-sdk-kit-hmr-registration-group-DmMHpNnB.js +1 -0
- package/dist/assets/volter-sdk-kit-hmr-stable-react-context-D-TLq4Hc.js +1 -0
- package/dist/assets/volter-sdk-kit-hotkeys-XirVHMg5.js +1 -0
- package/dist/assets/volter-sdk-kit-inference-diagnostics-CXk1gv7L.js +1 -0
- package/dist/assets/volter-sdk-kit-initial-project-Cbnj6h8K.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-active-subject-CZRJ1Iol.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-active-surface-gAahXjP2.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-compose-subject-BBlLRs6P.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-display-D546j-bp.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-document-subject-DDqyp_xw.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-game-subject-sQwCYXs1.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-model-DC9Hl3cj.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-node-media-DjPyEqvx.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-null-subject-Ct7EGK3P.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-serialize-Bq6tap3p.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-C_yp3gfW.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-presentation-Di1bDrzW.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-property-grouping-Hrg_OJm5.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-section-registry-CvrpGvES.js +1 -0
- package/dist/assets/volter-sdk-kit-instance-source-actions-BCuKBxGf.js +1 -0
- package/dist/assets/volter-sdk-kit-js-heap-KxSszS6k.js +1 -0
- package/dist/assets/volter-sdk-kit-key-actions-Wz9BljgB.js +1 -0
- package/dist/assets/volter-sdk-kit-keymap-presets-GXj7fO30.js +1 -0
- package/dist/assets/volter-sdk-kit-layout-policy-cFlperJi.js +1 -0
- package/dist/assets/volter-sdk-kit-light-explorer-model-CkrLkUUZ.js +1 -0
- package/dist/assets/volter-sdk-kit-live-canvas-frame-CIEkO3Ed.js +1 -0
- package/dist/assets/volter-sdk-kit-live-document-DhUo-Edg.js +1 -0
- package/dist/assets/volter-sdk-kit-live-gesture-lock-CMfHfSyJ.js +1 -0
- package/dist/assets/volter-sdk-kit-live-seam-evidence-BwAIj8fP.js +1 -0
- package/dist/assets/volter-sdk-kit-live-session-registry-DLpuZ5fm.js +1 -0
- package/dist/assets/volter-sdk-kit-live-transition-CzY_KNsh.js +1 -0
- package/dist/assets/volter-sdk-kit-manifest-project-D966gGPJ.js +1 -0
- package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-BhBAOyzv.js +1 -0
- package/dist/assets/volter-sdk-kit-mount-failure-report-uZuQLIak.js +1 -0
- package/dist/assets/volter-sdk-kit-native-selection-style-DWR8dlSz.js +1 -0
- package/dist/assets/volter-sdk-kit-object3d-document-write-policy-Bj_jp-7_.js +1 -0
- package/dist/assets/volter-sdk-kit-packaged-runtime-iG7YMb12.js +1 -0
- package/dist/assets/volter-sdk-kit-performance-profiler-CNmFMe3k.js +1 -0
- package/dist/assets/volter-sdk-kit-performance-sources-Dn00aXW5.js +1 -0
- package/dist/assets/volter-sdk-kit-photograph-notice-Dfg0UxVZ.js +1 -0
- package/dist/assets/volter-sdk-kit-play-boot-phase-CXNgzv-J.js +1 -0
- package/dist/assets/volter-sdk-kit-play-camera-flight-DLwGfpJp.js +1 -0
- package/dist/assets/volter-sdk-kit-presentation-surface-cMmRpkGJ.js +1 -0
- package/dist/assets/volter-sdk-kit-product-command-Bu6DLKpE.js +1 -0
- package/dist/assets/volter-sdk-kit-project-adapter-BuzQScGI.js +1 -0
- package/dist/assets/volter-sdk-kit-project-asset-refresh-Bap7mqgb.js +1 -0
- package/dist/assets/volter-sdk-kit-project-asset-roots-By8xlXHl.js +1 -0
- package/dist/assets/volter-sdk-kit-project-local-state-ChdRwLow.js +1 -0
- package/dist/assets/volter-sdk-kit-project-manager-CLiEnNgu.js +1 -0
- package/dist/assets/volter-sdk-kit-project-module-changes-BDpD6OsB.js +1 -0
- package/dist/assets/volter-sdk-kit-project-module-split-CVNdzh8m.js +1 -0
- package/dist/assets/volter-sdk-kit-project-provenance-cp2gtKVj.js +1 -0
- package/dist/assets/volter-sdk-kit-project-ready-D8V6Kzge.js +1 -0
- package/dist/assets/volter-sdk-kit-project-shape-CClCrXxY.js +1 -0
- package/dist/assets/volter-sdk-kit-project-tools-CtP3bOpD.js +1 -0
- package/dist/assets/volter-sdk-kit-readiness-D0ouQROM.js +1 -0
- package/dist/assets/volter-sdk-kit-renderer-resource-counts-aXKN0rxR.js +1 -0
- package/dist/assets/volter-sdk-kit-reported-play-state-C-Mib-ba.js +1 -0
- package/dist/assets/volter-sdk-kit-resolve-contributed-command-BM8YcJz7.js +1 -0
- package/dist/assets/volter-sdk-kit-resolve-relative-specifier-CSTX2j7-.js +1 -0
- package/dist/assets/volter-sdk-kit-retained-document-states-QrHnyn4V.js +1 -0
- package/dist/assets/volter-sdk-kit-scene-document-plan-C9wHG6B7.js +1 -0
- package/dist/assets/volter-sdk-kit-scene-live-open-CXb4AskH.js +1 -0
- package/dist/assets/volter-sdk-kit-scoped-game-css-FdsRmDqV.js +1 -0
- package/dist/assets/volter-sdk-kit-served-url-DIf-qLum.js +1 -0
- package/dist/assets/volter-sdk-kit-session-close-COfy5ras.js +1 -0
- package/dist/assets/volter-sdk-kit-session-tombstone-BitY9Sdx.js +1 -0
- package/dist/assets/volter-sdk-kit-settings-settings-provider-BPuTDIxn.js +1 -0
- package/dist/assets/volter-sdk-kit-settings-store-BPOsFHZe.js +1 -0
- package/dist/assets/volter-sdk-kit-shell-store-DwHeZ5nQ.js +1 -0
- package/dist/assets/volter-sdk-kit-shell-store-door-BWHcu98B.js +1 -0
- package/dist/assets/volter-sdk-kit-source-conflict-CkxYCMk1.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-context-CP-upNgr.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-invalidation-CeDdEl0b.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-store-registry-B2jyIREA.js +1 -0
- package/dist/assets/volter-sdk-kit-startup-failure-DWjZgwSJ.js +1 -0
- package/dist/assets/volter-sdk-kit-state-report-deferral-Dzam5Bu-.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-host-files-storage-BxTEyrKN.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-http-storage-T4fMC6Ww.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-index-C2Gf9k45.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-mem-storage-CcdOLba9.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-path-lock-r7SjMxYI.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-paths-BWI0b699.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-DPyefE_s.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-compose-project-stories-Dz_zorT8.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-prefabs-finder-VOD4Fih8.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-BbJ4drXs.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-project-story-regions-CPPt7sAc.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-scope-CIIL7T3O.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-capture-DMWk2KXY.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-declared-medium-Bx-ygbVe.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-discovery-CafUDauh.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-CiCD8tr1.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-grouping-BRGub3eG.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-presentation-Bt3rB_N9.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-registry-bF3ym9Kn.js +1 -0
- package/dist/assets/volter-sdk-kit-story-document-openers-R2-yxXGg.js +1 -0
- package/dist/assets/volter-sdk-kit-story-thumbnails-CI-p0jom.js +1 -0
- package/dist/assets/volter-sdk-kit-surface-keyboard-Bclcg_ZX.js +1 -0
- package/dist/assets/volter-sdk-kit-surface-state-OwSMnQPF.js +1 -0
- package/dist/assets/volter-sdk-kit-system-seam-evidence-mhKxMLF-.js +1 -0
- package/dist/assets/volter-sdk-kit-tab-census-BkucfkR2.js +1 -0
- package/dist/assets/volter-sdk-kit-tab-lifecycle-client-xPlJR_Is.js +1 -0
- package/dist/assets/volter-sdk-kit-theme-library-BmQiddws.js +1 -0
- package/dist/assets/volter-sdk-kit-theme-preference-CY62ohS6.js +1 -0
- package/dist/assets/volter-sdk-kit-three-viewport-presentation-C4zfYkP5.js +1 -0
- package/dist/assets/volter-sdk-kit-tool-contribution-play-D-X4TndA.js +1 -0
- package/dist/assets/volter-sdk-kit-tool-loader-Bppn2i0e.js +1 -0
- package/dist/assets/volter-sdk-kit-transform-mode-request-DVP6KCfG.js +1 -0
- package/dist/assets/volter-sdk-kit-transient-hint-znMlkMOz.js +1 -0
- package/dist/assets/volter-sdk-kit-transport-strip-dGQ-YoNm.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-bA1RQVjN.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-inspect-vbzR9DTw.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-jvrPvSXj.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-_aDOX96f.js +1 -0
- package/dist/assets/volter-sdk-kit-user-local-state-C9PMe7ZC.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-activation-timings-Bl8_neTA.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-editor-controls-aUeFDe8t.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-presentation-IbDRhAjA.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-surface-status-B0m0crzV.js +1 -0
- package/dist/assets/volter-sdk-kit-wait-until-Bby0hAXq.js +1 -0
- package/dist/assets/volter-sdk-kit-worker-call-metrics-JG55IFWY.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-areas-D-wnNrv1.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-aux-commands-iFWD7R5b.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-available-documents-DEOtsr7U.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-core-utilities-Do_ivM3K.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-ids-CekfZZKH.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-registry-CtvIBYpT.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-restore-VAID48D1.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-host-commands-Ddx5Tgyl.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-persistence-gate-CXlifVZM.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-play-utilities-ByGVJzRW.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-presets-CjP5LvcE.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-regions-iau7y1g3.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-static-panels-B6jKhrp4.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-status-registry-g8wytHL5.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-storage-B5hTXq0f.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-style-LV2J3BUW.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-utility-commands-Ci_KJODl.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-utility-registry-BbjESGwy.js +1 -0
- package/dist/assets/volter-sdk-kit-world-adoption-DQ4KT5o5.js +1 -0
- package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-r5rqWOVZ.js +1 -0
- package/dist/assets/volter-sdk-kit-world-document-routing-D-fYy4j5.js +1 -0
- package/dist/assets/volter-sdk-kit-world-pan-state-CMG7tsSx.js +1 -0
- package/dist/assets/volter-sdk-kit-write-pipe-DNEDBnz-.js +1 -0
- package/dist/assets/volter-sdk-layout-arrangements-CHD3ZMFe.js +1 -0
- package/dist/assets/volter-sdk-layouts-CCA7FuOC.js +1 -0
- package/dist/assets/volter-sdk-selection-D0kL_iDi.js +1 -0
- package/dist/assets/volter-sdk-session-command-table-DA_l3-71.js +1 -0
- package/dist/assets/volter-sdk-session-editor-brand-BF7c04d1.js +1 -0
- package/dist/assets/volter-sdk-session-editor-compatibility-DTohfZFv.js +1 -0
- package/dist/assets/volter-sdk-session-editor-control-protocol-BldcSvMF.js +1 -0
- package/dist/assets/volter-sdk-session-entrypoint-selection-readers-C5lBU-ru.js +1 -0
- package/dist/assets/volter-sdk-session-game-css-scope-BU2odzp5.js +1 -0
- package/dist/assets/volter-sdk-session-project-module-url-BXpMu1Rd.js +1 -0
- package/dist/assets/volter-sdk-session-relative-path-guard-QB40XSDf.js +1 -0
- package/dist/assets/volter-sdk-session-tool-contribution-convention-B_nVNyey.js +1 -0
- package/dist/assets/volter-sdk-types-CpvyGiQa.js +1 -0
- package/dist/assets/volter-sdk-views-DJ_MnaUh.js +1 -0
- package/dist/assets/volter-sdk-widgets-design-system-D7xN8pRO.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-appearance-Crp-pBLJ.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-material-MHO-HL-5.js +1 -0
- package/dist/assets/volter-sdk-widgets-icon-set-registry-BV2KyS5k.js +1 -0
- package/dist/assets/volter-sdk-widgets-index-Pv9HbBUF.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-vPIEJ2AQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-0kpmltFh.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-C1igd7oH.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-B2hEex_l.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-cyhMzK5L.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-DcQAkx63.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker--uOgL4qW.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-DTAtC77d.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-khJ7avew.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-eiGFiwHP.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-Cd-F281s.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-C7uJEWC0.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-B5TWzor-.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-DEQKguQB.js +1 -0
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-Bl0RzyJQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-UyDjvCxC.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Fields-nF0yD3V1.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-List-D34mrQDy.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-CLSEwJ2u.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-Bnz6CGdv.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-BGh2nrPU.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-DD17mnjd.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tree-CCzpKURV.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-rAsZA766.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Button-B1Ppeaoa.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-CHAXdol_.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-CnNtxQXT.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-Cimr9Mco.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-CT_S601l.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-B8HUvMqd.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-B4XDeGeD.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Layout-Bi7EShmW.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Menu-CKIw0gyB.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-Cm3QFgJj.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Panel-Bydp9OuQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-CCux7aOb.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Text-CX8Zqrmp.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-9ZuvJNaQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-DQ24NxRN.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-B8ydBBhm.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-banner-tones-DJXfSNS6.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-BzMgToKr.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-RjhVjrNt.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-CaqZYWvq.js +1 -0
- package/dist/assets/volter-sdk-widgets-theme-GZiAnowy.js +1 -0
- package/dist/assets/volter-sdk-widgets-z-index-CvywNZqF.js +1 -0
- package/dist/assets/volter-shared-fontawesome-D0om5i4C.js +1 -0
- package/dist/assets/volter-shared-jsx-dev-runtime-Nf2pZiIO.js +1 -0
- package/dist/assets/volter-shared-jsx-runtime-mOtwwECE.js +1 -0
- package/dist/assets/volter-shared-react-D-xjcqWm.js +1 -0
- package/dist/assets/volter-shared-react-dom-DdRTSMx8.js +1 -0
- package/dist/assets/volter-shared-react-dom-client-WSvYqY8Z.js +1 -0
- package/dist/assets/worker-CxcSX7C7.js +8 -0
- package/dist/volter-shared-react.json +6 -6
- package/dist/volter-shared-sdk.json +462 -461
- package/dist-node/cli.js +16100 -2176
- package/dist-node/create.js +42 -36
- package/package.json +11 -9
- package/starter/AGENTS.md +30 -7
- package/starter/add-play/game-state.ts +25 -0
- package/starter/add-play/game.tsx +16 -0
- package/starter/add-play/model.play.ts +77 -0
- package/starter/package.json +5 -0
- package/starter/playable/src/models/canyon.blend +0 -0
- package/starter/playable/src/models/canyon.play.ts +107 -0
- package/starter/playable/src/models/canyon.py +55 -0
- package/starter/playable/src/models/circuit.py +131 -0
- package/starter/playable/src/models/complete_environment.py +35 -0
- package/starter/playable/src/models/course.ts +12 -0
- package/starter/playable/src/models/detail.py +44 -0
- package/starter/playable/src/models/driver_details.py +25 -0
- package/starter/playable/src/models/environment.py +87 -0
- package/starter/playable/src/models/finish_scene.py +13 -0
- package/starter/playable/src/models/kart_finish.py +31 -0
- package/starter/playable/src/models/polish.py +75 -0
- package/starter/playable/src/models/race-state.ts +15 -0
- package/starter/playable/src/models/refine.py +69 -0
- package/starter/playable/src/models/scene_helpers.py +54 -0
- package/starter/playable/src/models/scenery_ao.py +114 -0
- package/starter/playable/src/textures/asphalt.png +0 -0
- package/starter/playable/src/textures/generate.py +16 -0
- package/starter/playable/src/textures/sandstone.png +0 -0
- package/starter/playable/src/ui/game.stories.tsx +16 -0
- package/starter/playable/src/ui/game.tsx +6 -0
- package/starter/playable/src/ui/race-hud.tsx +29 -0
- package/starter/playable/src/ui/race-widgets.tsx +29 -0
- package/dist/assets/EntityModelDocument-SFx7GJi9.js +0 -1
- package/dist/assets/EnvironmentAssetDocument-CpQnoQK7.js +0 -1
- package/dist/assets/InspectorObjectPreview-DhOKGE_h.js +0 -1
- package/dist/assets/LiveModuleDocument-eahaoeUi.js +0 -2
- package/dist/assets/LutAssetDocument-CTFpkbXP.js +0 -1
- package/dist/assets/ModelAssetDocument-qpaA8PMi.js +0 -1
- package/dist/assets/NonThreeAuthoringBootstrap-Cxat6HDi.js +0 -1
- package/dist/assets/Object3DDocumentToolbar-DAGo1TZr.js +0 -1
- package/dist/assets/Object3DPreview-f5xt7xae.js +0 -2
- package/dist/assets/QuarksAssetDocument-B4GuWtSi.js +0 -2
- package/dist/assets/ShaderAssetDocument-D6UrvTPz.js +0 -1
- package/dist/assets/StageHost-CCbIVhfB.js +0 -1179
- package/dist/assets/ToolObject3DPreview-nevU8Vmi.js +0 -1
- package/dist/assets/ViewportShadingMenu-rbW6zaze.js +0 -1
- package/dist/assets/animation-mixers.service-qLmPXMph.js +0 -1
- package/dist/assets/animation-timeline.utility-Cepgwl9G.js +0 -1
- package/dist/assets/asset-preview-C3dOTcRY.js +0 -4
- package/dist/assets/blender-emscripten-engine-DnJ85_-l.js +0 -2
- package/dist/assets/blender-node-editor.document-BjpzVLc9.js +0 -1
- package/dist/assets/blender-properties-model-BNV7uq3w.js +0 -1
- package/dist/assets/blender-properties-tab-BoiBE9VB.js +0 -3
- package/dist/assets/blender-runtime-host-DKW0D0Bb.js +0 -7221
- package/dist/assets/blender-runtime.document-xKuVNUX7.js +0 -13
- package/dist/assets/blender-screenshot.menu-c6UvFn7v.js +0 -1
- package/dist/assets/blender-timeline.document-_vgbH_K5.js +0 -1
- package/dist/assets/blender-uv-editor.document-CjOx4LD3.js +0 -1
- package/dist/assets/blender-version.status-GBqitUon.js +0 -1
- package/dist/assets/blender-wali-engine-x-OfFUGX.js +0 -2
- package/dist/assets/blender.command-CYOL3BTf.js +0 -1
- package/dist/assets/blender.status-BYUrfsCR.js +0 -1
- package/dist/assets/model-inspection-DGW_rNdi.js +0 -1
- package/dist/assets/models.finder-C2OdvWDn.js +0 -1
- package/dist/assets/object3d-document-session-registry-BkSfsQD9.js +0 -2
- package/dist/assets/play-mode-Bfa-EEKv.js +0 -1
- package/dist/assets/product-4XoIi8-H.js +0 -14
- package/dist/assets/properties-bone-constraints.inspector-De28M-3w.js +0 -1
- package/dist/assets/properties-bone.inspector-Dwl_8RHa.js +0 -1
- package/dist/assets/properties-collection.inspector-zgL35H1s.js +0 -1
- package/dist/assets/properties-constraints.inspector-C4HmYG4b.js +0 -1
- package/dist/assets/properties-data.inspector-C84mWYEx.js +0 -1
- package/dist/assets/properties-material.inspector-EXqO4JLk.js +0 -1
- package/dist/assets/properties-modifiers.inspector-B5-5UoW_.js +0 -1
- package/dist/assets/properties-object.inspector-CacLETan.js +0 -1
- package/dist/assets/properties-output.inspector-DpGmXWef.js +0 -1
- package/dist/assets/properties-particles.inspector-XTVoWTZq.js +0 -1
- package/dist/assets/properties-physics.inspector-DlhF0h-n.js +0 -1
- package/dist/assets/properties-render.inspector-Dpnfz8vA.js +0 -1
- package/dist/assets/properties-scene.inspector-DqOfknkg.js +0 -1
- package/dist/assets/properties-texture.inspector-WD0VfQaG.js +0 -1
- package/dist/assets/properties-view-layer.inspector-DWFckdDj.js +0 -1
- package/dist/assets/properties-world.inspector-DcqJkcHc.js +0 -1
- package/dist/assets/react-18-AEAPuaAj.js +0 -1
- package/dist/assets/session-rpZf0raD.js +0 -5972
- package/dist/assets/stage-keyboard-ChQ8dJ_y.js +0 -1
- package/dist/assets/stage-overlay-set-PfEXKWA6.js +0 -1
- package/dist/assets/stage-presence-markers-Dnxnhx_2.js +0 -1
- package/dist/assets/stage-transform-tools-mFUKm77V.js +0 -1
- package/dist/assets/standard-viewport-dressing-DChZYVlW.js +0 -24
- package/dist/assets/three-integration.service-C6HNczqS.js +0 -2
- package/dist/assets/volter-sdk-CjkJnQ6d.js +0 -2363
- package/dist/assets/volter-sdk-account-DZEQFuaU.js +0 -1
- package/dist/assets/volter-sdk-client-D6tlzH-t.js +0 -1
- package/dist/assets/volter-sdk-contributions-Cl4ThyFT.js +0 -1
- package/dist/assets/volter-sdk-css-numeric-style-BSayA78S.js +0 -1
- package/dist/assets/volter-sdk-document-probe-rU9NBzUS.js +0 -1
- package/dist/assets/volter-sdk-editor-view-DfxbbN7q.js +0 -1
- package/dist/assets/volter-sdk-host-Dy6XofbJ.js +0 -1
- package/dist/assets/volter-sdk-http-transport.browser-Co0YCwat.js +0 -1
- package/dist/assets/volter-sdk-index-B2ws1and.js +0 -1
- package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-CBEHQx0y.js +0 -1
- package/dist/assets/volter-sdk-kit-account-client-CLa-z4XH.js +0 -1
- package/dist/assets/volter-sdk-kit-action-registry-ifQNLVPb.js +0 -1
- package/dist/assets/volter-sdk-kit-active-product-v7CkKfFz.js +0 -1
- package/dist/assets/volter-sdk-kit-active-project-Di0hQPIg.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-editor-config-fdw01apb.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-observation-CW92skZV.js +0 -1
- package/dist/assets/volter-sdk-kit-animation-animation-clock-B3sM2uit.js +0 -1
- package/dist/assets/volter-sdk-kit-animation-stage-transport-JvYidVYX.js +0 -1
- package/dist/assets/volter-sdk-kit-api-assets-D7VbukcI.js +0 -1
- package/dist/assets/volter-sdk-kit-api-base-DerHHtTE.js +0 -1
- package/dist/assets/volter-sdk-kit-api-build-CeuJY-Zz.js +0 -1
- package/dist/assets/volter-sdk-kit-api-logs-1pMi7TTm.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-identity-CBU8Hed0.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-open-D067PXCw.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-source-Bho3j6pZ.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-state-BKh_xLbJ.js +0 -1
- package/dist/assets/volter-sdk-kit-api-relay-CC-iWi7D.js +0 -1
- package/dist/assets/volter-sdk-kit-api-settings-sot6qLo3.js +0 -1
- package/dist/assets/volter-sdk-kit-api-themes-Cc-af_-d.js +0 -1
- package/dist/assets/volter-sdk-kit-api-worktrees-D1GTPFtv.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-capabilities-CNOHj_kb.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-compare-core-CXAda1bF.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-editor-context-DsUk8Th6.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-events-BL8DRoc8.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-inspector-actions-0o9QNJKn.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-selection-B3xjSJGy.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-SEv2CkwZ.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-thumbnails-Dljbgkxh.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-viewers-CxZRO5JV.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-DqIPpnfC.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-D1KEb0Ey.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-D6HUnLJm.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-By1Yv3wm.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-DisvezHH.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-BwwiLB40.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-FrA-pulC.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-DDI1Kwjv.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-CzPpDfqY.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-DdWpOH6e.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-Cqtyka10.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-BUxJUIx-.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-Dpvl0ufz.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-Clt-ftCc.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-project-content-BO7LgDmE.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-CCoxMBjk.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-active-adapter-Po4bB0Uj.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-active-systems-B1Bx10Aq.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-adapter-key-BlWE7I0N.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-SOwAcp48.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-DnBU8nzt.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-BFAbj3pB.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-DOJYMXPn.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-BoBcdwww.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-consumer-actions-DeU9WESz.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-design-time-layers-ZcfipFHX.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-4mdJO8W-.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-Bymo2_8C.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-BeRaeFRT.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-De7LQ6t6.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-layered-pick-DMVOLo1B.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-CXLwIbEX.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-D_y8WcS6.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-B8wcp7IQ.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-panel-authoring-sbvO6626.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-Cykydx2J.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-provenance-D0b1PE71.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-CSwEgzI6.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-Cl2M3OV0.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-story-board-bTjtW2CO.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-seam-evidence-pkdnkJtV.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-selection-scope-DVgEaPQM.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-BbuK7pxG.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-OFpXQxIF.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-three-root-BkH3AlEt.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-Cr0fa0Hl.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-DTnGce_x.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-world-session-state-D5Aqfbm8.js +0 -1
- package/dist/assets/volter-sdk-kit-availability-tick-h3DHQ7AK.js +0 -1
- package/dist/assets/volter-sdk-kit-bitmap-label-nN7zK7TR.js +0 -1
- package/dist/assets/volter-sdk-kit-boot-routing-mm6XL4_m.js +0 -1
- package/dist/assets/volter-sdk-kit-breakpoint-state-BhIvquyw.js +0 -1
- package/dist/assets/volter-sdk-kit-build-identity-BUHMFgej.js +0 -1
- package/dist/assets/volter-sdk-kit-bytes-codec-j4IdoVn0.js +0 -1
- package/dist/assets/volter-sdk-kit-cancellation-reason-D-nMBP2I.js +0 -1
- package/dist/assets/volter-sdk-kit-canvas-frames-DEW6SW_n.js +0 -1
- package/dist/assets/volter-sdk-kit-capture-camera-pose-lHuE4-F1.js +0 -1
- package/dist/assets/volter-sdk-kit-capture-size-CfI__WD3.js +0 -1
- package/dist/assets/volter-sdk-kit-chrome-registry-DQC9TBMd.js +0 -1
- package/dist/assets/volter-sdk-kit-chrome-slot-registry-BaA2m-hW.js +0 -1
- package/dist/assets/volter-sdk-kit-collaboration-client-BgCs9YmN.js +0 -1
- package/dist/assets/volter-sdk-kit-collaboration-presence-zP8Qm_Wp.js +0 -1
- package/dist/assets/volter-sdk-kit-command-dispatch-DMN1cHQ0.js +0 -1
- package/dist/assets/volter-sdk-kit-command-listener-Bi6V9vZY.js +0 -1
- package/dist/assets/volter-sdk-kit-command-registry-CbwwOUlX.js +0 -1
- package/dist/assets/volter-sdk-kit-component-board-registry-DuKMXXDn.js +0 -1
- package/dist/assets/volter-sdk-kit-component-states-registry-C8fPwGac.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AlignToolbar-DI9H0cLf.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ApplicationMenus-0EFLpJl3.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AssetEditorShell-W9E9Idk3.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-B9C8g1u8.js +0 -1
- package/dist/assets/volter-sdk-kit-components-BoardRulers-TvtGoLvw.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-BbT71ZLs.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-DMlRqvRX.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ChromeSlot-CBMhERxH.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CodeView-DaFrODJ5.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-DAU9Rz8t.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ConsolePanel-DL9PRS8g.js +0 -1
- package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-BQM829E_.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectionProjection-ct5F1-5f.js +0 -1
- package/dist/assets/volter-sdk-kit-components-Inspector-D_LqAGkl.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-BE7YIVKr.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-m9xPIIHr.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-ZlS3c7i5.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorToolSection-B0nuZPLk.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-nkjme0st.js +0 -1
- package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-BWEMMDqF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-MediaProperties-D7iIz70v.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ProjectHeader-BGak497E.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-DC8ly4DP.js +0 -1
- package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-BgFEsPuR.js +0 -1
- package/dist/assets/volter-sdk-kit-components-RootTextEditor-D5kNPJPO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SaveStatus-DUcBxh5_.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-DS5fFxXL.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-LQ6wer_f.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-CsA2zXqR.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ToolHost-CCgNWoYQ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-Toolbar-BcFqLTKO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-TransientHint-BJ8PYeZC.js +0 -1
- package/dist/assets/volter-sdk-kit-components-VersionControlSection-DmfeMks1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-CgfsJe_1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-VolterLogo-Bsb05O0W.js +0 -1
- package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-DHIF6Kg1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-account-documents-CwYhcEZA.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-documents-DyPZbhVR.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-DFyUUrtF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-selection-section-CcmRV0Bv.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-thumbnails-CVmK39Vm.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-C7t9xXsJ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-DyOUPMrf.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-BZVLIpzi.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-MFzv1JKl.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-C1I6t0XF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-TSnI0wjc.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-DisNEKau.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-CT1gLpCM.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-D-ByF1Z9.js +0 -1
- package/dist/assets/volter-sdk-kit-components-board-guides-C3ZEj1WY.js +0 -1
- package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-BQ9gavD1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-DVB2TYkq.js +0 -1
- package/dist/assets/volter-sdk-kit-components-core-utilities-inT-Nle5.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-preview-section-vfZoaY5P.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-revert-label-DRRZSGIK.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-selection-Bv1ikayS.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-BpG3_W7U.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-transform-CP6nVKqd.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-Du0gXiav.js +0 -1
- package/dist/assets/volter-sdk-kit-components-kind-documents-B_HiV65O.js +0 -1
- package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-7rauPX0T.js +0 -1
- package/dist/assets/volter-sdk-kit-components-project-tool-documents-3di65yH2.js +0 -1
- package/dist/assets/volter-sdk-kit-components-scene-documents-Bl1zTaDc.js +0 -1
- package/dist/assets/volter-sdk-kit-components-status-contributions-B8H0B8ft.js +0 -1
- package/dist/assets/volter-sdk-kit-components-tool-documents-C2PpEqP0.js +0 -1
- package/dist/assets/volter-sdk-kit-components-tool-schema-form-72_NOun0.js +0 -1
- package/dist/assets/volter-sdk-kit-components-use-after-paint-DrYvNkkp.js +0 -1
- package/dist/assets/volter-sdk-kit-components-use-project-image-assets-BqKEbF2g.js +0 -1
- package/dist/assets/volter-sdk-kit-components-workspace-history-xnZKFOcO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-world-documents-B_l8OVFP.js +0 -1
- package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-C0aE-brt.js +0 -1
- package/dist/assets/volter-sdk-kit-composite-screenshot-BcGNs7-k.js +0 -1
- package/dist/assets/volter-sdk-kit-content-entry-source-registry-CSDvBeHp.js +0 -1
- package/dist/assets/volter-sdk-kit-contribution-surfaces-CQ2rcWky.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-CaBb6Hfn.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-BZvDlBew.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-CyWzK029.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-session-vitals-BSV6PDul.js +0 -1
- package/dist/assets/volter-sdk-kit-creation-site-registry-fCJv-VnD.js +0 -1
- package/dist/assets/volter-sdk-kit-delegate-harness-registry-0s32Ke4a.js +0 -1
- package/dist/assets/volter-sdk-kit-document-areas-d6o-fnVq.js +0 -1
- package/dist/assets/volter-sdk-kit-document-context-registry-C-rdTIZz.js +0 -1
- package/dist/assets/volter-sdk-kit-document-open-registry-VuPIF1dw.js +0 -1
- package/dist/assets/volter-sdk-kit-document-play-extension-CnbtQG5g.js +0 -1
- package/dist/assets/volter-sdk-kit-document-preview-source-BOuN3JP9.js +0 -1
- package/dist/assets/volter-sdk-kit-document-renderer-session-C4Y-LjCl.js +0 -1
- package/dist/assets/volter-sdk-kit-document-stage-sessions-DFQXt_Kt.js +0 -1
- package/dist/assets/volter-sdk-kit-document-viewports-Caa-nlVQ.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-api-C1nO5qN_.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-chrome-capture-Cyo9MOWB.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-commands-DgSsLdds.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-console-D1PH1xFg.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-current-view-Bset7Nwl.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-document-probe-Czf1syZL.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-git-client-CMFbof3B.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-hotkeys-_jIQrvhL.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-lease-CqLtzZdx.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-lease-view-B38iYVxe.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-mode-DhgTI0qH.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-notifications-Yta6jrTE.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presence-CmU0c8nu.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presentation-activity-Chb0_n3L.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presentation-notice-CJJau7kX.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-runtime-C_0J-89o.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-server-response-AowGGRsX.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-session-attribution-CE3iHsa9.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-session-mode-DxwZ4UOE.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-state-facets-CrumZoYh.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-view-presentation-C-p2mMYG.js +0 -1
- package/dist/assets/volter-sdk-kit-environment-images-bVl6oO0J.js +0 -1
- package/dist/assets/volter-sdk-kit-eyedropper-session-xsFx5slJ.js +0 -1
- package/dist/assets/volter-sdk-kit-files-file-provider-BZr0PG4o.js +0 -1
- package/dist/assets/volter-sdk-kit-files-project-files-DlEfa4r5.js +0 -1
- package/dist/assets/volter-sdk-kit-finders-index-1Yh1UrN5.js +0 -1
- package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-BdkJ-g9C.js +0 -1
- package/dist/assets/volter-sdk-kit-frame-frame-parts-DvbxUeaX.js +0 -1
- package/dist/assets/volter-sdk-kit-framed-document-capture-Doq07qaD.js +0 -1
- package/dist/assets/volter-sdk-kit-game-surface-defaults-Cco9xAIy.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-export-state-Bh35kQUs.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-replay-CJUXUO5Z.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-session-time-xKMm2Bmw.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-sessions-BtyPVYt1.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-component-marks-CMA_1E0Z.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-internals-C2mw6TEb.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-Uq5N3cYQ.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-BuUQH5-1.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-node-rows-DoIy_rr4.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-panel-view-C28YFK-D.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-projection-BlTrqGJP.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-row-media-Bi4TlkKq.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-row-model-B6Umqjy9.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-rows-LJpacUWB.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-walk-CUME5S0j.js +0 -1
- package/dist/assets/volter-sdk-kit-history-editor-session-vyoZV4Se.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-commands-BvP_RqsP.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-delegate-DilFGldE.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-limit-notices-Bl7qNsVW.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-service-CUwc9Oh1.js +0 -1
- package/dist/assets/volter-sdk-kit-history-persistence-coordinator-By_l7An0.js +0 -1
- package/dist/assets/volter-sdk-kit-history-project-file-history-stqJ4Wa9.js +0 -1
- package/dist/assets/volter-sdk-kit-history-project-root-history-backends-Dhihw3lO.js +0 -1
- package/dist/assets/volter-sdk-kit-history-resource-registry-BmWUO5On.js +0 -1
- package/dist/assets/volter-sdk-kit-history-snapshot-store-DpGm1CKT.js +0 -1
- package/dist/assets/volter-sdk-kit-history-source-history-backend-CWkNA5B8.js +0 -1
- package/dist/assets/volter-sdk-kit-hmr-registration-group-DXxPfV1d.js +0 -1
- package/dist/assets/volter-sdk-kit-hmr-stable-react-context-DTKg0yz7.js +0 -1
- package/dist/assets/volter-sdk-kit-hotkeys-B-DB4WDn.js +0 -1
- package/dist/assets/volter-sdk-kit-inference-diagnostics-Bg2RC291.js +0 -1
- package/dist/assets/volter-sdk-kit-initial-project-DcV4d4vU.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-active-subject-Dpg7lLaz.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-active-surface-CtXLz-UE.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-compose-subject-DPCLcleB.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-display-WcRFy6fP.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-document-subject-Dg6DIr4J.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-game-subject-CCU0bOnL.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-model-BHHq-F57.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-node-media-D3HHlQ-1.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-null-subject-CojoXu4j.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-serialize-BXTD5f5F.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-D0tMZbA8.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-presentation-DDTS4NPQ.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-property-grouping-C8gM67Ji.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-section-registry-C0bhf71P.js +0 -1
- package/dist/assets/volter-sdk-kit-instance-source-actions-DxsyQJOt.js +0 -1
- package/dist/assets/volter-sdk-kit-js-heap-COa0ZQO1.js +0 -1
- package/dist/assets/volter-sdk-kit-key-actions-DUdVok9i.js +0 -1
- package/dist/assets/volter-sdk-kit-keymap-presets-CtsgCBMq.js +0 -1
- package/dist/assets/volter-sdk-kit-layout-policy-B1UriNWB.js +0 -1
- package/dist/assets/volter-sdk-kit-light-explorer-model-DDrGjN_l.js +0 -1
- package/dist/assets/volter-sdk-kit-live-canvas-frame-Bx3mSipB.js +0 -1
- package/dist/assets/volter-sdk-kit-live-document-CPBTdxo0.js +0 -1
- package/dist/assets/volter-sdk-kit-live-gesture-lock-B4b9BM5c.js +0 -1
- package/dist/assets/volter-sdk-kit-live-seam-evidence-ByZ2Gf3m.js +0 -1
- package/dist/assets/volter-sdk-kit-live-session-registry-mxT-37yH.js +0 -1
- package/dist/assets/volter-sdk-kit-live-transition-CrRFP373.js +0 -1
- package/dist/assets/volter-sdk-kit-manifest-project-BCBSW7yn.js +0 -1
- package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-ENr7r-oj.js +0 -1
- package/dist/assets/volter-sdk-kit-mount-failure-report-Diw3prSP.js +0 -1
- package/dist/assets/volter-sdk-kit-native-selection-style-D_oHLKGc.js +0 -1
- package/dist/assets/volter-sdk-kit-object3d-document-write-policy-Dq8rnb-h.js +0 -1
- package/dist/assets/volter-sdk-kit-packaged-runtime-2ZtSBw9e.js +0 -1
- package/dist/assets/volter-sdk-kit-performance-profiler-J1GcKurL.js +0 -1
- package/dist/assets/volter-sdk-kit-performance-sources-Dk3RIhPs.js +0 -1
- package/dist/assets/volter-sdk-kit-photograph-notice-CEVpX_yj.js +0 -1
- package/dist/assets/volter-sdk-kit-play-boot-phase-D22MvZjX.js +0 -1
- package/dist/assets/volter-sdk-kit-play-camera-flight-Dh3-SiG2.js +0 -1
- package/dist/assets/volter-sdk-kit-presentation-surface-DtvQ6uwm.js +0 -1
- package/dist/assets/volter-sdk-kit-product-command-DhQ2vGY7.js +0 -1
- package/dist/assets/volter-sdk-kit-project-adapter-lJsp7vSt.js +0 -1
- package/dist/assets/volter-sdk-kit-project-asset-refresh-D94Pa8-n.js +0 -1
- package/dist/assets/volter-sdk-kit-project-asset-roots-DkjE-H4P.js +0 -1
- package/dist/assets/volter-sdk-kit-project-local-state-C3dueXjj.js +0 -1
- package/dist/assets/volter-sdk-kit-project-manager-D8pSoBk5.js +0 -1
- package/dist/assets/volter-sdk-kit-project-module-changes-CmswawEd.js +0 -1
- package/dist/assets/volter-sdk-kit-project-module-split-BWSP4PC6.js +0 -1
- package/dist/assets/volter-sdk-kit-project-provenance-y2LiaenC.js +0 -1
- package/dist/assets/volter-sdk-kit-project-ready-5KOkgAie.js +0 -1
- package/dist/assets/volter-sdk-kit-project-shape-CRi6VMwW.js +0 -1
- package/dist/assets/volter-sdk-kit-project-tools-DefLgVW-.js +0 -1
- package/dist/assets/volter-sdk-kit-readiness-CFiVXonW.js +0 -1
- package/dist/assets/volter-sdk-kit-renderer-resource-counts-yv0wDv9Z.js +0 -1
- package/dist/assets/volter-sdk-kit-reported-play-state-CdBN7lgt.js +0 -1
- package/dist/assets/volter-sdk-kit-resolve-contributed-command-C-UnZAy2.js +0 -1
- package/dist/assets/volter-sdk-kit-resolve-relative-specifier-B0fBf47E.js +0 -1
- package/dist/assets/volter-sdk-kit-retained-document-states-BaHAJmNJ.js +0 -1
- package/dist/assets/volter-sdk-kit-scene-document-plan-ByPu78Ca.js +0 -1
- package/dist/assets/volter-sdk-kit-scene-live-open-WieSHU0m.js +0 -1
- package/dist/assets/volter-sdk-kit-scoped-game-css-Cl-iGkav.js +0 -1
- package/dist/assets/volter-sdk-kit-served-url-CvjRxXVY.js +0 -1
- package/dist/assets/volter-sdk-kit-session-close-Bj5v_SbU.js +0 -1
- package/dist/assets/volter-sdk-kit-session-tombstone-D1LTs2G4.js +0 -1
- package/dist/assets/volter-sdk-kit-settings-settings-provider-CdD8uh79.js +0 -1
- package/dist/assets/volter-sdk-kit-settings-store-CdCWpZpX.js +0 -1
- package/dist/assets/volter-sdk-kit-shell-store-BPMrMgto.js +0 -1
- package/dist/assets/volter-sdk-kit-shell-store-door-D5csR7L7.js +0 -1
- package/dist/assets/volter-sdk-kit-source-conflict-C1LAtXzO.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-context-B5Ashsvr.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-invalidation-DrB2GJkV.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-store-registry-BBmIUDrH.js +0 -1
- package/dist/assets/volter-sdk-kit-startup-failure-B_1Us5LR.js +0 -1
- package/dist/assets/volter-sdk-kit-state-report-deferral-CadDAzqC.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-host-files-storage-DlAZpF8O.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-http-storage-BGzRT9Yh.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-index-BRza5xQo.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-mem-storage--iLg4qqC.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-path-lock-DIiF0WD6.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-paths-RUYTo3ty.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-CIWFkcHG.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-compose-project-stories-DwoDwmJU.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-prefabs-finder-1J_oByWW.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-BWzNS_pC.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-project-story-regions-Cmj0gYSU.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-scope-dbPpXRCQ.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-capture-3Y8Mr8qy.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-declared-medium-D3PDNDCy.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-discovery-lsLHfYGO.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-Bcuc8WAV.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-grouping-iqNIaFLi.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-presentation-CK7iy9Ei.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-registry-BgeJ9s08.js +0 -1
- package/dist/assets/volter-sdk-kit-story-document-openers-cYEL6Hy6.js +0 -1
- package/dist/assets/volter-sdk-kit-story-thumbnails-CM9Z-bvM.js +0 -1
- package/dist/assets/volter-sdk-kit-surface-keyboard-DBn-R4RW.js +0 -1
- package/dist/assets/volter-sdk-kit-surface-state-lyZ-F89S.js +0 -1
- package/dist/assets/volter-sdk-kit-system-seam-evidence-M2PpGJaD.js +0 -1
- package/dist/assets/volter-sdk-kit-tab-census-D-cKQr53.js +0 -1
- package/dist/assets/volter-sdk-kit-tab-lifecycle-client-C9bdy1EQ.js +0 -1
- package/dist/assets/volter-sdk-kit-theme-library-C1SMcZX-.js +0 -1
- package/dist/assets/volter-sdk-kit-theme-preference-D7fq5Aos.js +0 -1
- package/dist/assets/volter-sdk-kit-three-viewport-presentation-C3jDpb-D.js +0 -1
- package/dist/assets/volter-sdk-kit-tool-contribution-play-BOVfgHO-.js +0 -1
- package/dist/assets/volter-sdk-kit-tool-loader-cdxKzGe5.js +0 -1
- package/dist/assets/volter-sdk-kit-transform-mode-request-BPBs33SD.js +0 -1
- package/dist/assets/volter-sdk-kit-transient-hint-DvRRSOfn.js +0 -1
- package/dist/assets/volter-sdk-kit-transport-strip-Dd6GTpZe.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-BPLcvfGC.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-inspect-Ckv_4nvy.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-CiReq_FI.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-DZJqZvWO.js +0 -1
- package/dist/assets/volter-sdk-kit-user-local-state-9E2MdgX4.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-activation-timings-C7D8UOhh.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-editor-controls-D88BRUuu.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-presentation-Zb13u02P.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-surface-status-Ca85AZuU.js +0 -1
- package/dist/assets/volter-sdk-kit-wait-until-pqtZlaLI.js +0 -1
- package/dist/assets/volter-sdk-kit-worker-call-metrics-Cbz-2gPO.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-areas-B_i10_dm.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-aux-commands-DtGEjh20.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-available-documents-C8VSQ_mD.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-core-utilities-BiDneGhJ.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-ids-BWk99i3Z.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-registry-DS1fKB9K.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-restore-ZPSOlafH.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-host-commands-BLPz-3R_.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-persistence-gate-DaFEto7Y.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-play-utilities-DOoHAHVj.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-presets-DOs3QGh-.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-regions-wBvCVXKS.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-static-panels-ByMR68k-.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-status-registry-HAD_cNR4.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-storage-CqQ3PjCZ.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-style-BQcwaxYJ.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-utility-commands-et9TkyCh.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-utility-registry-rYY77c5M.js +0 -1
- package/dist/assets/volter-sdk-kit-world-adoption-Cdr7X1RK.js +0 -1
- package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-CIToIMqL.js +0 -1
- package/dist/assets/volter-sdk-kit-world-document-routing-BZEtZVgX.js +0 -1
- package/dist/assets/volter-sdk-kit-world-pan-state-gNJklP8p.js +0 -1
- package/dist/assets/volter-sdk-kit-write-pipe-BADasoOU.js +0 -1
- package/dist/assets/volter-sdk-layout-arrangements-C2GnUWEf.js +0 -1
- package/dist/assets/volter-sdk-layouts-ai4Mr9iJ.js +0 -1
- package/dist/assets/volter-sdk-selection--L_yVThI.js +0 -1
- package/dist/assets/volter-sdk-session-command-table-HzFjzv-r.js +0 -1
- package/dist/assets/volter-sdk-session-editor-brand-DZQ6PWq1.js +0 -1
- package/dist/assets/volter-sdk-session-editor-compatibility-Dqc8l3ef.js +0 -1
- package/dist/assets/volter-sdk-session-editor-control-protocol-C9Ru_wUN.js +0 -1
- package/dist/assets/volter-sdk-session-entrypoint-selection-readers-zxVRreaL.js +0 -1
- package/dist/assets/volter-sdk-session-game-css-scope-Dqlihty_.js +0 -1
- package/dist/assets/volter-sdk-session-project-module-url-D83kzz0q.js +0 -1
- package/dist/assets/volter-sdk-session-relative-path-guard-CuR0WI9k.js +0 -1
- package/dist/assets/volter-sdk-session-tool-contribution-convention-BCFbkxzk.js +0 -1
- package/dist/assets/volter-sdk-types-CEnscS2I.js +0 -1
- package/dist/assets/volter-sdk-views-C5SjARB1.js +0 -1
- package/dist/assets/volter-sdk-widgets-design-system-CvoouaNJ.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-appearance-C7o2ovx9.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-material-DexUBcgV.js +0 -1
- package/dist/assets/volter-sdk-widgets-icon-set-registry-DlFlaNAF.js +0 -1
- package/dist/assets/volter-sdk-widgets-index-yq00_bNp.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-BTgcU6jh.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-C2o3TwgU.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-FDtHP3jG.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-BuPI_wXu.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-DgzQ9479.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-DAvp2mOL.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-D0qkPeCp.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-CCsSB7GO.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-HX8HYQyz.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-W6DD40ZY.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-Da1Qassw.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-CubhrOnj.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-BfEw1ffU.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-BHXdKcVo.js +0 -1
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-BN0E0Doa.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-BRrjlh-m.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Fields-DZH1odj7.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-List-C6d9TZjZ.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-Drk0tBrv.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-DDRN7QIn.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-EjlJmcJW.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-CFvWB8mN.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tree-BuqeZDz5.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-CTTEOeVU.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Button-C_0ZSSpT.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-CDSl_uTD.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-DkmxJEkt.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-BBWNM0Qo.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-BWxUJrgm.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-DWhR7NPO.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-DT-JU62m.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Layout-DdGxhqhS.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Menu-DZZRIImg.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-BhCoXeub.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Panel-CBt-GWg4.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-zNqJ43pZ.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Text-D5kMrfFl.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-C3qNx2NP.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-BZa_2pgU.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-DHMZkNZm.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-banner-tones-B0Vu5nrN.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-gPoKdjpr.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-CzOo1YYK.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-L08FUXCP.js +0 -1
- package/dist/assets/volter-sdk-widgets-theme-3FhMTQQW.js +0 -1
- package/dist/assets/volter-sdk-widgets-z-index-BY332K7Z.js +0 -1
- package/dist/assets/volter-shared-fontawesome-DpCdukGW.js +0 -1
- package/dist/assets/volter-shared-jsx-dev-runtime-Dzhuy0jr.js +0 -1
- package/dist/assets/volter-shared-jsx-runtime-CZf-NxSP.js +0 -1
- package/dist/assets/volter-shared-react-B8I974G-.js +0 -1
- package/dist/assets/volter-shared-react-dom-BSKZma7T.js +0 -1
- package/dist/assets/volter-shared-react-dom-client-aO0ss-5e.js +0 -1
- package/dist/assets/worker-C7WcdPfy.js +0 -8
- package/starter/race-state.ts +0 -22
- package/starter/track.blend +0 -0
- package/starter/track.play.ts +0 -343
- package/starter/track.py +0 -324
- package/starter/ui/game.stories.tsx +0 -12
- package/starter/ui/game.tsx +0 -10
- package/starter/ui/race-hud.tsx +0 -29
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dO as s,bO as c,pr as e}from"./volter-sdk-CjkJnQ6d.js";export{s as DisclosureIcon,c as EditorIcon,e as TreeDisclosureIcon};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e,pf as t,pg as s,ph as n,jp as o,pi as x,cx as c}from"./volter-sdk-CjkJnQ6d.js";export{e as Checkbox,t as ColorSwatchInput,s as FileInput,n as RangeInput,o as Select,x as TextArea,c as TextInput};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ps as o}from"./volter-sdk-CjkJnQ6d.js";export{o as HoverPreview};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{pt as t}from"./volter-sdk-CjkJnQ6d.js";export{t as JsonInput};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{od as s,oe as e,k4 as i,of as r,k3 as c}from"./volter-sdk-CjkJnQ6d.js";export{s as Actions,e as Divider,i as Inline,r as Spacer,c as Stack};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dM as r,dN as s,ik as u,il as M,ow as n}from"./volter-sdk-CjkJnQ6d.js";export{r as Menu,s as MenuItem,u as MenuSeparator,M as MenuTrigger,n as focusFirstMenuItem};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{kK as m}from"./volter-sdk-CjkJnQ6d.js";export{m as NumberInput};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dp as o}from"./volter-sdk-CjkJnQ6d.js";export{o as Panel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{px as r}from"./volter-sdk-CjkJnQ6d.js";export{r as SectionHeader};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{og as o,T as p}from"./volter-sdk-CjkJnQ6d.js";export{o as Keycap,p as Text};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dL as r}from"./volter-sdk-CjkJnQ6d.js";export{r as ThemeRootPortal};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{eE as p}from"./volter-sdk-CjkJnQ6d.js";export{p as Tooltip};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{py as o}from"./volter-sdk-CjkJnQ6d.js";export{o as Vec3Input};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{pb as p,pc as E}from"./volter-sdk-CjkJnQ6d.js";export{p as TONE_ERROR,E as TONE_WARNING};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dw as p}from"./volter-sdk-CjkJnQ6d.js";export{p as clampRectToViewport};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ew as r}from"./volter-sdk-CjkJnQ6d.js";export{r as editorIcons};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{pu as l,pv as p,pw as r}from"./volter-sdk-CjkJnQ6d.js";export{l as panelHeaderLabelStyle,p as panelHeaderStyle,r as sectionHeaderLabelStyle};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ox as e,oy as o,l3 as i,oz as t,oA as r,oB as d,oC as n,oD as h,oE as E,oF as c,du as m,oG as l,oH as p,oI as T,oJ as g,oK as u,oL as S,oM as M,oN as D,oO as R,ip as V,oP as _,oQ as z,dY as O,oR as f,oS as A,oT as G,l4 as I,oU as H,oV as L,oW as N,oX as b,dQ as k,oY as w,oZ as x,o_ as y,o$ as C,p0 as W,eL as Y,p1 as q,p2 as B,p3 as F,p4 as Q,cz as X,cr as J,p5 as K,p6 as P,p7 as U,dX as Z,t as $,p8 as j,p9 as v,pa as aa,cd as sa}from"./volter-sdk-CjkJnQ6d.js";export{e as EDITOR_CATEGORY_NAMES,o as EDITOR_REGION_NAMES,i as EDITOR_THEME_CLASS,t as STAGE_WORD_MODES,r as accent,d as accentMuted,n as applyEditorTheme,h as areaEmbossValue,E as bg,c as border,m as chromeSize,l as controlSize,p as danger,T as dangerFaint,g as dangerMuted,u as dynamic,S as dynamicBg,M as editorThemeVariables,D as editorThemes,R as focusRing,V as fontMono,_ as fontSans,z as fontSize,O as fontSizeVar,f as fontWeight,A as glassDarkEditorTheme,G as glassDarkLiteEditorTheme,I as graphiteDarkEditorTheme,H as graphiteNeutralEditorTheme,L as iconSize,N as isEditorThemeId,b as lineHeight,k as lineHeightVar,w as liquidGlassEditorTheme,x as liquidGlassLiteEditorTheme,y as midnightHighContrastEditorTheme,C as motion,W as motionVar,Y as radius,q as regionRowAltValue,B as scrim,F as selection,Q as shadow,X as space,J as spaceVar,K as strokeWidth,P as success,U as successMuted,Z as text,$ as themeVars,j as usesGlassMaterial,v as warn,aa as warnMuted,sa as zIndex};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{cd as o}from"./volter-sdk-CjkJnQ6d.js";export{o as zIndex};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as o}from"./volter-sdk-CjkJnQ6d.js";const e=o,t=e.FontAwesomeIcon,n=e.FontAwesomeLayers,r=e.LayersCounter,a=e.LayersText;export{t as FontAwesomeIcon,n as FontAwesomeLayers,r as LayersCounter,a as LayersText,e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as t}from"./volter-sdk-CjkJnQ6d.js";function j(e,n,s,r){return r?t.jsxs(e,n,s):t.jsx(e,n,s)}const a=Object.freeze(Object.defineProperty({__proto__:null,Fragment:t.Fragment,jsxDEV:j},Symbol.toStringTag,{value:"Module"})),o=a,x=o.Fragment,_=o.jsxDEV;export{x as Fragment,o as default,_ as jsxDEV};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as t,f as n}from"./volter-sdk-CjkJnQ6d.js";const s=t??n,a=s.Fragment,e=s.jsx,m=s.jsxs;export{a as Fragment,s as default,e as jsx,m as jsxs};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{R as t,a as s}from"./volter-sdk-CjkJnQ6d.js";const e=t??s,c=e.Activity,o=e.Children,a=e.Component,u=e.Fragment,r=e.Profiler,i=e.PureComponent,E=e.StrictMode,_=e.Suspense,l=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,f=e.__COMPILER_RUNTIME,R=e.cache,m=e.cacheSignal,S=e.cloneElement,C=e.createContext,d=e.createElement,N=e.createRef,T=e.forwardRef,I=e.isValidElement,p=e.lazy,A=e.memo,O=e.startTransition,h=e.unstable_useCacheRefresh,v=e.use,y=e.useActionState,D=e.useCallback,L=e.useContext,M=e.useDebugValue,P=e.useDeferredValue,U=e.useEffect,x=e.useEffectEvent,b=e.useId,g=e.useImperativeHandle,V=e.useInsertionEffect,H=e.useLayoutEffect,k=e.useMemo,w=e.useOptimistic,z=e.useReducer,F=e.useRef,G=e.useState,W=e.useSyncExternalStore,Y=e.useTransition,$=e.version;export{c as Activity,o as Children,a as Component,u as Fragment,r as Profiler,i as PureComponent,E as StrictMode,_ as Suspense,l as __CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,f as __COMPILER_RUNTIME,R as cache,m as cacheSignal,S as cloneElement,C as createContext,d as createElement,N as createRef,e as default,T as forwardRef,I as isValidElement,p as lazy,A as memo,O as startTransition,h as unstable_useCacheRefresh,v as use,y as useActionState,D as useCallback,L as useContext,M as useDebugValue,P as useDeferredValue,U as useEffect,x as useEffectEvent,b as useId,g as useImperativeHandle,V as useInsertionEffect,H as useLayoutEffect,k as useMemo,w as useOptimistic,z as useReducer,F as useRef,G as useState,W as useSyncExternalStore,Y as useTransition,$ as version};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as t,b as o}from"./volter-sdk-CjkJnQ6d.js";const e=t??o,n=e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,_=e.createPortal,r=e.flushSync,c=e.preconnect,a=e.prefetchDNS,u=e.preinit,p=e.preinitModule,S=e.preload,l=e.preloadModule,d=e.requestFormReset,N=e.unstable_batchedUpdates,i=e.useFormState,R=e.useFormStatus,E=e.version;export{n as __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,_ as createPortal,e as default,r as flushSync,c as preconnect,a as prefetchDNS,u as preinit,p as preinitModule,S as preload,l as preloadModule,d as requestFormReset,N as unstable_batchedUpdates,i as useFormState,R as useFormStatus,E as version};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as t,d as e}from"./volter-sdk-CjkJnQ6d.js";const o=t??e,r=o.createRoot,a=o.hydrateRoot,c=o.version;export{r as createRoot,o as default,a as hydrateRoot,c as version};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
let ce=0;class de{constructor(t){this.work=t,this.job=++ce,this.started=!1,this.finished=!1,this.sequence=0,this.expected=null,this.resume=null,this.waiter=null,this.ended=null}step(t){if(this.ended&&!this.waiter&&t===this.expected){const r=this.ended;return this.ended=null,this.expected=null,this.resume=null,"error"in r?Promise.reject(r.error):Promise.resolve({load:"done",value:r.value})}if(this.finished||this.waiter||(this.started?t!==this.expected||!this.resume:t!==void 0))return Promise.reject(new Error("Invalid or replayed load continuation"));const n=new Promise((r,s)=>{this.waiter={resolve:r,reject:s}});if(!this.started)this.started=!0,Promise.resolve().then(()=>this.work(r=>new Promise(s=>{this.resume=s,this.expected=`load:${this.job}:${++this.sequence}`;const o=this.waiter;this.waiter=null,o.resolve({load:"continue",token:this.expected,phase:r})}))).then(r=>{this.finished=!0;const s=this.waiter;this.waiter=null,s?s.resolve({load:"done",value:r}):this.ended={value:r}},r=>{this.finished=!0;const s=this.waiter;this.waiter=null,s?s.reject(r):(this.ended={error:r},console.warn("A Blender load failed between steps; the next step reports it:",r))});else{const r=this.resume;this.resume=null,this.expected=null,r()}return n}}function le(e,t){const n=e.getReader();let r,s=0;return new ReadableStream({async pull(o){try{if(!r||s===r.length){const a=await n.read();if(a.done){n.releaseLock(),o.close();return}r=a.value,s=0}await t();const i=Math.min(r.length,s+1024*1024);o.enqueue(r.subarray(s,i)),s=i}catch(i){await n.cancel(i).catch(()=>{}),o.error(i)}},async cancel(o){await n.cancel(o),n.releaseLock()}},{highWaterMark:0})}const V=1024*1024,fe={Uint8Array,Int8Array,Uint16Array,Int16Array,Uint32Array,Int32Array,Float32Array,Float64Array},ue=async e=>Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256",e)),t=>t.toString(16).padStart(2,"0")).join("");async function he(e,t){const n=[],r=JSON.stringify(e,(s,o)=>{if(!ArrayBuffer.isView(o))return o;const i=o.constructor.name;if(!Object.hasOwn(fe,i))throw new Error(`Unsupported frame column ${i}`);return n.push(new Uint8Array(o.buffer,o.byteOffset,o.byteLength)),{$frameColumn:n.length,type:i}});n.unshift(new TextEncoder().encode(r)),await t({kind:"begin",lengths:n.map(s=>s.byteLength)});for(const[s,o]of n.entries())for(let i=0;i<o.byteLength;i+=V){const a=o.slice(i,i+V),c=await ue(a);await t({kind:"bytes",slot:s,offset:i,bytes:a,sha256:c})}return t({kind:"end"})}function A(e,t=!0){if(e instanceof Error)return(t?e.stack:void 0)??`${e.name}: ${e.message}`;if(typeof e=="object"&&e!==null){const n=e;if(typeof n.message=="string")return typeof n.name=="string"?`${n.name}: ${n.message}`:n.message;try{return JSON.stringify(e)??Object.prototype.toString.call(e)}catch{return Object.prototype.toString.call(e)}}return String(e)}const p="/work/.volter-session",Je=`${p}/session.py`,De=[`${p}/in`,`${p}/reply`],q="/__editor/blender-wasm";function We(e){return e.startsWith("@@VOLTER-ERROR")?"error":e.startsWith("@@VOLTER-WARN")?"warn":"log"}function we(e){return new URL(`${q}/${e}`,import.meta.url).href}async function T(e,t,n){try{return await n()}catch(r){const s=A(r,!1);throw new Error(`Blender startup ${t} (${e}): ${s}`,{cause:r})}}async function pe(){const e=we("status"),t=await T(e,"fetch status",()=>fetch(e));return t.ok?T(e,"decode status JSON",()=>t.json()):{available:!1,skew:null,dir:null,sizes:{},encoded:{},missing:[`${q}/status answered ${t.status}`]}}async function ye(e){const t=await pe();if(await e.ask({checkpoint:"artifact-status"}),!t.available)throw new Error(`The headless Blender WebAssembly build is not served by this editor: ${t.missing.join("; ")}`);if(t.skew==="wali"){const{startWaliBlenderEngine:r}=await T(import.meta.url,"import WALI engine module from",()=>import("./blender-wali-engine-x-OfFUGX.js"));return r(e,t)}const{startEmscriptenBlenderEngine:n}=await T(import.meta.url,"import Emscripten engine module from",()=>import("./blender-emscripten-engine-DnJ85_-l.js"));return n(e,t)}function me(e){return e<200?1:e<5e3?5:25}const ge=e=>new Promise(t=>setTimeout(t,e)),K=new TextDecoder;function He(e,t,n){let r=0,s=0;const o=new Set;async function i(l){for(const d of o)l.has(`${d}.done`)||(await e.unlink(`${p}/reply/${d}.json`),await e.unlink(`${p}/reply/${d}.done`),o.delete(d))}async function a(){let l;try{l=await e.readdir(`${p}/ask`)}catch{return!1}const d=new Set(l.filter(h=>h.endsWith(".done")));await i(d);let f=!1;for(const h of d){const y=h.slice(0,-5);if(Number(y)<=s)continue;s=Number(y);const u=JSON.parse(K.decode(await e.readFile(`${p}/ask/${y}.json`)));let w;try{w=await t.ask(u)}catch(v){w={error:v instanceof Error?v.message:String(v)}}await Promise.all([e.writeFile(`${p}/reply/${y}.json`,JSON.stringify(w??null)),e.writeFile(`${p}/reply/${y}.done`,"1")]),o.add(y),f=!0}return f}async function c(l){const d=String(++r);await Promise.all([e.writeFile(`${p}/in/${d}.json`,JSON.stringify(l)),e.writeFile(`${p}/in/${d}.done`,"1")]);let f=performance.now();for(;;){if(await a()&&(f=performance.now()),await e.stat(`${p}/out/${d}.done`)){const u=JSON.parse(K.decode(await e.readFile(`${p}/out/${d}.json`)));if(await e.unlink(`${p}/in/${d}.json`),await e.unlink(`${p}/in/${d}.done`),u.error)throw new Error(u.error);return u.result}const h=n?.();if(h)throw new Error(`Blender is gone, so this call will never be answered: ${h}. The session keeps its directory and its cached banner, so every later call would wait on the same missing answer; start a new program with \`blender-start {fresh: true}\` (\`VOLTER_BLENDER_FRESH_SESSION=1\` for the battery harness).`);const y=me(performance.now()-f);await(e.changed?e.changed(y):ge(y))}}return{request:c}}const be=256*1024,$e=4*1024*1024,ve=(1<<20)-1,Ee=(()=>{const e=new Uint32Array(256);let t=2654435769;for(let n=0;n<256;n+=1)t^=t<<13,t^=t>>>17,t^=t<<5,e[n]=t>>>0;return e})();function Se(e){const t=[];let n=0;for(;n<e.length;){const r=Math.min(e.length,n+$e);let s=r,o=0;for(let i=n+Math.min(be,r-n);i<r;i+=1)if(o=(o<<1)+Ee[e[i]]>>>0,(o&ve)===0){s=i+1;break}t.push(s),n=s}return t}async function ke(e){const t=[];let n=0;for(const r of Se(e)){const s=new Uint8Array(await crypto.subtle.digest("SHA-256",e.slice(n,r)));t.push({hash:Array.from(s,o=>o.toString(16).padStart(2,"0")).join(""),start:n,end:r}),n=r}return t}const R=e=>typeof e=="object"&&e!==null&&typeof e.offset=="number"&&typeof e.length=="number"&&typeof e.dtype=="string"&&typeof e.count=="number"&&typeof e.stride=="number",je={f32:e=>new Float32Array(e.buffer,e.byteOffset,e.byteLength>>2),f64:e=>new Float64Array(e.buffer,e.byteOffset,e.byteLength>>3),u32:e=>new Uint32Array(e.buffer,e.byteOffset,e.byteLength>>2),i32:e=>new Int32Array(e.buffer,e.byteOffset,e.byteLength>>2),u16:e=>new Uint16Array(e.buffer,e.byteOffset,e.byteLength>>1),i16:e=>new Int16Array(e.buffer,e.byteOffset,e.byteLength>>1),u8:e=>e,i8:e=>new Int8Array(e.buffer,e.byteOffset,e.byteLength)};function Ae(e,t,n){const r=je[n.dtype];if(!r)throw new Error(`Blender frame column ${t}: unknown dtype ${n.dtype}`);const{offset:s,length:o}=n;if(s<0||o<0||s+o>e.byteLength)throw new Error(`Blender frame column ${t}: bytes ${s}..${s+o} lie outside the ${e.byteLength}-byte export arena`);const i=e.subarray(s,s+o).slice(),a=r(i),c=n.count*n.stride;if(a.length!==c)throw new Error(`Blender frame column ${t}: ${a.length} values, ${c} declared (${n.count} x ${n.stride})`);return a}function I(e,t){const n=(r,s)=>{if(R(r))return Ae(e,s,r);if(Array.isArray(r))return r.map(o=>n(o,s));if(typeof r=="object"&&r!==null){const o={};for(const[i,a]of Object.entries(r))o[i]=n(a,i);return o}return r};return n(t,"")}async function _(e,t){const n=async(r,s)=>{if(R(r)){const{offset:o,length:i,dtype:a}=r;if(o<0||i<0||o+i>e.byteLength)throw new Error(`Blender frame column ${s}: bytes ${o}..${o+i} lie outside the ${e.byteLength}-byte export arena`);const c=e.subarray(o,o+i).slice(),l=await crypto.subtle.digest("SHA-256",c),d=[...new Uint8Array(l)].map(f=>f.toString(16).padStart(2,"0")).join("");return{dtype:a,length:i,sha256:d}}if(Array.isArray(r))return Promise.all(r.map(o=>n(o,s)));if(typeof r=="object"&&r!==null){const o={};for(const[i,a]of Object.entries(r))o[i]=await n(a,i);return o}return r};return n(t,"")}const k=e=>self.postMessage(e),O=(e,t)=>k({op:"log",level:e,text:t});let S=null,U=null,Te=0;const N=new Map;async function F(e){return await he(e,async t=>{const n=e;await g?.(`frame-transfer/${n.op??"unknown"}/${n.mesh!==void 0?"mesh":n.image!==void 0?"image":"manifest"}/${t.kind}`);const r=++Te;return new Promise((s,o)=>{N.set(r,{resolve:s,reject:o});try{self.postMessage({op:"frame-stream",id:r,chunk:t},t.kind==="bytes"?[t.bytes.buffer]:[])}catch(i){N.delete(r),o(i)}})})}function Oe(e,t,n){return F({op:"present",frame:e,description:t,...n?{capture:n}:{}})}let m=null,x=null,g=null,P=null,J=!1,G=Promise.resolve();function Be(e){const t=G.then(e);return G=t.catch(()=>{}),t}let b=null;async function xe(e,t){const n=new Map,r=async(s,o)=>{if(R(s)){n.set(s.offset,{typed:I(e,{[o]:s})[o],description:await _(e,s)});return}if(Array.isArray(s))for(const i of s)await r(i,o);else if(typeof s=="object"&&s!==null)for(const[i,a]of Object.entries(s))await r(a,i)};return await r(t,""),n}function Pe(e,t){const n=r=>{const s=(o,i)=>{if(R(o)){const c=e.columns.get(o.offset);if(!c)throw new Error(`Blender frame column ${i.join(".")}: not in the held frame`);return c[r]}if(Array.isArray(o))return o.map(c=>s(c,i));if(typeof o!="object"||o===null)return o;if(o.deferred===!0){const[c,l]=i.slice(-2),d=(c==="meshes"?e.meshes:e.images).get(l);if(!d)throw new Error(`Blender frame ${c} ${l}: deferred and never pulled`);return d[r]}const a={};for(const[c,l]of Object.entries(o)){const d=s(l,[...i,c]);d!==void 0&&(a[c]=d)}return a};return s(t,[])};return{typed:n("typed"),description:n("description")}}function D(e){J=e,k({op:"document-dirty",dirty:e})}async function ee(){if(!m||P===null)return;const e=P,t={};let n=performance.now();const r=a=>{const c=performance.now();t[a]=Math.round(c-n),n=c};let s;try{s=await m.request({op:"save-document"}),r("save")}catch(a){throw new Error(`The Blender document ${e} could not be saved: ${A(a)}`)}if(!s?.saved||typeof s.path!="string")throw new Error(`Blender did not save the document ${e}`);let o;try{o=await m.files.readFile(s.path),r("read")}catch(a){throw new Error(`The Blender document ${e} could not be read back out of the engine: ${A(a)}`)}$.delete(s.path);let i=0;try{const a=await ke(o);r("chunk");const c=`path=${encodeURIComponent(e)}`,l=JSON.stringify({chunks:a.map(({hash:d,start:f,end:h})=>[d,h-f])});for(let d=0;;d+=1){const f=await fetch(`/__editor/blender-document?${c}`,{method:"POST",headers:{"content-type":"application/json"},body:l}),h=await f.json().catch(()=>null);if(r(`manifest${d}`),!f.ok)throw new Error(`HTTP ${f.status} ${h?.error??""}`);if(h?.ok){for(const[u,w]of Object.entries(h.ms??{}))t[`server.${u}`]=w;break}if(d===2||!Array.isArray(h?.missing))throw new Error(`the server still lacks ${h?.missing?.length??"?"} chunks`);const y=new Set(h.missing);for(const u of a){if(!y.delete(u.hash))continue;const w=await fetch(`/__editor/blender-document-chunk?${c}&hash=${u.hash}`,{method:"POST",headers:{"content-type":"application/octet-stream"},body:new Blob([o.subarray(u.start,u.end)])});if(!w.ok)throw new Error(`HTTP ${w.status} ${await w.text().catch(()=>"")}`);i+=u.end-u.start}r(`send${d}`)}}catch(a){throw new Error(`The Blender document ${e} was not written to the project: ${A(a)}`)}D(!1),O("log",`@@VOLTER-DOCUMENT ${JSON.stringify({path:e,bytes:o.length,sent:i,ms:t})}`)}async function Ne(e,t){const n={engine:null},r=await ye({project:e,log:O,ask:async({frame:o,hold:i,mesh:a,image:c,piece:l,present:d,capture:f,saveDue:h,checkpoint:y,evaluation:u})=>{if(typeof y=="string")return await g?.(y),{};if(!n.engine)throw new Error("The Blender session presented before it started");h&&P!==null&&D(!0);const w=await n.engine.readArena();if(i!==void 0){const E=i;return b={...u?{evaluation:u}:{},session:E.session,revision:E.revision,columns:await xe(w,i),meshes:new Map,images:new Map},await F({op:"stage",evaluation:u,session:E.session,revision:E.revision}),{}}if(a!==void 0||c!==void 0){if(!b)throw new Error(`The Blender session sent ${a??c} before its frame`);const E=l?.encodedPath;let j;if(c!==void 0&&typeof E=="string"){const{encodedPath:H,...z}=l,M=(await n.engine.files.readFile(E)).slice(),se=new Uint8Array(await crypto.subtle.digest("SHA-256",M)),ie=Array.from(se,ae=>ae.toString(16).padStart(2,"0")).join("");j={typed:{...z,encoded:M},description:{...z,encoded:{dtype:"u8",length:M.length,sha256:ie}}}}else j={typed:I(w,l),description:await _(w,l)};if(await F({op:"stage",evaluation:b.evaluation,session:b.session,revision:b.revision,...a!==void 0?{mesh:a}:{image:c},piece:j.typed}),a!==void 0){const H=j.typed;b.meshes.set(a,{typed:{revision:H.revision,unchanged:!0},description:j.description})}else b.images.set(c,{typed:void 0,description:j.description});return{}}let v,L;if(d){if(!b)throw new Error("The Blender session presented a frame it never sent");({typed:v,description:L}=Pe(b,o)),b=null}else v=I(w,o),L=await _(w,o);const B=await Oe(v,L,f);return{...typeof B.capture=="object"&&B.capture!==null?B.capture:{},..."held"in B?{held:B.held}:{}}}});if(n.engine=r,await g?.("engine-ready"),m=r,t){const i=(await ne(r.files,e)).find(a=>a.startsWith("The project's files are not readable")||a.startsWith(`${t} `));if(i)throw new Error(`${t} could not be copied into Blender, so it cannot be opened: ${i}`)}await g?.("project-imported");const s=await r.request({op:"start",project:e,...t?{document:t}:{}});return t&&(P=t),S={start:async()=>s,execute:async o=>{const i=await r.request({op:"execute",code:o});return i.error?`Error executing code: ${i.error}`:`Code executed successfully: ${i.result}`},sceneInfo:async()=>JSON.stringify(await r.request({op:"scene-info"}),null,2),objectInfo:async o=>JSON.stringify(await r.request({op:"object-info",name:o}),null,2),screenshotView:async o=>(await r.request({op:"present",capture:{size:o}}),JSON.stringify({view:{size:o}}))},{...s,engine:"blender-wasm",skew:r.skew,bootMs:Math.round(r.bootMs),releasedPayloadMB:r.releasedPayloadBytes===null?null:Math.round(r.releasedPayloadBytes/1048576)}}async function Re(){const e="/__editor/blender-wasm/status";try{const t=await T(e,"fetch initial status",()=>fetch(e));return t.ok?await T(e,"decode initial status JSON",()=>t.json()):{available:!1,missing:[`${e}: HTTP ${t.status}`]}}catch(t){return{available:!1,missing:[String(t)]}}}function W(e){return/^[A-Za-z]:[\\/]/.test(e)?`/${e.replaceAll("\\","/")}`:e}async function Le(e,t){if(S)throw new Error("The Blender session is already started");const n=W(e);if(!n.startsWith("/"))throw new Error("The Blender session needs the project's absolute path");if(t!==void 0&&!te(t))throw new Error(`The Blender document must be a project-relative .blend path with no traversal (models/model.blend); got ${JSON.stringify(t)}`);const r=await Re();if(!r.available)throw new Error(`Headless Blender is not served by this editor, so there is no modeling engine: ${r.missing.join("; ")}. The engine is Blender compiled to WebAssembly (packages/blender-engine/wasm, or the directory VOLTER_BLENDER_WASM_DIR names); nothing stands in for it.`);return U=n,Ne(n,t)}function te(e){return!e.endsWith(".blend")||e.startsWith("/")||e.includes("\\")?!1:e.split("/").every(n=>n!==""&&n!=="."&&n!=="..")}const X=new Set;function C(e){X.has(e)||(X.add(e),O("error",e))}async function Me(e){const t=i=>{const a=`The project's files are not readable from Python: ${i}`;return C(a),a};let n;try{n=await fetch("/__editor/blender-project-index")}catch(i){return t(String(i))}if(!n.ok)return t(`/__editor/blender-project-index answered ${n.status}`);let r;try{if(r=await n.json(),typeof r?.root!="string"||!Array.isArray(r.files))return t("invalid project index")}catch(i){return t(String(i))}const{root:s,files:o}=r;return W(s)!==e&&C(`The editor serving this tab has ${s} open, not ${e}; its files are mounted at ${e}, which is where Python is looking.`),o}const $=new Map;async function Ie(e,t){const n=await e.stat(t);return n?`${n.size}:${n.mtimeMs}`:""}async function ne(e,t){const n=await Me(t);if(typeof n=="string")return[n];const r=[],s=new Set(n.map(o=>`${t}/${o.path}`));for(const o of[...$.keys()])if(!s.has(o)){try{await e.unlink(o)}catch{}$.delete(o)}for(const o of n){const i=`${t}/${o.path}`,a=`${o.size}:${o.mtime}`;if($.get(i)?.host===a||!$.has(i)&&await e.stat(i)!==null)continue;const c=await fetch(`/__editor/blender-project-file?path=${encodeURIComponent(o.path)}`);if(!c.ok){C(`${o.path}: HTTP ${c.status}`),r.push(`${o.path} (the session answered HTTP ${c.status})`);continue}const l=Number(c.headers.get("content-length")),d=c.headers.has("content-length")&&Number.isSafeInteger(l)&&l>=0?l:o.size,f=i.slice(0,i.lastIndexOf("/"));f&&await e.mkdirTree(f),e.writeFileStream&&c.body?await e.writeFileStream(i,g?le(c.body,()=>g("file-import")):c.body,d):await e.writeFile(i,new Uint8Array(await c.arrayBuffer())),$.set(i,{host:a,engine:await Ie(e,i)})}return r}function _e(e){if(!e)return"";if(!e.moved){const n=`Blender now has ${e.outside} open, which is outside the project, so the editor cannot follow it there: this session's document stays ${e.from}, and the model keeps saving to ${e.from}. To move the model to another file, save it inside the project (src/models/<name>.blend).`;return O("warn",n),`
|
|
2
|
-
|
|
3
|
-
${n}`}if(!te(e.document))throw new Error(`Blender moved its document to ${JSON.stringify(e.document)}, which is not a project .blend path`);P=e.document,D(!0),k({op:"document-moved",from:e.from,document:e.document});const t=`Blender now has ${e.document} open (this code saved or opened it), so the editor follows it: the model saves to ${e.document} from now on, and ${e.from} keeps what it last saved.`;return O("log",`@@VOLTER-DOCUMENT-MOVED ${JSON.stringify({from:e.from,document:e.document})}`),`
|
|
4
|
-
|
|
5
|
-
${t}`}function Ue(e){return e.length===0?"":`
|
|
6
|
-
|
|
7
|
-
These project files could not be copied into Blender, so this code did not see their current contents: ${e.join("; ")}`}async function Y(e,t){const n=W(t),r=[];if(await e.stat(n)===null)return r;const s=async o=>{let i;try{i=await e.readdir(o)}catch(a){throw new Error(`Blender's files under ${o} could not be listed, so its outputs there cannot be written back: ${String(a)}`)}for(const a of i){if(a==="."||a==="..")continue;const c=`${o.replace(/\/$/,"")}/${a}`,l=await e.stat(c);if(l){if((l.mode&61440)===16384){await s(c);continue}$.get(c)?.engine!==`${l.size}:${l.mtimeMs}`&&r.push({path:c,size:l.size,mtime:l.mtimeMs})}}};return await s(n),r}function Z(e,t){if(g)throw new Error("The current Blender operation must finish first");return x=new de(async n=>{g=n;const r=performance.now();try{return await t()}finally{g=null,O("log",`@@VOLTER-WORK op=${e} totalMs=${Math.round(performance.now()-r)}`)}}),x.step()}async function re(e){switch(e.op){case"start":{if(x)throw new Error("The Blender load has already started");return Z("start",()=>Le(e.project,e.document))}case"load-next":if(!x)throw new Error("No Blender load to continue");return x.step(e.token);case"present-result":{const r=N.get(e.id);N.delete(e.id),r&&(e.error?r.reject(new Error(e.error)):r.resolve({...e.capture===void 0?{}:{capture:e.capture},..."held"in e?{held:e.held}:{}}));return}}if(g)throw new Error("The Blender load must finish before another command");if(!S||!U||!m)throw new Error("The Blender session has not started");const t=m.files,n=m.request.bind(m);switch(e.op){case"flush-document":return J?(await ee(),{saved:!0}):{saved:!1};case"history-begin":case"history-end":return n({op:e.op});case"history-step":return n({op:"history-step",token:e.token,direction:e.direction});case"execute":{const r=Ue(await ne(t,U)),s=await n({op:"execute",code:e.code,history:e.history??!0,label:e.label??"Blender Python"});return(s.error?`Error executing code: ${s.error}`:`Code executed successfully: ${s.result}`)+r+_e(s.document)}case"present":return Z("present",()=>n({op:"present"}));case"native-preview":return n({op:"native-preview",width:e.width,height:e.height,samples:e.samples,...e.camera===void 0?{}:{camera:e.camera}});case"list-files-snapshot":{const r=await n({op:"document-info"});return{entries:await Y(t,e.path),document:r}}case"scene-info":return S.sceneInfo();case"object-info":return S.objectInfo(e.name);case"rna":return n({op:"rna",path:e.path,...e.names===void 0?{}:{names:e.names}});case"rna-context":return n({op:"rna-context",...e.object===void 0?{}:{object:e.object},...e.collection===void 0?{}:{collection:e.collection}});case"view-shading":return n({op:"view-shading",shading:e.shading});case"rna-set":return n({op:"rna-set",history:e.history!==!1,path:e.path,property:e.property,value:e.value,...e.index===void 0?{}:{index:e.index}});case"outliner":return n({op:"outliner",...e.selected===void 0?{}:{selected:[...e.selected]}});case"node-tree":return n({op:"node-tree",...e.path===void 0?{}:{path:e.path},...e.material===void 0?{}:{material:e.material}});case"uv-layout":return n({op:"uv-layout",...e.object===void 0?{}:{object:e.object},...e.uvLayer===void 0?{}:{uvLayer:e.uvLayer}});case"action-clip":return n({op:"action-clip",...e.object===void 0?{}:{object:e.object},...e.bake===void 0?{}:{bake:e.bake},...e.action===void 0?{}:{action:e.action}});case"outliner-set":return n({op:"outliner-set",path:e.path,column:e.column,value:e.value});case"screenshot-view":return JSON.parse(await S.screenshotView(e.maxSize));case"read-file":return t.readFile(e.path);case"write-file":{const r=e.path.slice(0,e.path.lastIndexOf("/"));r&&await t.mkdirTree(r),await t.writeFile(e.path,e.bytes),$.delete(e.path);return}case"list-files":return Y(t,e.path)}throw new Error(`Unknown Blender worker request ${e.op}`)}function oe(){if(!m)return;const e=m.memoryBytes();e!==null&&k({op:"memory",bytes:e})}self.addEventListener("error",oe);self.onmessage=e=>{const t=e.data;if(t.op==="present-result"){re(t);return}Be(()=>Fe(t))};async function Fe(e){try{const t=await re(e);!g&&J&&await ee(),await Q(),k({id:e.id,result:t})}catch(t){let n=A(t);try{await Q()}catch(r){n+=`
|
|
8
|
-
Unable to deliver Blender history: ${A(r)}`}k({id:e.id,error:n})}oe()}async function Q(){if(g||!m||!S)return;const e=await m.request({op:"history-events"});e.length&&k({op:"history",entries:e})}export{q as A,De as P,p as S,we as a,Je as b,We as c,T as d,le as e,He as o,ge as s};
|
package/starter/race-state.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Copyright 2026 Volter AI, Inc.
|
|
3
|
-
/** One race's state, shared by its play script and React DOM root in one mount. */
|
|
4
|
-
export interface RaceState {
|
|
5
|
-
readonly lap: number;
|
|
6
|
-
readonly lapTime: number;
|
|
7
|
-
readonly lastLap: number;
|
|
8
|
-
readonly speed: number;
|
|
9
|
-
readonly fps: number;
|
|
10
|
-
readonly airborne: boolean;
|
|
11
|
-
}
|
|
12
|
-
let state: RaceState = { lap: 1, lapTime: 0, lastLap: 0, speed: 0, fps: 0, airborne: false };
|
|
13
|
-
const listeners = new Set<() => void>();
|
|
14
|
-
export const getRaceState = (): RaceState => state;
|
|
15
|
-
export const subscribeRaceState = (listener: () => void): (() => void) => {
|
|
16
|
-
listeners.add(listener);
|
|
17
|
-
return () => { listeners.delete(listener); };
|
|
18
|
-
};
|
|
19
|
-
export function publishRaceState(next: RaceState): void {
|
|
20
|
-
state = next;
|
|
21
|
-
for (const listener of [...listeners]) listener();
|
|
22
|
-
}
|
package/starter/track.blend
DELETED
|
Binary file
|
package/starter/track.play.ts
DELETED
|
@@ -1,343 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Copyright 2026 Volter AI, Inc.
|
|
3
|
-
|
|
4
|
-
/** Drive the detached Cube. All positions under root are Blender's metres, Z up. */
|
|
5
|
-
import * as THREE from 'three';
|
|
6
|
-
import { publishRaceState } from './race-state';
|
|
7
|
-
|
|
8
|
-
export default function play(context: {
|
|
9
|
-
readonly root: THREE.Object3D;
|
|
10
|
-
find(name: string): THREE.Object3D | null;
|
|
11
|
-
readonly camera: THREE.Camera;
|
|
12
|
-
readonly keys: ReadonlySet<string>;
|
|
13
|
-
/** Offers the bot the Game panel's Autoplay switches on; absent outside the editor. */
|
|
14
|
-
autoplay?(controller: (input: { readonly tick: number }) => Iterable<string>): void;
|
|
15
|
-
}) {
|
|
16
|
-
const { root, find, keys } = context;
|
|
17
|
-
const car = find('Cube');
|
|
18
|
-
if (!car || !find('Track')) throw new Error('Open track.blend and run track.py first.');
|
|
19
|
-
const startPosition = car.position.clone();
|
|
20
|
-
const startHeading = car.rotation.z;
|
|
21
|
-
const wheels = ['Wheel.FL', 'Wheel.FR', 'Wheel.RL', 'Wheel.RR'].map((name) => {
|
|
22
|
-
const wheel = find(name);
|
|
23
|
-
if (!wheel) throw new Error(`The track model has no ${name}.`);
|
|
24
|
-
wheel.rotation.reorder('ZXY');
|
|
25
|
-
return wheel;
|
|
26
|
-
});
|
|
27
|
-
const startWheelRotations = wheels.map(wheel => wheel.quaternion.clone());
|
|
28
|
-
const surfaces: THREE.Object3D[] = [];
|
|
29
|
-
const kerbs: THREE.Vector3[] = [];
|
|
30
|
-
const obstacles: {
|
|
31
|
-
object: THREE.Object3D; position: THREE.Vector3; rotation: THREE.Quaternion;
|
|
32
|
-
velocity: THREE.Vector3; spin: THREE.Vector3; floor: number; hit: boolean;
|
|
33
|
-
}[] = [];
|
|
34
|
-
root.traverse((object) => {
|
|
35
|
-
if (!(object as THREE.Mesh).isMesh) return;
|
|
36
|
-
if (object.name.startsWith('Kerb.')) kerbs.push(object.position.clone());
|
|
37
|
-
if (object.name === 'Track' || object.name.startsWith('Ramp')) surfaces.push(object);
|
|
38
|
-
if (/^(Cone|Crate)\./.test(object.name)) {
|
|
39
|
-
find(object.name);
|
|
40
|
-
obstacles.push({ object, position: object.position.clone(), rotation: object.quaternion.clone(),
|
|
41
|
-
velocity: new THREE.Vector3(), spin: new THREE.Vector3(), floor: object.position.z, hit: false });
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
let speed = 0;
|
|
45
|
-
let heading = car.rotation.z;
|
|
46
|
-
let steering = 0;
|
|
47
|
-
let verticalSpeed = 0;
|
|
48
|
-
let grounded = true;
|
|
49
|
-
let pitch = 0;
|
|
50
|
-
let cameraStarted = false;
|
|
51
|
-
let elapsed = 0;
|
|
52
|
-
let lap = 0;
|
|
53
|
-
let lapStarted = 0;
|
|
54
|
-
let lastLap = 0;
|
|
55
|
-
let checkpoint = 0;
|
|
56
|
-
let previousY = car.position.y;
|
|
57
|
-
let effectClock = 0;
|
|
58
|
-
let hudClock = 0;
|
|
59
|
-
let restartHeld = false;
|
|
60
|
-
const checkpoints = [1, 2, 3].map(i => find(`Checkpoint.${i}`)).filter((o): o is THREE.Object3D => o !== null);
|
|
61
|
-
const velocity = new THREE.Vector2();
|
|
62
|
-
const effects = new THREE.Group();
|
|
63
|
-
effects.name = 'Race effects';
|
|
64
|
-
root.add(effects);
|
|
65
|
-
const markGeometry = new THREE.PlaneGeometry(0.32, 0.7);
|
|
66
|
-
const markMaterial = new THREE.MeshBasicMaterial({ color: '#0f1a1f', transparent: true, opacity: 0.6, depthWrite: false });
|
|
67
|
-
const marks = Array.from({ length: 128 }, () => {
|
|
68
|
-
const mark = new THREE.Mesh(markGeometry, markMaterial);
|
|
69
|
-
mark.visible = false;
|
|
70
|
-
effects.add(mark);
|
|
71
|
-
return mark;
|
|
72
|
-
});
|
|
73
|
-
let nextMark = 0;
|
|
74
|
-
const puffGeometry = new THREE.IcosahedronGeometry(0.22, 0);
|
|
75
|
-
const puffs = Array.from({ length: 24 }, () => {
|
|
76
|
-
const material = new THREE.MeshBasicMaterial({ color: '#e9edef', transparent: true, opacity: 0, depthWrite: false });
|
|
77
|
-
const mesh = new THREE.Mesh(puffGeometry, material);
|
|
78
|
-
mesh.visible = false;
|
|
79
|
-
effects.add(mesh);
|
|
80
|
-
return { mesh, life: 0 };
|
|
81
|
-
});
|
|
82
|
-
let nextPuff = 0;
|
|
83
|
-
let fps = 0;
|
|
84
|
-
let measuredFrames = 0;
|
|
85
|
-
let measuredSince = performance.now();
|
|
86
|
-
const ray = new THREE.Raycaster();
|
|
87
|
-
const origin = new THREE.Vector3();
|
|
88
|
-
const down = new THREE.Vector3();
|
|
89
|
-
const up = new THREE.Vector3();
|
|
90
|
-
const hitPoint = new THREE.Vector3();
|
|
91
|
-
const eye = new THREE.Vector3();
|
|
92
|
-
const target = new THREE.Vector3();
|
|
93
|
-
const cameraPosition = new THREE.Vector3();
|
|
94
|
-
const cameraTarget = new THREE.Vector3();
|
|
95
|
-
const held = (arrow: string, letter: string): boolean => keys.has(arrow) || keys.has(letter);
|
|
96
|
-
const approach = (value: number, goal: number, step: number): number =>
|
|
97
|
-
value < goal ? Math.min(value + step, goal) : Math.max(value - step, goal);
|
|
98
|
-
const surfaceAt = (x: number, y: number): number | null => {
|
|
99
|
-
root.localToWorld(origin.set(x, y, 40));
|
|
100
|
-
ray.set(origin, down);
|
|
101
|
-
ray.far = 100;
|
|
102
|
-
const hit = ray.intersectObjects(surfaces, false)[0];
|
|
103
|
-
return hit ? root.worldToLocal(hitPoint.copy(hit.point)).z : null;
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
const restart = () => {
|
|
107
|
-
car.position.copy(startPosition);
|
|
108
|
-
heading = startHeading;
|
|
109
|
-
car.rotation.set(0, 0, heading, 'ZXY');
|
|
110
|
-
speed = steering = verticalSpeed = pitch = 0;
|
|
111
|
-
velocity.set(0, 0);
|
|
112
|
-
grounded = true;
|
|
113
|
-
cameraStarted = false;
|
|
114
|
-
elapsed = lap = lapStarted = lastLap = checkpoint = effectClock = hudClock = 0;
|
|
115
|
-
previousY = startPosition.y;
|
|
116
|
-
for (const [index, wheel] of wheels.entries()) wheel.quaternion.copy(startWheelRotations[index]!);
|
|
117
|
-
for (const obstacle of obstacles) {
|
|
118
|
-
obstacle.object.position.copy(obstacle.position);
|
|
119
|
-
obstacle.object.quaternion.copy(obstacle.rotation);
|
|
120
|
-
obstacle.velocity.set(0, 0, 0);
|
|
121
|
-
obstacle.spin.set(0, 0, 0);
|
|
122
|
-
obstacle.hit = false;
|
|
123
|
-
}
|
|
124
|
-
for (const mark of marks) mark.visible = false;
|
|
125
|
-
for (const puff of puffs) {
|
|
126
|
-
puff.life = 0;
|
|
127
|
-
puff.mesh.visible = false;
|
|
128
|
-
puff.mesh.material.opacity = 0;
|
|
129
|
-
}
|
|
130
|
-
publishRaceState({ lap: 1, lapTime: 0, lastLap: 0, speed: 0, fps, airborne: false });
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
// THE BOT, offered to the editor: Autoplay in the Game panel lets it drive, and any key or
|
|
134
|
-
// click in the game hands the car back. It holds the same keys a person would, aiming at the
|
|
135
|
-
// next of track.py's control points and braking into turns it is taking too fast.
|
|
136
|
-
const route = [[32, -30], [32, -10], [32, 10], [32, 26], [22, 36], [8, 32], [4, 18], [-8, 16], [-16, 28],
|
|
137
|
-
[-30, 24], [-34, 10], [-22, 0], [-10, -4], [-16, -18], [-34, -28], [-30, -42], [-12, -44], [10, -44], [26, -40]]
|
|
138
|
-
.map(([x, y]) => new THREE.Vector2(x, y));
|
|
139
|
-
let waypoint = 0;
|
|
140
|
-
let botTick = -1;
|
|
141
|
-
context.autoplay?.(({ tick }) => {
|
|
142
|
-
const at = new THREE.Vector2(car.position.x, car.position.y);
|
|
143
|
-
// Switched on (again): aim past the nearest point, wherever the person left the car.
|
|
144
|
-
if (tick !== botTick + 1) {
|
|
145
|
-
const nearest = route.reduce((best, point, index) => point.distanceTo(at) < route[best]!.distanceTo(at) ? index : best, 0);
|
|
146
|
-
waypoint = (nearest + 1) % route.length;
|
|
147
|
-
}
|
|
148
|
-
botTick = tick;
|
|
149
|
-
if (route[waypoint]!.distanceTo(at) < 9) waypoint = (waypoint + 1) % route.length;
|
|
150
|
-
const target = route[waypoint]!;
|
|
151
|
-
const error = Math.atan2(target.y - at.y, target.x - at.x) - (heading + Math.PI / 2);
|
|
152
|
-
const turn = Math.atan2(Math.sin(error), Math.cos(error));
|
|
153
|
-
const hold = [Math.abs(turn) > 0.6 && speed > 14 ? 'ArrowDown' : 'ArrowUp'];
|
|
154
|
-
if (turn > 0.08) hold.push('ArrowLeft');
|
|
155
|
-
else if (turn < -0.08) hold.push('ArrowRight');
|
|
156
|
-
return hold;
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
return {
|
|
160
|
-
update(dt: number) {
|
|
161
|
-
if (dt <= 0) return;
|
|
162
|
-
const restarting = keys.has('KeyR');
|
|
163
|
-
const firstRestartFrame = restarting && !restartHeld;
|
|
164
|
-
restartHeld = restarting;
|
|
165
|
-
if (firstRestartFrame) {
|
|
166
|
-
restart();
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
elapsed += dt;
|
|
170
|
-
measuredFrames++;
|
|
171
|
-
const now = performance.now();
|
|
172
|
-
if (now - measuredSince >= 1000) {
|
|
173
|
-
fps = measuredFrames * 1000 / (now - measuredSince);
|
|
174
|
-
measuredFrames = 0;
|
|
175
|
-
measuredSince = now;
|
|
176
|
-
}
|
|
177
|
-
root.updateMatrixWorld(true);
|
|
178
|
-
up.set(0, 0, 1).transformDirection(root.matrixWorld);
|
|
179
|
-
down.copy(up).negate();
|
|
180
|
-
const throttle = held('ArrowUp', 'KeyW');
|
|
181
|
-
const brake = held('ArrowDown', 'KeyS');
|
|
182
|
-
const turn = Number(held('ArrowLeft', 'KeyA')) - Number(held('ArrowRight', 'KeyD'));
|
|
183
|
-
const steps = Math.ceil(dt / (1 / 60));
|
|
184
|
-
const h = dt / steps;
|
|
185
|
-
let travelled = 0;
|
|
186
|
-
for (let step = 0; step < steps; step++) {
|
|
187
|
-
if (throttle && !brake) speed = approach(speed, 30, (speed < 0 ? 20 : 10) * h);
|
|
188
|
-
else if (brake && !throttle) speed = approach(speed, -8, (speed > 0 ? 20 : 7) * h);
|
|
189
|
-
else speed = approach(speed, 0, (throttle && brake ? 20 : 3) * h);
|
|
190
|
-
steering = approach(steering, turn * 0.5, 3 * h);
|
|
191
|
-
if (grounded) heading += speed / 1.8 * Math.tan(steering) / (1 + Math.abs(speed) / 8) * h;
|
|
192
|
-
const drifting = grounded && Math.abs(steering) > 0.3 && Math.abs(speed) > 13;
|
|
193
|
-
const grip = grounded ? (drifting ? 1.6 : 8) : 0.2;
|
|
194
|
-
velocity.lerp(new THREE.Vector2(-Math.sin(heading) * speed, Math.cos(heading) * speed), 1 - Math.exp(-grip * h));
|
|
195
|
-
travelled += velocity.length() * h * Math.sign(speed);
|
|
196
|
-
car.position.x += velocity.x * h;
|
|
197
|
-
car.position.y += velocity.y * h;
|
|
198
|
-
const road = surfaceAt(car.position.x, car.position.y);
|
|
199
|
-
const floor = road ?? 0;
|
|
200
|
-
if (road === null && grounded) {
|
|
201
|
-
speed *= Math.exp(-2 * h);
|
|
202
|
-
speed = THREE.MathUtils.clamp(speed, -4, 4);
|
|
203
|
-
velocity.multiplyScalar(Math.exp(-2 * h));
|
|
204
|
-
}
|
|
205
|
-
// Follow a rising surface; retain its launch velocity when the surface drops away.
|
|
206
|
-
if (grounded && floor >= car.position.z - 0.15) {
|
|
207
|
-
verticalSpeed = (floor - car.position.z) / h;
|
|
208
|
-
car.position.z = floor;
|
|
209
|
-
const ahead = surfaceAt(car.position.x - Math.sin(heading), car.position.y + Math.cos(heading));
|
|
210
|
-
const behind = surfaceAt(car.position.x + Math.sin(heading), car.position.y - Math.cos(heading));
|
|
211
|
-
const slope = ahead === null || behind === null ? 0 : Math.atan2(ahead - behind, 2);
|
|
212
|
-
pitch = THREE.MathUtils.lerp(pitch, slope, 1 - Math.exp(-10 * h));
|
|
213
|
-
} else {
|
|
214
|
-
grounded = false;
|
|
215
|
-
verticalSpeed -= 30 * h;
|
|
216
|
-
car.position.z += verticalSpeed * h;
|
|
217
|
-
if (car.position.z <= floor && verticalSpeed <= 0) {
|
|
218
|
-
car.position.z = floor;
|
|
219
|
-
verticalSpeed = 0;
|
|
220
|
-
grounded = true;
|
|
221
|
-
}
|
|
222
|
-
pitch = THREE.MathUtils.lerp(pitch, Math.atan2(verticalSpeed, Math.max(10, Math.abs(speed))), 1 - Math.exp(-3 * h));
|
|
223
|
-
}
|
|
224
|
-
for (const obstacle of obstacles) {
|
|
225
|
-
const { object, velocity, spin } = obstacle;
|
|
226
|
-
const dx = object.position.x - car.position.x;
|
|
227
|
-
const dy = object.position.y - car.position.y;
|
|
228
|
-
if (!obstacle.hit && Math.hypot(dx, dy) < 1.7 && Math.abs(object.position.z - car.position.z) < 2 && Math.abs(speed) > 1) {
|
|
229
|
-
obstacle.hit = true;
|
|
230
|
-
velocity.set(-Math.sin(heading) * speed * 0.8 + dx * 2, Math.cos(heading) * speed * 0.8 + dy * 2, 5);
|
|
231
|
-
spin.set(3, -4, 2);
|
|
232
|
-
speed *= 0.93;
|
|
233
|
-
}
|
|
234
|
-
if (!obstacle.hit) continue;
|
|
235
|
-
velocity.z -= 18 * h;
|
|
236
|
-
object.position.addScaledVector(velocity, h);
|
|
237
|
-
object.rotation.x += spin.x * h;
|
|
238
|
-
object.rotation.y += spin.y * h;
|
|
239
|
-
object.rotation.z += spin.z * h;
|
|
240
|
-
if (object.position.z < obstacle.floor) {
|
|
241
|
-
object.position.z = obstacle.floor;
|
|
242
|
-
velocity.z = Math.abs(velocity.z) * 0.25;
|
|
243
|
-
velocity.x *= Math.exp(-5 * h);
|
|
244
|
-
velocity.y *= Math.exp(-5 * h);
|
|
245
|
-
spin.multiplyScalar(Math.exp(-5 * h));
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
const roll = grounded ? -steering * Math.min(Math.abs(speed), 24) * 0.018 : 0;
|
|
250
|
-
car.rotation.set(pitch, roll, heading, 'ZXY');
|
|
251
|
-
effectClock += dt;
|
|
252
|
-
const slipping = grounded && Math.abs(steering) > 0.3 && Math.abs(speed) > 13;
|
|
253
|
-
const offroad = grounded && surfaceAt(car.position.x, car.position.y) === null;
|
|
254
|
-
if ((slipping || offroad) && effectClock > 0.06) {
|
|
255
|
-
effectClock = 0;
|
|
256
|
-
for (const side of [-1, 1]) {
|
|
257
|
-
const mark = marks[nextMark++ % marks.length]!;
|
|
258
|
-
mark.position.copy(car.position).add(new THREE.Vector3(side * 1.2 * Math.cos(heading) + Math.sin(heading) * 0.78,
|
|
259
|
-
side * 1.2 * Math.sin(heading) - Math.cos(heading) * 0.78, 0.018));
|
|
260
|
-
mark.rotation.z = heading;
|
|
261
|
-
mark.visible = true;
|
|
262
|
-
const puff = puffs[nextPuff++ % puffs.length]!;
|
|
263
|
-
puff.mesh.position.copy(mark.position).add(new THREE.Vector3(0, 0, 0.3));
|
|
264
|
-
puff.mesh.scale.setScalar(1);
|
|
265
|
-
puff.mesh.material.color.set(offroad ? '#c7641a' : '#e9edef');
|
|
266
|
-
puff.life = 0.7;
|
|
267
|
-
puff.mesh.visible = true;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
for (const puff of puffs) {
|
|
271
|
-
if (puff.life <= 0) continue;
|
|
272
|
-
puff.life -= dt;
|
|
273
|
-
puff.mesh.visible = puff.life > 0;
|
|
274
|
-
puff.mesh.material.opacity = Math.max(0, puff.life * 0.5);
|
|
275
|
-
puff.mesh.position.z += dt * 0.9;
|
|
276
|
-
puff.mesh.scale.addScalar(dt * 1.8);
|
|
277
|
-
}
|
|
278
|
-
const nextCheckpoint = checkpoints[checkpoint];
|
|
279
|
-
if (lap > 0 && nextCheckpoint && Math.hypot(car.position.x - nextCheckpoint.position.x, car.position.y - nextCheckpoint.position.y) < 10)
|
|
280
|
-
checkpoint++;
|
|
281
|
-
if (previousY < -24 && car.position.y >= -24 && Math.abs(car.position.x - 32) < 5 && speed > 0) {
|
|
282
|
-
if (lap === 0 || checkpoint === checkpoints.length) {
|
|
283
|
-
lastLap = lap === 0 ? 0 : elapsed - lapStarted;
|
|
284
|
-
lap++;
|
|
285
|
-
checkpoint = 0;
|
|
286
|
-
lapStarted = elapsed;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
previousY = car.position.y;
|
|
290
|
-
hudClock += dt;
|
|
291
|
-
if (hudClock >= 0.1) {
|
|
292
|
-
hudClock = 0;
|
|
293
|
-
publishRaceState({ lap: Math.max(1, lap), lapTime: lap ? elapsed - lapStarted : 0,
|
|
294
|
-
lastLap, speed: Math.abs(speed) * 3.6, fps, airborne: !grounded });
|
|
295
|
-
}
|
|
296
|
-
for (const [index, wheel] of wheels.entries()) {
|
|
297
|
-
wheel.rotation.z = index < 2 ? steering : 0;
|
|
298
|
-
wheel.rotation.x = (wheel.rotation.x - travelled / 0.57) % (2 * Math.PI);
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
// Smooth our own stage-space pose; navigation re-poses the stage camera each frame.
|
|
302
|
-
root.updateMatrixWorld(true);
|
|
303
|
-
const pace = Math.min(30, Math.abs(speed));
|
|
304
|
-
const distance = grounded ? 11 + pace * 0.07 : 12;
|
|
305
|
-
const lookAhead = grounded ? 2.5 + pace * 0.04 : 0.5;
|
|
306
|
-
const fov = 36 + pace * 0.28;
|
|
307
|
-
const height = 1.2 + (distance + lookAhead) * Math.tan(THREE.MathUtils.degToRad(fov * 0.22));
|
|
308
|
-
const kerb = grounded && kerbs.some(point => Math.hypot(point.x - car.position.x, point.y - car.position.y) < 1.4);
|
|
309
|
-
const rumble = kerb ? Math.sin(elapsed * 90) * Math.min(0.05, pace * 0.003) : 0;
|
|
310
|
-
const side = grounded ? 3 : 10;
|
|
311
|
-
root.localToWorld(eye.set(car.position.x + Math.sin(heading) * distance + side * Math.cos(heading),
|
|
312
|
-
car.position.y - Math.cos(heading) * distance + side * Math.sin(heading), car.position.z + height + rumble));
|
|
313
|
-
root.localToWorld(target.set(car.position.x - Math.sin(heading) * lookAhead,
|
|
314
|
-
car.position.y + Math.cos(heading) * lookAhead, car.position.z + (grounded ? 1.4 : 0.4)));
|
|
315
|
-
if (!cameraStarted) {
|
|
316
|
-
cameraPosition.copy(eye);
|
|
317
|
-
cameraTarget.copy(target);
|
|
318
|
-
cameraStarted = true;
|
|
319
|
-
}
|
|
320
|
-
const blend = 1 - Math.exp(-12 * dt);
|
|
321
|
-
cameraPosition.lerp(eye, blend);
|
|
322
|
-
cameraTarget.lerp(target, blend);
|
|
323
|
-
const camera = context.camera;
|
|
324
|
-
camera.position.copy(cameraPosition);
|
|
325
|
-
if (camera.parent) camera.parent.worldToLocal(camera.position);
|
|
326
|
-
camera.up.copy(up).applyAxisAngle(new THREE.Vector3().subVectors(cameraTarget, cameraPosition).normalize(), -roll * 0.3);
|
|
327
|
-
if ((camera as THREE.PerspectiveCamera).isPerspectiveCamera) {
|
|
328
|
-
const perspective = camera as THREE.PerspectiveCamera;
|
|
329
|
-
perspective.fov = fov;
|
|
330
|
-
perspective.updateProjectionMatrix();
|
|
331
|
-
}
|
|
332
|
-
camera.lookAt(cameraTarget);
|
|
333
|
-
camera.updateMatrixWorld(true);
|
|
334
|
-
},
|
|
335
|
-
dispose() {
|
|
336
|
-
root.remove(effects);
|
|
337
|
-
markGeometry.dispose();
|
|
338
|
-
markMaterial.dispose();
|
|
339
|
-
puffGeometry.dispose();
|
|
340
|
-
for (const puff of puffs) puff.mesh.material.dispose();
|
|
341
|
-
},
|
|
342
|
-
};
|
|
343
|
-
}
|