@volter/cyclotron 0.5.201 → 0.5.203
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BUNDLED_NOTICES +956 -924
- package/LICENSE-BLENDER +11 -0
- package/README.md +16 -10
- package/dist/.vite/manifest.json +2316 -2307
- package/dist/assets/EntityModelDocument-CTq_jwpe.js +1 -0
- package/dist/assets/EnvironmentAssetDocument-CaSQc1HY.js +1 -0
- package/dist/assets/InspectorObjectPreview-P6pJxnGB.js +1 -0
- package/dist/assets/LiveModuleDocument-B6Iw2YIE.js +2 -0
- package/dist/assets/LutAssetDocument-C7Tc5hRu.js +1 -0
- package/dist/assets/ModelAssetDocument-BUOK0YzX.js +1 -0
- package/dist/assets/NonThreeAuthoringBootstrap-Bbtz8I0R.js +1 -0
- package/dist/assets/Object3DDocumentToolbar-GjvQOSkS.js +1 -0
- package/dist/assets/Object3DPreview-BUogCxPt.js +2 -0
- package/dist/assets/QuarksAssetDocument-Cxg3fT6D.js +2 -0
- package/dist/assets/ShaderAssetDocument-BbXBHSY3.js +1 -0
- package/dist/assets/StageHost-BtQd8CQk.js +1179 -0
- package/dist/assets/ToolObject3DPreview-imwBjs0O.js +1 -0
- package/dist/assets/ViewportShadingMenu-Dx1gY8Op.js +1 -0
- package/dist/assets/animation-mixers.service-fNXcr-Vc.js +1 -0
- package/dist/assets/animation-timeline.utility-Dzab5JgT.js +1 -0
- package/dist/assets/asset-preview-BEzZu4j-.js +4 -0
- package/dist/assets/blender-emscripten-engine-BFUuajuh.js +2 -0
- package/dist/assets/blender-node-editor.document-Cu3LXipe.js +1 -0
- package/dist/assets/blender-properties-model-BrD2rboW.js +1 -0
- package/dist/assets/blender-properties-tab-CkbWamuD.js +3 -0
- package/dist/assets/blender-runtime-host-7Wv16WQe.js +7221 -0
- package/dist/assets/blender-runtime.document-CSHvDIaD.js +13 -0
- package/dist/assets/blender-screenshot.menu-CELFKP08.js +1 -0
- package/dist/assets/blender-timeline.document-BvHkPBTZ.js +1 -0
- package/dist/assets/blender-uv-editor.document-DVsbsG0P.js +1 -0
- package/dist/assets/blender-version.status-D_YQqOVz.js +1 -0
- package/dist/assets/blender-wali-engine-C6WYYJ9a.js +2 -0
- package/dist/assets/blender.command-M9NTZ04b.js +1 -0
- package/dist/assets/blender.status-H7PL8qIV.js +1 -0
- package/dist/assets/model-inspection-DAugZuDb.js +1 -0
- package/dist/assets/models.finder-C37d1CqG.js +1 -0
- package/dist/assets/object3d-document-session-registry-Nly7qqyW.js +2 -0
- package/dist/assets/play-live-nju-LbTd.js +1 -0
- package/dist/assets/product-B76VmSfR.js +14 -0
- package/dist/assets/properties-bone-constraints.inspector-CICws11L.js +1 -0
- package/dist/assets/properties-bone.inspector-BTh8HMja.js +1 -0
- package/dist/assets/properties-collection.inspector-CdxnUdEY.js +1 -0
- package/dist/assets/properties-constraints.inspector-CgLm__aq.js +1 -0
- package/dist/assets/properties-data.inspector-CPGohY4g.js +1 -0
- package/dist/assets/properties-material.inspector-BBmS0pWg.js +1 -0
- package/dist/assets/properties-modifiers.inspector-DmwrZuck.js +1 -0
- package/dist/assets/properties-object.inspector-CcLxRnp2.js +1 -0
- package/dist/assets/properties-output.inspector-B21rsdeE.js +1 -0
- package/dist/assets/properties-particles.inspector-3oYMCgFh.js +1 -0
- package/dist/assets/properties-physics.inspector-CXHZdBQv.js +1 -0
- package/dist/assets/properties-render.inspector-BgQVOySW.js +1 -0
- package/dist/assets/properties-scene.inspector-BvJsraNi.js +1 -0
- package/dist/assets/properties-texture.inspector-DPHw4ryw.js +1 -0
- package/dist/assets/properties-view-layer.inspector-MBifnnqO.js +1 -0
- package/dist/assets/properties-world.inspector-DOOIqcDX.js +1 -0
- package/dist/assets/react-18-Ceee8kSy.js +1 -0
- package/dist/assets/session-B_EkWp0b.js +6047 -0
- package/dist/assets/stage-keyboard-CfcRPwij.js +1 -0
- package/dist/assets/stage-overlay-set-B8PO_8GO.js +1 -0
- package/dist/assets/stage-presence-markers-CheQj0g2.js +1 -0
- package/dist/assets/stage-transform-tools-B3kiH81y.js +1 -0
- package/dist/assets/standard-viewport-dressing-4szt4iVE.js +24 -0
- package/dist/assets/three-integration.service-BRF8px1l.js +2 -0
- package/dist/assets/volter-sdk-BKodmrby.js +2363 -0
- package/dist/assets/volter-sdk-account-LQPzi3UZ.js +1 -0
- package/dist/assets/volter-sdk-client-DgRgxfuo.js +1 -0
- package/dist/assets/volter-sdk-contributions-Di1uSPw_.js +1 -0
- package/dist/assets/volter-sdk-css-numeric-style-Gy-GyM9Y.js +1 -0
- package/dist/assets/volter-sdk-document-probe-kPNnaNGr.js +1 -0
- package/dist/assets/volter-sdk-editor-view-g0uNyGJC.js +1 -0
- package/dist/assets/volter-sdk-host-CXSewq8M.js +1 -0
- package/dist/assets/volter-sdk-http-transport.browser-B3TdfhI7.js +1 -0
- package/dist/assets/volter-sdk-index-4Kp3lnTd.js +1 -0
- package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-CjXSPJIo.js +1 -0
- package/dist/assets/volter-sdk-kit-account-client-ByTVy6-o.js +1 -0
- package/dist/assets/volter-sdk-kit-action-registry-D1kqJ80f.js +1 -0
- package/dist/assets/volter-sdk-kit-active-product-CEEc_Nk5.js +1 -0
- package/dist/assets/volter-sdk-kit-active-project-BrcrV5ab.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-editor-config-DqJAYMZM.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-module-Cm1FKR3D.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-observation-DNCkd2d_.js +1 -0
- package/dist/assets/volter-sdk-kit-animation-animation-clock-0FXkaCv-.js +1 -0
- package/dist/assets/volter-sdk-kit-animation-stage-transport-C7MuqkhX.js +1 -0
- package/dist/assets/volter-sdk-kit-api-assets-DC5mYDg9.js +1 -0
- package/dist/assets/volter-sdk-kit-api-base-Jd4izSaw.js +1 -0
- package/dist/assets/volter-sdk-kit-api-build-CXv7iVa0.js +1 -0
- package/dist/assets/volter-sdk-kit-api-logs-BJS5qQS0.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-identity-BTbrDP21.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-open-B2xmn-LQ.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-source-B8I05SPp.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-state-b7drJlZm.js +1 -0
- package/dist/assets/volter-sdk-kit-api-relay-CXoYAGag.js +1 -0
- package/dist/assets/volter-sdk-kit-api-settings-Ooohukfm.js +1 -0
- package/dist/assets/volter-sdk-kit-api-themes-DWL43Vk4.js +1 -0
- package/dist/assets/volter-sdk-kit-api-worktrees-36I3L3ep.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-capabilities-B_JHyPEo.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-compare-core-k1g4sfK4.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-editor-context-BtXkPrch.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-events-DNL9sOD1.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-inspector-actions-CIyFU73p.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-selection-YBxUZh2F.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-BP6LhiLy.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-thumbnails-cVPLoYS6.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-viewers-D4Nn4_BR.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-BSMDOcaj.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-Ce2VXJ2Z.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-BUyAOAr6.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-BItOpEbd.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-BBeCjirT.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-UfPQty9g.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-DDRruLeu.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-T_DLL58P.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-BjuMcGvJ.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-Ciewiory.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-DNMc3Uhr.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-BTZveIZ2.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-CGdTixEp.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-0cIEsyFV.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-project-content-B883NWEX.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-udhK_bK8.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-active-adapter-CaV79Zym.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-active-systems-D-sRD1JD.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-adapter-key-4m95v2b2.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-CHBNmukT.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-Dz5hKatn.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-BHValVeR.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-RexSF-J2.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-CbcNeoQ9.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-consumer-actions-CnMS-_cD.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-design-time-layers-Zg9zdDef.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-DKLgadwc.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-M81xEMIH.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-DIwvGeWZ.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-EmOGzQA_.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-layered-pick-DmtPQOEU.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-CEz93V3J.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-mfK9FD-y.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-R2pfEtvy.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-panel-authoring-VEFAXYyu.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-B2qmlVET.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-provenance-CWNbjFfV.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-BkL1OUf3.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-DSJif289.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-story-board-DEtWuCdl.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-seam-evidence-yrcHmQZ9.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-selection-scope-DVHy1MNQ.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-CrTR4pdw.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-CzDJyhVH.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-three-root-DGX0pTp1.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-c-RZK1GX.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-Cea2wigf.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-world-session-state-N1az4tj8.js +1 -0
- package/dist/assets/volter-sdk-kit-availability-tick-B-AloCSv.js +1 -0
- package/dist/assets/volter-sdk-kit-bitmap-label-D5-Z31T5.js +1 -0
- package/dist/assets/volter-sdk-kit-boot-routing-XVOVyUc_.js +1 -0
- package/dist/assets/volter-sdk-kit-breakpoint-state-D-KEzzvG.js +1 -0
- package/dist/assets/volter-sdk-kit-build-identity-D-zdIjo6.js +1 -0
- package/dist/assets/volter-sdk-kit-bytes-codec-DVfFaFPs.js +1 -0
- package/dist/assets/volter-sdk-kit-cancellation-reason-DnCUNdRD.js +1 -0
- package/dist/assets/volter-sdk-kit-canvas-frames-BGh2p4Ce.js +1 -0
- package/dist/assets/volter-sdk-kit-capture-camera-pose-WspKGBnF.js +1 -0
- package/dist/assets/volter-sdk-kit-capture-size-DSdRe3ay.js +1 -0
- package/dist/assets/volter-sdk-kit-chrome-registry-D4L_4xEJ.js +1 -0
- package/dist/assets/volter-sdk-kit-chrome-slot-registry-Ce1SavKJ.js +1 -0
- package/dist/assets/volter-sdk-kit-collaboration-client-BklHxwDT.js +1 -0
- package/dist/assets/volter-sdk-kit-collaboration-presence-Cbx-Ojaw.js +1 -0
- package/dist/assets/volter-sdk-kit-command-dispatch-Dyhs6OSN.js +1 -0
- package/dist/assets/volter-sdk-kit-command-listener-CHEIOy3c.js +1 -0
- package/dist/assets/volter-sdk-kit-command-registry-CUKeDb9O.js +1 -0
- package/dist/assets/volter-sdk-kit-component-board-registry-BF8BzQDh.js +1 -0
- package/dist/assets/volter-sdk-kit-component-states-registry-RkljZ-Lm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AlignToolbar-L-1f9zZf.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ApplicationMenus-BKxEMCFq.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AssetEditorShell-ByYpeg3g.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-AzQ_b4hk.js +1 -0
- package/dist/assets/volter-sdk-kit-components-BoardRulers-Cjeqdfie.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-BOfMdh1M.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-rZGGuOwh.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ChromeSlot-CYRqS-XZ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CodeView-CZ4K-R4r.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-C0Jzb6sx.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ConsolePanel-vTD-MnSe.js +1 -0
- package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-fQY5p6rX.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectionProjection-Dn7ly9U9.js +1 -0
- package/dist/assets/volter-sdk-kit-components-Inspector-DlXSsDRU.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-D2fHAo8Q.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-BACKigHR.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-C2tFcY5Z.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorToolSection-CKxWWFgq.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-BscOuHaz.js +1 -0
- package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-Czgrsno8.js +1 -0
- package/dist/assets/volter-sdk-kit-components-MediaProperties-4JJy007U.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ProjectHeader-CHXnXf4V.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-CjQh_ckk.js +1 -0
- package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-CIhN8hQt.js +1 -0
- package/dist/assets/volter-sdk-kit-components-RootTextEditor-Bh2YKApp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SaveStatus-BD-zOD-c.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-BH1PNp8a.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-C4IvdpGQ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-CtiZX-C_.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ToolHost-DLj25ucp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-Toolbar-DOHf2NES.js +1 -0
- package/dist/assets/volter-sdk-kit-components-TransientHint-zFA_MLx1.js +1 -0
- package/dist/assets/volter-sdk-kit-components-VersionControlSection-C9By_77E.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-vr4do7lA.js +1 -0
- package/dist/assets/volter-sdk-kit-components-VolterLogo-DS8HqAPp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-DIEnM6m4.js +1 -0
- package/dist/assets/volter-sdk-kit-components-account-documents-C-kuLuRW.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-documents-wvxuPzJN.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-DRbF9-yC.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-selection-section-D-iE-RCy.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-thumbnails-D3TyvHrp.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-Dk2jKOhT.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-_nthvrZy.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-i-UhuMgF.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-CzBAEr0C.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-CyV7UI3C.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-Bd3a2_oA.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-B0oBgcRW.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-Ad0PtQNX.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-BcRGAaa4.js +1 -0
- package/dist/assets/volter-sdk-kit-components-board-guides-DlFbMQZl.js +1 -0
- package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-C-WHgNDO.js +1 -0
- package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-CqErnLHB.js +1 -0
- package/dist/assets/volter-sdk-kit-components-core-utilities-B339nXVW.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-preview-section-fv1kHl0P.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-revert-label-CGouljBF.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-selection-svwL5thP.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-CXI8Z8PL.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-transform-B6n6Cdof.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-C3qg6v_f.js +1 -0
- package/dist/assets/volter-sdk-kit-components-kind-documents-W8USaiPh.js +1 -0
- package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-Dd4u-Wtm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-project-tool-documents-DFq82d8o.js +1 -0
- package/dist/assets/volter-sdk-kit-components-scene-documents-B73lYyVv.js +1 -0
- package/dist/assets/volter-sdk-kit-components-status-contributions-FTso27Xh.js +1 -0
- package/dist/assets/volter-sdk-kit-components-tool-documents-BbGwfFpc.js +1 -0
- package/dist/assets/volter-sdk-kit-components-tool-schema-form-BIF8LmJV.js +1 -0
- package/dist/assets/volter-sdk-kit-components-use-after-paint-CtKNo2UU.js +1 -0
- package/dist/assets/volter-sdk-kit-components-use-project-image-assets-G7f6izdS.js +1 -0
- package/dist/assets/volter-sdk-kit-components-workspace-history-B2vo6Xx_.js +1 -0
- package/dist/assets/volter-sdk-kit-components-world-documents-B5tULKmS.js +1 -0
- package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-DDEiWrz7.js +1 -0
- package/dist/assets/volter-sdk-kit-composite-screenshot-BMOK3iYM.js +1 -0
- package/dist/assets/volter-sdk-kit-content-entry-source-registry-B9eUIMgv.js +1 -0
- package/dist/assets/volter-sdk-kit-contribution-surfaces-DC-uHDQg.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-DiRNBVRN.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-Csc86Z_f.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-Brd3w7kt.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-session-vitals-BoNy6hEZ.js +1 -0
- package/dist/assets/volter-sdk-kit-creation-site-registry-CdhSUaPD.js +1 -0
- package/dist/assets/volter-sdk-kit-delegate-harness-registry-CHNkXHhB.js +1 -0
- package/dist/assets/volter-sdk-kit-document-areas-7iD_pTF6.js +1 -0
- package/dist/assets/volter-sdk-kit-document-context-registry-6DcBS8uQ.js +1 -0
- package/dist/assets/volter-sdk-kit-document-open-registry-CS2V2rTe.js +1 -0
- package/dist/assets/volter-sdk-kit-document-play-extension-DyULINB5.js +1 -0
- package/dist/assets/volter-sdk-kit-document-preview-source-YxLsIauQ.js +1 -0
- package/dist/assets/volter-sdk-kit-document-renderer-session-IoKOp6Se.js +1 -0
- package/dist/assets/volter-sdk-kit-document-stage-sessions-DSmPpree.js +1 -0
- package/dist/assets/volter-sdk-kit-document-viewports-CvdifVJF.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-api-CB1FgcVg.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-chrome-capture-B-e-WKT4.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-commands-BYWHMTwS.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-console-jCw-ErXD.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-current-view-CbBqd-eR.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-document-probe-BC-zqNPD.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-git-client-BQQFtPz9.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-hotkeys-BzoxjaxK.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-lease-B_3921d6.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-lease-view-Dwm149iL.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-mode-DOBZoYnf.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-notifications-BfExd624.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presence-DNnOAqPS.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presentation-activity-CFp63FEl.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presentation-notice-Df1-39oQ.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-runtime-CCziNuJh.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-server-response-DJiPWdEl.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-session-attribution-qdIqiRBe.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-session-mode-r0EdgfW4.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-state-facets-ChaCu38O.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-view-presentation-Dp6RpQY2.js +1 -0
- package/dist/assets/volter-sdk-kit-environment-images-BUDsa8Yi.js +1 -0
- package/dist/assets/volter-sdk-kit-eyedropper-session-CuB0NOuY.js +1 -0
- package/dist/assets/volter-sdk-kit-files-file-provider-DIDQ2_uI.js +1 -0
- package/dist/assets/volter-sdk-kit-files-project-files-CQvJk0Gq.js +1 -0
- package/dist/assets/volter-sdk-kit-finders-index-DKfmE3QQ.js +1 -0
- package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-CmiBcR6h.js +1 -0
- package/dist/assets/volter-sdk-kit-frame-frame-parts-Dva44YHz.js +1 -0
- package/dist/assets/volter-sdk-kit-framed-document-capture-DB3Ncfrz.js +1 -0
- package/dist/assets/volter-sdk-kit-game-surface-defaults-Cj-0v8BH.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-export-state-Xf39gCAN.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-replay-F8jJrsPf.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-session-time-DTTj1olA.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-sessions-CxKyk9Md.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-component-marks-BabNBUji.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-internals-CoK3Z_Xh.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-Cm6Wsuhy.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-DaGff9wa.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-node-rows-BcRUZUvZ.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-panel-view-BZoc7eJQ.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-projection-CHs2jgL8.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-row-media-PFIeRJqY.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-row-model-Cw1It5is.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-rows-Dssu1BMj.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-walk-B1L9eTXm.js +1 -0
- package/dist/assets/volter-sdk-kit-history-editor-session-BtVV5q7v.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-commands-TABAJNSR.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-delegate-DeK2Tm-B.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-limit-notices-BVoYaGBF.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-service-BHBRoss1.js +1 -0
- package/dist/assets/volter-sdk-kit-history-persistence-coordinator-n84--IYf.js +1 -0
- package/dist/assets/volter-sdk-kit-history-project-file-history-CcXjOv2P.js +1 -0
- package/dist/assets/volter-sdk-kit-history-project-root-history-backends-DTX8q5fG.js +1 -0
- package/dist/assets/volter-sdk-kit-history-resource-registry-CLkqOjdr.js +1 -0
- package/dist/assets/volter-sdk-kit-history-snapshot-store-DycW6GLB.js +1 -0
- package/dist/assets/volter-sdk-kit-history-source-history-backend-9xMoYlbd.js +1 -0
- package/dist/assets/volter-sdk-kit-hmr-registration-group-DmMHpNnB.js +1 -0
- package/dist/assets/volter-sdk-kit-hmr-stable-react-context-D-TLq4Hc.js +1 -0
- package/dist/assets/volter-sdk-kit-hotkeys-XirVHMg5.js +1 -0
- package/dist/assets/volter-sdk-kit-inference-diagnostics-CXk1gv7L.js +1 -0
- package/dist/assets/volter-sdk-kit-initial-project-Cbnj6h8K.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-active-subject-CZRJ1Iol.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-active-surface-gAahXjP2.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-compose-subject-BBlLRs6P.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-display-D546j-bp.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-document-subject-DDqyp_xw.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-game-subject-sQwCYXs1.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-model-DC9Hl3cj.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-node-media-DjPyEqvx.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-null-subject-Ct7EGK3P.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-serialize-Bq6tap3p.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-C_yp3gfW.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-presentation-Di1bDrzW.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-property-grouping-Hrg_OJm5.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-section-registry-CvrpGvES.js +1 -0
- package/dist/assets/volter-sdk-kit-instance-source-actions-BCuKBxGf.js +1 -0
- package/dist/assets/volter-sdk-kit-js-heap-KxSszS6k.js +1 -0
- package/dist/assets/volter-sdk-kit-key-actions-Wz9BljgB.js +1 -0
- package/dist/assets/volter-sdk-kit-keymap-presets-GXj7fO30.js +1 -0
- package/dist/assets/volter-sdk-kit-layout-policy-cFlperJi.js +1 -0
- package/dist/assets/volter-sdk-kit-light-explorer-model-CkrLkUUZ.js +1 -0
- package/dist/assets/volter-sdk-kit-live-canvas-frame-CIEkO3Ed.js +1 -0
- package/dist/assets/volter-sdk-kit-live-document-DhUo-Edg.js +1 -0
- package/dist/assets/volter-sdk-kit-live-gesture-lock-CMfHfSyJ.js +1 -0
- package/dist/assets/volter-sdk-kit-live-seam-evidence-BwAIj8fP.js +1 -0
- package/dist/assets/volter-sdk-kit-live-session-registry-DLpuZ5fm.js +1 -0
- package/dist/assets/volter-sdk-kit-live-transition-CzY_KNsh.js +1 -0
- package/dist/assets/volter-sdk-kit-manifest-project-D966gGPJ.js +1 -0
- package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-BhBAOyzv.js +1 -0
- package/dist/assets/volter-sdk-kit-mount-failure-report-uZuQLIak.js +1 -0
- package/dist/assets/volter-sdk-kit-native-selection-style-DWR8dlSz.js +1 -0
- package/dist/assets/volter-sdk-kit-object3d-document-write-policy-Bj_jp-7_.js +1 -0
- package/dist/assets/volter-sdk-kit-packaged-runtime-iG7YMb12.js +1 -0
- package/dist/assets/volter-sdk-kit-performance-profiler-CNmFMe3k.js +1 -0
- package/dist/assets/volter-sdk-kit-performance-sources-Dn00aXW5.js +1 -0
- package/dist/assets/volter-sdk-kit-photograph-notice-Dfg0UxVZ.js +1 -0
- package/dist/assets/volter-sdk-kit-play-boot-phase-CXNgzv-J.js +1 -0
- package/dist/assets/volter-sdk-kit-play-camera-flight-DLwGfpJp.js +1 -0
- package/dist/assets/volter-sdk-kit-presentation-surface-cMmRpkGJ.js +1 -0
- package/dist/assets/volter-sdk-kit-product-command-Bu6DLKpE.js +1 -0
- package/dist/assets/volter-sdk-kit-project-adapter-BuzQScGI.js +1 -0
- package/dist/assets/volter-sdk-kit-project-asset-refresh-Bap7mqgb.js +1 -0
- package/dist/assets/volter-sdk-kit-project-asset-roots-By8xlXHl.js +1 -0
- package/dist/assets/volter-sdk-kit-project-local-state-ChdRwLow.js +1 -0
- package/dist/assets/volter-sdk-kit-project-manager-CLiEnNgu.js +1 -0
- package/dist/assets/volter-sdk-kit-project-module-changes-BDpD6OsB.js +1 -0
- package/dist/assets/volter-sdk-kit-project-module-split-CVNdzh8m.js +1 -0
- package/dist/assets/volter-sdk-kit-project-provenance-cp2gtKVj.js +1 -0
- package/dist/assets/volter-sdk-kit-project-ready-D8V6Kzge.js +1 -0
- package/dist/assets/volter-sdk-kit-project-shape-CClCrXxY.js +1 -0
- package/dist/assets/volter-sdk-kit-project-tools-CtP3bOpD.js +1 -0
- package/dist/assets/volter-sdk-kit-readiness-D0ouQROM.js +1 -0
- package/dist/assets/volter-sdk-kit-renderer-resource-counts-aXKN0rxR.js +1 -0
- package/dist/assets/volter-sdk-kit-reported-play-state-C-Mib-ba.js +1 -0
- package/dist/assets/volter-sdk-kit-resolve-contributed-command-BM8YcJz7.js +1 -0
- package/dist/assets/volter-sdk-kit-resolve-relative-specifier-CSTX2j7-.js +1 -0
- package/dist/assets/volter-sdk-kit-retained-document-states-QrHnyn4V.js +1 -0
- package/dist/assets/volter-sdk-kit-scene-document-plan-C9wHG6B7.js +1 -0
- package/dist/assets/volter-sdk-kit-scene-live-open-CXb4AskH.js +1 -0
- package/dist/assets/volter-sdk-kit-scoped-game-css-FdsRmDqV.js +1 -0
- package/dist/assets/volter-sdk-kit-served-url-DIf-qLum.js +1 -0
- package/dist/assets/volter-sdk-kit-session-close-COfy5ras.js +1 -0
- package/dist/assets/volter-sdk-kit-session-tombstone-BitY9Sdx.js +1 -0
- package/dist/assets/volter-sdk-kit-settings-settings-provider-BPuTDIxn.js +1 -0
- package/dist/assets/volter-sdk-kit-settings-store-BPOsFHZe.js +1 -0
- package/dist/assets/volter-sdk-kit-shell-store-DwHeZ5nQ.js +1 -0
- package/dist/assets/volter-sdk-kit-shell-store-door-BWHcu98B.js +1 -0
- package/dist/assets/volter-sdk-kit-source-conflict-CkxYCMk1.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-context-CP-upNgr.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-invalidation-CeDdEl0b.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-store-registry-B2jyIREA.js +1 -0
- package/dist/assets/volter-sdk-kit-startup-failure-DWjZgwSJ.js +1 -0
- package/dist/assets/volter-sdk-kit-state-report-deferral-Dzam5Bu-.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-host-files-storage-BxTEyrKN.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-http-storage-T4fMC6Ww.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-index-C2Gf9k45.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-mem-storage-CcdOLba9.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-path-lock-r7SjMxYI.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-paths-BWI0b699.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-DPyefE_s.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-compose-project-stories-Dz_zorT8.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-prefabs-finder-VOD4Fih8.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-BbJ4drXs.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-project-story-regions-CPPt7sAc.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-scope-CIIL7T3O.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-capture-DMWk2KXY.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-declared-medium-Bx-ygbVe.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-discovery-CafUDauh.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-CiCD8tr1.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-grouping-BRGub3eG.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-presentation-Bt3rB_N9.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-registry-bF3ym9Kn.js +1 -0
- package/dist/assets/volter-sdk-kit-story-document-openers-R2-yxXGg.js +1 -0
- package/dist/assets/volter-sdk-kit-story-thumbnails-CI-p0jom.js +1 -0
- package/dist/assets/volter-sdk-kit-surface-keyboard-Bclcg_ZX.js +1 -0
- package/dist/assets/volter-sdk-kit-surface-state-OwSMnQPF.js +1 -0
- package/dist/assets/volter-sdk-kit-system-seam-evidence-mhKxMLF-.js +1 -0
- package/dist/assets/volter-sdk-kit-tab-census-BkucfkR2.js +1 -0
- package/dist/assets/volter-sdk-kit-tab-lifecycle-client-xPlJR_Is.js +1 -0
- package/dist/assets/volter-sdk-kit-theme-library-BmQiddws.js +1 -0
- package/dist/assets/volter-sdk-kit-theme-preference-CY62ohS6.js +1 -0
- package/dist/assets/volter-sdk-kit-three-viewport-presentation-C4zfYkP5.js +1 -0
- package/dist/assets/volter-sdk-kit-tool-contribution-play-D-X4TndA.js +1 -0
- package/dist/assets/volter-sdk-kit-tool-loader-Bppn2i0e.js +1 -0
- package/dist/assets/volter-sdk-kit-transform-mode-request-DVP6KCfG.js +1 -0
- package/dist/assets/volter-sdk-kit-transient-hint-znMlkMOz.js +1 -0
- package/dist/assets/volter-sdk-kit-transport-strip-dGQ-YoNm.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-bA1RQVjN.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-inspect-vbzR9DTw.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-jvrPvSXj.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-_aDOX96f.js +1 -0
- package/dist/assets/volter-sdk-kit-user-local-state-C9PMe7ZC.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-activation-timings-Bl8_neTA.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-editor-controls-aUeFDe8t.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-presentation-IbDRhAjA.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-surface-status-B0m0crzV.js +1 -0
- package/dist/assets/volter-sdk-kit-wait-until-Bby0hAXq.js +1 -0
- package/dist/assets/volter-sdk-kit-worker-call-metrics-JG55IFWY.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-areas-D-wnNrv1.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-aux-commands-iFWD7R5b.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-available-documents-DEOtsr7U.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-core-utilities-Do_ivM3K.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-ids-CekfZZKH.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-registry-CtvIBYpT.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-restore-VAID48D1.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-host-commands-Ddx5Tgyl.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-persistence-gate-CXlifVZM.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-play-utilities-ByGVJzRW.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-presets-CjP5LvcE.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-regions-iau7y1g3.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-static-panels-B6jKhrp4.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-status-registry-g8wytHL5.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-storage-B5hTXq0f.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-style-LV2J3BUW.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-utility-commands-Ci_KJODl.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-utility-registry-BbjESGwy.js +1 -0
- package/dist/assets/volter-sdk-kit-world-adoption-DQ4KT5o5.js +1 -0
- package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-r5rqWOVZ.js +1 -0
- package/dist/assets/volter-sdk-kit-world-document-routing-D-fYy4j5.js +1 -0
- package/dist/assets/volter-sdk-kit-world-pan-state-CMG7tsSx.js +1 -0
- package/dist/assets/volter-sdk-kit-write-pipe-DNEDBnz-.js +1 -0
- package/dist/assets/volter-sdk-layout-arrangements-CHD3ZMFe.js +1 -0
- package/dist/assets/volter-sdk-layouts-CCA7FuOC.js +1 -0
- package/dist/assets/volter-sdk-selection-D0kL_iDi.js +1 -0
- package/dist/assets/volter-sdk-session-command-table-DA_l3-71.js +1 -0
- package/dist/assets/volter-sdk-session-editor-brand-BF7c04d1.js +1 -0
- package/dist/assets/volter-sdk-session-editor-compatibility-DTohfZFv.js +1 -0
- package/dist/assets/volter-sdk-session-editor-control-protocol-BldcSvMF.js +1 -0
- package/dist/assets/volter-sdk-session-entrypoint-selection-readers-C5lBU-ru.js +1 -0
- package/dist/assets/volter-sdk-session-game-css-scope-BU2odzp5.js +1 -0
- package/dist/assets/volter-sdk-session-project-module-url-BXpMu1Rd.js +1 -0
- package/dist/assets/volter-sdk-session-relative-path-guard-QB40XSDf.js +1 -0
- package/dist/assets/volter-sdk-session-tool-contribution-convention-B_nVNyey.js +1 -0
- package/dist/assets/volter-sdk-types-CpvyGiQa.js +1 -0
- package/dist/assets/volter-sdk-views-DJ_MnaUh.js +1 -0
- package/dist/assets/volter-sdk-widgets-design-system-D7xN8pRO.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-appearance-Crp-pBLJ.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-material-MHO-HL-5.js +1 -0
- package/dist/assets/volter-sdk-widgets-icon-set-registry-BV2KyS5k.js +1 -0
- package/dist/assets/volter-sdk-widgets-index-Pv9HbBUF.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-vPIEJ2AQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-0kpmltFh.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-C1igd7oH.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-B2hEex_l.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-cyhMzK5L.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-DcQAkx63.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker--uOgL4qW.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-DTAtC77d.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-khJ7avew.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-eiGFiwHP.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-Cd-F281s.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-C7uJEWC0.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-B5TWzor-.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-DEQKguQB.js +1 -0
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-Bl0RzyJQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-UyDjvCxC.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Fields-nF0yD3V1.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-List-D34mrQDy.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-CLSEwJ2u.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-Bnz6CGdv.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-BGh2nrPU.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-DD17mnjd.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tree-CCzpKURV.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-rAsZA766.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Button-B1Ppeaoa.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-CHAXdol_.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-CnNtxQXT.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-Cimr9Mco.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-CT_S601l.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-B8HUvMqd.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-B4XDeGeD.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Layout-Bi7EShmW.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Menu-CKIw0gyB.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-Cm3QFgJj.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Panel-Bydp9OuQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-CCux7aOb.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Text-CX8Zqrmp.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-9ZuvJNaQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-DQ24NxRN.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-B8ydBBhm.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-banner-tones-DJXfSNS6.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-BzMgToKr.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-RjhVjrNt.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-CaqZYWvq.js +1 -0
- package/dist/assets/volter-sdk-widgets-theme-GZiAnowy.js +1 -0
- package/dist/assets/volter-sdk-widgets-z-index-CvywNZqF.js +1 -0
- package/dist/assets/volter-shared-fontawesome-D0om5i4C.js +1 -0
- package/dist/assets/volter-shared-jsx-dev-runtime-Nf2pZiIO.js +1 -0
- package/dist/assets/volter-shared-jsx-runtime-mOtwwECE.js +1 -0
- package/dist/assets/volter-shared-react-D-xjcqWm.js +1 -0
- package/dist/assets/volter-shared-react-dom-DdRTSMx8.js +1 -0
- package/dist/assets/volter-shared-react-dom-client-WSvYqY8Z.js +1 -0
- package/dist/assets/worker-CxcSX7C7.js +8 -0
- package/dist/volter-shared-react.json +6 -6
- package/dist/volter-shared-sdk.json +462 -461
- package/dist-node/cli.js +16100 -2176
- package/dist-node/create.js +42 -36
- package/package.json +11 -9
- package/starter/AGENTS.md +30 -7
- package/starter/add-play/game-state.ts +25 -0
- package/starter/add-play/game.tsx +16 -0
- package/starter/add-play/model.play.ts +77 -0
- package/starter/package.json +5 -0
- package/starter/playable/src/models/canyon.blend +0 -0
- package/starter/playable/src/models/canyon.play.ts +107 -0
- package/starter/playable/src/models/canyon.py +55 -0
- package/starter/playable/src/models/circuit.py +131 -0
- package/starter/playable/src/models/complete_environment.py +35 -0
- package/starter/playable/src/models/course.ts +12 -0
- package/starter/playable/src/models/detail.py +44 -0
- package/starter/playable/src/models/driver_details.py +25 -0
- package/starter/playable/src/models/environment.py +87 -0
- package/starter/playable/src/models/finish_scene.py +13 -0
- package/starter/playable/src/models/kart_finish.py +31 -0
- package/starter/playable/src/models/polish.py +75 -0
- package/starter/playable/src/models/race-state.ts +15 -0
- package/starter/playable/src/models/refine.py +69 -0
- package/starter/playable/src/models/scene_helpers.py +54 -0
- package/starter/playable/src/models/scenery_ao.py +114 -0
- package/starter/playable/src/textures/asphalt.png +0 -0
- package/starter/playable/src/textures/generate.py +16 -0
- package/starter/playable/src/textures/sandstone.png +0 -0
- package/starter/playable/src/ui/game.stories.tsx +16 -0
- package/starter/playable/src/ui/game.tsx +6 -0
- package/starter/playable/src/ui/race-hud.tsx +29 -0
- package/starter/playable/src/ui/race-widgets.tsx +29 -0
- package/dist/assets/EntityModelDocument-SFx7GJi9.js +0 -1
- package/dist/assets/EnvironmentAssetDocument-CpQnoQK7.js +0 -1
- package/dist/assets/InspectorObjectPreview-DhOKGE_h.js +0 -1
- package/dist/assets/LiveModuleDocument-eahaoeUi.js +0 -2
- package/dist/assets/LutAssetDocument-CTFpkbXP.js +0 -1
- package/dist/assets/ModelAssetDocument-qpaA8PMi.js +0 -1
- package/dist/assets/NonThreeAuthoringBootstrap-Cxat6HDi.js +0 -1
- package/dist/assets/Object3DDocumentToolbar-DAGo1TZr.js +0 -1
- package/dist/assets/Object3DPreview-f5xt7xae.js +0 -2
- package/dist/assets/QuarksAssetDocument-B4GuWtSi.js +0 -2
- package/dist/assets/ShaderAssetDocument-D6UrvTPz.js +0 -1
- package/dist/assets/StageHost-CCbIVhfB.js +0 -1179
- package/dist/assets/ToolObject3DPreview-nevU8Vmi.js +0 -1
- package/dist/assets/ViewportShadingMenu-rbW6zaze.js +0 -1
- package/dist/assets/animation-mixers.service-qLmPXMph.js +0 -1
- package/dist/assets/animation-timeline.utility-Cepgwl9G.js +0 -1
- package/dist/assets/asset-preview-C3dOTcRY.js +0 -4
- package/dist/assets/blender-emscripten-engine-DnJ85_-l.js +0 -2
- package/dist/assets/blender-node-editor.document-BjpzVLc9.js +0 -1
- package/dist/assets/blender-properties-model-BNV7uq3w.js +0 -1
- package/dist/assets/blender-properties-tab-BoiBE9VB.js +0 -3
- package/dist/assets/blender-runtime-host-DKW0D0Bb.js +0 -7221
- package/dist/assets/blender-runtime.document-xKuVNUX7.js +0 -13
- package/dist/assets/blender-screenshot.menu-c6UvFn7v.js +0 -1
- package/dist/assets/blender-timeline.document-_vgbH_K5.js +0 -1
- package/dist/assets/blender-uv-editor.document-CjOx4LD3.js +0 -1
- package/dist/assets/blender-version.status-GBqitUon.js +0 -1
- package/dist/assets/blender-wali-engine-x-OfFUGX.js +0 -2
- package/dist/assets/blender.command-CYOL3BTf.js +0 -1
- package/dist/assets/blender.status-BYUrfsCR.js +0 -1
- package/dist/assets/model-inspection-DGW_rNdi.js +0 -1
- package/dist/assets/models.finder-C2OdvWDn.js +0 -1
- package/dist/assets/object3d-document-session-registry-BkSfsQD9.js +0 -2
- package/dist/assets/play-mode-Bfa-EEKv.js +0 -1
- package/dist/assets/product-4XoIi8-H.js +0 -14
- package/dist/assets/properties-bone-constraints.inspector-De28M-3w.js +0 -1
- package/dist/assets/properties-bone.inspector-Dwl_8RHa.js +0 -1
- package/dist/assets/properties-collection.inspector-zgL35H1s.js +0 -1
- package/dist/assets/properties-constraints.inspector-C4HmYG4b.js +0 -1
- package/dist/assets/properties-data.inspector-C84mWYEx.js +0 -1
- package/dist/assets/properties-material.inspector-EXqO4JLk.js +0 -1
- package/dist/assets/properties-modifiers.inspector-B5-5UoW_.js +0 -1
- package/dist/assets/properties-object.inspector-CacLETan.js +0 -1
- package/dist/assets/properties-output.inspector-DpGmXWef.js +0 -1
- package/dist/assets/properties-particles.inspector-XTVoWTZq.js +0 -1
- package/dist/assets/properties-physics.inspector-DlhF0h-n.js +0 -1
- package/dist/assets/properties-render.inspector-Dpnfz8vA.js +0 -1
- package/dist/assets/properties-scene.inspector-DqOfknkg.js +0 -1
- package/dist/assets/properties-texture.inspector-WD0VfQaG.js +0 -1
- package/dist/assets/properties-view-layer.inspector-DWFckdDj.js +0 -1
- package/dist/assets/properties-world.inspector-DcqJkcHc.js +0 -1
- package/dist/assets/react-18-AEAPuaAj.js +0 -1
- package/dist/assets/session-rpZf0raD.js +0 -5972
- package/dist/assets/stage-keyboard-ChQ8dJ_y.js +0 -1
- package/dist/assets/stage-overlay-set-PfEXKWA6.js +0 -1
- package/dist/assets/stage-presence-markers-Dnxnhx_2.js +0 -1
- package/dist/assets/stage-transform-tools-mFUKm77V.js +0 -1
- package/dist/assets/standard-viewport-dressing-DChZYVlW.js +0 -24
- package/dist/assets/three-integration.service-C6HNczqS.js +0 -2
- package/dist/assets/volter-sdk-CjkJnQ6d.js +0 -2363
- package/dist/assets/volter-sdk-account-DZEQFuaU.js +0 -1
- package/dist/assets/volter-sdk-client-D6tlzH-t.js +0 -1
- package/dist/assets/volter-sdk-contributions-Cl4ThyFT.js +0 -1
- package/dist/assets/volter-sdk-css-numeric-style-BSayA78S.js +0 -1
- package/dist/assets/volter-sdk-document-probe-rU9NBzUS.js +0 -1
- package/dist/assets/volter-sdk-editor-view-DfxbbN7q.js +0 -1
- package/dist/assets/volter-sdk-host-Dy6XofbJ.js +0 -1
- package/dist/assets/volter-sdk-http-transport.browser-Co0YCwat.js +0 -1
- package/dist/assets/volter-sdk-index-B2ws1and.js +0 -1
- package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-CBEHQx0y.js +0 -1
- package/dist/assets/volter-sdk-kit-account-client-CLa-z4XH.js +0 -1
- package/dist/assets/volter-sdk-kit-action-registry-ifQNLVPb.js +0 -1
- package/dist/assets/volter-sdk-kit-active-product-v7CkKfFz.js +0 -1
- package/dist/assets/volter-sdk-kit-active-project-Di0hQPIg.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-editor-config-fdw01apb.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-observation-CW92skZV.js +0 -1
- package/dist/assets/volter-sdk-kit-animation-animation-clock-B3sM2uit.js +0 -1
- package/dist/assets/volter-sdk-kit-animation-stage-transport-JvYidVYX.js +0 -1
- package/dist/assets/volter-sdk-kit-api-assets-D7VbukcI.js +0 -1
- package/dist/assets/volter-sdk-kit-api-base-DerHHtTE.js +0 -1
- package/dist/assets/volter-sdk-kit-api-build-CeuJY-Zz.js +0 -1
- package/dist/assets/volter-sdk-kit-api-logs-1pMi7TTm.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-identity-CBU8Hed0.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-open-D067PXCw.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-source-Bho3j6pZ.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-state-BKh_xLbJ.js +0 -1
- package/dist/assets/volter-sdk-kit-api-relay-CC-iWi7D.js +0 -1
- package/dist/assets/volter-sdk-kit-api-settings-sot6qLo3.js +0 -1
- package/dist/assets/volter-sdk-kit-api-themes-Cc-af_-d.js +0 -1
- package/dist/assets/volter-sdk-kit-api-worktrees-D1GTPFtv.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-capabilities-CNOHj_kb.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-compare-core-CXAda1bF.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-editor-context-DsUk8Th6.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-events-BL8DRoc8.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-inspector-actions-0o9QNJKn.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-selection-B3xjSJGy.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-SEv2CkwZ.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-thumbnails-Dljbgkxh.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-viewers-CxZRO5JV.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-DqIPpnfC.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-D1KEb0Ey.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-D6HUnLJm.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-By1Yv3wm.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-DisvezHH.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-BwwiLB40.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-FrA-pulC.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-DDI1Kwjv.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-CzPpDfqY.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-DdWpOH6e.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-Cqtyka10.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-BUxJUIx-.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-Dpvl0ufz.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-Clt-ftCc.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-project-content-BO7LgDmE.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-CCoxMBjk.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-active-adapter-Po4bB0Uj.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-active-systems-B1Bx10Aq.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-adapter-key-BlWE7I0N.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-SOwAcp48.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-DnBU8nzt.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-BFAbj3pB.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-DOJYMXPn.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-BoBcdwww.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-consumer-actions-DeU9WESz.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-design-time-layers-ZcfipFHX.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-4mdJO8W-.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-Bymo2_8C.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-BeRaeFRT.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-De7LQ6t6.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-layered-pick-DMVOLo1B.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-CXLwIbEX.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-D_y8WcS6.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-B8wcp7IQ.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-panel-authoring-sbvO6626.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-Cykydx2J.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-provenance-D0b1PE71.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-CSwEgzI6.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-Cl2M3OV0.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-story-board-bTjtW2CO.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-seam-evidence-pkdnkJtV.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-selection-scope-DVgEaPQM.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-BbuK7pxG.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-OFpXQxIF.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-three-root-BkH3AlEt.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-Cr0fa0Hl.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-DTnGce_x.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-world-session-state-D5Aqfbm8.js +0 -1
- package/dist/assets/volter-sdk-kit-availability-tick-h3DHQ7AK.js +0 -1
- package/dist/assets/volter-sdk-kit-bitmap-label-nN7zK7TR.js +0 -1
- package/dist/assets/volter-sdk-kit-boot-routing-mm6XL4_m.js +0 -1
- package/dist/assets/volter-sdk-kit-breakpoint-state-BhIvquyw.js +0 -1
- package/dist/assets/volter-sdk-kit-build-identity-BUHMFgej.js +0 -1
- package/dist/assets/volter-sdk-kit-bytes-codec-j4IdoVn0.js +0 -1
- package/dist/assets/volter-sdk-kit-cancellation-reason-D-nMBP2I.js +0 -1
- package/dist/assets/volter-sdk-kit-canvas-frames-DEW6SW_n.js +0 -1
- package/dist/assets/volter-sdk-kit-capture-camera-pose-lHuE4-F1.js +0 -1
- package/dist/assets/volter-sdk-kit-capture-size-CfI__WD3.js +0 -1
- package/dist/assets/volter-sdk-kit-chrome-registry-DQC9TBMd.js +0 -1
- package/dist/assets/volter-sdk-kit-chrome-slot-registry-BaA2m-hW.js +0 -1
- package/dist/assets/volter-sdk-kit-collaboration-client-BgCs9YmN.js +0 -1
- package/dist/assets/volter-sdk-kit-collaboration-presence-zP8Qm_Wp.js +0 -1
- package/dist/assets/volter-sdk-kit-command-dispatch-DMN1cHQ0.js +0 -1
- package/dist/assets/volter-sdk-kit-command-listener-Bi6V9vZY.js +0 -1
- package/dist/assets/volter-sdk-kit-command-registry-CbwwOUlX.js +0 -1
- package/dist/assets/volter-sdk-kit-component-board-registry-DuKMXXDn.js +0 -1
- package/dist/assets/volter-sdk-kit-component-states-registry-C8fPwGac.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AlignToolbar-DI9H0cLf.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ApplicationMenus-0EFLpJl3.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AssetEditorShell-W9E9Idk3.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-B9C8g1u8.js +0 -1
- package/dist/assets/volter-sdk-kit-components-BoardRulers-TvtGoLvw.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-BbT71ZLs.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-DMlRqvRX.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ChromeSlot-CBMhERxH.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CodeView-DaFrODJ5.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-DAU9Rz8t.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ConsolePanel-DL9PRS8g.js +0 -1
- package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-BQM829E_.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectionProjection-ct5F1-5f.js +0 -1
- package/dist/assets/volter-sdk-kit-components-Inspector-D_LqAGkl.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-BE7YIVKr.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-m9xPIIHr.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-ZlS3c7i5.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorToolSection-B0nuZPLk.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-nkjme0st.js +0 -1
- package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-BWEMMDqF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-MediaProperties-D7iIz70v.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ProjectHeader-BGak497E.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-DC8ly4DP.js +0 -1
- package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-BgFEsPuR.js +0 -1
- package/dist/assets/volter-sdk-kit-components-RootTextEditor-D5kNPJPO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SaveStatus-DUcBxh5_.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-DS5fFxXL.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-LQ6wer_f.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-CsA2zXqR.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ToolHost-CCgNWoYQ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-Toolbar-BcFqLTKO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-TransientHint-BJ8PYeZC.js +0 -1
- package/dist/assets/volter-sdk-kit-components-VersionControlSection-DmfeMks1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-CgfsJe_1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-VolterLogo-Bsb05O0W.js +0 -1
- package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-DHIF6Kg1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-account-documents-CwYhcEZA.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-documents-DyPZbhVR.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-DFyUUrtF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-selection-section-CcmRV0Bv.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-thumbnails-CVmK39Vm.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-C7t9xXsJ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-DyOUPMrf.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-BZVLIpzi.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-MFzv1JKl.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-C1I6t0XF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-TSnI0wjc.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-DisNEKau.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-CT1gLpCM.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-D-ByF1Z9.js +0 -1
- package/dist/assets/volter-sdk-kit-components-board-guides-C3ZEj1WY.js +0 -1
- package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-BQ9gavD1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-DVB2TYkq.js +0 -1
- package/dist/assets/volter-sdk-kit-components-core-utilities-inT-Nle5.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-preview-section-vfZoaY5P.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-revert-label-DRRZSGIK.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-selection-Bv1ikayS.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-BpG3_W7U.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-transform-CP6nVKqd.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-Du0gXiav.js +0 -1
- package/dist/assets/volter-sdk-kit-components-kind-documents-B_HiV65O.js +0 -1
- package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-7rauPX0T.js +0 -1
- package/dist/assets/volter-sdk-kit-components-project-tool-documents-3di65yH2.js +0 -1
- package/dist/assets/volter-sdk-kit-components-scene-documents-Bl1zTaDc.js +0 -1
- package/dist/assets/volter-sdk-kit-components-status-contributions-B8H0B8ft.js +0 -1
- package/dist/assets/volter-sdk-kit-components-tool-documents-C2PpEqP0.js +0 -1
- package/dist/assets/volter-sdk-kit-components-tool-schema-form-72_NOun0.js +0 -1
- package/dist/assets/volter-sdk-kit-components-use-after-paint-DrYvNkkp.js +0 -1
- package/dist/assets/volter-sdk-kit-components-use-project-image-assets-BqKEbF2g.js +0 -1
- package/dist/assets/volter-sdk-kit-components-workspace-history-xnZKFOcO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-world-documents-B_l8OVFP.js +0 -1
- package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-C0aE-brt.js +0 -1
- package/dist/assets/volter-sdk-kit-composite-screenshot-BcGNs7-k.js +0 -1
- package/dist/assets/volter-sdk-kit-content-entry-source-registry-CSDvBeHp.js +0 -1
- package/dist/assets/volter-sdk-kit-contribution-surfaces-CQ2rcWky.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-CaBb6Hfn.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-BZvDlBew.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-CyWzK029.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-session-vitals-BSV6PDul.js +0 -1
- package/dist/assets/volter-sdk-kit-creation-site-registry-fCJv-VnD.js +0 -1
- package/dist/assets/volter-sdk-kit-delegate-harness-registry-0s32Ke4a.js +0 -1
- package/dist/assets/volter-sdk-kit-document-areas-d6o-fnVq.js +0 -1
- package/dist/assets/volter-sdk-kit-document-context-registry-C-rdTIZz.js +0 -1
- package/dist/assets/volter-sdk-kit-document-open-registry-VuPIF1dw.js +0 -1
- package/dist/assets/volter-sdk-kit-document-play-extension-CnbtQG5g.js +0 -1
- package/dist/assets/volter-sdk-kit-document-preview-source-BOuN3JP9.js +0 -1
- package/dist/assets/volter-sdk-kit-document-renderer-session-C4Y-LjCl.js +0 -1
- package/dist/assets/volter-sdk-kit-document-stage-sessions-DFQXt_Kt.js +0 -1
- package/dist/assets/volter-sdk-kit-document-viewports-Caa-nlVQ.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-api-C1nO5qN_.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-chrome-capture-Cyo9MOWB.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-commands-DgSsLdds.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-console-D1PH1xFg.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-current-view-Bset7Nwl.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-document-probe-Czf1syZL.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-git-client-CMFbof3B.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-hotkeys-_jIQrvhL.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-lease-CqLtzZdx.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-lease-view-B38iYVxe.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-mode-DhgTI0qH.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-notifications-Yta6jrTE.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presence-CmU0c8nu.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presentation-activity-Chb0_n3L.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presentation-notice-CJJau7kX.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-runtime-C_0J-89o.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-server-response-AowGGRsX.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-session-attribution-CE3iHsa9.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-session-mode-DxwZ4UOE.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-state-facets-CrumZoYh.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-view-presentation-C-p2mMYG.js +0 -1
- package/dist/assets/volter-sdk-kit-environment-images-bVl6oO0J.js +0 -1
- package/dist/assets/volter-sdk-kit-eyedropper-session-xsFx5slJ.js +0 -1
- package/dist/assets/volter-sdk-kit-files-file-provider-BZr0PG4o.js +0 -1
- package/dist/assets/volter-sdk-kit-files-project-files-DlEfa4r5.js +0 -1
- package/dist/assets/volter-sdk-kit-finders-index-1Yh1UrN5.js +0 -1
- package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-BdkJ-g9C.js +0 -1
- package/dist/assets/volter-sdk-kit-frame-frame-parts-DvbxUeaX.js +0 -1
- package/dist/assets/volter-sdk-kit-framed-document-capture-Doq07qaD.js +0 -1
- package/dist/assets/volter-sdk-kit-game-surface-defaults-Cco9xAIy.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-export-state-Bh35kQUs.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-replay-CJUXUO5Z.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-session-time-xKMm2Bmw.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-sessions-BtyPVYt1.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-component-marks-CMA_1E0Z.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-internals-C2mw6TEb.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-Uq5N3cYQ.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-BuUQH5-1.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-node-rows-DoIy_rr4.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-panel-view-C28YFK-D.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-projection-BlTrqGJP.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-row-media-Bi4TlkKq.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-row-model-B6Umqjy9.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-rows-LJpacUWB.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-walk-CUME5S0j.js +0 -1
- package/dist/assets/volter-sdk-kit-history-editor-session-vyoZV4Se.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-commands-BvP_RqsP.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-delegate-DilFGldE.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-limit-notices-Bl7qNsVW.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-service-CUwc9Oh1.js +0 -1
- package/dist/assets/volter-sdk-kit-history-persistence-coordinator-By_l7An0.js +0 -1
- package/dist/assets/volter-sdk-kit-history-project-file-history-stqJ4Wa9.js +0 -1
- package/dist/assets/volter-sdk-kit-history-project-root-history-backends-Dhihw3lO.js +0 -1
- package/dist/assets/volter-sdk-kit-history-resource-registry-BmWUO5On.js +0 -1
- package/dist/assets/volter-sdk-kit-history-snapshot-store-DpGm1CKT.js +0 -1
- package/dist/assets/volter-sdk-kit-history-source-history-backend-CWkNA5B8.js +0 -1
- package/dist/assets/volter-sdk-kit-hmr-registration-group-DXxPfV1d.js +0 -1
- package/dist/assets/volter-sdk-kit-hmr-stable-react-context-DTKg0yz7.js +0 -1
- package/dist/assets/volter-sdk-kit-hotkeys-B-DB4WDn.js +0 -1
- package/dist/assets/volter-sdk-kit-inference-diagnostics-Bg2RC291.js +0 -1
- package/dist/assets/volter-sdk-kit-initial-project-DcV4d4vU.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-active-subject-Dpg7lLaz.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-active-surface-CtXLz-UE.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-compose-subject-DPCLcleB.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-display-WcRFy6fP.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-document-subject-Dg6DIr4J.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-game-subject-CCU0bOnL.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-model-BHHq-F57.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-node-media-D3HHlQ-1.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-null-subject-CojoXu4j.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-serialize-BXTD5f5F.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-D0tMZbA8.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-presentation-DDTS4NPQ.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-property-grouping-C8gM67Ji.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-section-registry-C0bhf71P.js +0 -1
- package/dist/assets/volter-sdk-kit-instance-source-actions-DxsyQJOt.js +0 -1
- package/dist/assets/volter-sdk-kit-js-heap-COa0ZQO1.js +0 -1
- package/dist/assets/volter-sdk-kit-key-actions-DUdVok9i.js +0 -1
- package/dist/assets/volter-sdk-kit-keymap-presets-CtsgCBMq.js +0 -1
- package/dist/assets/volter-sdk-kit-layout-policy-B1UriNWB.js +0 -1
- package/dist/assets/volter-sdk-kit-light-explorer-model-DDrGjN_l.js +0 -1
- package/dist/assets/volter-sdk-kit-live-canvas-frame-Bx3mSipB.js +0 -1
- package/dist/assets/volter-sdk-kit-live-document-CPBTdxo0.js +0 -1
- package/dist/assets/volter-sdk-kit-live-gesture-lock-B4b9BM5c.js +0 -1
- package/dist/assets/volter-sdk-kit-live-seam-evidence-ByZ2Gf3m.js +0 -1
- package/dist/assets/volter-sdk-kit-live-session-registry-mxT-37yH.js +0 -1
- package/dist/assets/volter-sdk-kit-live-transition-CrRFP373.js +0 -1
- package/dist/assets/volter-sdk-kit-manifest-project-BCBSW7yn.js +0 -1
- package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-ENr7r-oj.js +0 -1
- package/dist/assets/volter-sdk-kit-mount-failure-report-Diw3prSP.js +0 -1
- package/dist/assets/volter-sdk-kit-native-selection-style-D_oHLKGc.js +0 -1
- package/dist/assets/volter-sdk-kit-object3d-document-write-policy-Dq8rnb-h.js +0 -1
- package/dist/assets/volter-sdk-kit-packaged-runtime-2ZtSBw9e.js +0 -1
- package/dist/assets/volter-sdk-kit-performance-profiler-J1GcKurL.js +0 -1
- package/dist/assets/volter-sdk-kit-performance-sources-Dk3RIhPs.js +0 -1
- package/dist/assets/volter-sdk-kit-photograph-notice-CEVpX_yj.js +0 -1
- package/dist/assets/volter-sdk-kit-play-boot-phase-D22MvZjX.js +0 -1
- package/dist/assets/volter-sdk-kit-play-camera-flight-Dh3-SiG2.js +0 -1
- package/dist/assets/volter-sdk-kit-presentation-surface-DtvQ6uwm.js +0 -1
- package/dist/assets/volter-sdk-kit-product-command-DhQ2vGY7.js +0 -1
- package/dist/assets/volter-sdk-kit-project-adapter-lJsp7vSt.js +0 -1
- package/dist/assets/volter-sdk-kit-project-asset-refresh-D94Pa8-n.js +0 -1
- package/dist/assets/volter-sdk-kit-project-asset-roots-DkjE-H4P.js +0 -1
- package/dist/assets/volter-sdk-kit-project-local-state-C3dueXjj.js +0 -1
- package/dist/assets/volter-sdk-kit-project-manager-D8pSoBk5.js +0 -1
- package/dist/assets/volter-sdk-kit-project-module-changes-CmswawEd.js +0 -1
- package/dist/assets/volter-sdk-kit-project-module-split-BWSP4PC6.js +0 -1
- package/dist/assets/volter-sdk-kit-project-provenance-y2LiaenC.js +0 -1
- package/dist/assets/volter-sdk-kit-project-ready-5KOkgAie.js +0 -1
- package/dist/assets/volter-sdk-kit-project-shape-CRi6VMwW.js +0 -1
- package/dist/assets/volter-sdk-kit-project-tools-DefLgVW-.js +0 -1
- package/dist/assets/volter-sdk-kit-readiness-CFiVXonW.js +0 -1
- package/dist/assets/volter-sdk-kit-renderer-resource-counts-yv0wDv9Z.js +0 -1
- package/dist/assets/volter-sdk-kit-reported-play-state-CdBN7lgt.js +0 -1
- package/dist/assets/volter-sdk-kit-resolve-contributed-command-C-UnZAy2.js +0 -1
- package/dist/assets/volter-sdk-kit-resolve-relative-specifier-B0fBf47E.js +0 -1
- package/dist/assets/volter-sdk-kit-retained-document-states-BaHAJmNJ.js +0 -1
- package/dist/assets/volter-sdk-kit-scene-document-plan-ByPu78Ca.js +0 -1
- package/dist/assets/volter-sdk-kit-scene-live-open-WieSHU0m.js +0 -1
- package/dist/assets/volter-sdk-kit-scoped-game-css-Cl-iGkav.js +0 -1
- package/dist/assets/volter-sdk-kit-served-url-CvjRxXVY.js +0 -1
- package/dist/assets/volter-sdk-kit-session-close-Bj5v_SbU.js +0 -1
- package/dist/assets/volter-sdk-kit-session-tombstone-D1LTs2G4.js +0 -1
- package/dist/assets/volter-sdk-kit-settings-settings-provider-CdD8uh79.js +0 -1
- package/dist/assets/volter-sdk-kit-settings-store-CdCWpZpX.js +0 -1
- package/dist/assets/volter-sdk-kit-shell-store-BPMrMgto.js +0 -1
- package/dist/assets/volter-sdk-kit-shell-store-door-D5csR7L7.js +0 -1
- package/dist/assets/volter-sdk-kit-source-conflict-C1LAtXzO.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-context-B5Ashsvr.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-invalidation-DrB2GJkV.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-store-registry-BBmIUDrH.js +0 -1
- package/dist/assets/volter-sdk-kit-startup-failure-B_1Us5LR.js +0 -1
- package/dist/assets/volter-sdk-kit-state-report-deferral-CadDAzqC.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-host-files-storage-DlAZpF8O.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-http-storage-BGzRT9Yh.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-index-BRza5xQo.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-mem-storage--iLg4qqC.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-path-lock-DIiF0WD6.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-paths-RUYTo3ty.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-CIWFkcHG.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-compose-project-stories-DwoDwmJU.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-prefabs-finder-1J_oByWW.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-BWzNS_pC.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-project-story-regions-Cmj0gYSU.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-scope-dbPpXRCQ.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-capture-3Y8Mr8qy.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-declared-medium-D3PDNDCy.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-discovery-lsLHfYGO.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-Bcuc8WAV.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-grouping-iqNIaFLi.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-presentation-CK7iy9Ei.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-registry-BgeJ9s08.js +0 -1
- package/dist/assets/volter-sdk-kit-story-document-openers-cYEL6Hy6.js +0 -1
- package/dist/assets/volter-sdk-kit-story-thumbnails-CM9Z-bvM.js +0 -1
- package/dist/assets/volter-sdk-kit-surface-keyboard-DBn-R4RW.js +0 -1
- package/dist/assets/volter-sdk-kit-surface-state-lyZ-F89S.js +0 -1
- package/dist/assets/volter-sdk-kit-system-seam-evidence-M2PpGJaD.js +0 -1
- package/dist/assets/volter-sdk-kit-tab-census-D-cKQr53.js +0 -1
- package/dist/assets/volter-sdk-kit-tab-lifecycle-client-C9bdy1EQ.js +0 -1
- package/dist/assets/volter-sdk-kit-theme-library-C1SMcZX-.js +0 -1
- package/dist/assets/volter-sdk-kit-theme-preference-D7fq5Aos.js +0 -1
- package/dist/assets/volter-sdk-kit-three-viewport-presentation-C3jDpb-D.js +0 -1
- package/dist/assets/volter-sdk-kit-tool-contribution-play-BOVfgHO-.js +0 -1
- package/dist/assets/volter-sdk-kit-tool-loader-cdxKzGe5.js +0 -1
- package/dist/assets/volter-sdk-kit-transform-mode-request-BPBs33SD.js +0 -1
- package/dist/assets/volter-sdk-kit-transient-hint-DvRRSOfn.js +0 -1
- package/dist/assets/volter-sdk-kit-transport-strip-Dd6GTpZe.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-BPLcvfGC.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-inspect-Ckv_4nvy.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-CiReq_FI.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-DZJqZvWO.js +0 -1
- package/dist/assets/volter-sdk-kit-user-local-state-9E2MdgX4.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-activation-timings-C7D8UOhh.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-editor-controls-D88BRUuu.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-presentation-Zb13u02P.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-surface-status-Ca85AZuU.js +0 -1
- package/dist/assets/volter-sdk-kit-wait-until-pqtZlaLI.js +0 -1
- package/dist/assets/volter-sdk-kit-worker-call-metrics-Cbz-2gPO.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-areas-B_i10_dm.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-aux-commands-DtGEjh20.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-available-documents-C8VSQ_mD.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-core-utilities-BiDneGhJ.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-ids-BWk99i3Z.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-registry-DS1fKB9K.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-restore-ZPSOlafH.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-host-commands-BLPz-3R_.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-persistence-gate-DaFEto7Y.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-play-utilities-DOoHAHVj.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-presets-DOs3QGh-.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-regions-wBvCVXKS.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-static-panels-ByMR68k-.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-status-registry-HAD_cNR4.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-storage-CqQ3PjCZ.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-style-BQcwaxYJ.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-utility-commands-et9TkyCh.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-utility-registry-rYY77c5M.js +0 -1
- package/dist/assets/volter-sdk-kit-world-adoption-Cdr7X1RK.js +0 -1
- package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-CIToIMqL.js +0 -1
- package/dist/assets/volter-sdk-kit-world-document-routing-BZEtZVgX.js +0 -1
- package/dist/assets/volter-sdk-kit-world-pan-state-gNJklP8p.js +0 -1
- package/dist/assets/volter-sdk-kit-write-pipe-BADasoOU.js +0 -1
- package/dist/assets/volter-sdk-layout-arrangements-C2GnUWEf.js +0 -1
- package/dist/assets/volter-sdk-layouts-ai4Mr9iJ.js +0 -1
- package/dist/assets/volter-sdk-selection--L_yVThI.js +0 -1
- package/dist/assets/volter-sdk-session-command-table-HzFjzv-r.js +0 -1
- package/dist/assets/volter-sdk-session-editor-brand-DZQ6PWq1.js +0 -1
- package/dist/assets/volter-sdk-session-editor-compatibility-Dqc8l3ef.js +0 -1
- package/dist/assets/volter-sdk-session-editor-control-protocol-C9Ru_wUN.js +0 -1
- package/dist/assets/volter-sdk-session-entrypoint-selection-readers-zxVRreaL.js +0 -1
- package/dist/assets/volter-sdk-session-game-css-scope-Dqlihty_.js +0 -1
- package/dist/assets/volter-sdk-session-project-module-url-D83kzz0q.js +0 -1
- package/dist/assets/volter-sdk-session-relative-path-guard-CuR0WI9k.js +0 -1
- package/dist/assets/volter-sdk-session-tool-contribution-convention-BCFbkxzk.js +0 -1
- package/dist/assets/volter-sdk-types-CEnscS2I.js +0 -1
- package/dist/assets/volter-sdk-views-C5SjARB1.js +0 -1
- package/dist/assets/volter-sdk-widgets-design-system-CvoouaNJ.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-appearance-C7o2ovx9.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-material-DexUBcgV.js +0 -1
- package/dist/assets/volter-sdk-widgets-icon-set-registry-DlFlaNAF.js +0 -1
- package/dist/assets/volter-sdk-widgets-index-yq00_bNp.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-BTgcU6jh.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-C2o3TwgU.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-FDtHP3jG.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-BuPI_wXu.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-DgzQ9479.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-DAvp2mOL.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-D0qkPeCp.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-CCsSB7GO.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-HX8HYQyz.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-W6DD40ZY.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-Da1Qassw.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-CubhrOnj.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-BfEw1ffU.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-BHXdKcVo.js +0 -1
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-BN0E0Doa.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-BRrjlh-m.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Fields-DZH1odj7.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-List-C6d9TZjZ.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-Drk0tBrv.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-DDRN7QIn.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-EjlJmcJW.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-CFvWB8mN.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tree-BuqeZDz5.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-CTTEOeVU.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Button-C_0ZSSpT.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-CDSl_uTD.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-DkmxJEkt.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-BBWNM0Qo.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-BWxUJrgm.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-DWhR7NPO.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-DT-JU62m.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Layout-DdGxhqhS.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Menu-DZZRIImg.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-BhCoXeub.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Panel-CBt-GWg4.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-zNqJ43pZ.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Text-D5kMrfFl.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-C3qNx2NP.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-BZa_2pgU.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-DHMZkNZm.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-banner-tones-B0Vu5nrN.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-gPoKdjpr.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-CzOo1YYK.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-L08FUXCP.js +0 -1
- package/dist/assets/volter-sdk-widgets-theme-3FhMTQQW.js +0 -1
- package/dist/assets/volter-sdk-widgets-z-index-BY332K7Z.js +0 -1
- package/dist/assets/volter-shared-fontawesome-DpCdukGW.js +0 -1
- package/dist/assets/volter-shared-jsx-dev-runtime-Dzhuy0jr.js +0 -1
- package/dist/assets/volter-shared-jsx-runtime-CZf-NxSP.js +0 -1
- package/dist/assets/volter-shared-react-B8I974G-.js +0 -1
- package/dist/assets/volter-shared-react-dom-BSKZma7T.js +0 -1
- package/dist/assets/volter-shared-react-dom-client-aO0ss-5e.js +0 -1
- package/dist/assets/worker-C7WcdPfy.js +0 -8
- package/starter/race-state.ts +0 -22
- package/starter/track.blend +0 -0
- package/starter/track.play.ts +0 -343
- package/starter/track.py +0 -324
- package/starter/ui/game.stories.tsx +0 -12
- package/starter/ui/game.tsx +0 -10
- package/starter/ui/race-hud.tsx +0 -29
package/dist-node/create.js
CHANGED
|
@@ -6,9 +6,9 @@ var __export = (target, all) => {
|
|
|
6
6
|
|
|
7
7
|
// node/create.ts
|
|
8
8
|
import { spawn } from "node:child_process";
|
|
9
|
-
import { existsSync, symlinkSync } from "node:fs";
|
|
10
|
-
import { mkdir, writeFile, copyFile, readFile } from "node:fs/promises";
|
|
11
|
-
import { resolve, join, dirname } from "node:path";
|
|
9
|
+
import { constants, existsSync, symlinkSync } from "node:fs";
|
|
10
|
+
import { mkdir, writeFile, copyFile, readFile, readdir } from "node:fs/promises";
|
|
11
|
+
import { resolve, join, dirname, relative } from "node:path";
|
|
12
12
|
import { fileURLToPath } from "node:url";
|
|
13
13
|
|
|
14
14
|
// ../../node_modules/zod/v4/classic/external.js
|
|
@@ -13779,7 +13779,7 @@ function date4(params) {
|
|
|
13779
13779
|
// ../../node_modules/zod/v4/classic/external.js
|
|
13780
13780
|
config(en_default());
|
|
13781
13781
|
|
|
13782
|
-
// ../
|
|
13782
|
+
// ../project/src/manifest/schema.ts
|
|
13783
13783
|
var GAME_MANIFEST_VERSION = 2;
|
|
13784
13784
|
var REMOVED_SURFACE_SPELLING = {
|
|
13785
13785
|
threejs: "three",
|
|
@@ -13917,7 +13917,7 @@ var GameManifestSchema = external_exports.object({
|
|
|
13917
13917
|
version: external_exports.string().describe("The game's own version (used for orphan detection)"),
|
|
13918
13918
|
engine: external_exports.object({
|
|
13919
13919
|
version: external_exports.string().describe(
|
|
13920
|
-
"Exact @volter/
|
|
13920
|
+
"Exact @volter/project semver this game was scaffolded/last upgraded against \u2014 an identity pin, not a range"
|
|
13921
13921
|
)
|
|
13922
13922
|
}).strict().describe("Engine version pin"),
|
|
13923
13923
|
roots: external_exports.array(AdapterRootSchema).superRefine((roots, ctx) => {
|
|
@@ -14017,14 +14017,14 @@ var GameManifestSchema = external_exports.object({
|
|
|
14017
14017
|
)
|
|
14018
14018
|
}).strict().describe("Game manifest (volter.project.json) \u2014 the complete v2 project configuration");
|
|
14019
14019
|
|
|
14020
|
-
// ../
|
|
14020
|
+
// ../project/src/manifest/filename.ts
|
|
14021
14021
|
var MANIFEST_FILENAME = "volter.project.json";
|
|
14022
14022
|
|
|
14023
14023
|
// package.json
|
|
14024
14024
|
var package_default = {
|
|
14025
14025
|
name: "@volter/cyclotron",
|
|
14026
14026
|
author: "Volter AI, Inc.",
|
|
14027
|
-
version: "0.5.
|
|
14027
|
+
version: "0.5.203",
|
|
14028
14028
|
publishConfig: {
|
|
14029
14029
|
access: "public"
|
|
14030
14030
|
},
|
|
@@ -14033,7 +14033,7 @@ var package_default = {
|
|
|
14033
14033
|
node: ">=24"
|
|
14034
14034
|
},
|
|
14035
14035
|
license: "AGPL-3.0-only AND GPL-3.0-or-later AND MIT",
|
|
14036
|
-
description: "A free, open-source game editor by
|
|
14036
|
+
description: "A free, open-source game editor by videogame.ai using Blender 5.2 compiled to WebAssembly, Code-OSS, three.js, TypeScript and React.",
|
|
14037
14037
|
homepage: "https://cyclotron.videogame.ai",
|
|
14038
14038
|
keywords: [
|
|
14039
14039
|
"blender",
|
|
@@ -14077,6 +14077,7 @@ var package_default = {
|
|
|
14077
14077
|
install: "npx @volter/cyclotron create my-game",
|
|
14078
14078
|
colorTheme: "dark",
|
|
14079
14079
|
upgrade: true,
|
|
14080
|
+
adapterRequired: true,
|
|
14080
14081
|
workbench: {
|
|
14081
14082
|
"darwin-arm64": {
|
|
14082
14083
|
release: "cyclotron-f16dc165c0df-28b19dec3e1a-darwin-arm64",
|
|
@@ -14094,14 +14095,15 @@ var package_default = {
|
|
|
14094
14095
|
}
|
|
14095
14096
|
},
|
|
14096
14097
|
dependencies: {
|
|
14097
|
-
"@volter/editor-core": "0.5.
|
|
14098
|
-
"@volter/editor-blender": "0.1.
|
|
14099
|
-
"@volter/editor-threejs": "0.5.
|
|
14100
|
-
"@volter/blender-engine": "0.1.
|
|
14101
|
-
"@volter/
|
|
14102
|
-
"@volter/
|
|
14103
|
-
"@volter/
|
|
14098
|
+
"@volter/editor-core": "0.5.203",
|
|
14099
|
+
"@volter/editor-blender": "0.1.142",
|
|
14100
|
+
"@volter/editor-threejs": "0.5.203",
|
|
14101
|
+
"@volter/blender-engine": "0.1.140",
|
|
14102
|
+
"@volter/project": "0.5.203",
|
|
14103
|
+
"@volter/sdk": "0.5.203",
|
|
14104
|
+
"@volter/live": "0.5.203",
|
|
14104
14105
|
"@modelcontextprotocol/sdk": "1.32.1",
|
|
14106
|
+
typescript: "5.9.3",
|
|
14105
14107
|
undici: "7.29.1"
|
|
14106
14108
|
},
|
|
14107
14109
|
bin: {
|
|
@@ -14121,25 +14123,21 @@ var UPGRADING = {
|
|
|
14121
14123
|
names: [["Volter Model Editor", "Volter Cyclotron"], ["Model Editor", "Cyclotron"]]
|
|
14122
14124
|
}]
|
|
14123
14125
|
};
|
|
14124
|
-
var
|
|
14126
|
+
var PLAY_SCAFFOLD = {
|
|
14125
14127
|
uiRoot: { id: "ui", adapter: "dom", entry: "src/ui/game.tsx", zOrder: 1 },
|
|
14126
14128
|
resolution: { width: 1280, height: 720 },
|
|
14127
14129
|
dependencies: { react: "~19.2.4", "react-dom": "~19.2.4", three: "^0.180.0" },
|
|
14128
14130
|
/** The kit packages Play and the DOM root need, at the kit version this product was released against. */
|
|
14129
|
-
devDependencies: (kit) => ({ "@volter/
|
|
14131
|
+
devDependencies: (kit) => ({ "@volter/play": kit, "@volter/editor-ui": kit, "@volter/editor-react": kit }),
|
|
14130
14132
|
/** The adapter line that lets the UI board discover `src/ui` stories. */
|
|
14131
|
-
regionIncludes: " regionIncludes: { ui: { include: ['src/ui/**/*.tsx'] } },\n"
|
|
14132
|
-
|
|
14133
|
-
|
|
14134
|
-
|
|
14135
|
-
|
|
14136
|
-
|
|
14137
|
-
|
|
14138
|
-
|
|
14139
|
-
["ui/game.tsx", "src/ui/game.tsx"],
|
|
14140
|
-
["ui/race-hud.tsx", "src/ui/race-hud.tsx"],
|
|
14141
|
-
["ui/game.stories.tsx", "src/ui/game.stories.tsx"]
|
|
14142
|
-
]
|
|
14133
|
+
regionIncludes: " regionIncludes: { ui: { include: ['src/ui/**/*.tsx'] } },\n"
|
|
14134
|
+
};
|
|
14135
|
+
var PLAYABLE = {
|
|
14136
|
+
...PLAY_SCAFFOLD,
|
|
14137
|
+
resolution: { width: 1672, height: 941 },
|
|
14138
|
+
defaultDocument: "model:src/models/canyon.blend",
|
|
14139
|
+
/** The folder under `starter/` that is copied onto the new project. */
|
|
14140
|
+
example: "playable"
|
|
14143
14141
|
};
|
|
14144
14142
|
var PROJECT_TSCONFIG = JSON.stringify({
|
|
14145
14143
|
compilerOptions: {
|
|
@@ -14157,13 +14155,13 @@ var PROJECT_TSCONFIG = JSON.stringify({
|
|
|
14157
14155
|
}, null, 2) + "\n";
|
|
14158
14156
|
async function productVersions() {
|
|
14159
14157
|
const product = JSON.parse(await readFile(join(productRoot, "package.json"), "utf8"));
|
|
14160
|
-
return { product, kit: product.dependencies["@volter/
|
|
14158
|
+
return { product, kit: product.dependencies["@volter/project"] };
|
|
14161
14159
|
}
|
|
14162
14160
|
var declaration = {
|
|
14163
14161
|
product: "@volter/cyclotron",
|
|
14164
14162
|
templates: [
|
|
14165
14163
|
{ id: "models", name: "Models", description: "Blender modeling with a starter cube." },
|
|
14166
|
-
{ id: "playable", name: "Playable", description: "
|
|
14164
|
+
{ id: "playable", name: "Playable", description: "Canyon Comet: a three-lap kart race with a model play script and React HUD." }
|
|
14167
14165
|
],
|
|
14168
14166
|
async create(request) {
|
|
14169
14167
|
const result = await writeProject(request);
|
|
@@ -14186,7 +14184,7 @@ function checkoutNodeModules() {
|
|
|
14186
14184
|
for (let dir = productRoot; dirname(dir) !== dir; dir = dirname(dir)) {
|
|
14187
14185
|
if (existsSync(join(dir, "packages", "cyclotron", "package.json"))) {
|
|
14188
14186
|
const nodeModules = join(dir, "node_modules");
|
|
14189
|
-
return existsSync(join(nodeModules, "@volter", "
|
|
14187
|
+
return existsSync(join(nodeModules, "@volter", "project", "package.json")) ? nodeModules : null;
|
|
14190
14188
|
}
|
|
14191
14189
|
}
|
|
14192
14190
|
return null;
|
|
@@ -14223,13 +14221,14 @@ async function writeProject({ name, targetDir, template }) {
|
|
|
14223
14221
|
...playable ? { dependencies: PLAYABLE.dependencies } : {},
|
|
14224
14222
|
devDependencies: {
|
|
14225
14223
|
"@volter/cyclotron": product.version,
|
|
14226
|
-
"@volter/
|
|
14224
|
+
"@volter/project": kit,
|
|
14227
14225
|
"@volter/editor-blender": product.dependencies["@volter/editor-blender"],
|
|
14228
14226
|
...playable ? PLAYABLE.devDependencies(kit) : {}
|
|
14229
14227
|
}
|
|
14230
14228
|
}, null, 2) + "\n");
|
|
14231
14229
|
await write("tsconfig.json", PROJECT_TSCONFIG);
|
|
14232
|
-
await
|
|
14230
|
+
await mkdir(join(target, "editor"));
|
|
14231
|
+
await write("editor/volter.adapter.ts", `import { defineAdapter } from '@volter/project/adapter/adapter-module';
|
|
14233
14232
|
import { ModelLayout } from '@volter/editor-blender/layouts';
|
|
14234
14233
|
import { blenderStyle, blenderKeymap } from '@volter/editor-blender/looks';
|
|
14235
14234
|
|
|
@@ -14259,8 +14258,14 @@ ${playable ? PLAYABLE.regionIncludes : ""} editor: { Layout: ModelLayout, style
|
|
|
14259
14258
|
for (const file2 of ["AGENTS.md", "CLAUDE.md"])
|
|
14260
14259
|
await copyFile(join(productRoot, "starter", file2), join(target, file2));
|
|
14261
14260
|
if (playable) {
|
|
14262
|
-
|
|
14263
|
-
for (const
|
|
14261
|
+
const example = join(productRoot, "starter", PLAYABLE.example);
|
|
14262
|
+
for (const entry of await readdir(example, { recursive: true, withFileTypes: true })) {
|
|
14263
|
+
if (!entry.isFile()) continue;
|
|
14264
|
+
const from = join(entry.parentPath, entry.name);
|
|
14265
|
+
const to = join(target, relative(example, from));
|
|
14266
|
+
await mkdir(dirname(to), { recursive: true });
|
|
14267
|
+
await copyFile(from, to, constants.COPYFILE_EXCL);
|
|
14268
|
+
}
|
|
14264
14269
|
} else {
|
|
14265
14270
|
for (const file2 of ["cube.blend", "cube.py"])
|
|
14266
14271
|
await copyFile(join(productRoot, "starter", file2), join(target, "src/models", file2));
|
|
@@ -14269,6 +14274,7 @@ ${playable ? PLAYABLE.regionIncludes : ""} editor: { Layout: ModelLayout, style
|
|
|
14269
14274
|
}
|
|
14270
14275
|
export {
|
|
14271
14276
|
PLAYABLE,
|
|
14277
|
+
PLAY_SCAFFOLD,
|
|
14272
14278
|
PROJECT_TSCONFIG,
|
|
14273
14279
|
UPGRADING,
|
|
14274
14280
|
declaration,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volter/cyclotron",
|
|
3
3
|
"author": "Volter AI, Inc.",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.203",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"node": ">=24"
|
|
11
11
|
},
|
|
12
12
|
"license": "AGPL-3.0-only AND GPL-3.0-or-later AND MIT",
|
|
13
|
-
"description": "A free, open-source game editor by
|
|
13
|
+
"description": "A free, open-source game editor by videogame.ai using Blender 5.2 compiled to WebAssembly, Code-OSS, three.js, TypeScript and React.",
|
|
14
14
|
"homepage": "https://cyclotron.videogame.ai",
|
|
15
15
|
"keywords": [
|
|
16
16
|
"blender",
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
"install": "npx @volter/cyclotron create my-game",
|
|
55
55
|
"colorTheme": "dark",
|
|
56
56
|
"upgrade": true,
|
|
57
|
+
"adapterRequired": true,
|
|
57
58
|
"workbench": {
|
|
58
59
|
"darwin-arm64": {
|
|
59
60
|
"release": "cyclotron-f16dc165c0df-28b19dec3e1a-darwin-arm64",
|
|
@@ -71,14 +72,15 @@
|
|
|
71
72
|
}
|
|
72
73
|
},
|
|
73
74
|
"dependencies": {
|
|
74
|
-
"@volter/editor-core": "0.5.
|
|
75
|
-
"@volter/editor-blender": "0.1.
|
|
76
|
-
"@volter/editor-threejs": "0.5.
|
|
77
|
-
"@volter/blender-engine": "0.1.
|
|
78
|
-
"@volter/
|
|
79
|
-
"@volter/
|
|
80
|
-
"@volter/
|
|
75
|
+
"@volter/editor-core": "0.5.203",
|
|
76
|
+
"@volter/editor-blender": "0.1.142",
|
|
77
|
+
"@volter/editor-threejs": "0.5.203",
|
|
78
|
+
"@volter/blender-engine": "0.1.140",
|
|
79
|
+
"@volter/project": "0.5.203",
|
|
80
|
+
"@volter/sdk": "0.5.203",
|
|
81
|
+
"@volter/live": "0.5.203",
|
|
81
82
|
"@modelcontextprotocol/sdk": "1.32.1",
|
|
83
|
+
"typescript": "5.9.3",
|
|
82
84
|
"undici": "7.29.1"
|
|
83
85
|
},
|
|
84
86
|
"bin": {
|
package/starter/AGENTS.md
CHANGED
|
@@ -71,6 +71,23 @@ Replace unused scaffold placeholders as the requested result calls for.
|
|
|
71
71
|
and the intended viewpoints; add cameras when the requested shot needs them.
|
|
72
72
|
A game-like reference can describe a static scene. Implement playable behavior
|
|
73
73
|
when the user asks for a working game or interactive mechanics.
|
|
74
|
+
- **A level and its pieces:** the level's `.blend` is the environment
|
|
75
|
+
(terrain, mountains, rocks, scatter). Each piece with its own identity, such
|
|
76
|
+
as a character, creature, vehicle, building or key prop, is its own `.blend`
|
|
77
|
+
with one collection and object names of its own (named for the piece),
|
|
78
|
+
linked into the level rather than copied, as in a Blender production. Make
|
|
79
|
+
a piece's file as Blender does, in one script:
|
|
80
|
+
`bpy.ops.wm.read_homefile(use_empty=True)`, build it, then
|
|
81
|
+
`bpy.ops.wm.save_as_mainfile(filepath=<project>/src/models/<piece>.blend)`.
|
|
82
|
+
It opens as its own document; open the level again to link it. Link
|
|
83
|
+
its collection (`bpy.data.libraries.load(path, link=True, relative=True)`:
|
|
84
|
+
relative, so the link still resolves when the project moves) and place it as
|
|
85
|
+
a collection instance. A piece that animates or that the level changes is
|
|
86
|
+
then made a library override (`bpy.ops.object.make_override_library()` with
|
|
87
|
+
the instance active), and actions and NLA tracks can still be added to it in
|
|
88
|
+
the level. Each placement is its own override; rename it as the play script
|
|
89
|
+
expects. Edits to the piece's own file reach every level that links it the
|
|
90
|
+
next time the level opens.
|
|
74
91
|
- **A character or an animation:** see Characters and Animation below; check
|
|
75
92
|
motion in the Timeline at representative and extreme poses.
|
|
76
93
|
- **An interactive model:** implement the requested interaction, preview it in
|
|
@@ -215,7 +232,7 @@ behavior-only repair preserves the established appearance.
|
|
|
215
232
|
`npx --no-install cyclotron add-play` (it never overwrites files). Its
|
|
216
233
|
`src/models/*.play.ts` scripts implement gameplay; Play runs them on a
|
|
217
234
|
detached copy of the model. When extending an existing model-based project,
|
|
218
|
-
declare `@volter/
|
|
235
|
+
declare `@volter/play` and the React/UI dependencies with
|
|
219
236
|
compatible project versions, and add the UI root as needed.
|
|
220
237
|
- Register your bot as named behaviours, one per outcome worth checking:
|
|
221
238
|
`play.autoplay({ win: …, lose: … })`, at least one that plays to win and one
|
|
@@ -331,7 +348,7 @@ A character is two jobs, in this order: how it looks, then how it moves.
|
|
|
331
348
|
DOM root is `src/ui/game.tsx`; the playable template includes the required
|
|
332
349
|
React/UI tools and manifest root. Existing projects need `react`, `react-dom`,
|
|
333
350
|
`@volter/editor-ui` and `@volter/editor-react`, with compatible project versions.
|
|
334
|
-
Declare the UI story region in `volter.adapter.ts` (the playable template uses
|
|
351
|
+
Declare the UI story region in `editor/volter.adapter.ts` (the playable template uses
|
|
335
352
|
`regionIncludes.ui` for `src/ui/**/*.tsx`). Preserve the project's other content.
|
|
336
353
|
- Add `.stories.tsx` states and open them in the UI canvas: representative
|
|
337
354
|
states such as normal, empty, error and active, with their captures and
|
|
@@ -367,8 +384,9 @@ diagnosing a problem. Do not call `editor.reloadPage()` to reveal new
|
|
|
367
384
|
files, boards, references or scripts: a reload interrupts the editor and its
|
|
368
385
|
chat, so reserve it for an explicit request or a diagnosed problem.
|
|
369
386
|
|
|
370
|
-
The bottom area has two
|
|
371
|
-
Timeline); they arrange the editor and do not
|
|
387
|
+
The bottom area has two views, Game (the Game panel) and Animation (Blender's
|
|
388
|
+
Timeline, Action Editor and NLA editor); they arrange the editor and do not
|
|
389
|
+
change what plays, and a running game keeps running in either. Play is
|
|
372
390
|
running the game.
|
|
373
391
|
|
|
374
392
|
Commands, all through `npx --no-install cyclotron`:
|
|
@@ -393,13 +411,18 @@ Commands, all through `npx --no-install cyclotron`:
|
|
|
393
411
|
`update` calls; the game's clock stops) and `play resume`; `play step
|
|
394
412
|
[count]` (one 1/60 s update of a paused game each); `play speed
|
|
395
413
|
0.25|0.5|1|2|4` (scales the `dt` the script is handed); `play restart` (a
|
|
396
|
-
fresh copy of the model, clock at zero); `play mode game|
|
|
414
|
+
fresh copy of the model, clock at zero); `play mode game|animation` (the view).
|
|
397
415
|
- Timeline: `eval 'return await editor.command("volter.timeline.frame", { frame: 24 })'`
|
|
398
|
-
moves the playhead.
|
|
416
|
+
moves the playhead; `volter.timeline.editor` with `{ editor: "action" }` shows the
|
|
417
|
+
Action Editor (the clip an armature plays, its keys) and `{ editor: "nla" }` the
|
|
418
|
+
NLA editor (its tracks). While a game runs they show what it is animating.
|
|
399
419
|
|
|
400
420
|
If the project uses a Volter World, run app and test commands through that World.
|
|
401
421
|
|
|
402
422
|
Keep the project clean. Once the real document exists, remove the template
|
|
403
|
-
placeholder
|
|
423
|
+
placeholder unless the person is using it: `cube.blend` and `cube.py` in a
|
|
424
|
+
models project; in a playable one, the Canyon Comet example (`src/models/canyon.*`
|
|
425
|
+
with the step scripts beside it, `course.ts`, `race-state.ts`, `src/textures/`
|
|
426
|
+
and the race UI in `src/ui/`). Put your
|
|
404
427
|
own helper scripts and evidence images under `.volter/scratch/`, not in the
|
|
405
428
|
project's source folders, and do not leave them behind as project files.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright 2026 Volter AI, Inc.
|
|
3
|
+
|
|
4
|
+
/** What the play script publishes and the React UI draws: one value, and who to tell when it changes. */
|
|
5
|
+
export interface GameState {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
height: number;
|
|
9
|
+
jumps: number;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
let state: GameState = { x: 0, y: 0, height: 0, jumps: 0 };
|
|
13
|
+
const listeners = new Set<() => void>();
|
|
14
|
+
|
|
15
|
+
export const getGameState = (): GameState => state;
|
|
16
|
+
|
|
17
|
+
export function subscribeGameState(listener: () => void): () => void {
|
|
18
|
+
listeners.add(listener);
|
|
19
|
+
return () => { listeners.delete(listener); };
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function publishGameState(next: GameState): void {
|
|
23
|
+
state = next;
|
|
24
|
+
for (const listener of listeners) listener();
|
|
25
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright 2026 Volter AI, Inc.
|
|
3
|
+
|
|
4
|
+
/** The game's DOM root (the manifest's `ui` root), drawn over Play from what the play script publishes. */
|
|
5
|
+
import { useSyncExternalStore } from 'react';
|
|
6
|
+
import { getGameState, subscribeGameState } from '../models/game-state';
|
|
7
|
+
|
|
8
|
+
export default function GameUI() {
|
|
9
|
+
const state = useSyncExternalStore(subscribeGameState, getGameState, getGameState);
|
|
10
|
+
return (
|
|
11
|
+
<div style={{ position: 'absolute', left: 16, top: 16, padding: '8px 12px', borderRadius: 8, background: '#000000aa', color: 'white', font: '600 13px system-ui, sans-serif', pointerEvents: 'none' }}>
|
|
12
|
+
x {state.x.toFixed(1)} m · y {state.y.toFixed(1)} m · jumps {state.jumps}
|
|
13
|
+
<div style={{ marginTop: 4, fontWeight: 400, opacity: 0.8 }}>Arrows or WASD move · Space jumps</div>
|
|
14
|
+
</div>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright 2026 Volter AI, Inc.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A FIRST PLAY SCRIPT, from `cyclotron add-play`. Play runs `<model>.play.ts` on a detached
|
|
6
|
+
* copy of the `.blend` beside it, so this one drives that model: the arrow keys or WASD move
|
|
7
|
+
* its first object across the ground, Space jumps, and the camera follows. It logs each jump
|
|
8
|
+
* (`cyclotron play-log`), offers the Game panel's Autoplay one behaviour (`wander`), and
|
|
9
|
+
* publishes its state to `game-state.ts`, which the React UI in `src/ui/game.tsx` draws.
|
|
10
|
+
* Positions under `root` are Blender's metres, Z up. Make it your game.
|
|
11
|
+
*/
|
|
12
|
+
import * as THREE from 'three';
|
|
13
|
+
import type { ModelPlayContext, ModelPlayGame } from '@volter/play/play-script';
|
|
14
|
+
import { publishGameState } from './game-state';
|
|
15
|
+
|
|
16
|
+
const SPEED = 4;
|
|
17
|
+
const JUMP = 5;
|
|
18
|
+
const GRAVITY = 9.81;
|
|
19
|
+
|
|
20
|
+
export default function firstPlay(play: ModelPlayContext): ModelPlayGame {
|
|
21
|
+
// The first object with a mesh in it: the starter Cube, or whatever this model holds.
|
|
22
|
+
const first = play.root.children.find((object) => {
|
|
23
|
+
let mesh = false;
|
|
24
|
+
object.traverse((child) => { mesh ||= (child as THREE.Mesh).isMesh === true; });
|
|
25
|
+
return mesh;
|
|
26
|
+
});
|
|
27
|
+
const player = first ? play.find(first.name) : null;
|
|
28
|
+
if (!player) throw new Error('This model has no mesh object for its play script to move.');
|
|
29
|
+
const ground = player.position.z;
|
|
30
|
+
let height = 0;
|
|
31
|
+
let rise = 0;
|
|
32
|
+
let jumps = 0;
|
|
33
|
+
let jumpHeld = false;
|
|
34
|
+
const eye = new THREE.Vector3();
|
|
35
|
+
const target = new THREE.Vector3();
|
|
36
|
+
// Play lights the model with its own lamps; the starter cube has none, so it gets a sky light.
|
|
37
|
+
let lit = false;
|
|
38
|
+
play.root.traverse((object) => { lit ||= (object as THREE.Light).isLight === true; });
|
|
39
|
+
const sky = lit ? null : new THREE.HemisphereLight('#ffffff', '#4d5a66', 2.5);
|
|
40
|
+
if (sky) play.root.add(sky);
|
|
41
|
+
|
|
42
|
+
// The bot holds keys exactly as a person would; the Game panel's Autoplay switches it on.
|
|
43
|
+
play.autoplay({
|
|
44
|
+
wander: ({ tick }) => {
|
|
45
|
+
const side = [['ArrowUp'], ['ArrowRight'], ['ArrowDown'], ['ArrowLeft']][Math.floor(tick / 60) % 4]!;
|
|
46
|
+
return { keys: tick % 60 === 0 ? [...side, 'Space'] : side, state: 'walking a square, jumping at each corner' };
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
update(dt) {
|
|
52
|
+
const held = (...codes: string[]) => codes.some((code) => play.keys.has(code));
|
|
53
|
+
player.position.x += ((held('ArrowRight', 'KeyD') ? 1 : 0) - (held('ArrowLeft', 'KeyA') ? 1 : 0)) * SPEED * dt;
|
|
54
|
+
player.position.y += ((held('ArrowUp', 'KeyW') ? 1 : 0) - (held('ArrowDown', 'KeyS') ? 1 : 0)) * SPEED * dt;
|
|
55
|
+
if (held('Space') && !jumpHeld && height === 0) {
|
|
56
|
+
rise = JUMP;
|
|
57
|
+
jumps += 1;
|
|
58
|
+
play.log('jump', { jumps, x: player.position.x, y: player.position.y });
|
|
59
|
+
}
|
|
60
|
+
jumpHeld = held('Space');
|
|
61
|
+
rise -= GRAVITY * dt;
|
|
62
|
+
height = Math.max(0, height + rise * dt);
|
|
63
|
+
if (height === 0) rise = 0;
|
|
64
|
+
player.position.z = ground + height;
|
|
65
|
+
// Chase from behind and above. `root` turns Blender's Z up into the stage's Y up.
|
|
66
|
+
play.root.localToWorld(eye.set(player.position.x, player.position.y - 6, ground + 3));
|
|
67
|
+
play.root.localToWorld(target.copy(player.position));
|
|
68
|
+
play.camera.position.copy(eye);
|
|
69
|
+
play.camera.up.set(0, 1, 0);
|
|
70
|
+
play.camera.lookAt(target);
|
|
71
|
+
publishGameState({ x: player.position.x, y: player.position.y, height, jumps });
|
|
72
|
+
},
|
|
73
|
+
dispose() {
|
|
74
|
+
sky?.removeFromParent();
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
package/starter/package.json
CHANGED
|
Binary file
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright 2026 Volter AI, Inc.
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
import type {ModelPlayContext} from '@volter/play/play-script';
|
|
5
|
+
import {initialState,publishRaceState,consumeCommands,type Racer,type RaceState,type RaceEvent,type Command} from './race-state';
|
|
6
|
+
import {at,nearest,length,wrap,angle,leftWidth} from './course';
|
|
7
|
+
type Car=Racer & {object:THREE.Object3D;s:number;distance:number;checkpoint:number;lane:number;parked:boolean;boostCooldown:number;drift:number;drifting:boolean;offroad:boolean;collisionCooldown:number;lastDecision:number};
|
|
8
|
+
type Inputs={throttle:number;brake:boolean;steer:number;drift:boolean;boost:boolean};
|
|
9
|
+
export default function play(ctx:ModelPlayContext){
|
|
10
|
+
const initialPositions=[[0,0],[-6.2,2.7],[4.8,6],[-1.5,24],[1,31],[7,41]];
|
|
11
|
+
const names=['Pip','Miso','Nova','Sprig','Mica','Rook'];
|
|
12
|
+
let state:RaceState={...initialState,events:[],racers:[]};let events:RaceEvent[]=[];let simTime=0,frame=0,clock=0,accumulator=0,previousKeys=new Set<string>(),endTime:number|null=null;let lastManual='';
|
|
13
|
+
// Each race event is kept for the HUD's race state and written to the editor's play log (`cyclotron play-log`).
|
|
14
|
+
const log=(kind:string,detail:Record<string,unknown>={})=>{events.push({time:+simTime.toFixed(3),frame,kind,...detail});if(events.length>1200)events.shift();ctx.log(kind,detail)};
|
|
15
|
+
const cars:Car[]=initialPositions.map(([x,y],id)=>{const object=ctx.find('Kart.'+id);if(!object)throw new Error('Missing authored Kart.'+id);const n=nearest(x,y);return {id,name:names[id],object,x,y,s:n.s,distance:n.s,heading:0,speed:0,progress:n.s/length,lap:1,finished:false,finishTime:null,coins:id===0?8:4,boost:0,checkpoint:1,lane:[0,-4.6,4.6,-2.2,1.8,3.7][id],parked:false,boostCooldown:0,drift:0,drifting:false,offroad:false,collisionCooldown:0,lastDecision:-1}});
|
|
16
|
+
ctx.root.traverse((o:any)=>{if(o.isDirectionalLight){o.shadow.mapSize.set(4096,4096);o.shadow.map?.dispose();o.shadow.map=null}});
|
|
17
|
+
const pickups=new THREE.Group();pickups.name='Race coin pickups';ctx.root.add(pickups);
|
|
18
|
+
const coinMaterial=new THREE.MeshStandardMaterial({color:0xffbe18,metalness:.55,roughness:.25});
|
|
19
|
+
const coinGeometry=new THREE.TorusGeometry(.34,.1,8,20);
|
|
20
|
+
const coins=Array.from({length:24},(_,i)=>{const s=(.25+Math.floor(i/3)*.086)*length, lane=[-4,0,4][i%3],p=at(s,lane);const mesh=new THREE.Mesh(coinGeometry,coinMaterial);mesh.name='Coin.'+i;mesh.position.set(p.x,p.y,.95);mesh.rotation.x=Math.PI/2;mesh.castShadow=true;pickups.add(mesh);return {mesh,x:p.x,y:p.y,ready:0,id:i}});
|
|
21
|
+
const sparks=new THREE.Group();sparks.name='Boost exhaust';ctx.root.add(sparks);const flameMat=new THREE.MeshBasicMaterial({color:0x47e5ff,transparent:true,opacity:.7});const flameGeo=new THREE.ConeGeometry(.18,.8,8);const flames=cars.map(()=>{const a=new THREE.Mesh(flameGeo,flameMat);a.rotation.x=Math.PI/2;sparks.add(a);return a});
|
|
22
|
+
const reset=(start=false)=>{const auto=state.autoplay;events=[];simTime=frame=clock=accumulator=0;endTime=null;lastManual='';for(const c of cars){const [x,y]=initialPositions[c.id],n=nearest(x,y);Object.assign(c,{x,y,s:n.s,distance:n.s,heading:0,speed:0,progress:n.s/length,lap:1,finished:false,finishTime:null,coins:c.id===0?8:4,boost:0,checkpoint:1,parked:false,boostCooldown:0,drift:0,drifting:false,offroad:false,collisionCooldown:0,lastDecision:-1});c.object.position.set(x,y,0);c.object.rotation.set(0,0,0)}for(const c of coins){c.ready=0;c.mesh.visible=true;c.mesh.rotation.z=0;}flames.forEach(f=>f.visible=false);state={...initialState,autoplay:auto,phase:start?'countdown':'ready',events:[],racers:[]};log('restart',{autoplay:auto,positions:cars.map(c=>({id:c.id,x:c.x,y:c.y}))});if(start)log('phase',{phase:'countdown'});publish();};
|
|
23
|
+
const publish=()=>{const order=[...cars].sort((a,b)=>a.finished&&b.finished?(a.finishTime??0)-(b.finishTime??0):a.finished?-1:b.finished?1:b.distance-a.distance);const p=cars[0];state={...state,time:simTime,frame,speed:p.speed,lap:p.lap,coins:p.coins,boost:p.boost,place:order.indexOf(p)+1,racers:cars.map(c=>({id:c.id,name:c.name,x:+c.x.toFixed(3),y:+c.y.toFixed(3),heading:+c.heading.toFixed(4),speed:+c.speed.toFixed(3),progress:+(c.distance/length).toFixed(5),lap:c.lap,finished:c.finished,finishTime:c.finishTime,coins:c.coins,boost:+c.boost.toFixed(3),parked:c.parked,drifting:c.drifting,offroad:c.offroad})),events:[...events],message:cars.every(c=>c.parked)?'All six racers finished':state.message};publishRaceState(state)};
|
|
24
|
+
const start=()=>{if(state.phase==='ready'){state={...state,phase:'countdown',countdown:3};log('phase',{phase:'countdown'})}};
|
|
25
|
+
const command=(cmd:Command)=>{if(cmd==='restart'){reset(state.autoplay);return;}if(cmd==='pause'){if(state.phase!=='ready'){state={...state,paused:!state.paused};log(state.paused?'pause':'resume')}return;}if(state.paused)return;if(cmd==='auto'){state={...state,autoplay:!state.autoplay};log('autoplay',{enabled:state.autoplay});if(state.autoplay)start()}else if(cmd==='start')start();};
|
|
26
|
+
function controller(c:Car):Inputs{
|
|
27
|
+
const look=at(c.s+7+Math.abs(c.speed)*.45,c.finished?9.5:c.lane);const desired=Math.atan2(look.x-c.x,look.y-c.y),err=angle(desired-c.heading);const bend=Math.abs(angle(at(c.s+18).heading-at(c.s+3).heading));const target=(c.id===0?24.5:20.5+c.id*.25)-Math.min(6,bend*7);
|
|
28
|
+
const inputs={throttle:c.speed<target?1:0,brake:c.speed>target+1,steer:Math.max(-1,Math.min(1,err*2.4)),drift:Math.abs(err)>(c.drifting?.20:.40)&&c.speed>13,boost:!c.finished&&bend<.15&&c.coins>=2&&c.speed>15&&c.boostCooldown===0};
|
|
29
|
+
if(c.finished){const remaining=length*3+28+c.id*8-c.distance;const desiredSpeed=Math.min(15,Math.sqrt(Math.max(0,remaining-.7)*32));inputs.throttle=c.speed<desiredSpeed-.2?1:0;inputs.brake=c.speed>desiredSpeed+.05;inputs.drift=false;inputs.boost=false;}
|
|
30
|
+
if(c.id===0&&simTime-c.lastDecision>2){c.lastDecision=simTime;log('autoplay-decision',{racer:c.id,targetSpeed:+target.toFixed(2),target:{x:+look.x.toFixed(2),y:+look.y.toFixed(2)},inputs:{...inputs,steer:+inputs.steer.toFixed(2)}})}
|
|
31
|
+
return inputs;
|
|
32
|
+
}
|
|
33
|
+
const boost=(c:Car,drift=false)=>{if(c.boostCooldown>0||c.finished)return;if(!drift&&c.coins<2)return;if(!drift)c.coins-=2;c.boost=drift?.7:1.4;c.boostCooldown=drift?1.2:3;log('boost',{racer:c.id,source:drift?'drift':'coins',coins:c.coins,duration:c.boost})};
|
|
34
|
+
function drive(c:Car,input:Inputs,dt:number){
|
|
35
|
+
if(c.parked)return;
|
|
36
|
+
c.collisionCooldown=Math.max(0,c.collisionCooldown-dt);c.boostCooldown=Math.max(0,c.boostCooldown-dt);
|
|
37
|
+
if(c.boost>0){c.boost=Math.max(0,c.boost-dt);if(c.boost===0)log('boost-end',{racer:c.id})}
|
|
38
|
+
if(input.boost)boost(c);
|
|
39
|
+
const drift=input.drift&&Math.abs(input.steer)>.1&&c.speed>6;
|
|
40
|
+
if(drift!==c.drifting){log(drift?'drift-start':'drift-end',{racer:c.id,charge:+c.drift.toFixed(2)});if(!drift&&c.drift>.6)boost(c,true);if(!drift)c.drift=0;c.drifting=drift}if(drift)c.drift+=dt;
|
|
41
|
+
let acceleration=input.throttle*12;
|
|
42
|
+
if(input.brake)acceleration=c.speed>0?-22:(c.finished?0:-9);
|
|
43
|
+
if(c.finished&&Math.abs(c.speed)<=.5&&c.distance>=3*length+26.5+c.id*8){c.speed=0;c.parked=true;log('parked',{racer:c.id,x:c.x,y:c.y,clearedFinish:true});return;}
|
|
44
|
+
const drag=input.throttle===0&&!input.brake?2.8:1.7;
|
|
45
|
+
if(c.speed!==0)acceleration-=Math.sign(c.speed)*drag;
|
|
46
|
+
c.speed+=acceleration*dt;
|
|
47
|
+
const maxSpeed=c.boost>0?33:25.5;
|
|
48
|
+
c.speed=Math.max(-7,Math.min(maxSpeed,c.speed));if(!input.throttle&&!input.brake&&Math.abs(c.speed)<.12)c.speed=0;
|
|
49
|
+
const turn=input.steer*(drift?1.9:1.45)*Math.min(1,Math.abs(c.speed)/7)*(c.speed<0?-1:1);c.heading=angle(c.heading+turn*dt);
|
|
50
|
+
c.x+=Math.sin(c.heading)*c.speed*dt;c.y+=Math.cos(c.heading)*c.speed*dt;
|
|
51
|
+
let n=nearest(c.x,c.y);const left=leftWidth(n.t,n.y),limit=n.lane<0?left:12;
|
|
52
|
+
const offroad=n.d>limit-1.2;
|
|
53
|
+
if(offroad!==c.offroad){c.offroad=offroad;log(offroad?'surface-leave':'surface-enter',{racer:c.id,surface:'Circuit asphalt',x:+c.x.toFixed(2),y:+c.y.toFixed(2)})}
|
|
54
|
+
if(offroad)c.speed*=Math.exp(-1.8*dt);
|
|
55
|
+
if(n.d>limit+1.2){const sign=Math.sign(n.lane),p=at(n.s,sign*(limit+1));c.x=p.x;c.y=p.y;c.speed*=.6;if(c.collisionCooldown===0){log('barrier-contact',{racer:c.id,object:sign<0?'Outside guardrail':'Inside sandstone verge',x:c.x,y:c.y});c.collisionCooldown=.8}n=nearest(c.x,c.y)}
|
|
56
|
+
let delta=n.s-c.s;if(delta>length/2)delta-=length;if(delta<-length/2)delta+=length;
|
|
57
|
+
// Projection advances only through physically adjacent road segments.
|
|
58
|
+
if(Math.abs(delta)<3+Math.abs(c.speed)*dt*2)c.distance+=delta;
|
|
59
|
+
c.s=n.s;
|
|
60
|
+
if(!c.finished&&c.distance>=c.checkpoint*length/4){log('checkpoint',{racer:c.id,checkpoint:c.checkpoint,x:c.x,y:c.y});c.checkpoint++;}
|
|
61
|
+
const lap=Math.min(3,Math.max(1,Math.floor(c.distance/length)+1));if(lap!==c.lap){c.lap=lap;log('lap',{racer:c.id,lap})}
|
|
62
|
+
if(!c.finished&&c.distance>=3*length&&c.checkpoint>=12){c.finished=true;c.finishTime=simTime;log('finish',{racer:c.id,name:c.name,time:simTime,x:c.x,y:c.y});if(c.id===0){endTime=simTime;state={...state,phase:'finished'};log('phase',{phase:'finished'})}}
|
|
63
|
+
c.object.position.set(c.x,c.y,0);c.object.rotation.set(0,0,-c.heading);
|
|
64
|
+
}
|
|
65
|
+
const eye=new THREE.Vector3(),target=new THREE.Vector3();
|
|
66
|
+
function camera(){const p=cars[0],h=p.heading;ctx.root.localToWorld(eye.set(p.x-Math.sin(h)*10.7,p.y-Math.cos(h)*10.7,4.7));ctx.root.localToWorld(target.set(p.x+Math.sin(h)*18,p.y+Math.cos(h)*18,.05));ctx.camera.position.copy(eye);ctx.camera.up.set(0,1,0);ctx.camera.lookAt(target);const cam=ctx.camera as THREE.PerspectiveCamera;cam.fov=47;cam.far=180;cam.updateProjectionMatrix();}
|
|
67
|
+
function physics(dt:number){
|
|
68
|
+
if(state.phase==='ready'||state.paused||cars.every(c=>c.parked))return;
|
|
69
|
+
simTime+=dt;frame++;
|
|
70
|
+
if(state.phase==='countdown'){state={...state,countdown:Math.max(0,state.countdown-dt)};if(state.countdown===0){state={...state,phase:'racing'};log('phase',{phase:'racing'});}return;}
|
|
71
|
+
const k=ctx.keys,manual:Inputs={throttle:k.has('ArrowUp')||k.has('KeyW')?1:0,brake:k.has('ArrowDown')||k.has('KeyS'),steer:(k.has('ArrowRight')||k.has('KeyD')?1:0)-(k.has('ArrowLeft')||k.has('KeyA')?1:0),drift:k.has('Space'),boost:k.has('ShiftLeft')||k.has('ShiftRight')};
|
|
72
|
+
const manualString=JSON.stringify(manual);if(!state.autoplay&&!botNow&&manualString!==lastManual){lastManual=manualString;log('manual-input',{inputs:manual});}
|
|
73
|
+
for(const c of cars)drive(c,c.id===0&&!state.autoplay&&!c.finished?manual:controller(c),dt);
|
|
74
|
+
for(let i=0;i<cars.length;i++)for(let j=i+1;j<cars.length;j++){
|
|
75
|
+
const a=cars[i],b=cars[j];if(a.finished||b.finished)continue;const dx=b.x-a.x,dy=b.y-a.y,d=Math.hypot(dx,dy);if(d>0&&d<2){const push=(2-d)*.51;a.x-=dx/d*push;a.y-=dy/d*push;b.x+=dx/d*push;b.y+=dy/d*push;if(a.collisionCooldown===0&&b.collisionCooldown===0){a.speed*=.85;b.speed*=.85;log('kart-contact',{a:i,b:j,object:'Kart.'+j,x:a.x,y:a.y});a.collisionCooldown=b.collisionCooldown=.5}}
|
|
76
|
+
}
|
|
77
|
+
for(const coin of coins){coin.mesh.visible=simTime>=coin.ready;if(!coin.mesh.visible)continue;coin.mesh.rotation.z=simTime*2;for(const c of cars){if(c.finished)continue;if(Math.hypot(c.x-coin.x,c.y-coin.y)<1.5){c.coins++;coin.ready=simTime+6;coin.mesh.visible=false;log('pickup',{racer:c.id,object:'Coin.'+coin.id,coins:c.coins});break}}}
|
|
78
|
+
cars.forEach((c,i)=>{const f=flames[i];f.visible=c.boost>0&&!c.parked;f.position.set(c.x-Math.sin(c.heading)*1.8,c.y-Math.cos(c.heading)*1.8,.38);f.rotation.set(Math.PI/2,0,-c.heading);f.scale.setScalar(.8+.25*Math.sin(simTime*42));});
|
|
79
|
+
}
|
|
80
|
+
// THE GAME PANEL'S AUTOPLAY (`play autoplay on race`): a bot that drives Pip with the keys a person
|
|
81
|
+
// holds, through the manual code above, steering as the race's own AUTO does (`controller`, which logs
|
|
82
|
+
// its decisions). Steering keys are pulsed so their average follows that steer; while the bot drives,
|
|
83
|
+
// those key changes are not logged as manual input.
|
|
84
|
+
let botDriving=false,botNow=false,steerDebt=0;
|
|
85
|
+
ctx.autoplay({race:()=>{
|
|
86
|
+
botDriving=true;const c=cars[0];
|
|
87
|
+
if(state.paused)return {keys:[],state:'race paused'};
|
|
88
|
+
if(state.phase==='ready')return {keys:['ArrowUp'],state:'starting the race'};
|
|
89
|
+
if(state.phase==='countdown')return {keys:[],state:'waiting for the countdown'};
|
|
90
|
+
if(c.finished)return {keys:[],state:'finished; Pip parks past the line'};
|
|
91
|
+
const input=controller(c),keys:string[]=[];steerDebt+=input.steer;
|
|
92
|
+
if(steerDebt>=.5){keys.push('ArrowRight');steerDebt-=1}else if(steerDebt<=-.5){keys.push('ArrowLeft');steerDebt+=1}
|
|
93
|
+
if(input.throttle)keys.push('ArrowUp');if(input.brake)keys.push('ArrowDown');if(input.drift)keys.push('Space');if(input.boost)keys.push('ShiftLeft');
|
|
94
|
+
return {keys,state:`racing lap ${c.lap} of 3`};
|
|
95
|
+
}});
|
|
96
|
+
reset(false);
|
|
97
|
+
return {update(dt:number){
|
|
98
|
+
botNow=botDriving;botDriving=false;
|
|
99
|
+
const keyCommands:[string,Command][]=[['Enter','start'],['KeyO','auto'],['KeyP','pause'],['KeyR','restart']];
|
|
100
|
+
const commands=consumeCommands();for(const [key,cmd]of keyCommands)if(ctx.keys.has(key)&&!previousKeys.has(key))commands.push(cmd);
|
|
101
|
+
for(const cmd of commands)command(cmd);
|
|
102
|
+
const moving=['ArrowUp','ArrowDown','ArrowLeft','ArrowRight','KeyW','KeyA','KeyS','KeyD'].some(k=>ctx.keys.has(k));
|
|
103
|
+
if(moving&&!state.paused&&!cars[0].finished){if(state.autoplay){state={...state,autoplay:false};log('autoplay',{enabled:false,cause:'manual takeover'})}start()}
|
|
104
|
+
previousKeys=new Set(ctx.keys);if(!state.paused){accumulator+=Math.min(dt,.1);while(accumulator>=1/60){physics(1/60);accumulator-=1/60}}else accumulator=0;
|
|
105
|
+
camera();clock+=dt;if(clock>.075||commands.length){publish();clock=0;}
|
|
106
|
+
},dispose(){pickups.removeFromParent();sparks.removeFromParent();coinGeometry.dispose();coinMaterial.dispose();flameGeo.dispose();flameMat.dispose();}};
|
|
107
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
#
|
|
3
|
+
# THE bpy SCRIPTS ARE GPL, AND THE REST OF YOUR PROJECT IS NOT.
|
|
4
|
+
#
|
|
5
|
+
# This file and the step scripts beside it drive `bpy`, Blender's Python API.
|
|
6
|
+
# The Blender Foundation's stated position — their licence page, under
|
|
7
|
+
# "Add-ons (Python scripts)" — is that the API "is an integral part of the
|
|
8
|
+
# software" and that the GPL "therefore requires that such scripts (if
|
|
9
|
+
# published) are being shared under a GPL compliant license". So a bpy script
|
|
10
|
+
# is a derivative work of Blender, and these are licensed GNU General Public
|
|
11
|
+
# License version 3 or later, exercising Blender's own "or later".
|
|
12
|
+
#
|
|
13
|
+
# WHAT THIS DOES NOT TOUCH. `canyon.blend` beside this file is YOURS, and so
|
|
14
|
+
# is anything you export from it — glTF, GLB, renders. That is the
|
|
15
|
+
# Foundation's position too, on the same page under "Your Artwork": what you
|
|
16
|
+
# make with Blender is your sole property, "including the .blend files and
|
|
17
|
+
# other data files Blender can write". The play script, the race state, the
|
|
18
|
+
# textures and the React UI the template gave you are MIT. This licence
|
|
19
|
+
# reaches the bpy scripts and nothing else.
|
|
20
|
+
#
|
|
21
|
+
# If you would rather not carry them: delete them. The `.blend` is the
|
|
22
|
+
# document — these are only the recorded source of how it was made — and
|
|
23
|
+
# nothing in the project reads them at runtime. If you write your own bpy
|
|
24
|
+
# scripts, the Foundation's position applies to them on the same terms; it is
|
|
25
|
+
# not a rule of ours and is not ours to waive, because the copyright in
|
|
26
|
+
# Blender is Blender's authors'.
|
|
27
|
+
#
|
|
28
|
+
# Copyright 2026 Volter AI, Inc.
|
|
29
|
+
|
|
30
|
+
"""Canyon Comet's authoring entry: the record of how `canyon.blend` was made.
|
|
31
|
+
|
|
32
|
+
The saved `canyon.blend` is the document, and it is authoritative: this script
|
|
33
|
+
never rebuilds existing artwork. Run on a file without the `Canyon Comet`
|
|
34
|
+
collection, it runs the milestone scripts beside it in order (the circuit,
|
|
35
|
+
six karts and chase camera, then the canyon, textures from `src/textures/`,
|
|
36
|
+
polish and details, and last `scenery_ao.py`, which bakes ambient occlusion
|
|
37
|
+
into the static scenery), each saving `src/models/canyon.blend`.
|
|
38
|
+
|
|
39
|
+
Run it through the session's Blender, from this project:
|
|
40
|
+
|
|
41
|
+
exec(open("<project root>/src/models/canyon.py").read())
|
|
42
|
+
|
|
43
|
+
Coordinates are metres, Z is up. At Play, `canyon.play.ts` drives the six
|
|
44
|
+
`Kart.N` empties around the circuit that `course.ts` shares with these scripts.
|
|
45
|
+
"""
|
|
46
|
+
import bpy
|
|
47
|
+
from pathlib import Path
|
|
48
|
+
ROOT=Path(bpy.data.filepath).resolve().parents[2]
|
|
49
|
+
if bpy.data.collections.get('Canyon Comet'):
|
|
50
|
+
print('Canyon Comet is already authored. Existing geometry and manual edits preserved.')
|
|
51
|
+
else:
|
|
52
|
+
# Each step runs in its own namespace: they all name their own ROOT and helpers.
|
|
53
|
+
for step in ['circuit','environment','refine','polish','detail','complete_environment','kart_finish','driver_details','finish_scene','scenery_ao']:
|
|
54
|
+
source=ROOT/'src'/'models'/(step+'.py')
|
|
55
|
+
exec(compile(source.read_text(),step+'.py','exec'),{'__name__':'__main__','__file__':str(source)})
|