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