@volter/cyclotron 0.5.203 → 0.5.204
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BUNDLED_NOTICES +14 -14
- package/README.md +1 -1
- package/dist/.vite/manifest.json +1188 -1188
- package/dist/assets/EntityModelDocument-BfqEea57.js +1 -0
- package/dist/assets/EnvironmentAssetDocument-CsLtMafz.js +1 -0
- package/dist/assets/InspectorObjectPreview-DKTD8djU.js +1 -0
- package/dist/assets/LiveModuleDocument-BuNpJQbc.js +2 -0
- package/dist/assets/LutAssetDocument-Bqp3Wsg1.js +1 -0
- package/dist/assets/ModelAssetDocument-DcQf2FRl.js +1 -0
- package/dist/assets/NonThreeAuthoringBootstrap-CNKyK_Rt.js +1 -0
- package/dist/assets/Object3DDocumentToolbar-BRg5pYmf.js +1 -0
- package/dist/assets/Object3DPreview-Do101Vjr.js +2 -0
- package/dist/assets/QuarksAssetDocument-DovrWroI.js +2 -0
- package/dist/assets/ShaderAssetDocument-u_toG95W.js +1 -0
- package/dist/assets/StageHost-oT_AnfoY.js +1179 -0
- package/dist/assets/ToolObject3DPreview-CFx1wGMT.js +1 -0
- package/dist/assets/ViewportShadingMenu-CJ81Ahky.js +1 -0
- package/dist/assets/animation-mixers.service-Dx323V-E.js +1 -0
- package/dist/assets/animation-timeline.utility-DrwWm9e0.js +1 -0
- package/dist/assets/asset-preview-CuTe-U4d.js +4 -0
- package/dist/assets/blender-node-editor.document-BxeP17Xa.js +1 -0
- package/dist/assets/blender-properties-model-emPa3cK0.js +1 -0
- package/dist/assets/blender-properties-tab-DPdOZl5C.js +3 -0
- package/dist/assets/blender-runtime-host-BJ0IarOD.js +7221 -0
- package/dist/assets/blender-runtime.document-UEEQ0E4-.js +13 -0
- package/dist/assets/blender-screenshot.menu-BW_l1eg-.js +1 -0
- package/dist/assets/blender-timeline.document-C5HzsCta.js +1 -0
- package/dist/assets/blender-uv-editor.document-Ck9i56Yy.js +1 -0
- package/dist/assets/blender-version.status-5IP63O6U.js +1 -0
- package/dist/assets/blender.command-Ch0NrqOl.js +1 -0
- package/dist/assets/blender.status-BZyzLhRE.js +1 -0
- package/dist/assets/model-inspection-BRArHWRL.js +1 -0
- package/dist/assets/models.finder-DsCBrBod.js +1 -0
- package/dist/assets/object3d-document-session-registry-BBdl6yAl.js +2 -0
- package/dist/assets/play-live-CNIS7Ko6.js +1 -0
- package/dist/assets/product-CtriX0xi.js +14 -0
- package/dist/assets/properties-bone-constraints.inspector-B6M_hmS5.js +1 -0
- package/dist/assets/properties-bone.inspector-Dy-LejF4.js +1 -0
- package/dist/assets/properties-collection.inspector-Ba2zTWD-.js +1 -0
- package/dist/assets/properties-constraints.inspector-D29yLx1k.js +1 -0
- package/dist/assets/properties-data.inspector-BKJcR8kl.js +1 -0
- package/dist/assets/properties-material.inspector-Bhu4CyhT.js +1 -0
- package/dist/assets/properties-modifiers.inspector-BM-S9T2X.js +1 -0
- package/dist/assets/properties-object.inspector-D2aQBfWp.js +1 -0
- package/dist/assets/properties-output.inspector-CUVnALyp.js +1 -0
- package/dist/assets/properties-particles.inspector-CDidh-CH.js +1 -0
- package/dist/assets/properties-physics.inspector-umzx6kQ4.js +1 -0
- package/dist/assets/properties-render.inspector-BmsJUj7A.js +1 -0
- package/dist/assets/properties-scene.inspector-Dhq7ziGV.js +1 -0
- package/dist/assets/properties-texture.inspector-CyQ48n0m.js +1 -0
- package/dist/assets/properties-view-layer.inspector-CwUUoh0y.js +1 -0
- package/dist/assets/properties-world.inspector-cgoG1r0g.js +1 -0
- package/dist/assets/react-18-CFVAQPHm.js +1 -0
- package/dist/assets/stage-keyboard-D_xRK1dc.js +1 -0
- package/dist/assets/stage-overlay-set-BVfm5BRl.js +1 -0
- package/dist/assets/stage-presence-markers-q9a-7bW8.js +1 -0
- package/dist/assets/stage-transform-tools-CShiNJb1.js +1 -0
- package/dist/assets/standard-viewport-dressing-DYiIyLon.js +24 -0
- package/dist/assets/three-integration.service-DvMFG956.js +2 -0
- package/dist/assets/volter-sdk-Dc6t2ANP.js +2363 -0
- package/dist/assets/volter-sdk-account-xUIG6PEf.js +1 -0
- package/dist/assets/volter-sdk-client-BcOEVIJw.js +1 -0
- package/dist/assets/volter-sdk-contributions-DwJfq4Gk.js +1 -0
- package/dist/assets/volter-sdk-css-numeric-style-dJEo63DR.js +1 -0
- package/dist/assets/volter-sdk-document-probe-pBOAuBoz.js +1 -0
- package/dist/assets/volter-sdk-editor-view-B_7oRA8p.js +1 -0
- package/dist/assets/volter-sdk-host-DTtxOSh7.js +1 -0
- package/dist/assets/volter-sdk-http-transport.browser-cl14iM0z.js +1 -0
- package/dist/assets/volter-sdk-index-CRMcVbKb.js +1 -0
- package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-tsPmGg86.js +1 -0
- package/dist/assets/volter-sdk-kit-account-client-CfwiwZF_.js +1 -0
- package/dist/assets/volter-sdk-kit-action-registry-_UV4ymVV.js +1 -0
- package/dist/assets/volter-sdk-kit-active-product-C9ef_5p_.js +1 -0
- package/dist/assets/volter-sdk-kit-active-project-CzcXMhGX.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-editor-config-C42ndM32.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-module-SpxjBRxu.js +1 -0
- package/dist/assets/volter-sdk-kit-adapter-observation-CgaHKmxG.js +1 -0
- package/dist/assets/volter-sdk-kit-animation-animation-clock-BQVgKYc0.js +1 -0
- package/dist/assets/volter-sdk-kit-animation-stage-transport-CmMRnNGe.js +1 -0
- package/dist/assets/volter-sdk-kit-api-assets-ft-ZP2rL.js +1 -0
- package/dist/assets/volter-sdk-kit-api-base-BB4C-ta0.js +1 -0
- package/dist/assets/volter-sdk-kit-api-build-C1a5oHK9.js +1 -0
- package/dist/assets/volter-sdk-kit-api-logs-DFVJLlqY.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-identity-CP20p3-q.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-open-DA6BRrZ6.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-source-lFJ-e65g.js +1 -0
- package/dist/assets/volter-sdk-kit-api-project-state-Dr4B05rM.js +1 -0
- package/dist/assets/volter-sdk-kit-api-relay-B-MQZwHO.js +1 -0
- package/dist/assets/volter-sdk-kit-api-settings-9QPA-t86.js +1 -0
- package/dist/assets/volter-sdk-kit-api-themes-CgUXGQjo.js +1 -0
- package/dist/assets/volter-sdk-kit-api-worktrees-DlbLNOZv.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-capabilities-KZyi5J7S.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-compare-core-BGGpyCKu.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-editor-context-M_zSWvKo.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-events-DaU7O5qM.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-inspector-actions-DNQnvdZL.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-selection-DirKr8vb.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-2zMk4s04.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-thumbnails-vJDFNOLA.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-viewers-DpBFTexc.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-C00OmRMK.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-CptyRUZp.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-CGX_VNfp.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-CZZeu58-.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-DxLIpPji.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-LLtucOSM.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-CYbl-hOq.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-iTgoIJuw.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-DKhc6aFQ.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-DxNFUfvM.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-kg5BOy3I.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-Del8mpuy.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-C82gwnLj.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-DLj22790.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-project-content-BBMEClbZ.js +1 -0
- package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-DSHWm5e-.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-active-adapter-BxUiy2zh.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-active-systems-VmhetAka.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-adapter-key-CW8vs24w.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-_xAYFklX.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-B3oW9kah.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-CGwSf-EQ.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-CGbNsubL.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-Dzist6So.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-consumer-actions-a0TGhF6U.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-design-time-layers-DDPAis6I.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-Dce6Xyxq.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-B2U6Fy6p.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-D_bsSZUG.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-Bb09vg6M.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-layered-pick-CMwkZklt.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-BlzIBeji.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-V0HXWKVD.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-6UpTbn4k.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-panel-authoring-DFj1fCZB.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-B8_ULt_t.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-provenance-D13XOwFr.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-CiBqqgbb.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-iyxr7oZM.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-react-story-board-BzXiuZ7t.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-seam-evidence-DHF-6-LL.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-selection-scope-BDhLhq2I.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-DvtAsoMz.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-27FxTC_O.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-three-root-Dz6_eahi.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-DpfYBpUT.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-CfKP58nb.js +1 -0
- package/dist/assets/volter-sdk-kit-authoring-world-session-state-DXRrzwuC.js +1 -0
- package/dist/assets/volter-sdk-kit-availability-tick-CyW5ugn3.js +1 -0
- package/dist/assets/volter-sdk-kit-bitmap-label-D5kyDEEo.js +1 -0
- package/dist/assets/volter-sdk-kit-boot-routing-DZHRDEX-.js +1 -0
- package/dist/assets/volter-sdk-kit-breakpoint-state-CNKLlzs1.js +1 -0
- package/dist/assets/volter-sdk-kit-build-identity-CMr_k1QI.js +1 -0
- package/dist/assets/volter-sdk-kit-bytes-codec-BgT_R72Q.js +1 -0
- package/dist/assets/volter-sdk-kit-cancellation-reason-DLfIdpSV.js +1 -0
- package/dist/assets/volter-sdk-kit-canvas-frames-BM_Y8bUx.js +1 -0
- package/dist/assets/volter-sdk-kit-capture-camera-pose-RH4-gX5R.js +1 -0
- package/dist/assets/volter-sdk-kit-capture-size-DWId-IPB.js +1 -0
- package/dist/assets/volter-sdk-kit-chrome-registry-BOdfgq1e.js +1 -0
- package/dist/assets/volter-sdk-kit-chrome-slot-registry-Bk31oHoU.js +1 -0
- package/dist/assets/volter-sdk-kit-collaboration-client-6mh7Srlc.js +1 -0
- package/dist/assets/volter-sdk-kit-collaboration-presence-ByenuOy4.js +1 -0
- package/dist/assets/volter-sdk-kit-command-dispatch-d3_xwdkd.js +1 -0
- package/dist/assets/volter-sdk-kit-command-listener-n4AYpNey.js +1 -0
- package/dist/assets/volter-sdk-kit-command-registry-8r4aTdX0.js +1 -0
- package/dist/assets/volter-sdk-kit-component-board-registry-BJlj_R57.js +1 -0
- package/dist/assets/volter-sdk-kit-component-states-registry--2upeZnQ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AlignToolbar-CiNZv2ez.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ApplicationMenus-DzYH7jV8.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AssetEditorShell-D_Mr8wn7.js +1 -0
- package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-DVHraE1e.js +1 -0
- package/dist/assets/volter-sdk-kit-components-BoardRulers-B0yxrqJf.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-so_I9kO4.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-CAw5YHY8.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ChromeSlot-DYKvnA1B.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CodeView-CNqyXz6s.js +1 -0
- package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-VQCNyfJI.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ConsolePanel-CJEXZn32.js +1 -0
- package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-B5ps1S5p.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectionProjection-DXWMLJBj.js +1 -0
- package/dist/assets/volter-sdk-kit-components-Inspector-D-5acFaK.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-B-dKPAVC.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-kHWYROqG.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-4C4-OuRQ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorToolSection-7PkpHy6m.js +1 -0
- package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-Qb6lncsR.js +1 -0
- package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-I5bYPw8G.js +1 -0
- package/dist/assets/volter-sdk-kit-components-MediaProperties-DHqaKm53.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ProjectHeader-CKdOTd4z.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-CKAFAs9E.js +1 -0
- package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-CBcgXqO5.js +1 -0
- package/dist/assets/volter-sdk-kit-components-RootTextEditor-Cz67j-4n.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SaveStatus-Caz1OAep.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-pVJvS10a.js +1 -0
- package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-wG9w1Ov4.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-BOrb6QNK.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ToolHost-eJh2dHBK.js +1 -0
- package/dist/assets/volter-sdk-kit-components-Toolbar-CG76ZyMm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-TransientHint-CZ_1_HpT.js +1 -0
- package/dist/assets/volter-sdk-kit-components-VersionControlSection-oMLaOizm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-D8gkJZAJ.js +1 -0
- package/dist/assets/volter-sdk-kit-components-VolterLogo-CzGpbj4m.js +1 -0
- package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-Mh6Rrnms.js +1 -0
- package/dist/assets/volter-sdk-kit-components-account-documents-Dbwqig-x.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-documents-q07lSorN.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-jxfl9-Mb.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-selection-section-Cfra-fki.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-thumbnails-98Pzj8gX.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-DBoGqKx3.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-3-gMf79N.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-m3izls7N.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-DFDWUTXA.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-CQRanNix.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-jdECjyXq.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-s7uZ8Ud-.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-DHTFH1Bw.js +1 -0
- package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-DGbNY6dk.js +1 -0
- package/dist/assets/volter-sdk-kit-components-board-guides-CPEc5fFw.js +1 -0
- package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-uv02pyDE.js +1 -0
- package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-T5jgJn2X.js +1 -0
- package/dist/assets/volter-sdk-kit-components-core-utilities-CeVE6o2Q.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-preview-section-DoVWbcT1.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-revert-label-DzXZZ_Vw.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-selection-BYfzBGYs.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-DwMnLWyF.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-transform-BGPtVmG9.js +1 -0
- package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-D7ASpnJ3.js +1 -0
- package/dist/assets/volter-sdk-kit-components-kind-documents-Ci09TFHE.js +1 -0
- package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-DTn8M-wN.js +1 -0
- package/dist/assets/volter-sdk-kit-components-project-tool-documents-Du8YfSZs.js +1 -0
- package/dist/assets/volter-sdk-kit-components-scene-documents-Ch1YT0xR.js +1 -0
- package/dist/assets/volter-sdk-kit-components-status-contributions-DFVudgLm.js +1 -0
- package/dist/assets/volter-sdk-kit-components-tool-documents-DeonY74x.js +1 -0
- package/dist/assets/volter-sdk-kit-components-tool-schema-form-DWgT2ck9.js +1 -0
- package/dist/assets/volter-sdk-kit-components-use-after-paint-F8L0rG-5.js +1 -0
- package/dist/assets/volter-sdk-kit-components-use-project-image-assets-B3VAx2pv.js +1 -0
- package/dist/assets/volter-sdk-kit-components-workspace-history-DUwOTfSr.js +1 -0
- package/dist/assets/volter-sdk-kit-components-world-documents-Dh7Mrvlx.js +1 -0
- package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-DCce_Nl3.js +1 -0
- package/dist/assets/volter-sdk-kit-composite-screenshot-Bx4ZwckJ.js +1 -0
- package/dist/assets/volter-sdk-kit-content-entry-source-registry-DHSyAl80.js +1 -0
- package/dist/assets/volter-sdk-kit-contribution-surfaces-nLNaCeiS.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-BQrkwTWS.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-DTr5Mqz1.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-DZWV_DXu.js +1 -0
- package/dist/assets/volter-sdk-kit-coverage-session-vitals-C3yMFqYq.js +1 -0
- package/dist/assets/volter-sdk-kit-creation-site-registry-GFc34k4W.js +1 -0
- package/dist/assets/volter-sdk-kit-delegate-harness-registry-DqCWUU60.js +1 -0
- package/dist/assets/volter-sdk-kit-document-areas-BpReVOBg.js +1 -0
- package/dist/assets/volter-sdk-kit-document-context-registry-h4QWXnDH.js +1 -0
- package/dist/assets/volter-sdk-kit-document-open-registry-Bsut-_gy.js +1 -0
- package/dist/assets/volter-sdk-kit-document-play-extension-Dnr7wLlF.js +1 -0
- package/dist/assets/volter-sdk-kit-document-preview-source-BIA66PX1.js +1 -0
- package/dist/assets/volter-sdk-kit-document-renderer-session-EhLaW1UH.js +1 -0
- package/dist/assets/volter-sdk-kit-document-stage-sessions-CNpw0-k6.js +1 -0
- package/dist/assets/volter-sdk-kit-document-viewports-BuNTj6gi.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-api-DXwcZRxd.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-chrome-capture-BbK96TB_.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-commands-Cmfp81UC.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-console-6m89k936.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-current-view-BnPHVBt8.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-document-probe-CX5IycrS.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-git-client-CMxMJwge.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-hotkeys-CEfK3Frz.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-lease-CTRjPMBI.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-lease-view-DddtK_ty.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-mode-DH2KoL5W.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-notifications-DG2RbDdr.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presence-B8lJuaMQ.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presentation-activity-BhtHqZzE.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-presentation-notice-SjwjzlrG.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-runtime-D-Kv52Vn.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-server-response-BlyTrVzB.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-session-attribution-DlmzCvu5.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-session-mode-BFDmZGNs.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-state-facets-C8uSztkB.js +1 -0
- package/dist/assets/volter-sdk-kit-editor-view-presentation-D7sN2Io2.js +1 -0
- package/dist/assets/volter-sdk-kit-environment-images-gEkxtdDw.js +1 -0
- package/dist/assets/volter-sdk-kit-eyedropper-session-iQlcdsrF.js +1 -0
- package/dist/assets/volter-sdk-kit-files-file-provider-BM3D7Hxu.js +1 -0
- package/dist/assets/volter-sdk-kit-files-project-files-D96nDy7l.js +1 -0
- package/dist/assets/volter-sdk-kit-finders-index-DzGUJ4WO.js +1 -0
- package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-BA3rf3j1.js +1 -0
- package/dist/assets/volter-sdk-kit-frame-frame-parts-2X8KuSIz.js +1 -0
- package/dist/assets/volter-sdk-kit-framed-document-capture-D8DGqqBo.js +1 -0
- package/dist/assets/volter-sdk-kit-game-surface-defaults-B8_7dFSa.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-export-state-CTdz6Niu.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-replay-D9LpPdzN.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-session-time-CiWOAIvT.js +1 -0
- package/dist/assets/volter-sdk-kit-gameplay-sessions-BsqD2wAY.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-component-marks-DDQfNYKr.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-internals-yY_mjHaI.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-hat-40TT.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-vt0tpTZ8.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-node-rows-C3h8jMft.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-panel-view-DYeu5Gss.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-projection-DAJVvdEm.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-row-media-gsL26sRz.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-row-model-DHGRUiLM.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-rows-uQY5gDYt.js +1 -0
- package/dist/assets/volter-sdk-kit-hierarchy-walk-CTC6Etjc.js +1 -0
- package/dist/assets/volter-sdk-kit-history-editor-session-Ca2bFgGi.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-commands-DLBwl4Hd.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-delegate-3OiooMej.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-limit-notices-DXi28Jld.js +1 -0
- package/dist/assets/volter-sdk-kit-history-history-service-kr1hZRoU.js +1 -0
- package/dist/assets/volter-sdk-kit-history-persistence-coordinator-bbObuDbt.js +1 -0
- package/dist/assets/volter-sdk-kit-history-project-file-history-BzIwuOcz.js +1 -0
- package/dist/assets/volter-sdk-kit-history-project-root-history-backends-BNm9dOmX.js +1 -0
- package/dist/assets/volter-sdk-kit-history-resource-registry-CUXFY-oI.js +1 -0
- package/dist/assets/volter-sdk-kit-history-snapshot-store-BO_X174w.js +1 -0
- package/dist/assets/volter-sdk-kit-history-source-history-backend-Dbou8wZe.js +1 -0
- package/dist/assets/volter-sdk-kit-hmr-registration-group-DokR-9Y2.js +1 -0
- package/dist/assets/volter-sdk-kit-hmr-stable-react-context-BZd9eBK4.js +1 -0
- package/dist/assets/volter-sdk-kit-hotkeys-BFqIb2IE.js +1 -0
- package/dist/assets/volter-sdk-kit-inference-diagnostics-DvJL1JAP.js +1 -0
- package/dist/assets/volter-sdk-kit-initial-project-BonNLqRW.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-active-subject-BAJCvCLY.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-active-surface-icBYCaHR.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-compose-subject-DHrhix9n.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-display-DrofUfiU.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-document-subject-CI0aalrz.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-game-subject-GXwOrcl1.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-model-CAzunjkJ.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-node-media-DUbhfpyi.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-null-subject-DDu9eiuR.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-serialize-Ca5VK8TD.js +1 -0
- package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-OLA0PBhX.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-presentation-v3Dd6aiU.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-property-grouping-0LgfwmIq.js +1 -0
- package/dist/assets/volter-sdk-kit-inspector-section-registry-DMhI2PuF.js +1 -0
- package/dist/assets/volter-sdk-kit-instance-source-actions-BniKGWCD.js +1 -0
- package/dist/assets/volter-sdk-kit-js-heap-D_k6ggRo.js +1 -0
- package/dist/assets/volter-sdk-kit-key-actions-CxnQwK8i.js +1 -0
- package/dist/assets/volter-sdk-kit-keymap-presets-BbO1GGLM.js +1 -0
- package/dist/assets/volter-sdk-kit-layout-policy-CKAA_Jn5.js +1 -0
- package/dist/assets/volter-sdk-kit-light-explorer-model-vZvDDwqC.js +1 -0
- package/dist/assets/volter-sdk-kit-live-canvas-frame-reNARBbE.js +1 -0
- package/dist/assets/volter-sdk-kit-live-document-Brotm2Qm.js +1 -0
- package/dist/assets/volter-sdk-kit-live-gesture-lock-CdoLLHOD.js +1 -0
- package/dist/assets/volter-sdk-kit-live-seam-evidence-jKL3n__8.js +1 -0
- package/dist/assets/volter-sdk-kit-live-session-registry-8Lji_Dgk.js +1 -0
- package/dist/assets/volter-sdk-kit-live-transition-CMLrfhxg.js +1 -0
- package/dist/assets/volter-sdk-kit-manifest-project-Dgihq_CM.js +1 -0
- package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-C8oBpgml.js +1 -0
- package/dist/assets/volter-sdk-kit-mount-failure-report-DxOf95Sz.js +1 -0
- package/dist/assets/volter-sdk-kit-native-selection-style-rJyrRoU1.js +1 -0
- package/dist/assets/volter-sdk-kit-object3d-document-write-policy-CGuHVDNP.js +1 -0
- package/dist/assets/volter-sdk-kit-packaged-runtime--HEj501Q.js +1 -0
- package/dist/assets/volter-sdk-kit-performance-profiler-sat5agtE.js +1 -0
- package/dist/assets/volter-sdk-kit-performance-sources-Db3RTE8l.js +1 -0
- package/dist/assets/volter-sdk-kit-photograph-notice-Dw_OdYBc.js +1 -0
- package/dist/assets/volter-sdk-kit-play-boot-phase-CwaVYSQo.js +1 -0
- package/dist/assets/volter-sdk-kit-play-camera-flight-5mfUC0Zf.js +1 -0
- package/dist/assets/volter-sdk-kit-presentation-surface-DgfazB_k.js +1 -0
- package/dist/assets/volter-sdk-kit-product-command-VtmL88nk.js +1 -0
- package/dist/assets/volter-sdk-kit-project-adapter-Xw_Y-908.js +1 -0
- package/dist/assets/volter-sdk-kit-project-asset-refresh-B5Pl3j_B.js +1 -0
- package/dist/assets/volter-sdk-kit-project-asset-roots-B5-xEHVV.js +1 -0
- package/dist/assets/volter-sdk-kit-project-local-state-B99ZJ4fp.js +1 -0
- package/dist/assets/volter-sdk-kit-project-manager-B9VUIcqj.js +1 -0
- package/dist/assets/volter-sdk-kit-project-module-changes-CSjBPmxU.js +1 -0
- package/dist/assets/volter-sdk-kit-project-module-split-CRSPgtUT.js +1 -0
- package/dist/assets/volter-sdk-kit-project-provenance-Cp7ojKln.js +1 -0
- package/dist/assets/volter-sdk-kit-project-ready-DnmQDekk.js +1 -0
- package/dist/assets/volter-sdk-kit-project-shape-BTZFZR7i.js +1 -0
- package/dist/assets/volter-sdk-kit-project-tools-CtxTarSf.js +1 -0
- package/dist/assets/volter-sdk-kit-readiness-BMtOiiFi.js +1 -0
- package/dist/assets/volter-sdk-kit-renderer-resource-counts-De8QRV0a.js +1 -0
- package/dist/assets/volter-sdk-kit-reported-play-state-BXKNSieM.js +1 -0
- package/dist/assets/volter-sdk-kit-resolve-contributed-command-Buvg2G9m.js +1 -0
- package/dist/assets/volter-sdk-kit-resolve-relative-specifier-Y9zNJ1fg.js +1 -0
- package/dist/assets/volter-sdk-kit-retained-document-states-B_rMedrB.js +1 -0
- package/dist/assets/volter-sdk-kit-scene-document-plan-C3B-BeR-.js +1 -0
- package/dist/assets/volter-sdk-kit-scene-live-open-DeHpTATs.js +1 -0
- package/dist/assets/volter-sdk-kit-scoped-game-css-CyjKWEoj.js +1 -0
- package/dist/assets/volter-sdk-kit-served-url-CqwbU14d.js +1 -0
- package/dist/assets/volter-sdk-kit-session-close-Cky2WmF4.js +1 -0
- package/dist/assets/volter-sdk-kit-session-tombstone-x4b5dE0D.js +1 -0
- package/dist/assets/volter-sdk-kit-settings-settings-provider-D5xY_ycx.js +1 -0
- package/dist/assets/volter-sdk-kit-settings-store-cQRLMOjT.js +1 -0
- package/dist/assets/volter-sdk-kit-shell-store-door-D-GgCwa8.js +1 -0
- package/dist/assets/volter-sdk-kit-shell-store-yjr4tC_5.js +1 -0
- package/dist/assets/volter-sdk-kit-source-conflict-B6wxxc3L.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-context-CyVQ6GFM.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-invalidation-DLBg5l-f.js +1 -0
- package/dist/assets/volter-sdk-kit-stage-store-registry-C6UVdwEB.js +1 -0
- package/dist/assets/volter-sdk-kit-startup-failure-C_vNdlH4.js +1 -0
- package/dist/assets/volter-sdk-kit-state-report-deferral-BJ_dsrDV.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-host-files-storage-CXwZNOlA.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-http-storage-Bhevn2WU.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-index-S82TOyGN.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-mem-storage-DINeocEt.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-path-lock-gH0K6boV.js +1 -0
- package/dist/assets/volter-sdk-kit-storage-paths-CKDiJr8B.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-BmQPNsEP.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-compose-project-stories-Cy5zTMkm.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-prefabs-finder-BHL82LAh.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-DTNNX4cl.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-project-story-regions-D_YjyDyE.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-scope-24yPysU7.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-capture-BEKuIyYL.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-declared-medium-05xRaehz.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-discovery-Cdlg6305.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-CDvJoNPe.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-grouping-DgtmbpJ7.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-presentation-Casxif9e.js +1 -0
- package/dist/assets/volter-sdk-kit-stories-story-registry-BvHoY8Zf.js +1 -0
- package/dist/assets/volter-sdk-kit-story-document-openers-Dgf-awp5.js +1 -0
- package/dist/assets/volter-sdk-kit-story-thumbnails-C0DMx300.js +1 -0
- package/dist/assets/volter-sdk-kit-surface-keyboard-a7u-xvWh.js +1 -0
- package/dist/assets/volter-sdk-kit-surface-state-B3xeZgFt.js +1 -0
- package/dist/assets/volter-sdk-kit-system-seam-evidence-CCQZFekd.js +1 -0
- package/dist/assets/volter-sdk-kit-tab-census-DUFqFdYA.js +1 -0
- package/dist/assets/volter-sdk-kit-tab-lifecycle-client-CyLGzEsH.js +1 -0
- package/dist/assets/volter-sdk-kit-theme-library-ChB7TH1t.js +1 -0
- package/dist/assets/volter-sdk-kit-theme-preference-C3F0pO3f.js +1 -0
- package/dist/assets/volter-sdk-kit-three-viewport-presentation-3YG5TslE.js +1 -0
- package/dist/assets/volter-sdk-kit-tool-contribution-play-DTY5CEgV.js +1 -0
- package/dist/assets/volter-sdk-kit-tool-loader-CCHQfqsF.js +1 -0
- package/dist/assets/volter-sdk-kit-transform-mode-request-Cdt2Pfc3.js +1 -0
- package/dist/assets/volter-sdk-kit-transient-hint-Dt57gjFB.js +1 -0
- package/dist/assets/volter-sdk-kit-transport-strip-tkdyj5iV.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-C4U6uEKj.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-inspect-YfMT6kQG.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-B6e9iBkt.js +1 -0
- package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-0ccn1WGm.js +1 -0
- package/dist/assets/volter-sdk-kit-user-local-state-CXD142zV.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-activation-timings-BWwEoQaL.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-editor-controls-DCILD0rx.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-presentation-Btm4dnQO.js +1 -0
- package/dist/assets/volter-sdk-kit-viewport-surface-status-B0--I6Fh.js +1 -0
- package/dist/assets/volter-sdk-kit-wait-until-D7BruTbg.js +1 -0
- package/dist/assets/volter-sdk-kit-worker-call-metrics-DikUbFEi.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-areas-BMqjyNIV.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-aux-commands-B1SpyMqR.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-available-documents-DGwQobaL.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-core-utilities-C6ZgxYOQ.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-ids-C3awSc5H.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-registry-DphKq5ll.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-document-restore-C91CVSCH.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-host-commands-B5DmiPFl.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-persistence-gate-Hbf78fPK.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-play-utilities-CJabpKW8.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-presets-Bmsw8CG_.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-regions-BHVn1Aey.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-static-panels-CkHThB18.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-status-registry-sQbulMKn.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-storage-B9kOguh-.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-style-xAhYw_hR.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-utility-commands-CKwj5XR7.js +1 -0
- package/dist/assets/volter-sdk-kit-workspace-utility-registry-CmxfAHgq.js +1 -0
- package/dist/assets/volter-sdk-kit-world-adoption-uKkfoWJN.js +1 -0
- package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-ivVooVbq.js +1 -0
- package/dist/assets/volter-sdk-kit-world-document-routing-DdA3J0yu.js +1 -0
- package/dist/assets/volter-sdk-kit-world-pan-state-ChlD977O.js +1 -0
- package/dist/assets/volter-sdk-kit-write-pipe-DmjD7ASL.js +1 -0
- package/dist/assets/volter-sdk-layout-arrangements-BV-rtqcD.js +1 -0
- package/dist/assets/volter-sdk-layouts-DQOzCulb.js +1 -0
- package/dist/assets/volter-sdk-selection-DcYKyCj2.js +1 -0
- package/dist/assets/volter-sdk-session-command-table-CpHcTWJ9.js +1 -0
- package/dist/assets/volter-sdk-session-editor-brand-0h4ZK_ou.js +1 -0
- package/dist/assets/volter-sdk-session-editor-compatibility-D5QRyxtv.js +1 -0
- package/dist/assets/volter-sdk-session-editor-control-protocol-eTblxxXS.js +1 -0
- package/dist/assets/volter-sdk-session-entrypoint-selection-readers-BLapOYBD.js +1 -0
- package/dist/assets/volter-sdk-session-game-css-scope-36SakZV0.js +1 -0
- package/dist/assets/volter-sdk-session-project-module-url-B9BjVL-W.js +1 -0
- package/dist/assets/volter-sdk-session-relative-path-guard-D6GsYmxe.js +1 -0
- package/dist/assets/volter-sdk-session-tool-contribution-convention-dJHJyi2s.js +1 -0
- package/dist/assets/volter-sdk-types-h05r24VY.js +1 -0
- package/dist/assets/volter-sdk-views-D9dseLRk.js +1 -0
- package/dist/assets/volter-sdk-widgets-design-system-VeNDGOle.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-appearance-DI6pqf5L.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-material-DpaSpCox.js +1 -0
- package/dist/assets/volter-sdk-widgets-icon-set-registry-CPrg-BlH.js +1 -0
- package/dist/assets/volter-sdk-widgets-index-Cya8_9-f.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-Bv4mj-uG.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-DUOHH6Fk.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-BvRGHRfR.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-AwFOXbba.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-PQRwu0Sj.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-Dy6YkFnK.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-Df106_ox.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-Dy-tWXMs.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-DlbDGo5Y.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-DUicJwPI.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-eui_cY6m.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-C5A88ghS.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-Cuat5_mN.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-Bflb3QF6.js +1 -0
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-BE9nodfE.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-Cmf9dI1s.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Fields-BZi0XHNm.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-List-DyaHdy3M.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-BYVsyF0W.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-CY3SjTNC.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-D4OuYIX3.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-B0jrVqW_.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tree-C6_tidhs.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-B-XMEiAc.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Button-CIBH2B7E.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-DFPqOyaK.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-DfnAY4s9.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-Djh9G6vx.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-nKzEEszM.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-DnSW8vm5.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-B0qUsEj9.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Layout-BRz6LF6Z.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Menu-C7DWCEBM.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-DD957NFV.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Panel-DCGHznF0.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-Dhmqzwzv.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Text-HKY7PI0B.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-pA57zg1c.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-Cy5OfGxU.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-BFpLSKZq.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-banner-tones-WZrE2BkU.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-CuAgbReG.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-egXQAepT.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-Cj5ge_Sn.js +1 -0
- package/dist/assets/volter-sdk-widgets-theme-DZfoy9UH.js +1 -0
- package/dist/assets/volter-sdk-widgets-z-index-BgXU6gF9.js +1 -0
- package/dist/assets/volter-shared-fontawesome-CJtWsAa5.js +1 -0
- package/dist/assets/volter-shared-jsx-dev-runtime-DE65WWqS.js +1 -0
- package/dist/assets/volter-shared-jsx-runtime-DVSK9k9G.js +1 -0
- package/dist/assets/volter-shared-react-D7esH4L1.js +1 -0
- package/dist/assets/volter-shared-react-dom-CqXNyca_.js +1 -0
- package/dist/assets/volter-shared-react-dom-client-Ctokfwqy.js +1 -0
- package/dist/volter-shared-react.json +6 -6
- package/dist/volter-shared-sdk.json +462 -462
- package/dist-node/cli.js +529 -238
- package/dist-node/create.js +14 -14
- package/package.json +14 -14
- package/dist/assets/EntityModelDocument-CTq_jwpe.js +0 -1
- package/dist/assets/EnvironmentAssetDocument-CaSQc1HY.js +0 -1
- package/dist/assets/InspectorObjectPreview-P6pJxnGB.js +0 -1
- package/dist/assets/LiveModuleDocument-B6Iw2YIE.js +0 -2
- package/dist/assets/LutAssetDocument-C7Tc5hRu.js +0 -1
- package/dist/assets/ModelAssetDocument-BUOK0YzX.js +0 -1
- package/dist/assets/NonThreeAuthoringBootstrap-Bbtz8I0R.js +0 -1
- package/dist/assets/Object3DDocumentToolbar-GjvQOSkS.js +0 -1
- package/dist/assets/Object3DPreview-BUogCxPt.js +0 -2
- package/dist/assets/QuarksAssetDocument-Cxg3fT6D.js +0 -2
- package/dist/assets/ShaderAssetDocument-BbXBHSY3.js +0 -1
- package/dist/assets/StageHost-BtQd8CQk.js +0 -1179
- package/dist/assets/ToolObject3DPreview-imwBjs0O.js +0 -1
- package/dist/assets/ViewportShadingMenu-Dx1gY8Op.js +0 -1
- package/dist/assets/animation-mixers.service-fNXcr-Vc.js +0 -1
- package/dist/assets/animation-timeline.utility-Dzab5JgT.js +0 -1
- package/dist/assets/asset-preview-BEzZu4j-.js +0 -4
- package/dist/assets/blender-node-editor.document-Cu3LXipe.js +0 -1
- package/dist/assets/blender-properties-model-BrD2rboW.js +0 -1
- package/dist/assets/blender-properties-tab-CkbWamuD.js +0 -3
- package/dist/assets/blender-runtime-host-7Wv16WQe.js +0 -7221
- package/dist/assets/blender-runtime.document-CSHvDIaD.js +0 -13
- package/dist/assets/blender-screenshot.menu-CELFKP08.js +0 -1
- package/dist/assets/blender-timeline.document-BvHkPBTZ.js +0 -1
- package/dist/assets/blender-uv-editor.document-DVsbsG0P.js +0 -1
- package/dist/assets/blender-version.status-D_YQqOVz.js +0 -1
- package/dist/assets/blender.command-M9NTZ04b.js +0 -1
- package/dist/assets/blender.status-H7PL8qIV.js +0 -1
- package/dist/assets/model-inspection-DAugZuDb.js +0 -1
- package/dist/assets/models.finder-C37d1CqG.js +0 -1
- package/dist/assets/object3d-document-session-registry-Nly7qqyW.js +0 -2
- package/dist/assets/play-live-nju-LbTd.js +0 -1
- package/dist/assets/product-B76VmSfR.js +0 -14
- package/dist/assets/properties-bone-constraints.inspector-CICws11L.js +0 -1
- package/dist/assets/properties-bone.inspector-BTh8HMja.js +0 -1
- package/dist/assets/properties-collection.inspector-CdxnUdEY.js +0 -1
- package/dist/assets/properties-constraints.inspector-CgLm__aq.js +0 -1
- package/dist/assets/properties-data.inspector-CPGohY4g.js +0 -1
- package/dist/assets/properties-material.inspector-BBmS0pWg.js +0 -1
- package/dist/assets/properties-modifiers.inspector-DmwrZuck.js +0 -1
- package/dist/assets/properties-object.inspector-CcLxRnp2.js +0 -1
- package/dist/assets/properties-output.inspector-B21rsdeE.js +0 -1
- package/dist/assets/properties-particles.inspector-3oYMCgFh.js +0 -1
- package/dist/assets/properties-physics.inspector-CXHZdBQv.js +0 -1
- package/dist/assets/properties-render.inspector-BgQVOySW.js +0 -1
- package/dist/assets/properties-scene.inspector-BvJsraNi.js +0 -1
- package/dist/assets/properties-texture.inspector-DPHw4ryw.js +0 -1
- package/dist/assets/properties-view-layer.inspector-MBifnnqO.js +0 -1
- package/dist/assets/properties-world.inspector-DOOIqcDX.js +0 -1
- package/dist/assets/react-18-Ceee8kSy.js +0 -1
- package/dist/assets/stage-keyboard-CfcRPwij.js +0 -1
- package/dist/assets/stage-overlay-set-B8PO_8GO.js +0 -1
- package/dist/assets/stage-presence-markers-CheQj0g2.js +0 -1
- package/dist/assets/stage-transform-tools-B3kiH81y.js +0 -1
- package/dist/assets/standard-viewport-dressing-4szt4iVE.js +0 -24
- package/dist/assets/three-integration.service-BRF8px1l.js +0 -2
- package/dist/assets/volter-sdk-BKodmrby.js +0 -2363
- package/dist/assets/volter-sdk-account-LQPzi3UZ.js +0 -1
- package/dist/assets/volter-sdk-client-DgRgxfuo.js +0 -1
- package/dist/assets/volter-sdk-contributions-Di1uSPw_.js +0 -1
- package/dist/assets/volter-sdk-css-numeric-style-Gy-GyM9Y.js +0 -1
- package/dist/assets/volter-sdk-document-probe-kPNnaNGr.js +0 -1
- package/dist/assets/volter-sdk-editor-view-g0uNyGJC.js +0 -1
- package/dist/assets/volter-sdk-host-CXSewq8M.js +0 -1
- package/dist/assets/volter-sdk-http-transport.browser-B3TdfhI7.js +0 -1
- package/dist/assets/volter-sdk-index-4Kp3lnTd.js +0 -1
- package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-CjXSPJIo.js +0 -1
- package/dist/assets/volter-sdk-kit-account-client-ByTVy6-o.js +0 -1
- package/dist/assets/volter-sdk-kit-action-registry-D1kqJ80f.js +0 -1
- package/dist/assets/volter-sdk-kit-active-product-CEEc_Nk5.js +0 -1
- package/dist/assets/volter-sdk-kit-active-project-BrcrV5ab.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-editor-config-DqJAYMZM.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-module-Cm1FKR3D.js +0 -1
- package/dist/assets/volter-sdk-kit-adapter-observation-DNCkd2d_.js +0 -1
- package/dist/assets/volter-sdk-kit-animation-animation-clock-0FXkaCv-.js +0 -1
- package/dist/assets/volter-sdk-kit-animation-stage-transport-C7MuqkhX.js +0 -1
- package/dist/assets/volter-sdk-kit-api-assets-DC5mYDg9.js +0 -1
- package/dist/assets/volter-sdk-kit-api-base-Jd4izSaw.js +0 -1
- package/dist/assets/volter-sdk-kit-api-build-CXv7iVa0.js +0 -1
- package/dist/assets/volter-sdk-kit-api-logs-BJS5qQS0.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-identity-BTbrDP21.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-open-B2xmn-LQ.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-source-B8I05SPp.js +0 -1
- package/dist/assets/volter-sdk-kit-api-project-state-b7drJlZm.js +0 -1
- package/dist/assets/volter-sdk-kit-api-relay-CXoYAGag.js +0 -1
- package/dist/assets/volter-sdk-kit-api-settings-Ooohukfm.js +0 -1
- package/dist/assets/volter-sdk-kit-api-themes-DWL43Vk4.js +0 -1
- package/dist/assets/volter-sdk-kit-api-worktrees-36I3L3ep.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-capabilities-B_JHyPEo.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-compare-core-k1g4sfK4.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-editor-context-BtXkPrch.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-events-DNL9sOD1.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-inspector-actions-CIyFU73p.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-selection-YBxUZh2F.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-BP6LhiLy.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-thumbnails-cVPLoYS6.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-viewers-D4Nn4_BR.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-BSMDOcaj.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-Ce2VXJ2Z.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-BUyAOAr6.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-BItOpEbd.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-BBeCjirT.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-UfPQty9g.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-DDRruLeu.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-T_DLL58P.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-BjuMcGvJ.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-Ciewiory.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-DNMc3Uhr.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-BTZveIZ2.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-CGdTixEp.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-0cIEsyFV.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-project-content-B883NWEX.js +0 -1
- package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-udhK_bK8.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-active-adapter-CaV79Zym.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-active-systems-D-sRD1JD.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-adapter-key-4m95v2b2.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-CHBNmukT.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-Dz5hKatn.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-BHValVeR.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-RexSF-J2.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-CbcNeoQ9.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-consumer-actions-CnMS-_cD.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-design-time-layers-Zg9zdDef.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-DKLgadwc.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-M81xEMIH.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-DIwvGeWZ.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-EmOGzQA_.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-layered-pick-DmtPQOEU.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-CEz93V3J.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-mfK9FD-y.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-R2pfEtvy.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-panel-authoring-VEFAXYyu.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-B2qmlVET.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-provenance-CWNbjFfV.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-BkL1OUf3.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-DSJif289.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-react-story-board-DEtWuCdl.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-seam-evidence-yrcHmQZ9.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-selection-scope-DVHy1MNQ.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-CrTR4pdw.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-CzDJyhVH.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-three-root-DGX0pTp1.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-c-RZK1GX.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-Cea2wigf.js +0 -1
- package/dist/assets/volter-sdk-kit-authoring-world-session-state-N1az4tj8.js +0 -1
- package/dist/assets/volter-sdk-kit-availability-tick-B-AloCSv.js +0 -1
- package/dist/assets/volter-sdk-kit-bitmap-label-D5-Z31T5.js +0 -1
- package/dist/assets/volter-sdk-kit-boot-routing-XVOVyUc_.js +0 -1
- package/dist/assets/volter-sdk-kit-breakpoint-state-D-KEzzvG.js +0 -1
- package/dist/assets/volter-sdk-kit-build-identity-D-zdIjo6.js +0 -1
- package/dist/assets/volter-sdk-kit-bytes-codec-DVfFaFPs.js +0 -1
- package/dist/assets/volter-sdk-kit-cancellation-reason-DnCUNdRD.js +0 -1
- package/dist/assets/volter-sdk-kit-canvas-frames-BGh2p4Ce.js +0 -1
- package/dist/assets/volter-sdk-kit-capture-camera-pose-WspKGBnF.js +0 -1
- package/dist/assets/volter-sdk-kit-capture-size-DSdRe3ay.js +0 -1
- package/dist/assets/volter-sdk-kit-chrome-registry-D4L_4xEJ.js +0 -1
- package/dist/assets/volter-sdk-kit-chrome-slot-registry-Ce1SavKJ.js +0 -1
- package/dist/assets/volter-sdk-kit-collaboration-client-BklHxwDT.js +0 -1
- package/dist/assets/volter-sdk-kit-collaboration-presence-Cbx-Ojaw.js +0 -1
- package/dist/assets/volter-sdk-kit-command-dispatch-Dyhs6OSN.js +0 -1
- package/dist/assets/volter-sdk-kit-command-listener-CHEIOy3c.js +0 -1
- package/dist/assets/volter-sdk-kit-command-registry-CUKeDb9O.js +0 -1
- package/dist/assets/volter-sdk-kit-component-board-registry-BF8BzQDh.js +0 -1
- package/dist/assets/volter-sdk-kit-component-states-registry-RkljZ-Lm.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AlignToolbar-L-1f9zZf.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ApplicationMenus-BKxEMCFq.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AssetEditorShell-ByYpeg3g.js +0 -1
- package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-AzQ_b4hk.js +0 -1
- package/dist/assets/volter-sdk-kit-components-BoardRulers-Cjeqdfie.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-BOfMdh1M.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-rZGGuOwh.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ChromeSlot-CYRqS-XZ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CodeView-CZ4K-R4r.js +0 -1
- package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-C0Jzb6sx.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ConsolePanel-vTD-MnSe.js +0 -1
- package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-fQY5p6rX.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectionProjection-Dn7ly9U9.js +0 -1
- package/dist/assets/volter-sdk-kit-components-Inspector-DlXSsDRU.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-D2fHAo8Q.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-BACKigHR.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-C2tFcY5Z.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorToolSection-CKxWWFgq.js +0 -1
- package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-BscOuHaz.js +0 -1
- package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-Czgrsno8.js +0 -1
- package/dist/assets/volter-sdk-kit-components-MediaProperties-4JJy007U.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ProjectHeader-CHXnXf4V.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-CjQh_ckk.js +0 -1
- package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-CIhN8hQt.js +0 -1
- package/dist/assets/volter-sdk-kit-components-RootTextEditor-Bh2YKApp.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SaveStatus-BD-zOD-c.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-BH1PNp8a.js +0 -1
- package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-C4IvdpGQ.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-CtiZX-C_.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ToolHost-DLj25ucp.js +0 -1
- package/dist/assets/volter-sdk-kit-components-Toolbar-DOHf2NES.js +0 -1
- package/dist/assets/volter-sdk-kit-components-TransientHint-zFA_MLx1.js +0 -1
- package/dist/assets/volter-sdk-kit-components-VersionControlSection-C9By_77E.js +0 -1
- package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-vr4do7lA.js +0 -1
- package/dist/assets/volter-sdk-kit-components-VolterLogo-DS8HqAPp.js +0 -1
- package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-DIEnM6m4.js +0 -1
- package/dist/assets/volter-sdk-kit-components-account-documents-C-kuLuRW.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-documents-wvxuPzJN.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-DRbF9-yC.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-selection-section-D-iE-RCy.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-thumbnails-D3TyvHrp.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-Dk2jKOhT.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-_nthvrZy.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-i-UhuMgF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-CzBAEr0C.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-CyV7UI3C.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-Bd3a2_oA.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-B0oBgcRW.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-Ad0PtQNX.js +0 -1
- package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-BcRGAaa4.js +0 -1
- package/dist/assets/volter-sdk-kit-components-board-guides-DlFbMQZl.js +0 -1
- package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-C-WHgNDO.js +0 -1
- package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-CqErnLHB.js +0 -1
- package/dist/assets/volter-sdk-kit-components-core-utilities-B339nXVW.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-preview-section-fv1kHl0P.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-revert-label-CGouljBF.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-selection-svwL5thP.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-CXI8Z8PL.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-transform-B6n6Cdof.js +0 -1
- package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-C3qg6v_f.js +0 -1
- package/dist/assets/volter-sdk-kit-components-kind-documents-W8USaiPh.js +0 -1
- package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-Dd4u-Wtm.js +0 -1
- package/dist/assets/volter-sdk-kit-components-project-tool-documents-DFq82d8o.js +0 -1
- package/dist/assets/volter-sdk-kit-components-scene-documents-B73lYyVv.js +0 -1
- package/dist/assets/volter-sdk-kit-components-status-contributions-FTso27Xh.js +0 -1
- package/dist/assets/volter-sdk-kit-components-tool-documents-BbGwfFpc.js +0 -1
- package/dist/assets/volter-sdk-kit-components-tool-schema-form-BIF8LmJV.js +0 -1
- package/dist/assets/volter-sdk-kit-components-use-after-paint-CtKNo2UU.js +0 -1
- package/dist/assets/volter-sdk-kit-components-use-project-image-assets-G7f6izdS.js +0 -1
- package/dist/assets/volter-sdk-kit-components-workspace-history-B2vo6Xx_.js +0 -1
- package/dist/assets/volter-sdk-kit-components-world-documents-B5tULKmS.js +0 -1
- package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-DDEiWrz7.js +0 -1
- package/dist/assets/volter-sdk-kit-composite-screenshot-BMOK3iYM.js +0 -1
- package/dist/assets/volter-sdk-kit-content-entry-source-registry-B9eUIMgv.js +0 -1
- package/dist/assets/volter-sdk-kit-contribution-surfaces-DC-uHDQg.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-DiRNBVRN.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-Csc86Z_f.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-Brd3w7kt.js +0 -1
- package/dist/assets/volter-sdk-kit-coverage-session-vitals-BoNy6hEZ.js +0 -1
- package/dist/assets/volter-sdk-kit-creation-site-registry-CdhSUaPD.js +0 -1
- package/dist/assets/volter-sdk-kit-delegate-harness-registry-CHNkXHhB.js +0 -1
- package/dist/assets/volter-sdk-kit-document-areas-7iD_pTF6.js +0 -1
- package/dist/assets/volter-sdk-kit-document-context-registry-6DcBS8uQ.js +0 -1
- package/dist/assets/volter-sdk-kit-document-open-registry-CS2V2rTe.js +0 -1
- package/dist/assets/volter-sdk-kit-document-play-extension-DyULINB5.js +0 -1
- package/dist/assets/volter-sdk-kit-document-preview-source-YxLsIauQ.js +0 -1
- package/dist/assets/volter-sdk-kit-document-renderer-session-IoKOp6Se.js +0 -1
- package/dist/assets/volter-sdk-kit-document-stage-sessions-DSmPpree.js +0 -1
- package/dist/assets/volter-sdk-kit-document-viewports-CvdifVJF.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-api-CB1FgcVg.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-chrome-capture-B-e-WKT4.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-commands-BYWHMTwS.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-console-jCw-ErXD.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-current-view-CbBqd-eR.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-document-probe-BC-zqNPD.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-git-client-BQQFtPz9.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-hotkeys-BzoxjaxK.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-lease-B_3921d6.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-lease-view-Dwm149iL.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-mode-DOBZoYnf.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-notifications-BfExd624.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presence-DNnOAqPS.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presentation-activity-CFp63FEl.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-presentation-notice-Df1-39oQ.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-runtime-CCziNuJh.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-server-response-DJiPWdEl.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-session-attribution-qdIqiRBe.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-session-mode-r0EdgfW4.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-state-facets-ChaCu38O.js +0 -1
- package/dist/assets/volter-sdk-kit-editor-view-presentation-Dp6RpQY2.js +0 -1
- package/dist/assets/volter-sdk-kit-environment-images-BUDsa8Yi.js +0 -1
- package/dist/assets/volter-sdk-kit-eyedropper-session-CuB0NOuY.js +0 -1
- package/dist/assets/volter-sdk-kit-files-file-provider-DIDQ2_uI.js +0 -1
- package/dist/assets/volter-sdk-kit-files-project-files-CQvJk0Gq.js +0 -1
- package/dist/assets/volter-sdk-kit-finders-index-DKfmE3QQ.js +0 -1
- package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-CmiBcR6h.js +0 -1
- package/dist/assets/volter-sdk-kit-frame-frame-parts-Dva44YHz.js +0 -1
- package/dist/assets/volter-sdk-kit-framed-document-capture-DB3Ncfrz.js +0 -1
- package/dist/assets/volter-sdk-kit-game-surface-defaults-Cj-0v8BH.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-export-state-Xf39gCAN.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-replay-F8jJrsPf.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-session-time-DTTj1olA.js +0 -1
- package/dist/assets/volter-sdk-kit-gameplay-sessions-CxKyk9Md.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-component-marks-BabNBUji.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-internals-CoK3Z_Xh.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-Cm6Wsuhy.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-DaGff9wa.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-node-rows-BcRUZUvZ.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-panel-view-BZoc7eJQ.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-projection-CHs2jgL8.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-row-media-PFIeRJqY.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-row-model-Cw1It5is.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-rows-Dssu1BMj.js +0 -1
- package/dist/assets/volter-sdk-kit-hierarchy-walk-B1L9eTXm.js +0 -1
- package/dist/assets/volter-sdk-kit-history-editor-session-BtVV5q7v.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-commands-TABAJNSR.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-delegate-DeK2Tm-B.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-limit-notices-BVoYaGBF.js +0 -1
- package/dist/assets/volter-sdk-kit-history-history-service-BHBRoss1.js +0 -1
- package/dist/assets/volter-sdk-kit-history-persistence-coordinator-n84--IYf.js +0 -1
- package/dist/assets/volter-sdk-kit-history-project-file-history-CcXjOv2P.js +0 -1
- package/dist/assets/volter-sdk-kit-history-project-root-history-backends-DTX8q5fG.js +0 -1
- package/dist/assets/volter-sdk-kit-history-resource-registry-CLkqOjdr.js +0 -1
- package/dist/assets/volter-sdk-kit-history-snapshot-store-DycW6GLB.js +0 -1
- package/dist/assets/volter-sdk-kit-history-source-history-backend-9xMoYlbd.js +0 -1
- package/dist/assets/volter-sdk-kit-hmr-registration-group-DmMHpNnB.js +0 -1
- package/dist/assets/volter-sdk-kit-hmr-stable-react-context-D-TLq4Hc.js +0 -1
- package/dist/assets/volter-sdk-kit-hotkeys-XirVHMg5.js +0 -1
- package/dist/assets/volter-sdk-kit-inference-diagnostics-CXk1gv7L.js +0 -1
- package/dist/assets/volter-sdk-kit-initial-project-Cbnj6h8K.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-active-subject-CZRJ1Iol.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-active-surface-gAahXjP2.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-compose-subject-BBlLRs6P.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-display-D546j-bp.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-document-subject-DDqyp_xw.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-game-subject-sQwCYXs1.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-model-DC9Hl3cj.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-node-media-DjPyEqvx.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-null-subject-Ct7EGK3P.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-serialize-Bq6tap3p.js +0 -1
- package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-C_yp3gfW.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-presentation-Di1bDrzW.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-property-grouping-Hrg_OJm5.js +0 -1
- package/dist/assets/volter-sdk-kit-inspector-section-registry-CvrpGvES.js +0 -1
- package/dist/assets/volter-sdk-kit-instance-source-actions-BCuKBxGf.js +0 -1
- package/dist/assets/volter-sdk-kit-js-heap-KxSszS6k.js +0 -1
- package/dist/assets/volter-sdk-kit-key-actions-Wz9BljgB.js +0 -1
- package/dist/assets/volter-sdk-kit-keymap-presets-GXj7fO30.js +0 -1
- package/dist/assets/volter-sdk-kit-layout-policy-cFlperJi.js +0 -1
- package/dist/assets/volter-sdk-kit-light-explorer-model-CkrLkUUZ.js +0 -1
- package/dist/assets/volter-sdk-kit-live-canvas-frame-CIEkO3Ed.js +0 -1
- package/dist/assets/volter-sdk-kit-live-document-DhUo-Edg.js +0 -1
- package/dist/assets/volter-sdk-kit-live-gesture-lock-CMfHfSyJ.js +0 -1
- package/dist/assets/volter-sdk-kit-live-seam-evidence-BwAIj8fP.js +0 -1
- package/dist/assets/volter-sdk-kit-live-session-registry-DLpuZ5fm.js +0 -1
- package/dist/assets/volter-sdk-kit-live-transition-CzY_KNsh.js +0 -1
- package/dist/assets/volter-sdk-kit-manifest-project-D966gGPJ.js +0 -1
- package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-BhBAOyzv.js +0 -1
- package/dist/assets/volter-sdk-kit-mount-failure-report-uZuQLIak.js +0 -1
- package/dist/assets/volter-sdk-kit-native-selection-style-DWR8dlSz.js +0 -1
- package/dist/assets/volter-sdk-kit-object3d-document-write-policy-Bj_jp-7_.js +0 -1
- package/dist/assets/volter-sdk-kit-packaged-runtime-iG7YMb12.js +0 -1
- package/dist/assets/volter-sdk-kit-performance-profiler-CNmFMe3k.js +0 -1
- package/dist/assets/volter-sdk-kit-performance-sources-Dn00aXW5.js +0 -1
- package/dist/assets/volter-sdk-kit-photograph-notice-Dfg0UxVZ.js +0 -1
- package/dist/assets/volter-sdk-kit-play-boot-phase-CXNgzv-J.js +0 -1
- package/dist/assets/volter-sdk-kit-play-camera-flight-DLwGfpJp.js +0 -1
- package/dist/assets/volter-sdk-kit-presentation-surface-cMmRpkGJ.js +0 -1
- package/dist/assets/volter-sdk-kit-product-command-Bu6DLKpE.js +0 -1
- package/dist/assets/volter-sdk-kit-project-adapter-BuzQScGI.js +0 -1
- package/dist/assets/volter-sdk-kit-project-asset-refresh-Bap7mqgb.js +0 -1
- package/dist/assets/volter-sdk-kit-project-asset-roots-By8xlXHl.js +0 -1
- package/dist/assets/volter-sdk-kit-project-local-state-ChdRwLow.js +0 -1
- package/dist/assets/volter-sdk-kit-project-manager-CLiEnNgu.js +0 -1
- package/dist/assets/volter-sdk-kit-project-module-changes-BDpD6OsB.js +0 -1
- package/dist/assets/volter-sdk-kit-project-module-split-CVNdzh8m.js +0 -1
- package/dist/assets/volter-sdk-kit-project-provenance-cp2gtKVj.js +0 -1
- package/dist/assets/volter-sdk-kit-project-ready-D8V6Kzge.js +0 -1
- package/dist/assets/volter-sdk-kit-project-shape-CClCrXxY.js +0 -1
- package/dist/assets/volter-sdk-kit-project-tools-CtP3bOpD.js +0 -1
- package/dist/assets/volter-sdk-kit-readiness-D0ouQROM.js +0 -1
- package/dist/assets/volter-sdk-kit-renderer-resource-counts-aXKN0rxR.js +0 -1
- package/dist/assets/volter-sdk-kit-reported-play-state-C-Mib-ba.js +0 -1
- package/dist/assets/volter-sdk-kit-resolve-contributed-command-BM8YcJz7.js +0 -1
- package/dist/assets/volter-sdk-kit-resolve-relative-specifier-CSTX2j7-.js +0 -1
- package/dist/assets/volter-sdk-kit-retained-document-states-QrHnyn4V.js +0 -1
- package/dist/assets/volter-sdk-kit-scene-document-plan-C9wHG6B7.js +0 -1
- package/dist/assets/volter-sdk-kit-scene-live-open-CXb4AskH.js +0 -1
- package/dist/assets/volter-sdk-kit-scoped-game-css-FdsRmDqV.js +0 -1
- package/dist/assets/volter-sdk-kit-served-url-DIf-qLum.js +0 -1
- package/dist/assets/volter-sdk-kit-session-close-COfy5ras.js +0 -1
- package/dist/assets/volter-sdk-kit-session-tombstone-BitY9Sdx.js +0 -1
- package/dist/assets/volter-sdk-kit-settings-settings-provider-BPuTDIxn.js +0 -1
- package/dist/assets/volter-sdk-kit-settings-store-BPOsFHZe.js +0 -1
- package/dist/assets/volter-sdk-kit-shell-store-DwHeZ5nQ.js +0 -1
- package/dist/assets/volter-sdk-kit-shell-store-door-BWHcu98B.js +0 -1
- package/dist/assets/volter-sdk-kit-source-conflict-CkxYCMk1.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-context-CP-upNgr.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-invalidation-CeDdEl0b.js +0 -1
- package/dist/assets/volter-sdk-kit-stage-store-registry-B2jyIREA.js +0 -1
- package/dist/assets/volter-sdk-kit-startup-failure-DWjZgwSJ.js +0 -1
- package/dist/assets/volter-sdk-kit-state-report-deferral-Dzam5Bu-.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-host-files-storage-BxTEyrKN.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-http-storage-T4fMC6Ww.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-index-C2Gf9k45.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-mem-storage-CcdOLba9.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-path-lock-r7SjMxYI.js +0 -1
- package/dist/assets/volter-sdk-kit-storage-paths-BWI0b699.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-DPyefE_s.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-compose-project-stories-Dz_zorT8.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-prefabs-finder-VOD4Fih8.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-BbJ4drXs.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-project-story-regions-CPPt7sAc.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-scope-CIIL7T3O.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-capture-DMWk2KXY.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-declared-medium-Bx-ygbVe.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-discovery-CafUDauh.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-CiCD8tr1.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-grouping-BRGub3eG.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-presentation-Bt3rB_N9.js +0 -1
- package/dist/assets/volter-sdk-kit-stories-story-registry-bF3ym9Kn.js +0 -1
- package/dist/assets/volter-sdk-kit-story-document-openers-R2-yxXGg.js +0 -1
- package/dist/assets/volter-sdk-kit-story-thumbnails-CI-p0jom.js +0 -1
- package/dist/assets/volter-sdk-kit-surface-keyboard-Bclcg_ZX.js +0 -1
- package/dist/assets/volter-sdk-kit-surface-state-OwSMnQPF.js +0 -1
- package/dist/assets/volter-sdk-kit-system-seam-evidence-mhKxMLF-.js +0 -1
- package/dist/assets/volter-sdk-kit-tab-census-BkucfkR2.js +0 -1
- package/dist/assets/volter-sdk-kit-tab-lifecycle-client-xPlJR_Is.js +0 -1
- package/dist/assets/volter-sdk-kit-theme-library-BmQiddws.js +0 -1
- package/dist/assets/volter-sdk-kit-theme-preference-CY62ohS6.js +0 -1
- package/dist/assets/volter-sdk-kit-three-viewport-presentation-C4zfYkP5.js +0 -1
- package/dist/assets/volter-sdk-kit-tool-contribution-play-D-X4TndA.js +0 -1
- package/dist/assets/volter-sdk-kit-tool-loader-Bppn2i0e.js +0 -1
- package/dist/assets/volter-sdk-kit-transform-mode-request-DVP6KCfG.js +0 -1
- package/dist/assets/volter-sdk-kit-transient-hint-znMlkMOz.js +0 -1
- package/dist/assets/volter-sdk-kit-transport-strip-dGQ-YoNm.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-bA1RQVjN.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-inspect-vbzR9DTw.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-jvrPvSXj.js +0 -1
- package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-_aDOX96f.js +0 -1
- package/dist/assets/volter-sdk-kit-user-local-state-C9PMe7ZC.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-activation-timings-Bl8_neTA.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-editor-controls-aUeFDe8t.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-presentation-IbDRhAjA.js +0 -1
- package/dist/assets/volter-sdk-kit-viewport-surface-status-B0m0crzV.js +0 -1
- package/dist/assets/volter-sdk-kit-wait-until-Bby0hAXq.js +0 -1
- package/dist/assets/volter-sdk-kit-worker-call-metrics-JG55IFWY.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-areas-D-wnNrv1.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-aux-commands-iFWD7R5b.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-available-documents-DEOtsr7U.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-core-utilities-Do_ivM3K.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-ids-CekfZZKH.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-registry-CtvIBYpT.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-document-restore-VAID48D1.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-host-commands-Ddx5Tgyl.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-persistence-gate-CXlifVZM.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-play-utilities-ByGVJzRW.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-presets-CjP5LvcE.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-regions-iau7y1g3.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-static-panels-B6jKhrp4.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-status-registry-g8wytHL5.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-storage-B5hTXq0f.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-style-LV2J3BUW.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-utility-commands-Ci_KJODl.js +0 -1
- package/dist/assets/volter-sdk-kit-workspace-utility-registry-BbjESGwy.js +0 -1
- package/dist/assets/volter-sdk-kit-world-adoption-DQ4KT5o5.js +0 -1
- package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-r5rqWOVZ.js +0 -1
- package/dist/assets/volter-sdk-kit-world-document-routing-D-fYy4j5.js +0 -1
- package/dist/assets/volter-sdk-kit-world-pan-state-CMG7tsSx.js +0 -1
- package/dist/assets/volter-sdk-kit-write-pipe-DNEDBnz-.js +0 -1
- package/dist/assets/volter-sdk-layout-arrangements-CHD3ZMFe.js +0 -1
- package/dist/assets/volter-sdk-layouts-CCA7FuOC.js +0 -1
- package/dist/assets/volter-sdk-selection-D0kL_iDi.js +0 -1
- package/dist/assets/volter-sdk-session-command-table-DA_l3-71.js +0 -1
- package/dist/assets/volter-sdk-session-editor-brand-BF7c04d1.js +0 -1
- package/dist/assets/volter-sdk-session-editor-compatibility-DTohfZFv.js +0 -1
- package/dist/assets/volter-sdk-session-editor-control-protocol-BldcSvMF.js +0 -1
- package/dist/assets/volter-sdk-session-entrypoint-selection-readers-C5lBU-ru.js +0 -1
- package/dist/assets/volter-sdk-session-game-css-scope-BU2odzp5.js +0 -1
- package/dist/assets/volter-sdk-session-project-module-url-BXpMu1Rd.js +0 -1
- package/dist/assets/volter-sdk-session-relative-path-guard-QB40XSDf.js +0 -1
- package/dist/assets/volter-sdk-session-tool-contribution-convention-B_nVNyey.js +0 -1
- package/dist/assets/volter-sdk-types-CpvyGiQa.js +0 -1
- package/dist/assets/volter-sdk-views-DJ_MnaUh.js +0 -1
- package/dist/assets/volter-sdk-widgets-design-system-D7xN8pRO.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-appearance-Crp-pBLJ.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-material-MHO-HL-5.js +0 -1
- package/dist/assets/volter-sdk-widgets-icon-set-registry-BV2KyS5k.js +0 -1
- package/dist/assets/volter-sdk-widgets-index-Pv9HbBUF.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-vPIEJ2AQ.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-0kpmltFh.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-C1igd7oH.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-B2hEex_l.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-cyhMzK5L.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-DcQAkx63.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker--uOgL4qW.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-DTAtC77d.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-khJ7avew.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-eiGFiwHP.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-Cd-F281s.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-C7uJEWC0.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-B5TWzor-.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-DEQKguQB.js +0 -1
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-Bl0RzyJQ.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-UyDjvCxC.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Fields-nF0yD3V1.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-List-D34mrQDy.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-CLSEwJ2u.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-Bnz6CGdv.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-BGh2nrPU.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-DD17mnjd.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tree-CCzpKURV.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-rAsZA766.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Button-B1Ppeaoa.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-CHAXdol_.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-CnNtxQXT.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-Cimr9Mco.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-CT_S601l.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-B8HUvMqd.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-B4XDeGeD.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Layout-Bi7EShmW.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Menu-CKIw0gyB.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-Cm3QFgJj.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Panel-Bydp9OuQ.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-CCux7aOb.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Text-CX8Zqrmp.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-9ZuvJNaQ.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-DQ24NxRN.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-B8ydBBhm.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-banner-tones-DJXfSNS6.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-BzMgToKr.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-RjhVjrNt.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-CaqZYWvq.js +0 -1
- package/dist/assets/volter-sdk-widgets-theme-GZiAnowy.js +0 -1
- package/dist/assets/volter-sdk-widgets-z-index-CvywNZqF.js +0 -1
- package/dist/assets/volter-shared-fontawesome-D0om5i4C.js +0 -1
- package/dist/assets/volter-shared-jsx-dev-runtime-Nf2pZiIO.js +0 -1
- package/dist/assets/volter-shared-jsx-runtime-mOtwwECE.js +0 -1
- package/dist/assets/volter-shared-react-D-xjcqWm.js +0 -1
- package/dist/assets/volter-shared-react-dom-DdRTSMx8.js +0 -1
- package/dist/assets/volter-shared-react-dom-client-WSvYqY8Z.js +0 -1
package/dist-node/cli.js
CHANGED
|
@@ -199,7 +199,7 @@ var init_client = __esm({
|
|
|
199
199
|
const { code, detail } = describeFetchFailure2(error50);
|
|
200
200
|
if (options?.retryTransport === true && !retried && RETRYABLE_TRANSPORT_CODES2.has(code)) {
|
|
201
201
|
retried = true;
|
|
202
|
-
await new Promise((
|
|
202
|
+
await new Promise((resolve14) => setTimeout(resolve14, TRANSPORT_RETRY_DELAY_MS2));
|
|
203
203
|
continue;
|
|
204
204
|
}
|
|
205
205
|
throw new EditorCommandError2(
|
|
@@ -2038,8 +2038,8 @@ __export(blender_mcp_exports, {
|
|
|
2038
2038
|
serveBlenderMcp: () => serveBlenderMcp
|
|
2039
2039
|
});
|
|
2040
2040
|
import { randomUUID } from "node:crypto";
|
|
2041
|
-
import { mkdirSync as
|
|
2042
|
-
import { delimiter, dirname as dirname9, isAbsolute as isAbsolute6, relative as
|
|
2041
|
+
import { mkdirSync as mkdirSync8, readFileSync as readFileSync11, writeFileSync as writeFileSync8 } from "node:fs";
|
|
2042
|
+
import { delimiter, dirname as dirname9, isAbsolute as isAbsolute6, relative as relative6, sep as sep4 } from "node:path";
|
|
2043
2043
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2044
2044
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
2045
2045
|
import {
|
|
@@ -2049,7 +2049,7 @@ import {
|
|
|
2049
2049
|
ListToolsRequestSchema
|
|
2050
2050
|
} from "@modelcontextprotocol/sdk/types.js";
|
|
2051
2051
|
function projectRelative(project, absolute) {
|
|
2052
|
-
const rel =
|
|
2052
|
+
const rel = relative6(project, absolute).split(sep4).join("/");
|
|
2053
2053
|
if (rel === "" || rel.startsWith("../")) return null;
|
|
2054
2054
|
return rel;
|
|
2055
2055
|
}
|
|
@@ -2250,15 +2250,15 @@ var init_blender_mcp = __esm({
|
|
|
2250
2250
|
const bytes = Buffer.from(await spooled.arrayBuffer());
|
|
2251
2251
|
if (shipped === null) {
|
|
2252
2252
|
try {
|
|
2253
|
-
if (
|
|
2253
|
+
if (readFileSync11(onDisk).equals(bytes)) {
|
|
2254
2254
|
this.#seen.set(entry.path, stamp);
|
|
2255
2255
|
continue;
|
|
2256
2256
|
}
|
|
2257
2257
|
} catch (error50) {
|
|
2258
2258
|
if (error50.code !== "ENOENT") throw error50;
|
|
2259
2259
|
}
|
|
2260
|
-
|
|
2261
|
-
|
|
2260
|
+
mkdirSync8(dirname9(onDisk), { recursive: true });
|
|
2261
|
+
writeFileSync8(onDisk, bytes);
|
|
2262
2262
|
} else {
|
|
2263
2263
|
const query = new URLSearchParams({
|
|
2264
2264
|
path: shipped,
|
|
@@ -2353,7 +2353,7 @@ var init_blender_mcp = __esm({
|
|
|
2353
2353
|
|
|
2354
2354
|
// node/cli.ts
|
|
2355
2355
|
import { parseArgs } from "node:util";
|
|
2356
|
-
import { resolve as
|
|
2356
|
+
import { resolve as resolve13, dirname as dirname10 } from "node:path";
|
|
2357
2357
|
import { spawn as spawn5 } from "node:child_process";
|
|
2358
2358
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
2359
2359
|
|
|
@@ -2384,7 +2384,7 @@ function hasManifest(dir) {
|
|
|
2384
2384
|
var package_default = {
|
|
2385
2385
|
name: "@volter/cyclotron",
|
|
2386
2386
|
author: "Volter AI, Inc.",
|
|
2387
|
-
version: "0.5.
|
|
2387
|
+
version: "0.5.204",
|
|
2388
2388
|
publishConfig: {
|
|
2389
2389
|
access: "public"
|
|
2390
2390
|
},
|
|
@@ -2440,28 +2440,28 @@ var package_default = {
|
|
|
2440
2440
|
adapterRequired: true,
|
|
2441
2441
|
workbench: {
|
|
2442
2442
|
"darwin-arm64": {
|
|
2443
|
-
release: "cyclotron-f16dc165c0df-
|
|
2444
|
-
tarballSha256: "
|
|
2443
|
+
release: "cyclotron-f16dc165c0df-2d5aeb1b4cd7-darwin-arm64",
|
|
2444
|
+
tarballSha256: "5db124b24aeb0f59291011b58de8c785218411f7ddbdf82ab3d0d3d7ae27a2a3"
|
|
2445
2445
|
},
|
|
2446
2446
|
"linux-x64": {
|
|
2447
|
-
release: "cyclotron-f16dc165c0df-
|
|
2448
|
-
tarballSha256: "
|
|
2447
|
+
release: "cyclotron-f16dc165c0df-2d5aeb1b4cd7-linux-x64",
|
|
2448
|
+
tarballSha256: "3a435ef2084ab063330b83fa67477773a07170b5f5992a2f0546db691af488f8"
|
|
2449
2449
|
},
|
|
2450
2450
|
"win32-x64": {
|
|
2451
|
-
release: "cyclotron-f16dc165c0df-
|
|
2452
|
-
tarballSha256: "
|
|
2451
|
+
release: "cyclotron-f16dc165c0df-2d5aeb1b4cd7-win32-x64",
|
|
2452
|
+
tarballSha256: "96389b6a0c6430daf08a282425c3cda81af211e60607819782aab27922617eee"
|
|
2453
2453
|
}
|
|
2454
2454
|
}
|
|
2455
2455
|
}
|
|
2456
2456
|
},
|
|
2457
2457
|
dependencies: {
|
|
2458
|
-
"@volter/editor-core": "0.5.
|
|
2459
|
-
"@volter/editor-blender": "0.1.
|
|
2460
|
-
"@volter/editor-threejs": "0.5.
|
|
2461
|
-
"@volter/blender-engine": "0.1.
|
|
2462
|
-
"@volter/project": "0.5.
|
|
2463
|
-
"@volter/sdk": "0.5.
|
|
2464
|
-
"@volter/live": "0.5.
|
|
2458
|
+
"@volter/editor-core": "0.5.204",
|
|
2459
|
+
"@volter/editor-blender": "0.1.143",
|
|
2460
|
+
"@volter/editor-threejs": "0.5.204",
|
|
2461
|
+
"@volter/blender-engine": "0.1.141",
|
|
2462
|
+
"@volter/project": "0.5.204",
|
|
2463
|
+
"@volter/sdk": "0.5.204",
|
|
2464
|
+
"@volter/live": "0.5.204",
|
|
2465
2465
|
"@modelcontextprotocol/sdk": "1.32.1",
|
|
2466
2466
|
typescript: "5.9.3",
|
|
2467
2467
|
undici: "7.29.1"
|
|
@@ -16655,8 +16655,8 @@ import { dirname as dirname3, join as join4, resolve as resolve3 } from "node:pa
|
|
|
16655
16655
|
// ../sdk/src/session/project-upgrade.ts
|
|
16656
16656
|
import { spawn as spawn2 } from "node:child_process";
|
|
16657
16657
|
import { existsSync as existsSync3, lstatSync, readFileSync } from "node:fs";
|
|
16658
|
-
import { readFile as readFile2, rename, rm, writeFile as writeFile2 } from "node:fs/promises";
|
|
16659
|
-
import { dirname as dirname2, join as join3, resolve as resolve2 } from "node:path";
|
|
16658
|
+
import { mkdir as mkdir2, readdir as readdir2, readFile as readFile2, rename, rm, rmdir, writeFile as writeFile2 } from "node:fs/promises";
|
|
16659
|
+
import { dirname as dirname2, join as join3, relative as relative2, resolve as resolve2, sep } from "node:path";
|
|
16660
16660
|
|
|
16661
16661
|
// ../sdk/src/session/editor-compatibility.ts
|
|
16662
16662
|
var EXACT_SEMVER = /^(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;
|
|
@@ -16674,9 +16674,9 @@ function compareSemver(a, b) {
|
|
|
16674
16674
|
}
|
|
16675
16675
|
|
|
16676
16676
|
// ../sdk/src/session/project-upgrade.ts
|
|
16677
|
-
var UPGRADE_USAGE = "upgrade [version] # move this project's @volter packages and its engine pin to one release (default: latest)";
|
|
16677
|
+
var UPGRADE_USAGE = "upgrade [version] # move this project's @volter packages and its engine pin to one release (default: latest); from a project made before 0.5.203, run the newest release's own: npx <package>@latest upgrade";
|
|
16678
16678
|
function upgradeLine(product) {
|
|
16679
|
-
return `npx ${product.packageName} upgrade`;
|
|
16679
|
+
return `npx ${product.packageName}@latest upgrade`;
|
|
16680
16680
|
}
|
|
16681
16681
|
function declaredRetiredProduct(product, project) {
|
|
16682
16682
|
let pkg;
|
|
@@ -16694,6 +16694,99 @@ function retiredProjectError(product, retired, project) {
|
|
|
16694
16694
|
);
|
|
16695
16695
|
}
|
|
16696
16696
|
var RENAMED_PRODUCT_FILES = [".mcp.json", ".codex/config.toml", "AGENTS.md", "CLAUDE.md"];
|
|
16697
|
+
var RENAMED_KIT_PACKAGES = [
|
|
16698
|
+
["@volter/editor-project", "@volter/project"],
|
|
16699
|
+
["@volter/editor-sdk", "@volter/sdk"],
|
|
16700
|
+
["@volter/editor-live", "@volter/live"],
|
|
16701
|
+
["@volter/editor-model-play", "@volter/play"]
|
|
16702
|
+
];
|
|
16703
|
+
var MOVED_TO_EDITOR = [
|
|
16704
|
+
["volter.adapter.ts", "editor/volter.adapter.ts"],
|
|
16705
|
+
["src/contributions", "editor/contributions"],
|
|
16706
|
+
["src/tools", "editor/tools"]
|
|
16707
|
+
];
|
|
16708
|
+
async function allFiles(path) {
|
|
16709
|
+
let entries;
|
|
16710
|
+
try {
|
|
16711
|
+
entries = await readdir2(path, { withFileTypes: true });
|
|
16712
|
+
} catch {
|
|
16713
|
+
return existsSync3(path) ? [path] : [];
|
|
16714
|
+
}
|
|
16715
|
+
const files = [];
|
|
16716
|
+
for (const entry of entries) {
|
|
16717
|
+
const child = join3(path, entry.name);
|
|
16718
|
+
if (entry.isDirectory()) files.push(...await allFiles(child));
|
|
16719
|
+
else files.push(child);
|
|
16720
|
+
}
|
|
16721
|
+
return files;
|
|
16722
|
+
}
|
|
16723
|
+
async function scriptFiles(dir) {
|
|
16724
|
+
const files = [];
|
|
16725
|
+
let entries;
|
|
16726
|
+
try {
|
|
16727
|
+
entries = await readdir2(dir, { withFileTypes: true });
|
|
16728
|
+
} catch {
|
|
16729
|
+
return files;
|
|
16730
|
+
}
|
|
16731
|
+
for (const entry of entries) {
|
|
16732
|
+
if (entry.name === "node_modules" || entry.name.startsWith(".")) continue;
|
|
16733
|
+
const path = join3(dir, entry.name);
|
|
16734
|
+
if (entry.isDirectory()) files.push(...await scriptFiles(path));
|
|
16735
|
+
else if (/\.(?:[cm]?[jt]sx?)$/.test(entry.name)) files.push(path);
|
|
16736
|
+
}
|
|
16737
|
+
return files;
|
|
16738
|
+
}
|
|
16739
|
+
async function projectSourceFiles(project) {
|
|
16740
|
+
const files = [];
|
|
16741
|
+
try {
|
|
16742
|
+
for (const entry of await readdir2(project, { withFileTypes: true })) {
|
|
16743
|
+
if (entry.isFile() && /\.(?:[cm]?[jt]sx?)$/.test(entry.name)) files.push(join3(project, entry.name));
|
|
16744
|
+
}
|
|
16745
|
+
} catch {
|
|
16746
|
+
}
|
|
16747
|
+
for (const folder of ["editor", "src", "scripts"]) files.push(...await scriptFiles(join3(project, folder)));
|
|
16748
|
+
return files;
|
|
16749
|
+
}
|
|
16750
|
+
function rewriteMovedPaths(text2) {
|
|
16751
|
+
return text2.replace(/(^|[^\w./-])(\.\/)?src\/(contributions|tools)(?=$|[/'"`\s),;:\]]|\.$)/gm, "$1$2editor/$3").replace(/(^|[^\w./-])(\.\/)?volter\.adapter\.ts\b/gm, "$1$2editor/volter.adapter.ts");
|
|
16752
|
+
}
|
|
16753
|
+
async function projectTextFiles(project) {
|
|
16754
|
+
const files = [];
|
|
16755
|
+
try {
|
|
16756
|
+
for (const entry of await readdir2(project, { withFileTypes: true })) {
|
|
16757
|
+
if (entry.isFile() && /(?:\.md|^tsconfig(?:\.[\w-]+)?\.json)$/i.test(entry.name)) files.push(join3(project, entry.name));
|
|
16758
|
+
}
|
|
16759
|
+
} catch {
|
|
16760
|
+
}
|
|
16761
|
+
const under = async (dir, pattern) => {
|
|
16762
|
+
for (const path of await allFiles(dir)) if (!path.includes(`${sep}node_modules${sep}`) && pattern.test(path)) files.push(path);
|
|
16763
|
+
};
|
|
16764
|
+
for (const folder of [".claude", ".agents", ".github"]) await under(join3(project, folder), /\.md$/i);
|
|
16765
|
+
await under(join3(project, ".volter", "catalog"), /\.json$/i);
|
|
16766
|
+
if (existsSync3(join3(project, ".volter", "scaffold-baseline.json"))) files.push(join3(project, ".volter", "scaffold-baseline.json"));
|
|
16767
|
+
return files;
|
|
16768
|
+
}
|
|
16769
|
+
function renameKitSpecifiers(text2) {
|
|
16770
|
+
let out = text2;
|
|
16771
|
+
for (const [from, to] of RENAMED_KIT_PACKAGES) {
|
|
16772
|
+
out = out.replace(new RegExp(`(['"\`]|node_modules\\/)${from.replace("/", "\\/")}(?=[/'"\`])`, "g"), `$1${to}`);
|
|
16773
|
+
}
|
|
16774
|
+
return out;
|
|
16775
|
+
}
|
|
16776
|
+
function rebaseRelativeSpecifiers(text2, fromDir, toDir, moved) {
|
|
16777
|
+
return text2.replace(
|
|
16778
|
+
/(\bfrom\s*|\bimport\s*\(\s*|\bimport\s+|\brequire\s*\(\s*|\bnew\s+URL\s*\(\s*|\bimport\.meta\.glob\s*\(\s*)(['"`])(\.{1,2}(?:\/[^'"`]*)?)\2/g,
|
|
16779
|
+
(whole, lead, quote, spec) => {
|
|
16780
|
+
const target = resolve2(fromDir, spec);
|
|
16781
|
+
if (fromDir === toDir && moved(target) === target) return whole;
|
|
16782
|
+
let next = relative2(toDir, moved(target)).split("\\").join("/");
|
|
16783
|
+
if (next === "") next = ".";
|
|
16784
|
+
if (!next.startsWith(".")) next = `./${next}`;
|
|
16785
|
+
if (spec.endsWith("/") && !next.endsWith("/")) next = `${next}/`;
|
|
16786
|
+
return `${lead}${quote}${next}${quote}`;
|
|
16787
|
+
}
|
|
16788
|
+
);
|
|
16789
|
+
}
|
|
16697
16790
|
function wholeWord(text2) {
|
|
16698
16791
|
return new RegExp(`(?<![\\w-])${text2.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}(?![\\w-])`, "g");
|
|
16699
16792
|
}
|
|
@@ -16704,6 +16797,9 @@ function declaredVersion(spec) {
|
|
|
16704
16797
|
const bare = spec?.replace(/^[\^~=v]+/, "");
|
|
16705
16798
|
return bare !== void 0 && EXACT_VERSION.test(bare) ? bare : null;
|
|
16706
16799
|
}
|
|
16800
|
+
function kitVersion(spec) {
|
|
16801
|
+
return declaredVersion(spec) ?? spec?.match(/^file:.*-(\d+\.\d+\.\d+)\.tgz$/)?.[1] ?? null;
|
|
16802
|
+
}
|
|
16707
16803
|
async function writeAll(files) {
|
|
16708
16804
|
const temp = (path) => `${path}.upgrade-${process.pid}.tmp`;
|
|
16709
16805
|
try {
|
|
@@ -16719,7 +16815,7 @@ async function writeAll(files) {
|
|
|
16719
16815
|
moved.push(file3);
|
|
16720
16816
|
}
|
|
16721
16817
|
} catch (error50) {
|
|
16722
|
-
for (const file3 of moved) await writeFile2(file3.path, file3.original).catch(() => {
|
|
16818
|
+
for (const file3 of moved) await (file3.created ? rm(file3.path, { force: true }) : writeFile2(file3.path, file3.original)).catch(() => {
|
|
16723
16819
|
});
|
|
16724
16820
|
await Promise.all(files.map((file3) => rm(temp(file3.path), { force: true })));
|
|
16725
16821
|
throw new Error(`The upgrade could not be put in place, and what had moved was put back: ${error50 instanceof Error ? error50.message : String(error50)}`);
|
|
@@ -16756,11 +16852,11 @@ function jsonLayout(raw) {
|
|
|
16756
16852
|
}
|
|
16757
16853
|
function npmView(spec) {
|
|
16758
16854
|
return new Promise((done, fail) => {
|
|
16759
|
-
|
|
16760
|
-
|
|
16761
|
-
|
|
16762
|
-
|
|
16763
|
-
});
|
|
16855
|
+
if (!/^@?[\w.-]+(?:\/[\w.-]+)?@[\w.+-]+$/.test(spec)) {
|
|
16856
|
+
fail(new Error(`${spec} is not a package and a version or tag.`));
|
|
16857
|
+
return;
|
|
16858
|
+
}
|
|
16859
|
+
const child = process.platform === "win32" ? spawn2(`npm view ${spec} version dependencies --json`, { windowsHide: true, stdio: ["ignore", "pipe", "pipe"], shell: true }) : spawn2("npm", ["view", spec, "version", "dependencies", "--json"], { stdio: ["ignore", "pipe", "pipe"] });
|
|
16764
16860
|
let out = "";
|
|
16765
16861
|
let err = "";
|
|
16766
16862
|
child.stdout.on("data", (chunk) => {
|
|
@@ -16816,7 +16912,7 @@ async function upgradeProject(product, requested, cwd = process.cwd()) {
|
|
|
16816
16912
|
const warnings = [];
|
|
16817
16913
|
const packageRaw = await readFile2(packagePath, "utf8");
|
|
16818
16914
|
const pkg = JSON.parse(packageRaw);
|
|
16819
|
-
const previousKit = pkg.devDependencies?.["@volter/project"] ?? pkg.dependencies?.["@volter/project"];
|
|
16915
|
+
const previousKit = pkg.devDependencies?.["@volter/project"] ?? pkg.dependencies?.["@volter/project"] ?? pkg.devDependencies?.["@volter/editor-project"] ?? pkg.dependencies?.["@volter/editor-project"];
|
|
16820
16916
|
const currentProduct = declaredVersion(pkg.dependencies?.[product.packageName] ?? pkg.devDependencies?.[product.packageName]);
|
|
16821
16917
|
for (const section of ["peerDependencies", "optionalDependencies"]) {
|
|
16822
16918
|
for (const [name, current] of Object.entries(pkg[section] ?? {})) {
|
|
@@ -16868,12 +16964,91 @@ async function upgradeProject(product, requested, cwd = process.cwd()) {
|
|
|
16868
16964
|
changed.push(`${file3}: names ${product.packageName} and \`${product.command}\``);
|
|
16869
16965
|
}
|
|
16870
16966
|
}
|
|
16967
|
+
for (const section of ["dependencies", "devDependencies"]) {
|
|
16968
|
+
const declared = pkg[section];
|
|
16969
|
+
if (declared === void 0) continue;
|
|
16970
|
+
for (const [from, to] of RENAMED_KIT_PACKAGES) {
|
|
16971
|
+
const current = declared[from];
|
|
16972
|
+
if (current === void 0) continue;
|
|
16973
|
+
if (declared[to] !== void 0) {
|
|
16974
|
+
delete declared[from];
|
|
16975
|
+
changed.push(`package.json ${section}: ${from} removed (${to} is already declared)`);
|
|
16976
|
+
} else {
|
|
16977
|
+
pkg[section] = renameKey(pkg[section], from, to, current);
|
|
16978
|
+
changed.push(`package.json ${section}: ${from} -> ${to}`);
|
|
16979
|
+
}
|
|
16980
|
+
packagesChanged = true;
|
|
16981
|
+
}
|
|
16982
|
+
}
|
|
16983
|
+
const projectPath = (path) => relative2(project, path).split("\\").join("/");
|
|
16984
|
+
const moves = [];
|
|
16985
|
+
for (const [from, to] of MOVED_TO_EDITOR) {
|
|
16986
|
+
const source = join3(project, from);
|
|
16987
|
+
if (existsSync3(source)) moves.push({ from: source, to: join3(project, to) });
|
|
16988
|
+
}
|
|
16989
|
+
const movedPath = (path) => {
|
|
16990
|
+
for (const move of moves) {
|
|
16991
|
+
if (path === move.from) return move.to;
|
|
16992
|
+
if (path.startsWith(move.from + sep)) return move.to + path.slice(move.from.length);
|
|
16993
|
+
const bare = move.from.replace(/\.ts$/, "");
|
|
16994
|
+
if (bare !== move.from && (path === bare || path === `${bare}.js`)) return move.to.replace(/\.ts$/, "") + path.slice(bare.length);
|
|
16995
|
+
}
|
|
16996
|
+
return path;
|
|
16997
|
+
};
|
|
16998
|
+
const collides = (path) => movedPath(path) !== path && existsSync3(movedPath(path));
|
|
16999
|
+
const stranded = [];
|
|
17000
|
+
for (const move of moves) for (const path of await allFiles(move.from)) if (collides(path)) stranded.push(path);
|
|
17001
|
+
for (const path of stranded)
|
|
17002
|
+
kept.push(`${projectPath(path)} stays where it is and is not read: ${projectPath(movedPath(path))} already exists; keep one of the two by hand`);
|
|
17003
|
+
const willMove = (path) => movedPath(path) !== path && !stranded.includes(path);
|
|
17004
|
+
const leftBehind = [];
|
|
17005
|
+
for (const path of await projectSourceFiles(project)) {
|
|
17006
|
+
const original = await readFile2(path, "utf8");
|
|
17007
|
+
const destination = willMove(path) ? movedPath(path) : path;
|
|
17008
|
+
const content = rewriteMovedPaths(
|
|
17009
|
+
rebaseRelativeSpecifiers(renameKitSpecifiers(original), dirname2(path), dirname2(destination), (p) => willMove(p) ? movedPath(p) : p)
|
|
17010
|
+
);
|
|
17011
|
+
if (destination !== path) {
|
|
17012
|
+
textFiles.push({ path: destination, content, original: "", created: true });
|
|
17013
|
+
leftBehind.push(path);
|
|
17014
|
+
} else if (content !== original) {
|
|
17015
|
+
textFiles.push({ path, content, original });
|
|
17016
|
+
changed.push(`${projectPath(path)}: names the kit's current packages and the moved files where they now are`);
|
|
17017
|
+
if (path.startsWith(join3(project, "src") + sep) && !stranded.includes(path) && /(['"`])(?:\.{1,2}\/)+[^'"`]*\beditor\//.test(content) && !/(['"`])(?:\.{1,2}\/)+[^'"`]*\beditor\//.test(original))
|
|
17018
|
+
kept.push(`${projectPath(path)} now imports from editor/, which a game build refuses from 0.5.203: move what it uses out of editor/ (src/ is the game)`);
|
|
17019
|
+
}
|
|
17020
|
+
}
|
|
17021
|
+
for (const move of moves) {
|
|
17022
|
+
if ((await allFiles(move.from)).some((path) => !stranded.includes(path)))
|
|
17023
|
+
changed.push(`${projectPath(move.from)} -> ${projectPath(move.to)} (a project's editor side lives in editor/ from 0.5.203)`);
|
|
17024
|
+
}
|
|
17025
|
+
for (const path of await projectTextFiles(project)) {
|
|
17026
|
+
const original = await readFile2(path, "utf8");
|
|
17027
|
+
const content = rewriteMovedPaths(renameKitSpecifiers(original));
|
|
17028
|
+
if (content === original) continue;
|
|
17029
|
+
textFiles.push({ path, content, original });
|
|
17030
|
+
changed.push(`${projectPath(path)}: names the moved files and the kit's packages where they now are`);
|
|
17031
|
+
}
|
|
17032
|
+
const volter = pkg["volter"];
|
|
17033
|
+
const tools = volter !== null && typeof volter === "object" && !Array.isArray(volter) ? volter.tools : void 0;
|
|
17034
|
+
if (Array.isArray(tools)) {
|
|
17035
|
+
const rewritten = tools.map((registration) => {
|
|
17036
|
+
const entry = typeof registration === "string" ? registration : registration?.entry;
|
|
17037
|
+
if (typeof entry !== "string" || !entry.startsWith("./")) return registration;
|
|
17038
|
+
const next = `./${projectPath(movedPath(join3(project, entry.slice(2))))}`;
|
|
17039
|
+
if (next === entry) return registration;
|
|
17040
|
+
changed.push(`package.json volter.tools: ${entry} -> ${next}`);
|
|
17041
|
+
packagesChanged = true;
|
|
17042
|
+
return typeof registration === "string" ? next : { ...registration, entry: next };
|
|
17043
|
+
});
|
|
17044
|
+
volter.tools = rewritten;
|
|
17045
|
+
}
|
|
16871
17046
|
for (const section of ["dependencies", "devDependencies"]) {
|
|
16872
17047
|
const declared = pkg[section];
|
|
16873
17048
|
if (!declared) continue;
|
|
16874
17049
|
for (const [name, current] of Object.entries(declared)) {
|
|
16875
17050
|
if (!name.startsWith("@volter/")) continue;
|
|
16876
|
-
const target = name === product.packageName ? release.version : release.dependencies[name] ?? (current === previousKit ? kit : void 0);
|
|
17051
|
+
const target = name === product.packageName ? release.version : release.dependencies[name] ?? (current === previousKit || kitVersion(current) !== null && kitVersion(current) === kitVersion(previousKit) ? kit : void 0);
|
|
16877
17052
|
if (target === void 0) {
|
|
16878
17053
|
kept.push(`package.json keeps ${name}@${current}: ${product.packageName}@${release.version} does not name it`);
|
|
16879
17054
|
continue;
|
|
@@ -16881,7 +17056,7 @@ async function upgradeProject(product, requested, cwd = process.cwd()) {
|
|
|
16881
17056
|
if (current === target) continue;
|
|
16882
17057
|
declared[name] = target;
|
|
16883
17058
|
packagesChanged = true;
|
|
16884
|
-
changed.push(`package.json ${section}: ${name} ${current} -> ${target}`);
|
|
17059
|
+
changed.push(current.startsWith("file:") ? `package.json ${section}: ${name} was the local tarball ${current}; it is now ${target} from the registry` : `package.json ${section}: ${name} ${current} -> ${target}`);
|
|
16885
17060
|
}
|
|
16886
17061
|
}
|
|
16887
17062
|
const manifestPath = join3(project, MANIFEST_FILENAME);
|
|
@@ -16901,7 +17076,7 @@ async function upgradeProject(product, requested, cwd = process.cwd()) {
|
|
|
16901
17076
|
manifest.engine = { ...manifest.engine, version: engine };
|
|
16902
17077
|
changed.push(`${MANIFEST_FILENAME} engine.version: ${typeof pinned === "string" ? pinned : "(none)"} -> ${engine}`);
|
|
16903
17078
|
}
|
|
16904
|
-
const linked = (() => {
|
|
17079
|
+
const linked = product.linksNodeModules === true || (() => {
|
|
16905
17080
|
try {
|
|
16906
17081
|
return lstatSync(join3(project, "node_modules")).isSymbolicLink();
|
|
16907
17082
|
} catch {
|
|
@@ -16910,12 +17085,39 @@ async function upgradeProject(product, requested, cwd = process.cwd()) {
|
|
|
16910
17085
|
})();
|
|
16911
17086
|
const locks = packagesChanged && !linked ? (await Promise.all([join3(project, "package-lock.json"), join3(project, "node_modules", ".package-lock.json")].map(lockWithoutVolter))).filter((lock) => lock !== null) : [];
|
|
16912
17087
|
if (locks.length > 0) changed.push("package-lock.json: the old @volter rows dropped, so npm install resolves the new ones");
|
|
16913
|
-
|
|
16914
|
-
|
|
16915
|
-
|
|
16916
|
-
|
|
16917
|
-
|
|
16918
|
-
|
|
17088
|
+
const madeDirs = [];
|
|
17089
|
+
for (const file3 of textFiles) {
|
|
17090
|
+
if (!file3.created) continue;
|
|
17091
|
+
const chain = [];
|
|
17092
|
+
for (let dir = dirname2(file3.path); !existsSync3(dir) && dir !== dirname2(dir); dir = dirname2(dir)) chain.unshift(dir);
|
|
17093
|
+
for (const dir of chain) {
|
|
17094
|
+
await mkdir2(dir);
|
|
17095
|
+
madeDirs.push(dir);
|
|
17096
|
+
}
|
|
17097
|
+
}
|
|
17098
|
+
try {
|
|
17099
|
+
await writeAll([
|
|
17100
|
+
...packagesChanged ? [{ path: packagePath, content: jsonLayout(packageRaw)(pkg), original: packageRaw }] : [],
|
|
17101
|
+
...pinChanged ? [{ path: manifestPath, content: jsonLayout(manifestRaw)(manifest), original: manifestRaw }] : [],
|
|
17102
|
+
...textFiles,
|
|
17103
|
+
...locks
|
|
17104
|
+
]);
|
|
17105
|
+
} catch (error50) {
|
|
17106
|
+
for (const dir of madeDirs.reverse()) await rmdir(dir).catch(() => void 0);
|
|
17107
|
+
throw error50;
|
|
17108
|
+
}
|
|
17109
|
+
const failed = [];
|
|
17110
|
+
const leftover = (path, error50) => (failed.push(path), kept.push(`${projectPath(path)} could not be removed (${error50 instanceof Error ? error50.message : String(error50)}); the editor does not read it, so delete it by hand`));
|
|
17111
|
+
for (const path of leftBehind) await rm(path).catch((error50) => leftover(path, error50));
|
|
17112
|
+
for (const move of moves) {
|
|
17113
|
+
for (const path of await allFiles(move.from)) {
|
|
17114
|
+
if (leftBehind.includes(path) || stranded.includes(path)) continue;
|
|
17115
|
+
const to = movedPath(path);
|
|
17116
|
+
await mkdir2(dirname2(to), { recursive: true });
|
|
17117
|
+
await rename(path, to).catch((error50) => leftover(path, error50));
|
|
17118
|
+
}
|
|
17119
|
+
if (!move.from.endsWith(".ts") && ![...failed, ...stranded].some((path) => path.startsWith(move.from + sep))) await rm(move.from, { recursive: true, force: true }).catch(() => void 0);
|
|
17120
|
+
}
|
|
16919
17121
|
for (const line of warnings) console.warn(`! ${line}`);
|
|
16920
17122
|
console.log(changed.length > 0 ? `Upgraded ${project} to ${product.packageName}@${release.version} (engine ${engine}):` : `${project} is already on ${product.packageName}@${release.version} (engine ${engine}).`);
|
|
16921
17123
|
for (const line of changed) console.log(` + ${line}`);
|
|
@@ -16957,11 +17159,62 @@ async function startupProject(create, { cwd = process.cwd(), home = homedir() }
|
|
|
16957
17159
|
|
|
16958
17160
|
// node/chat.ts
|
|
16959
17161
|
import { connect } from "@volter/live";
|
|
17162
|
+
|
|
17163
|
+
// ../sdk/src/session/registry-format.ts
|
|
17164
|
+
import {
|
|
17165
|
+
mkdirSync,
|
|
17166
|
+
readdirSync,
|
|
17167
|
+
readFileSync as readFileSync2,
|
|
17168
|
+
realpathSync,
|
|
17169
|
+
unlinkSync,
|
|
17170
|
+
writeFileSync
|
|
17171
|
+
} from "node:fs";
|
|
17172
|
+
import { homedir as homedir2 } from "node:os";
|
|
17173
|
+
import { join as join5, resolve as resolve4 } from "node:path";
|
|
17174
|
+
var EDITOR_SESSIONS_REGISTRY_FILE = join5(homedir2(), ".volter", "editor-sessions.json");
|
|
17175
|
+
function isEditorSessionEntry(v) {
|
|
17176
|
+
if (typeof v !== "object" || v === null) return false;
|
|
17177
|
+
const s = v;
|
|
17178
|
+
const optionalIdentity = (value) => value === void 0 || value === null || typeof value === "string";
|
|
17179
|
+
return (typeof s["project"] === "string" || s["project"] === null) && typeof s["port"] === "number" && typeof s["pid"] === "number" && typeof s["startedAt"] === "string" && optionalIdentity(s["sessionId"]) && optionalIdentity(s["controlSecret"]) && optionalIdentity(s["repositoryId"]) && optionalIdentity(s["worktreeId"]) && optionalIdentity(s["worktreeRoot"]) && optionalIdentity(s["projectRelativePath"]) && optionalIdentity(s["branch"]) && optionalIdentity(s["headCommit"]) && optionalIdentity(s["baseCommit"]);
|
|
17180
|
+
}
|
|
17181
|
+
function normalizeEditorSessionEntry(session) {
|
|
17182
|
+
return {
|
|
17183
|
+
...session,
|
|
17184
|
+
sessionId: session.sessionId ?? null,
|
|
17185
|
+
controlSecret: session.controlSecret ?? null,
|
|
17186
|
+
repositoryId: session.repositoryId ?? null,
|
|
17187
|
+
worktreeId: session.worktreeId ?? null,
|
|
17188
|
+
worktreeRoot: session.worktreeRoot ?? null,
|
|
17189
|
+
projectRelativePath: session.projectRelativePath ?? null,
|
|
17190
|
+
branch: session.branch ?? null,
|
|
17191
|
+
headCommit: session.headCommit ?? null,
|
|
17192
|
+
baseCommit: session.baseCommit ?? null
|
|
17193
|
+
};
|
|
17194
|
+
}
|
|
17195
|
+
function pidAlive(pid) {
|
|
17196
|
+
try {
|
|
17197
|
+
process.kill(pid, 0);
|
|
17198
|
+
return true;
|
|
17199
|
+
} catch (error50) {
|
|
17200
|
+
return error50.code === "EPERM";
|
|
17201
|
+
}
|
|
17202
|
+
}
|
|
17203
|
+
function readLiveRegisteredSessions() {
|
|
17204
|
+
try {
|
|
17205
|
+
const raw = JSON.parse(readFileSync2(EDITOR_SESSIONS_REGISTRY_FILE, "utf8"));
|
|
17206
|
+
return Array.isArray(raw) ? raw.filter(isEditorSessionEntry).map(normalizeEditorSessionEntry).filter((s) => pidAlive(s.pid)) : [];
|
|
17207
|
+
} catch {
|
|
17208
|
+
return [];
|
|
17209
|
+
}
|
|
17210
|
+
}
|
|
17211
|
+
|
|
17212
|
+
// node/chat.ts
|
|
16960
17213
|
var CHAT_USAGE = "chat status | chat send <prompt> | chat stop";
|
|
16961
17214
|
async function chat(args) {
|
|
16962
17215
|
const [action, prompt] = args;
|
|
16963
17216
|
if (!["status", "send", "stop"].includes(action ?? "") || args.length !== (action === "send" ? 2 : 1) || action === "send" && !prompt?.trim()) throw new Error(`Usage: cyclotron ${CHAT_USAGE}`);
|
|
16964
|
-
const { editor } = await connect();
|
|
17217
|
+
const { editor, session } = await connect();
|
|
16965
17218
|
const state = await editor.command("supercode.frontend.status", true);
|
|
16966
17219
|
const view = await editor.command("volter.chat.inspect");
|
|
16967
17220
|
if (action === "status") return { ...state, focusedSessionResource: view.sessionResource };
|
|
@@ -16972,8 +17225,26 @@ async function chat(args) {
|
|
|
16972
17225
|
if (!connection && !draft || !connection && state.setupHandoff?.complete !== true) {
|
|
16973
17226
|
throw new Error("Chat is not ready. Open Chat in the editor and choose an agent or complete its sign-in, then run chat status.");
|
|
16974
17227
|
}
|
|
16975
|
-
if (action === "send" &&
|
|
16976
|
-
throw new Error("Chat
|
|
17228
|
+
if (action === "send" && connection?.pendingRequests?.length) {
|
|
17229
|
+
throw new Error("Chat is waiting on an approval in the editor. Answer it there (or use chat stop), then send.");
|
|
17230
|
+
}
|
|
17231
|
+
if (action === "send" && state.busy) {
|
|
17232
|
+
const entry = readLiveRegisteredSessions().find((s) => s.port === session.port);
|
|
17233
|
+
const origin = `http://127.0.0.1:${session.port}`;
|
|
17234
|
+
const response = await fetch(`${origin}/__editor/harness-chat/steer`, {
|
|
17235
|
+
method: "POST",
|
|
17236
|
+
headers: {
|
|
17237
|
+
"Content-Type": "application/json",
|
|
17238
|
+
Origin: origin,
|
|
17239
|
+
...entry?.controlSecret ? { "x-volter-editor-control": entry.controlSecret } : {}
|
|
17240
|
+
},
|
|
17241
|
+
body: JSON.stringify({ text: prompt })
|
|
17242
|
+
});
|
|
17243
|
+
if (!response.ok) {
|
|
17244
|
+
const said = await response.json().catch(() => null);
|
|
17245
|
+
throw new Error(`Chat has a running turn and did not take the prompt into it: ${said?.error ?? `HTTP ${response.status}`}`);
|
|
17246
|
+
}
|
|
17247
|
+
return { steered: true, sessionId: connection?.sessionId };
|
|
16977
17248
|
}
|
|
16978
17249
|
if (!resource && connection) await editor.command("volter.chat.openSession", `supercode://${connection.id}/conversation`);
|
|
16979
17250
|
if (action === "stop") {
|
|
@@ -17020,14 +17291,14 @@ async function playLog(options) {
|
|
|
17020
17291
|
}
|
|
17021
17292
|
|
|
17022
17293
|
// node/add-play.ts
|
|
17023
|
-
import { existsSync as existsSync5, lstatSync as lstatSync2, realpathSync, statSync } from "node:fs";
|
|
17024
|
-
import { mkdir as
|
|
17025
|
-
import { dirname as dirname4, isAbsolute, join as
|
|
17294
|
+
import { existsSync as existsSync5, lstatSync as lstatSync2, realpathSync as realpathSync2, statSync } from "node:fs";
|
|
17295
|
+
import { mkdir as mkdir3, readFile as readFile4, readdir as readdir3, rm as rm2, rmdir as rmdir2, writeFile as writeFile3 } from "node:fs/promises";
|
|
17296
|
+
import { dirname as dirname4, isAbsolute, join as join6, posix, relative as relative3, resolve as resolve5 } from "node:path";
|
|
17026
17297
|
var ADD_PLAY_USAGE = "add-play [folder] # make a models project playable: Play deps, UI root, a first Play script for its model";
|
|
17027
17298
|
async function playScripts(project) {
|
|
17028
|
-
const src =
|
|
17299
|
+
const src = join6(project, "src");
|
|
17029
17300
|
if (!existsSync5(src)) return [];
|
|
17030
|
-
const entries = await
|
|
17301
|
+
const entries = await readdir3(src, { recursive: true });
|
|
17031
17302
|
return entries.map((entry) => `src/${entry.replace(/\\/g, "/")}`).filter((path) => path.endsWith(".play.ts") && !path.includes("/node_modules/"));
|
|
17032
17303
|
}
|
|
17033
17304
|
function occupied(path) {
|
|
@@ -17039,7 +17310,7 @@ function occupied(path) {
|
|
|
17039
17310
|
}
|
|
17040
17311
|
}
|
|
17041
17312
|
function inside(root, path) {
|
|
17042
|
-
const rel =
|
|
17313
|
+
const rel = relative3(root, path);
|
|
17043
17314
|
return rel === "" || !rel.startsWith("..") && !isAbsolute(rel);
|
|
17044
17315
|
}
|
|
17045
17316
|
function blocked(project, realProject, path) {
|
|
@@ -17049,13 +17320,13 @@ function blocked(project, realProject, path) {
|
|
|
17049
17320
|
if (!occupied(dir)) continue;
|
|
17050
17321
|
if (deepest === project) deepest = dir;
|
|
17051
17322
|
try {
|
|
17052
|
-
if (!statSync(dir).isDirectory()) return `${
|
|
17323
|
+
if (!statSync(dir).isDirectory()) return `${relative3(project, dir)} is not a folder`;
|
|
17053
17324
|
} catch {
|
|
17054
|
-
return `${
|
|
17325
|
+
return `${relative3(project, dir)} is a dangling link`;
|
|
17055
17326
|
}
|
|
17056
17327
|
}
|
|
17057
|
-
const real =
|
|
17058
|
-
if (!inside(realProject, real)) return `${
|
|
17328
|
+
const real = realpathSync2(deepest);
|
|
17329
|
+
if (!inside(realProject, real)) return `${relative3(project, deepest) || "."} resolves outside the project, to ${real}`;
|
|
17059
17330
|
return null;
|
|
17060
17331
|
}
|
|
17061
17332
|
function missingFolders(project, file3) {
|
|
@@ -17065,14 +17336,14 @@ function missingFolders(project, file3) {
|
|
|
17065
17336
|
}
|
|
17066
17337
|
async function playModel(project, adapter) {
|
|
17067
17338
|
const declared = adapter === null ? void 0 : /default:\s*'model:(src\/models\/[^']+\.blend)'/.exec(adapter)?.[1];
|
|
17068
|
-
if (declared !== void 0 && existsSync5(
|
|
17069
|
-
const models =
|
|
17070
|
-
const blends = existsSync5(models) ? (await
|
|
17339
|
+
if (declared !== void 0 && existsSync5(join6(project, declared))) return declared;
|
|
17340
|
+
const models = join6(project, "src", "models");
|
|
17341
|
+
const blends = existsSync5(models) ? (await readdir3(models, { recursive: true })).map((entry) => `src/models/${entry.replace(/\\/g, "/")}`).filter((path) => path.endsWith(".blend")) : [];
|
|
17071
17342
|
if (blends.length === 1) return blends[0];
|
|
17072
17343
|
return { why: blends.length === 0 ? "the project has no src/models/*.blend for it to drive" : `the project has ${blends.length} models (${blends.join(", ")}) and its adapter's default document is none of them` };
|
|
17073
17344
|
}
|
|
17074
17345
|
async function firstPlaySet(model) {
|
|
17075
|
-
const starter = (name) => readFile4(
|
|
17346
|
+
const starter = (name) => readFile4(join6(productRoot, "starter", "add-play", name), "utf8");
|
|
17076
17347
|
const folder = posix.dirname(model);
|
|
17077
17348
|
const state = posix.relative(posix.dirname(PLAY_SCAFFOLD.uiRoot.entry), posix.join(folder, "game-state"));
|
|
17078
17349
|
return [
|
|
@@ -17088,11 +17359,11 @@ function jsonLayout2(raw) {
|
|
|
17088
17359
|
return (value) => JSON.stringify(value, null, indent).replace(/\n/g, eol) + trailing;
|
|
17089
17360
|
}
|
|
17090
17361
|
async function addPlay(folder) {
|
|
17091
|
-
const project =
|
|
17092
|
-
const manifestPath =
|
|
17362
|
+
const project = resolve5(folder);
|
|
17363
|
+
const manifestPath = join6(project, MANIFEST_FILENAME);
|
|
17093
17364
|
if (!existsSync5(manifestPath)) throw new Error(`${project} is not a Cyclotron project: it has no ${MANIFEST_FILENAME}.`);
|
|
17094
|
-
const realProject =
|
|
17095
|
-
const packagePath =
|
|
17365
|
+
const realProject = realpathSync2(project);
|
|
17366
|
+
const packagePath = join6(project, "package.json");
|
|
17096
17367
|
if (!existsSync5(packagePath)) throw new Error(`${project} has no package.json to declare the Play dependencies in.`);
|
|
17097
17368
|
const { kit } = await productVersions();
|
|
17098
17369
|
const added = [];
|
|
@@ -17112,7 +17383,7 @@ async function addPlay(folder) {
|
|
|
17112
17383
|
added.push(`package.json ${section}: ${name}@${version3}`);
|
|
17113
17384
|
}
|
|
17114
17385
|
}
|
|
17115
|
-
const adapterPath =
|
|
17386
|
+
const adapterPath = join6(project, "editor/volter.adapter.ts");
|
|
17116
17387
|
const adapterSource = existsSync5(adapterPath) ? await readFile4(adapterPath, "utf8") : null;
|
|
17117
17388
|
let model = null;
|
|
17118
17389
|
let example = null;
|
|
@@ -17126,7 +17397,7 @@ async function addPlay(folder) {
|
|
|
17126
17397
|
} else {
|
|
17127
17398
|
const set3 = await firstPlaySet(chosen);
|
|
17128
17399
|
const refusals = set3.flatMap(({ to }) => {
|
|
17129
|
-
const reason = blocked(project, realProject,
|
|
17400
|
+
const reason = blocked(project, realProject, join6(project, to));
|
|
17130
17401
|
return reason === null ? [] : [`${to}: ${reason}`];
|
|
17131
17402
|
});
|
|
17132
17403
|
if (refusals.length > 0) {
|
|
@@ -17144,7 +17415,7 @@ async function addPlay(folder) {
|
|
|
17144
17415
|
const roots = manifest.roots ?? [];
|
|
17145
17416
|
if (roots.some((root) => root.id === PLAY_SCAFFOLD.uiRoot.id)) {
|
|
17146
17417
|
kept.push(`${MANIFEST_FILENAME} already has a "${PLAY_SCAFFOLD.uiRoot.id}" root`);
|
|
17147
|
-
} else if (example !== null || existsSync5(
|
|
17418
|
+
} else if (example !== null || existsSync5(join6(project, PLAY_SCAFFOLD.uiRoot.entry))) {
|
|
17148
17419
|
manifest.roots = [...roots, { ...PLAY_SCAFFOLD.uiRoot }];
|
|
17149
17420
|
manifestChanged = true;
|
|
17150
17421
|
added.push(`${MANIFEST_FILENAME} root: ${JSON.stringify(PLAY_SCAFFOLD.uiRoot)}`);
|
|
@@ -17172,7 +17443,7 @@ async function addPlay(folder) {
|
|
|
17172
17443
|
}
|
|
17173
17444
|
adapter = { original: adapterSource, next };
|
|
17174
17445
|
}
|
|
17175
|
-
const tsconfigPath =
|
|
17446
|
+
const tsconfigPath = join6(project, "tsconfig.json");
|
|
17176
17447
|
const writeTsconfig = !occupied(tsconfigPath);
|
|
17177
17448
|
if (writeTsconfig) added.push("tsconfig.json");
|
|
17178
17449
|
else if (!existsSync5(tsconfigPath))
|
|
@@ -17182,9 +17453,9 @@ async function addPlay(folder) {
|
|
|
17182
17453
|
const created = /* @__PURE__ */ new Set();
|
|
17183
17454
|
try {
|
|
17184
17455
|
for (const { to, content } of example) {
|
|
17185
|
-
const target =
|
|
17456
|
+
const target = join6(project, to);
|
|
17186
17457
|
for (const dir of missingFolders(project, target)) created.add(dir);
|
|
17187
|
-
await
|
|
17458
|
+
await mkdir3(dirname4(target), { recursive: true });
|
|
17188
17459
|
await writeFile3(target, content, { flag: "wx" });
|
|
17189
17460
|
written.push(target);
|
|
17190
17461
|
}
|
|
@@ -17193,9 +17464,9 @@ async function addPlay(folder) {
|
|
|
17193
17464
|
const remaining = [];
|
|
17194
17465
|
for (const dir of [...created].sort((a, b) => b.length - a.length)) {
|
|
17195
17466
|
try {
|
|
17196
|
-
await
|
|
17467
|
+
await rmdir2(dir);
|
|
17197
17468
|
} catch {
|
|
17198
|
-
if (occupied(dir)) remaining.push(
|
|
17469
|
+
if (occupied(dir)) remaining.push(relative3(project, dir));
|
|
17199
17470
|
}
|
|
17200
17471
|
}
|
|
17201
17472
|
const reason = error50 instanceof Error ? error50.message : String(error50);
|
|
@@ -17214,7 +17485,7 @@ async function addPlay(folder) {
|
|
|
17214
17485
|
console.log("Next:");
|
|
17215
17486
|
const linked = (() => {
|
|
17216
17487
|
try {
|
|
17217
|
-
return lstatSync2(
|
|
17488
|
+
return lstatSync2(join6(project, "node_modules")).isSymbolicLink();
|
|
17218
17489
|
} catch {
|
|
17219
17490
|
return false;
|
|
17220
17491
|
}
|
|
@@ -17317,7 +17588,7 @@ The play log has the entry: cyclotron play-log --kind script-error${documentId ?
|
|
|
17317
17588
|
lastProgressAt = now;
|
|
17318
17589
|
console.error(`Play is on; waiting for the game's first frame (${Math.round((now - startedAt) / 1e3)}s). The tab draws frames only while it is visible \u2014 is it hidden or minimised?`);
|
|
17319
17590
|
}
|
|
17320
|
-
await new Promise((
|
|
17591
|
+
await new Promise((resolve14) => setTimeout(resolve14, 250));
|
|
17321
17592
|
current = await state(args);
|
|
17322
17593
|
}
|
|
17323
17594
|
return current;
|
|
@@ -17330,9 +17601,10 @@ var __export2 = (target, all) => {
|
|
|
17330
17601
|
__defProp2(target, name, { get: all[name], enumerable: true });
|
|
17331
17602
|
};
|
|
17332
17603
|
|
|
17333
|
-
// ../editor-core/dist/server/chunk-
|
|
17604
|
+
// ../editor-core/dist/server/chunk-D2E2T73W.js
|
|
17334
17605
|
import { existsSync as existsSync6 } from "node:fs";
|
|
17335
|
-
import { join as
|
|
17606
|
+
import { join as join7 } from "node:path";
|
|
17607
|
+
var MANIFEST_FILENAME2 = "volter.project.json";
|
|
17336
17608
|
var ADAPTER_MODULE_FILENAME = "editor/volter.adapter.ts";
|
|
17337
17609
|
var external_exports2 = {};
|
|
17338
17610
|
__export2(external_exports2, {
|
|
@@ -31194,7 +31466,26 @@ var ProjectCompatibilityError = class extends Error {
|
|
|
31194
31466
|
};
|
|
31195
31467
|
function assertProjectAdapter(projectRoot, product) {
|
|
31196
31468
|
if (product === null || product.adapterRequired !== true) return;
|
|
31197
|
-
if (existsSync6(
|
|
31469
|
+
if (existsSync6(join7(projectRoot, ADAPTER_MODULE_FILENAME))) return;
|
|
31470
|
+
if (existsSync6(join7(projectRoot, "volter.adapter.ts"))) {
|
|
31471
|
+
throw new ProjectCompatibilityError(
|
|
31472
|
+
`${projectRoot} keeps its adapter at its root (volter.adapter.ts), where projects made before 0.5.203 kept it; this editor reads ${ADAPTER_MODULE_FILENAME}.`,
|
|
31473
|
+
{
|
|
31474
|
+
kind: "bring-project-up-to-date",
|
|
31475
|
+
title: "Bring this project up to date",
|
|
31476
|
+
guidance: product.upgrade === true ? `To move it: npx ${product.name}@latest upgrade, in the project folder. It moves the adapter into editor/ and the kit's packages to their current names; then npm install, and open the project again.` : `To move it: put volter.adapter.ts, src/contributions and src/tools into editor/, and rename the kit's packages (@volter/editor-project, editor-sdk, editor-live and editor-model-play are @volter/project, sdk, live and play); then npm install, and open the project again.`,
|
|
31477
|
+
summary: "adapter at the project root"
|
|
31478
|
+
}
|
|
31479
|
+
);
|
|
31480
|
+
}
|
|
31481
|
+
if (existsSync6(join7(projectRoot, MANIFEST_FILENAME2))) {
|
|
31482
|
+
throw new ProjectCompatibilityError(`${projectRoot} is a project with no ${ADAPTER_MODULE_FILENAME}.`, {
|
|
31483
|
+
kind: "bring-project-up-to-date",
|
|
31484
|
+
title: "Bring this project up to date",
|
|
31485
|
+
guidance: `Add one: a project made by npx ${product.name} create <another folder> has an ${ADAPTER_MODULE_FILENAME} to copy into this project's editor/ folder; then open this project again.`,
|
|
31486
|
+
summary: "no adapter"
|
|
31487
|
+
});
|
|
31488
|
+
}
|
|
31198
31489
|
throw new ProjectCompatibilityError(`${projectRoot} has no ${ADAPTER_MODULE_FILENAME}.`, {
|
|
31199
31490
|
kind: "make-project",
|
|
31200
31491
|
title: "Make a project",
|
|
@@ -31272,9 +31563,9 @@ function describeEditorBootFailure(outcome, ctx) {
|
|
|
31272
31563
|
}
|
|
31273
31564
|
|
|
31274
31565
|
// ../editor-core/dist/server/chunk-SDCQ4SU3.js
|
|
31275
|
-
import { existsSync as existsSync7, readFileSync as
|
|
31566
|
+
import { existsSync as existsSync7, readFileSync as readFileSync3 } from "node:fs";
|
|
31276
31567
|
import { createRequire } from "node:module";
|
|
31277
|
-
import { dirname as dirname5, join as
|
|
31568
|
+
import { dirname as dirname5, join as join8 } from "node:path";
|
|
31278
31569
|
import { pathToFileURL } from "node:url";
|
|
31279
31570
|
var PRODUCT_DECLARATION_KEY = "volter.product";
|
|
31280
31571
|
var PRODUCT_INSTALL_LINES = [
|
|
@@ -31284,10 +31575,10 @@ var PRODUCT_INSTALL_LINES = [
|
|
|
31284
31575
|
var PRODUCT_CREATE_LINES = [" npx @volter/editor-core create <name>"];
|
|
31285
31576
|
var PRODUCT_COLOR_THEMES = ["dark", "light"];
|
|
31286
31577
|
function readProductManifest(packageDir) {
|
|
31287
|
-
const manifestPath =
|
|
31578
|
+
const manifestPath = join8(packageDir, "package.json");
|
|
31288
31579
|
let manifest;
|
|
31289
31580
|
try {
|
|
31290
|
-
manifest = JSON.parse(
|
|
31581
|
+
manifest = JSON.parse(readFileSync3(manifestPath, "utf8"));
|
|
31291
31582
|
} catch {
|
|
31292
31583
|
return null;
|
|
31293
31584
|
}
|
|
@@ -31298,7 +31589,7 @@ function readProductManifest(packageDir) {
|
|
|
31298
31589
|
throw new Error(
|
|
31299
31590
|
`${manifestPath} declares ${PRODUCT_DECLARATION_KEY} but its "entry" is ${JSON.stringify(entry)}. It must be a ./-relative module \u2014 the product's ONE source entry, which is also its frame entry (e.g. "./src/index.ts").`
|
|
31300
31591
|
);
|
|
31301
|
-
const resolved =
|
|
31592
|
+
const resolved = join8(packageDir, entry);
|
|
31302
31593
|
if (!existsSync7(resolved))
|
|
31303
31594
|
throw new Error(
|
|
31304
31595
|
`${manifestPath} declares ${PRODUCT_DECLARATION_KEY}.entry ${JSON.stringify(entry)}, which does not exist (${resolved}).`
|
|
@@ -31398,7 +31689,7 @@ function declaredVolterPackages(projectRoot) {
|
|
|
31398
31689
|
let manifest;
|
|
31399
31690
|
try {
|
|
31400
31691
|
manifest = JSON.parse(
|
|
31401
|
-
|
|
31692
|
+
readFileSync3(join8(projectRoot, "package.json"), "utf8")
|
|
31402
31693
|
);
|
|
31403
31694
|
} catch {
|
|
31404
31695
|
return [];
|
|
@@ -31406,16 +31697,16 @@ function declaredVolterPackages(projectRoot) {
|
|
|
31406
31697
|
return Object.keys({ ...manifest.dependencies ?? {}, ...manifest.devDependencies ?? {} }).filter((name) => name.startsWith("@volter/")).sort();
|
|
31407
31698
|
}
|
|
31408
31699
|
function locatePackage(projectRoot, name) {
|
|
31409
|
-
const require2 = createRequire(pathToFileURL(
|
|
31700
|
+
const require2 = createRequire(pathToFileURL(join8(projectRoot, "package.json")));
|
|
31410
31701
|
try {
|
|
31411
31702
|
return dirname5(require2.resolve(`${name}/package.json`));
|
|
31412
31703
|
} catch {
|
|
31413
31704
|
try {
|
|
31414
31705
|
let dir = dirname5(require2.resolve(name));
|
|
31415
31706
|
for (; ; ) {
|
|
31416
|
-
const candidate =
|
|
31707
|
+
const candidate = join8(dir, "package.json");
|
|
31417
31708
|
try {
|
|
31418
|
-
if (JSON.parse(
|
|
31709
|
+
if (JSON.parse(readFileSync3(candidate, "utf8")).name === name)
|
|
31419
31710
|
return dir;
|
|
31420
31711
|
} catch {
|
|
31421
31712
|
}
|
|
@@ -31465,30 +31756,30 @@ import { createHash } from "node:crypto";
|
|
|
31465
31756
|
import {
|
|
31466
31757
|
createWriteStream,
|
|
31467
31758
|
existsSync as existsSync8,
|
|
31468
|
-
mkdirSync,
|
|
31469
|
-
readFileSync as
|
|
31759
|
+
mkdirSync as mkdirSync2,
|
|
31760
|
+
readFileSync as readFileSync4,
|
|
31470
31761
|
renameSync,
|
|
31471
31762
|
rmSync,
|
|
31472
|
-
writeFileSync
|
|
31763
|
+
writeFileSync as writeFileSync2
|
|
31473
31764
|
} from "node:fs";
|
|
31474
|
-
import { homedir as
|
|
31475
|
-
import { basename, isAbsolute as isAbsolute2, join as
|
|
31765
|
+
import { homedir as homedir3 } from "node:os";
|
|
31766
|
+
import { basename, isAbsolute as isAbsolute2, join as join9, resolve as resolve6, sep as sep2 } from "node:path";
|
|
31476
31767
|
import { Readable } from "node:stream";
|
|
31477
31768
|
import { pipeline } from "node:stream/promises";
|
|
31478
31769
|
var WORKBENCH_LOCATOR_PATH = ".volter/workbench.json";
|
|
31479
31770
|
var RELEASE_RECORD = "BUILD.json";
|
|
31480
|
-
var SOURCES_LAUNCHER =
|
|
31771
|
+
var SOURCES_LAUNCHER = join9("scripts", "code-server.sh");
|
|
31481
31772
|
var OVERLAY_RECORD = ".volter-overlay.json";
|
|
31482
31773
|
function workbenchDeclarationExample(projectRoot) {
|
|
31483
|
-
return `${
|
|
31774
|
+
return `${join9(projectRoot, WORKBENCH_LOCATOR_PATH)}:
|
|
31484
31775
|
{ "workbench": "<path to an extracted Code-OSS release, or to a fork checkout>" }`;
|
|
31485
31776
|
}
|
|
31486
31777
|
function readWorkbenchDeclaration(projectRoot) {
|
|
31487
|
-
const file3 =
|
|
31778
|
+
const file3 = join9(projectRoot, WORKBENCH_LOCATOR_PATH);
|
|
31488
31779
|
if (!existsSync8(file3)) return null;
|
|
31489
31780
|
let parsed;
|
|
31490
31781
|
try {
|
|
31491
|
-
parsed = JSON.parse(
|
|
31782
|
+
parsed = JSON.parse(readFileSync4(file3, "utf8"));
|
|
31492
31783
|
} catch (error50) {
|
|
31493
31784
|
throw new Error(
|
|
31494
31785
|
`${file3} is not valid JSON (${error50 instanceof Error ? error50.message : String(error50)}). It says which Code-OSS workbench this project opens in, and nothing else:
|
|
@@ -31516,27 +31807,27 @@ ${workbenchDeclarationExample(projectRoot)}`
|
|
|
31516
31807
|
${workbenchDeclarationExample(projectRoot)}`
|
|
31517
31808
|
);
|
|
31518
31809
|
}
|
|
31519
|
-
return isAbsolute2(declared) ?
|
|
31810
|
+
return isAbsolute2(declared) ? resolve6(declared) : resolve6(projectRoot, declared);
|
|
31520
31811
|
}
|
|
31521
31812
|
function writeWorkbenchDeclaration(projectRoot, workbenchDir) {
|
|
31522
|
-
|
|
31523
|
-
|
|
31524
|
-
|
|
31525
|
-
`${JSON.stringify({ workbench:
|
|
31813
|
+
mkdirSync2(join9(projectRoot, ".volter"), { recursive: true });
|
|
31814
|
+
writeFileSync2(
|
|
31815
|
+
join9(projectRoot, WORKBENCH_LOCATOR_PATH),
|
|
31816
|
+
`${JSON.stringify({ workbench: resolve6(workbenchDir) }, null, 2)}
|
|
31526
31817
|
`
|
|
31527
31818
|
);
|
|
31528
31819
|
}
|
|
31529
31820
|
function workbenchUrl(proxyPort, projectRoot) {
|
|
31530
|
-
const id = basename(
|
|
31531
|
-
const hostId = createHash("sha256").update(
|
|
31821
|
+
const id = basename(resolve6(projectRoot));
|
|
31822
|
+
const hostId = createHash("sha256").update(resolve6(projectRoot)).digest("hex").slice(0, 16);
|
|
31532
31823
|
return `http://editor-${hostId}.localhost:${proxyPort}/?project=${encodeURIComponent(id)}`;
|
|
31533
31824
|
}
|
|
31534
31825
|
function machinePlatform() {
|
|
31535
31826
|
return `${process.platform}-${process.arch}`;
|
|
31536
31827
|
}
|
|
31537
31828
|
function resolveWorkbench(dir, expectedProduct) {
|
|
31538
|
-
const root =
|
|
31539
|
-
const resolved = existsSync8(
|
|
31829
|
+
const root = resolve6(dir);
|
|
31830
|
+
const resolved = existsSync8(join9(root, RELEASE_RECORD)) ? resolveRelease(root) : existsSync8(join9(root, SOURCES_LAUNCHER)) ? resolveSources(root) : null;
|
|
31540
31831
|
if (resolved === null) {
|
|
31541
31832
|
throw new Error(
|
|
31542
31833
|
`${root} is neither a Code-OSS release nor a fork checkout: it carries no ${RELEASE_RECORD} (the record scripts/workbench/build-release.mjs writes beside its tarball) and no ${SOURCES_LAUNCHER}. Name the directory the release was extracted into, or the fork checkout itself.`
|
|
@@ -31552,11 +31843,11 @@ function resolveWorkbench(dir, expectedProduct) {
|
|
|
31552
31843
|
return resolved;
|
|
31553
31844
|
}
|
|
31554
31845
|
function resolveRelease(dir) {
|
|
31555
|
-
const record3 =
|
|
31846
|
+
const record3 = join9(dir, RELEASE_RECORD);
|
|
31556
31847
|
const cut = `node scripts/workbench/build-release.mjs --product <id> --platform ${machinePlatform()} --checkout <fork dir> --out ${dir}`;
|
|
31557
31848
|
let parsed;
|
|
31558
31849
|
try {
|
|
31559
|
-
parsed = JSON.parse(
|
|
31850
|
+
parsed = JSON.parse(readFileSync4(record3, "utf8"));
|
|
31560
31851
|
} catch (error50) {
|
|
31561
31852
|
throw new Error(`${record3} could not be read: ${String(error50)}`);
|
|
31562
31853
|
}
|
|
@@ -31580,13 +31871,13 @@ function resolveRelease(dir) {
|
|
|
31580
31871
|
node scripts/workbench/build-release.mjs --product ${product} --platform ${machine} --checkout <fork dir>`
|
|
31581
31872
|
);
|
|
31582
31873
|
}
|
|
31583
|
-
const packageRoot =
|
|
31584
|
-
const serverBinPath =
|
|
31874
|
+
const packageRoot = join9(dir, target);
|
|
31875
|
+
const serverBinPath = join9(packageRoot, serverBin);
|
|
31585
31876
|
if (!existsSync8(serverBinPath)) {
|
|
31586
31877
|
const tarball = typeof parsed["tarball"] === "string" ? parsed["tarball"] : `${target}-<commit>.tar.gz`;
|
|
31587
31878
|
throw new Error(
|
|
31588
31879
|
`${dir} records ${target}, but ${serverBinPath} is not there \u2014 the tarball has not been extracted beside ${RELEASE_RECORD}. Run:
|
|
31589
|
-
tar -xzf ${
|
|
31880
|
+
tar -xzf ${join9(dir, tarball)} -C ${dir}`
|
|
31590
31881
|
);
|
|
31591
31882
|
}
|
|
31592
31883
|
return { kind: "release", dir, commit, product, serverBin: serverBinPath, cwd: packageRoot };
|
|
@@ -31600,7 +31891,7 @@ function resolveSources(dir) {
|
|
|
31600
31891
|
`${dir} carries ${SOURCES_LAUNCHER}, so it reads as a Code-OSS fork checkout, but \`git rev-parse HEAD\` there failed (${error50 instanceof Error ? error50.message : String(error50)}). A checkout's commit is the only record of which fork this workbench is.`
|
|
31601
31892
|
);
|
|
31602
31893
|
}
|
|
31603
|
-
const marker =
|
|
31894
|
+
const marker = join9(dir, OVERLAY_RECORD);
|
|
31604
31895
|
if (!existsSync8(marker)) {
|
|
31605
31896
|
throw new Error(
|
|
31606
31897
|
`${dir} is a Code-OSS checkout with no volter overlay: ${OVERLAY_RECORD} is not there, so nothing of the editor is compiled into it and the workbench would come up as plain Code-OSS. Overlay and compile it:
|
|
@@ -31609,7 +31900,7 @@ function resolveSources(dir) {
|
|
|
31609
31900
|
}
|
|
31610
31901
|
let product;
|
|
31611
31902
|
try {
|
|
31612
|
-
product = JSON.parse(
|
|
31903
|
+
product = JSON.parse(readFileSync4(marker, "utf8"))["product"];
|
|
31613
31904
|
} catch (error50) {
|
|
31614
31905
|
throw new Error(`${marker} could not be read: ${String(error50)}`);
|
|
31615
31906
|
}
|
|
@@ -31623,24 +31914,24 @@ function resolveSources(dir) {
|
|
|
31623
31914
|
dir,
|
|
31624
31915
|
commit,
|
|
31625
31916
|
product,
|
|
31626
|
-
serverBin:
|
|
31917
|
+
serverBin: join9(dir, SOURCES_LAUNCHER),
|
|
31627
31918
|
cwd: dir
|
|
31628
31919
|
};
|
|
31629
31920
|
}
|
|
31630
31921
|
var RELEASE_REPO = "volter-ai/code-oss";
|
|
31631
|
-
var WORKBENCH_CACHE_ROOT =
|
|
31922
|
+
var WORKBENCH_CACHE_ROOT = join9(homedir3(), ".volter", "workbenches");
|
|
31632
31923
|
async function resolveWorkbenchForProject(options) {
|
|
31633
31924
|
const { projectRoot, product, override, io } = options;
|
|
31634
31925
|
const productId = workbenchProductId(product.name);
|
|
31635
31926
|
if (override !== void 0)
|
|
31636
31927
|
return {
|
|
31637
|
-
...resolveWorkbench(
|
|
31928
|
+
...resolveWorkbench(resolve6(override), productId),
|
|
31638
31929
|
source: "flag",
|
|
31639
31930
|
tag: null,
|
|
31640
31931
|
fetched: false
|
|
31641
31932
|
};
|
|
31642
31933
|
const declared = readWorkbenchDeclaration(projectRoot);
|
|
31643
|
-
const fetchRecord = declared !== null && product.workbench !== null && declared.startsWith(`${WORKBENCH_CACHE_ROOT}${
|
|
31934
|
+
const fetchRecord = declared !== null && product.workbench !== null && declared.startsWith(`${WORKBENCH_CACHE_ROOT}${sep2}`);
|
|
31644
31935
|
if (declared !== null && !fetchRecord)
|
|
31645
31936
|
return {
|
|
31646
31937
|
...resolveWorkbench(declared, productId),
|
|
@@ -31652,8 +31943,8 @@ async function resolveWorkbenchForProject(options) {
|
|
|
31652
31943
|
`${product.name} is a private source product with no released workbench. Pass --workbench <compiled checkout> or declare it in ${WORKBENCH_LOCATOR_PATH}. Public distribution requires a pinned workbench release and checksum.`
|
|
31653
31944
|
);
|
|
31654
31945
|
const tag = product.workbench.release;
|
|
31655
|
-
const dir =
|
|
31656
|
-
const fetched = !existsSync8(
|
|
31946
|
+
const dir = join9(WORKBENCH_CACHE_ROOT, tag);
|
|
31947
|
+
const fetched = !existsSync8(join9(dir, RELEASE_RECORD));
|
|
31657
31948
|
if (fetched) await fetchDeclaredRelease(product, tag, dir, io);
|
|
31658
31949
|
else io.log(`Workbench ${tag} is already installed (${dir}).`);
|
|
31659
31950
|
const workbench = resolveWorkbench(dir, productId);
|
|
@@ -31734,7 +32025,7 @@ async function fetchDeclaredRelease(product, tag, dir, io) {
|
|
|
31734
32025
|
const productId = workbenchProductId(product.name);
|
|
31735
32026
|
const machine = machinePlatform();
|
|
31736
32027
|
const token = githubToken();
|
|
31737
|
-
const partial3 =
|
|
32028
|
+
const partial3 = join9(WORKBENCH_CACHE_ROOT, `.${tag}.${process.pid}.partial`);
|
|
31738
32029
|
const cutLine = ` node scripts/workbench/build-release.mjs --product ${productId} --platform ${machine} --checkout <fork dir> --publish`;
|
|
31739
32030
|
const releaseUrl = `https://api.github.com/repos/${RELEASE_REPO}/releases/tags/${encodeURIComponent(tag)}`;
|
|
31740
32031
|
const response = await downloadOperation(
|
|
@@ -31770,7 +32061,7 @@ ${tokenDoors()}` : "")
|
|
|
31770
32061
|
${cutLine}`
|
|
31771
32062
|
);
|
|
31772
32063
|
rmSync(partial3, { recursive: true, force: true });
|
|
31773
|
-
|
|
32064
|
+
mkdirSync2(partial3, { recursive: true });
|
|
31774
32065
|
try {
|
|
31775
32066
|
const recordText = await downloadAssetText(record3, token);
|
|
31776
32067
|
const built = await downloadOperation(
|
|
@@ -31788,11 +32079,11 @@ ${cutLine}`
|
|
|
31788
32079
|
throw new Error(
|
|
31789
32080
|
`Release ${tag}'s own ${RELEASE_RECORD} records tarballSha256 ${String(built["tarballSha256"])} and ${product.name} pins ${product.workbench.tarballSha256}. A release is immutable, so these two cannot disagree about one tag: either the product declares the wrong release, or the release was replaced. Nothing was downloaded.`
|
|
31790
32081
|
);
|
|
31791
|
-
|
|
32082
|
+
writeFileSync2(join9(partial3, RELEASE_RECORD), recordText);
|
|
31792
32083
|
io.log(
|
|
31793
32084
|
`Fetching the ${productId} workbench ${tag} from ${RELEASE_REPO} \u2014 ${megabytes(tarball.size)} MB, once per machine.`
|
|
31794
32085
|
);
|
|
31795
|
-
const tarballPath =
|
|
32086
|
+
const tarballPath = join9(partial3, tarball.name);
|
|
31796
32087
|
let announced = 0;
|
|
31797
32088
|
const sha = await downloadAsset(tarball, token, tarballPath, (received) => {
|
|
31798
32089
|
if (received - announced < 4 * 1024 ** 2 && received !== tarball.size) return;
|
|
@@ -31806,13 +32097,13 @@ ${cutLine}`
|
|
|
31806
32097
|
`The download of ${tag} hashes to ${sha} and ${product.name} pins ${product.workbench.tarballSha256}. These are not the bytes this product runs in; the partial download was deleted and nothing was extracted.`
|
|
31807
32098
|
);
|
|
31808
32099
|
io.log(` sha256 ${sha.slice(0, 12)}\u2026 matches the pin. Extracting\u2026`);
|
|
31809
|
-
const tar = process.platform === "win32" ?
|
|
32100
|
+
const tar = process.platform === "win32" ? join9(process.env["SystemRoot"] ?? "C:\\Windows", "System32", "tar.exe") : "tar";
|
|
31810
32101
|
execFileSync(tar, ["-xzf", tarballPath, "-C", partial3], {
|
|
31811
32102
|
windowsHide: true,
|
|
31812
32103
|
stdio: ["ignore", "ignore", "pipe"]
|
|
31813
32104
|
});
|
|
31814
32105
|
rmSync(tarballPath, { force: true });
|
|
31815
|
-
if (existsSync8(
|
|
32106
|
+
if (existsSync8(join9(dir, RELEASE_RECORD))) {
|
|
31816
32107
|
rmSync(partial3, { recursive: true, force: true });
|
|
31817
32108
|
} else {
|
|
31818
32109
|
rmSync(dir, { recursive: true, force: true });
|
|
@@ -31870,8 +32161,8 @@ async function downloadAsset(asset, token, destination, onProgress) {
|
|
|
31870
32161
|
// ../editor-core/dist/server/chunk-VNHTPCBZ.js
|
|
31871
32162
|
import { execFileSync as execFileSync2 } from "node:child_process";
|
|
31872
32163
|
import { createHash as createHash2 } from "node:crypto";
|
|
31873
|
-
import { realpathSync as
|
|
31874
|
-
import { basename as basename2, isAbsolute as isAbsolute3, relative as
|
|
32164
|
+
import { realpathSync as realpathSync3 } from "node:fs";
|
|
32165
|
+
import { basename as basename2, isAbsolute as isAbsolute3, relative as relative4, resolve as resolve7 } from "node:path";
|
|
31875
32166
|
function hash3(value) {
|
|
31876
32167
|
return createHash2("sha256").update(value).digest("hex").slice(0, 24);
|
|
31877
32168
|
}
|
|
@@ -31880,9 +32171,9 @@ function worktreeIdForRoot(repositoryId, worktreeRoot) {
|
|
|
31880
32171
|
}
|
|
31881
32172
|
function canonical(path) {
|
|
31882
32173
|
try {
|
|
31883
|
-
return
|
|
32174
|
+
return realpathSync3(path);
|
|
31884
32175
|
} catch {
|
|
31885
|
-
return
|
|
32176
|
+
return resolve7(path);
|
|
31886
32177
|
}
|
|
31887
32178
|
}
|
|
31888
32179
|
function git(cwd, args) {
|
|
@@ -31899,7 +32190,7 @@ function git(cwd, args) {
|
|
|
31899
32190
|
}
|
|
31900
32191
|
function resolveGitPath(worktreeRoot, rawPath) {
|
|
31901
32192
|
if (!rawPath) return null;
|
|
31902
|
-
return canonical(isAbsolute3(rawPath) ? rawPath :
|
|
32193
|
+
return canonical(isAbsolute3(rawPath) ? rawPath : resolve7(worktreeRoot, rawPath));
|
|
31903
32194
|
}
|
|
31904
32195
|
function defaultBaseCommit(worktreeRoot, headCommit) {
|
|
31905
32196
|
if (!headCommit) return null;
|
|
@@ -31942,7 +32233,7 @@ function resolveWorktreeIdentity(projectRoot) {
|
|
|
31942
32233
|
const repositoryId = `repository-${hash3(repositoryKey)}`;
|
|
31943
32234
|
const branch = git(worktreeRoot, ["symbolic-ref", "--quiet", "--short", "HEAD"]);
|
|
31944
32235
|
const headCommit = git(worktreeRoot, ["rev-parse", "--verify", "HEAD"]);
|
|
31945
|
-
const projectRelativePath =
|
|
32236
|
+
const projectRelativePath = relative4(worktreeRoot, project) || ".";
|
|
31946
32237
|
if (projectRelativePath === ".." || projectRelativePath.startsWith(`..${process.platform === "win32" ? "\\" : "/"}`)) {
|
|
31947
32238
|
throw new Error(`Project ${project} is outside its reported Git worktree ${worktreeRoot}.`);
|
|
31948
32239
|
}
|
|
@@ -31959,24 +32250,24 @@ function resolveWorktreeIdentity(projectRoot) {
|
|
|
31959
32250
|
|
|
31960
32251
|
// ../editor-core/dist/server/chunk-UZKAJSSR.js
|
|
31961
32252
|
import {
|
|
31962
|
-
mkdirSync as
|
|
31963
|
-
readdirSync,
|
|
31964
|
-
readFileSync as
|
|
31965
|
-
realpathSync as
|
|
31966
|
-
unlinkSync,
|
|
31967
|
-
writeFileSync as
|
|
32253
|
+
mkdirSync as mkdirSync3,
|
|
32254
|
+
readdirSync as readdirSync2,
|
|
32255
|
+
readFileSync as readFileSync5,
|
|
32256
|
+
realpathSync as realpathSync4,
|
|
32257
|
+
unlinkSync as unlinkSync2,
|
|
32258
|
+
writeFileSync as writeFileSync3
|
|
31968
32259
|
} from "node:fs";
|
|
31969
|
-
import { homedir as
|
|
31970
|
-
import { join as
|
|
32260
|
+
import { homedir as homedir4 } from "node:os";
|
|
32261
|
+
import { join as join10, resolve as resolve8 } from "node:path";
|
|
31971
32262
|
import { setTimeout as delay } from "node:timers/promises";
|
|
31972
|
-
var
|
|
31973
|
-
function
|
|
32263
|
+
var EDITOR_SESSIONS_REGISTRY_FILE2 = join10(homedir4(), ".volter", "editor-sessions.json");
|
|
32264
|
+
function isEditorSessionEntry2(v) {
|
|
31974
32265
|
if (typeof v !== "object" || v === null) return false;
|
|
31975
32266
|
const s = v;
|
|
31976
32267
|
const optionalIdentity = (value) => value === void 0 || value === null || typeof value === "string";
|
|
31977
32268
|
return (typeof s["project"] === "string" || s["project"] === null) && typeof s["port"] === "number" && typeof s["pid"] === "number" && typeof s["startedAt"] === "string" && optionalIdentity(s["sessionId"]) && optionalIdentity(s["controlSecret"]) && optionalIdentity(s["repositoryId"]) && optionalIdentity(s["worktreeId"]) && optionalIdentity(s["worktreeRoot"]) && optionalIdentity(s["projectRelativePath"]) && optionalIdentity(s["branch"]) && optionalIdentity(s["headCommit"]) && optionalIdentity(s["baseCommit"]);
|
|
31978
32269
|
}
|
|
31979
|
-
function
|
|
32270
|
+
function normalizeEditorSessionEntry2(session) {
|
|
31980
32271
|
return {
|
|
31981
32272
|
...session,
|
|
31982
32273
|
sessionId: session.sessionId ?? null,
|
|
@@ -31990,7 +32281,7 @@ function normalizeEditorSessionEntry(session) {
|
|
|
31990
32281
|
baseCommit: session.baseCommit ?? null
|
|
31991
32282
|
};
|
|
31992
32283
|
}
|
|
31993
|
-
function
|
|
32284
|
+
function pidAlive2(pid) {
|
|
31994
32285
|
try {
|
|
31995
32286
|
process.kill(pid, 0);
|
|
31996
32287
|
return true;
|
|
@@ -31998,23 +32289,23 @@ function pidAlive(pid) {
|
|
|
31998
32289
|
return error50.code === "EPERM";
|
|
31999
32290
|
}
|
|
32000
32291
|
}
|
|
32001
|
-
function
|
|
32292
|
+
function readLiveRegisteredSessions2() {
|
|
32002
32293
|
try {
|
|
32003
|
-
const raw = JSON.parse(
|
|
32004
|
-
return Array.isArray(raw) ? raw.filter(
|
|
32294
|
+
const raw = JSON.parse(readFileSync5(EDITOR_SESSIONS_REGISTRY_FILE2, "utf8"));
|
|
32295
|
+
return Array.isArray(raw) ? raw.filter(isEditorSessionEntry2).map(normalizeEditorSessionEntry2).filter((s) => pidAlive2(s.pid)) : [];
|
|
32005
32296
|
} catch {
|
|
32006
32297
|
return [];
|
|
32007
32298
|
}
|
|
32008
32299
|
}
|
|
32009
32300
|
function announceEditorLaunch(project) {
|
|
32010
|
-
const directory =
|
|
32011
|
-
|
|
32012
|
-
const file3 =
|
|
32013
|
-
|
|
32301
|
+
const directory = join10(project, ".volter", "editor-launches");
|
|
32302
|
+
mkdirSync3(directory, { recursive: true });
|
|
32303
|
+
const file3 = join10(directory, `${process.pid}.json`);
|
|
32304
|
+
writeFileSync3(file3, JSON.stringify({ pid: process.pid }));
|
|
32014
32305
|
const clear = () => {
|
|
32015
32306
|
process.removeListener("exit", clear);
|
|
32016
32307
|
try {
|
|
32017
|
-
|
|
32308
|
+
unlinkSync2(file3);
|
|
32018
32309
|
} catch {
|
|
32019
32310
|
}
|
|
32020
32311
|
};
|
|
@@ -32022,12 +32313,12 @@ function announceEditorLaunch(project) {
|
|
|
32022
32313
|
return clear;
|
|
32023
32314
|
}
|
|
32024
32315
|
function hasPendingEditorLaunch(project) {
|
|
32025
|
-
const directory =
|
|
32316
|
+
const directory = join10(project, ".volter", "editor-launches");
|
|
32026
32317
|
try {
|
|
32027
|
-
return
|
|
32318
|
+
return readdirSync2(directory).some((name) => {
|
|
32028
32319
|
if (!/^\d+\.json$/.test(name)) return false;
|
|
32029
32320
|
const pid = Number(name.slice(0, -5));
|
|
32030
|
-
return pid !== process.pid &&
|
|
32321
|
+
return pid !== process.pid && pidAlive2(pid);
|
|
32031
32322
|
});
|
|
32032
32323
|
} catch {
|
|
32033
32324
|
return false;
|
|
@@ -32035,7 +32326,7 @@ function hasPendingEditorLaunch(project) {
|
|
|
32035
32326
|
}
|
|
32036
32327
|
async function waitForPendingEditorLaunch(project) {
|
|
32037
32328
|
const canon = canonicalizeProjectPath(project);
|
|
32038
|
-
const ready = () =>
|
|
32329
|
+
const ready = () => readLiveRegisteredSessions2().some(
|
|
32039
32330
|
(session) => session.project !== null && canonicalizeProjectPath(session.project) === canon
|
|
32040
32331
|
);
|
|
32041
32332
|
if (ready() || !hasPendingEditorLaunch(canon)) return;
|
|
@@ -32061,9 +32352,9 @@ function servedProjectAnswer(body) {
|
|
|
32061
32352
|
};
|
|
32062
32353
|
}
|
|
32063
32354
|
function canonicalizeProjectPath(p) {
|
|
32064
|
-
const absolute =
|
|
32355
|
+
const absolute = resolve8(p);
|
|
32065
32356
|
try {
|
|
32066
|
-
return
|
|
32357
|
+
return realpathSync4(absolute);
|
|
32067
32358
|
} catch {
|
|
32068
32359
|
return absolute;
|
|
32069
32360
|
}
|
|
@@ -32081,7 +32372,7 @@ async function loopbackPortFree(port) {
|
|
|
32081
32372
|
});
|
|
32082
32373
|
}
|
|
32083
32374
|
function liveSessions() {
|
|
32084
|
-
return
|
|
32375
|
+
return readLiveRegisteredSessions2();
|
|
32085
32376
|
}
|
|
32086
32377
|
async function fetchEditorSession(port, timeoutMs = 5e3) {
|
|
32087
32378
|
try {
|
|
@@ -32397,13 +32688,13 @@ function killEditorSessionProcess(pid, signal = "SIGTERM") {
|
|
|
32397
32688
|
}
|
|
32398
32689
|
async function waitForPidExit(pid, timeoutMs) {
|
|
32399
32690
|
const deadline = Date.now() + timeoutMs;
|
|
32400
|
-
while (
|
|
32401
|
-
await new Promise((
|
|
32691
|
+
while (pidAlive2(pid) && Date.now() < deadline) {
|
|
32692
|
+
await new Promise((resolve14) => setTimeout(resolve14, 50));
|
|
32402
32693
|
}
|
|
32403
|
-
return !
|
|
32694
|
+
return !pidAlive2(pid);
|
|
32404
32695
|
}
|
|
32405
32696
|
async function terminateEditorSession(session, graceMs = 5500) {
|
|
32406
|
-
if (!
|
|
32697
|
+
if (!pidAlive2(session.pid)) return "already-gone";
|
|
32407
32698
|
try {
|
|
32408
32699
|
killEditorSessionProcess(session.pid, "SIGTERM");
|
|
32409
32700
|
} catch (error50) {
|
|
@@ -32422,20 +32713,20 @@ async function terminateEditorSession(session, graceMs = 5500) {
|
|
|
32422
32713
|
return "forced";
|
|
32423
32714
|
}
|
|
32424
32715
|
|
|
32425
|
-
// ../editor-core/dist/server/chunk-
|
|
32716
|
+
// ../editor-core/dist/server/chunk-42TLBVCO.js
|
|
32426
32717
|
import { spawn as spawn3 } from "node:child_process";
|
|
32427
32718
|
import { createRequire as createRequire2 } from "node:module";
|
|
32428
|
-
import { mkdirSync as mkdirSync22, openSync, closeSync, realpathSync as
|
|
32429
|
-
import { join as join22, resolve as
|
|
32719
|
+
import { mkdirSync as mkdirSync22, openSync, closeSync, realpathSync as realpathSync5 } from "node:fs";
|
|
32720
|
+
import { join as join22, resolve as resolve9 } from "node:path";
|
|
32430
32721
|
import { createHash as createHash3 } from "node:crypto";
|
|
32431
|
-
import { mkdirSync as
|
|
32432
|
-
import { homedir as
|
|
32433
|
-
import { dirname as dirname6, join as
|
|
32722
|
+
import { mkdirSync as mkdirSync4, readFileSync as readFileSync6, renameSync as renameSync2, rmdirSync, statSync as statSync2, writeFileSync as writeFileSync4 } from "node:fs";
|
|
32723
|
+
import { homedir as homedir5 } from "node:os";
|
|
32724
|
+
import { dirname as dirname6, join as join11 } from "node:path";
|
|
32434
32725
|
var MIN_PORT = 1024;
|
|
32435
32726
|
var MAX_PORT = 65535;
|
|
32436
32727
|
var WORKTREE_EDITOR_PORT_MIN = 20200;
|
|
32437
32728
|
var WORKTREE_EDITOR_PORT_MAX = 29999;
|
|
32438
|
-
var DEFAULT_PORT_REGISTRY =
|
|
32729
|
+
var DEFAULT_PORT_REGISTRY = join11(homedir5(), ".volter", "worktree-ports.json");
|
|
32439
32730
|
var LOCK_STALE_MS = 1e4;
|
|
32440
32731
|
var lockWait = new Int32Array(new SharedArrayBuffer(4));
|
|
32441
32732
|
function assertPort(value, source) {
|
|
@@ -32452,7 +32743,7 @@ function isEntry(value) {
|
|
|
32452
32743
|
function readEntries(registryFile) {
|
|
32453
32744
|
let raw;
|
|
32454
32745
|
try {
|
|
32455
|
-
raw =
|
|
32746
|
+
raw = readFileSync6(registryFile, "utf8");
|
|
32456
32747
|
} catch (error50) {
|
|
32457
32748
|
if (error50.code === "ENOENT") return [];
|
|
32458
32749
|
throw new Error(
|
|
@@ -32481,19 +32772,19 @@ function readEntries(registryFile) {
|
|
|
32481
32772
|
return entries;
|
|
32482
32773
|
}
|
|
32483
32774
|
function writeEntries(registryFile, entries) {
|
|
32484
|
-
|
|
32775
|
+
mkdirSync4(dirname6(registryFile), { recursive: true });
|
|
32485
32776
|
const temp = `${registryFile}.${process.pid}.tmp`;
|
|
32486
|
-
|
|
32777
|
+
writeFileSync4(temp, `${JSON.stringify(entries, null, 2)}
|
|
32487
32778
|
`);
|
|
32488
32779
|
renameSync2(temp, registryFile);
|
|
32489
32780
|
}
|
|
32490
32781
|
function withRegistryLock(registryFile, action) {
|
|
32491
32782
|
const lock = `${registryFile}.lock`;
|
|
32492
|
-
|
|
32783
|
+
mkdirSync4(dirname6(registryFile), { recursive: true });
|
|
32493
32784
|
const deadline = Date.now() + 5e3;
|
|
32494
32785
|
for (; ; ) {
|
|
32495
32786
|
try {
|
|
32496
|
-
|
|
32787
|
+
mkdirSync4(lock);
|
|
32497
32788
|
break;
|
|
32498
32789
|
} catch (error50) {
|
|
32499
32790
|
if (error50.code !== "EEXIST") throw error50;
|
|
@@ -32587,7 +32878,7 @@ function refuseProjectWithoutAdapter(project, product) {
|
|
|
32587
32878
|
if (refusal !== null) throw new Error(refusal);
|
|
32588
32879
|
}
|
|
32589
32880
|
async function launch(folder, launching, options = {}) {
|
|
32590
|
-
const project =
|
|
32881
|
+
const project = realpathSync5(resolve9(folder));
|
|
32591
32882
|
const product = resolveProductForProject(project);
|
|
32592
32883
|
if (product.name !== launching.packageName) throw new Error(`${project} declares ${product.name}, not ${launching.displayName}.`);
|
|
32593
32884
|
refuseProjectWithoutAdapter(project, product);
|
|
@@ -32630,7 +32921,7 @@ async function launch(folder, launching, options = {}) {
|
|
|
32630
32921
|
stdio: ["ignore", log, log],
|
|
32631
32922
|
env: {
|
|
32632
32923
|
...process.env,
|
|
32633
|
-
VOLTER_CLI_ENTRY:
|
|
32924
|
+
VOLTER_CLI_ENTRY: resolve9(process.argv[1]),
|
|
32634
32925
|
VOLTER_PROJECT: project,
|
|
32635
32926
|
VOLTER_PRODUCT_DIR: product.dir,
|
|
32636
32927
|
VOLTER_EDITOR_PORT: String(port),
|
|
@@ -32673,7 +32964,7 @@ async function launch(folder, launching, options = {}) {
|
|
|
32673
32964
|
}
|
|
32674
32965
|
}
|
|
32675
32966
|
async function prepareSession(folder, launching) {
|
|
32676
|
-
const project =
|
|
32967
|
+
const project = realpathSync5(resolve9(folder));
|
|
32677
32968
|
const product = resolveProductForProject(project);
|
|
32678
32969
|
if (product.name !== launching.packageName) throw new Error(`${project} declares ${product.name}, not ${launching.displayName}.`);
|
|
32679
32970
|
refuseProjectWithoutAdapter(project, product);
|
|
@@ -32704,7 +32995,7 @@ async function refuseIncompatibleProject(serverUrl, command, noOpen) {
|
|
|
32704
32995
|
const refusal = await read();
|
|
32705
32996
|
if (!refusal) return;
|
|
32706
32997
|
const kind = refusal.recovery?.kind;
|
|
32707
|
-
if (kind !== "use-compatible-editor" && kind !== "upgrade-project") return;
|
|
32998
|
+
if (kind !== "use-compatible-editor" && kind !== "upgrade-project" && kind !== "bring-project-up-to-date") return;
|
|
32708
32999
|
const message = refusal.error;
|
|
32709
33000
|
const guidance = typeof refusal.recovery?.guidance === "string" ? refusal.recovery.guidance : null;
|
|
32710
33001
|
const verbs = refusal.recovery?.verbs;
|
|
@@ -32811,7 +33102,7 @@ async function connectHostedAttachment(attachment) {
|
|
|
32811
33102
|
const socket = new WebSocket(hostedSocketUrl(attachment.endpoint));
|
|
32812
33103
|
const pending = /* @__PURE__ */ new Map();
|
|
32813
33104
|
let state = {};
|
|
32814
|
-
const ready = new Promise((
|
|
33105
|
+
const ready = new Promise((resolve14, reject) => {
|
|
32815
33106
|
const timer = setTimeout(() => {
|
|
32816
33107
|
reject(new Error("Hosted attachment did not answer."));
|
|
32817
33108
|
socket.close();
|
|
@@ -32823,7 +33114,7 @@ async function connectHostedAttachment(attachment) {
|
|
|
32823
33114
|
if (value.type === "ready") {
|
|
32824
33115
|
state = value.state ?? {};
|
|
32825
33116
|
clearTimeout(timer);
|
|
32826
|
-
|
|
33117
|
+
resolve14();
|
|
32827
33118
|
} else if (value.type === "state") state = value.state ?? {};
|
|
32828
33119
|
else if (value.type === "response") {
|
|
32829
33120
|
const call = pending.get(value.id);
|
|
@@ -32868,7 +33159,7 @@ async function connectHostedAttachment(attachment) {
|
|
|
32868
33159
|
if (request.body) message.body = await request.text();
|
|
32869
33160
|
if (!isHostedRequest(message)) throw new Error("Hosted attachment only carries bounded editor HTTP requests.");
|
|
32870
33161
|
request.signal.throwIfAborted();
|
|
32871
|
-
return await new Promise((
|
|
33162
|
+
return await new Promise((resolve14, reject) => {
|
|
32872
33163
|
const abort = () => {
|
|
32873
33164
|
pending.delete(message.id);
|
|
32874
33165
|
if (socket.readyState === WebSocket.OPEN) socket.send(JSON.stringify({ type: "cancel", id: message.id }));
|
|
@@ -32878,7 +33169,7 @@ async function connectHostedAttachment(attachment) {
|
|
|
32878
33169
|
reject(new Error("Hosted attachment is disconnected."));
|
|
32879
33170
|
return;
|
|
32880
33171
|
}
|
|
32881
|
-
pending.set(message.id, { resolve:
|
|
33172
|
+
pending.set(message.id, { resolve: resolve14, reject, cleanup: () => request.signal.removeEventListener("abort", abort) });
|
|
32882
33173
|
request.signal.addEventListener("abort", abort, { once: true });
|
|
32883
33174
|
socket.send(JSON.stringify(message));
|
|
32884
33175
|
});
|
|
@@ -33066,7 +33357,7 @@ var EditorClient = class {
|
|
|
33066
33357
|
const { code, detail } = describeFetchFailure(error50);
|
|
33067
33358
|
if (options?.retryTransport === true && !retried && RETRYABLE_TRANSPORT_CODES.has(code)) {
|
|
33068
33359
|
retried = true;
|
|
33069
|
-
await new Promise((
|
|
33360
|
+
await new Promise((resolve14) => setTimeout(resolve14, TRANSPORT_RETRY_DELAY_MS));
|
|
33070
33361
|
continue;
|
|
33071
33362
|
}
|
|
33072
33363
|
throw new EditorCommandError(
|
|
@@ -34120,11 +34411,11 @@ function spawnOpener(cmd, cmdArgs, fallback) {
|
|
|
34120
34411
|
}
|
|
34121
34412
|
|
|
34122
34413
|
// ../editor-core/dist/server/chunk-JQ4HMG7T.js
|
|
34123
|
-
import { existsSync as existsSync9, readFileSync as
|
|
34414
|
+
import { existsSync as existsSync9, readFileSync as readFileSync7 } from "node:fs";
|
|
34124
34415
|
function isWSL() {
|
|
34125
34416
|
if (process.platform !== "linux") return false;
|
|
34126
34417
|
try {
|
|
34127
|
-
return
|
|
34418
|
+
return readFileSync7("/proc/version", "utf8").toLowerCase().includes("microsoft");
|
|
34128
34419
|
} catch {
|
|
34129
34420
|
return false;
|
|
34130
34421
|
}
|
|
@@ -34154,9 +34445,9 @@ function openBrowserUrl(browserUrl, options) {
|
|
|
34154
34445
|
|
|
34155
34446
|
// ../editor-core/dist/server/chunk-N6NBRKBO.js
|
|
34156
34447
|
import { createHash as createHash4 } from "node:crypto";
|
|
34157
|
-
import { mkdirSync as
|
|
34158
|
-
import { homedir as
|
|
34159
|
-
import { dirname as dirname7, join as
|
|
34448
|
+
import { mkdirSync as mkdirSync5, readFileSync as readFileSync8, writeFileSync as writeFileSync5, rmSync as rmSync2, existsSync as existsSync10 } from "node:fs";
|
|
34449
|
+
import { homedir as homedir6 } from "node:os";
|
|
34450
|
+
import { dirname as dirname7, join as join12, resolve as resolve10 } from "node:path";
|
|
34160
34451
|
import { LiveEditor, LiveTools } from "@volter/live";
|
|
34161
34452
|
import { connect as connect5, unconnectedBindings, withEditorMemberHints } from "@volter/live";
|
|
34162
34453
|
var NOISE = /* @__PURE__ */ new Set(["constructor", "then", "catch", "finally"]);
|
|
@@ -34298,8 +34589,8 @@ async function control(command, verb, argument, reason, scope, attachment) {
|
|
|
34298
34589
|
}
|
|
34299
34590
|
var HOSTED_USAGE = "hosted attach <https-url> | hosted status | hosted eval <JavaScript> | hosted screenshot <file.png> | hosted detach";
|
|
34300
34591
|
function stateFile() {
|
|
34301
|
-
const key = createHash4("sha256").update(
|
|
34302
|
-
return
|
|
34592
|
+
const key = createHash4("sha256").update(resolve10(process.cwd())).digest("hex");
|
|
34593
|
+
return join12(homedir6(), ".local", "state", "volter-editor", "hosted", `${key}.json`);
|
|
34303
34594
|
}
|
|
34304
34595
|
async function hostedControl(command, args) {
|
|
34305
34596
|
const [verb, argument] = args;
|
|
@@ -34322,8 +34613,8 @@ async function hostedControl(command, args) {
|
|
|
34322
34613
|
const created = await response.json();
|
|
34323
34614
|
if (created.page !== page.href || new URL(created.endpoint).origin !== page.origin || !/^[a-f0-9]{64}$/.test(created.clientToken) || !/^[a-f0-9]{64}$/.test(created.workerToken)) throw new Error("Invalid hosted attachment response.");
|
|
34324
34615
|
const common = { id: created.id, endpoint: created.endpoint, page: created.page, expiresAt: created.expiresAt };
|
|
34325
|
-
|
|
34326
|
-
|
|
34616
|
+
mkdirSync5(dirname7(file3), { recursive: true, mode: 448 });
|
|
34617
|
+
writeFileSync5(file3, JSON.stringify({ ...common, token: created.clientToken }), { mode: 384, flag: "wx" });
|
|
34327
34618
|
page.hash = new URLSearchParams({ [HOSTED_ATTACHMENT_FRAGMENT]: JSON.stringify({ ...common, token: created.workerToken }) }).toString();
|
|
34328
34619
|
openBrowserUrl(page.href, { background: true });
|
|
34329
34620
|
console.log(`Attaching to hosted editor: ${created.page}
|
|
@@ -34334,7 +34625,7 @@ Use ${command} hosted status from this directory. Attachment expires ${new Date(
|
|
|
34334
34625
|
if (!["status", "eval", "screenshot", "detach"].includes(verb ?? "")) throw new Error(HOSTED_USAGE);
|
|
34335
34626
|
let attachment;
|
|
34336
34627
|
try {
|
|
34337
|
-
attachment = JSON.parse(
|
|
34628
|
+
attachment = JSON.parse(readFileSync8(file3, "utf8"));
|
|
34338
34629
|
} catch {
|
|
34339
34630
|
throw new Error(`No hosted attachment in this directory. Run ${command} hosted attach <https-url>.`);
|
|
34340
34631
|
}
|
|
@@ -34374,8 +34665,8 @@ Use ${command} hosted status from this directory. Attachment expires ${new Date(
|
|
|
34374
34665
|
if (!argument?.endsWith(".png")) throw new Error("hosted screenshot requires an output .png path.");
|
|
34375
34666
|
const shot = await live.editor.captureActiveDocument();
|
|
34376
34667
|
if (shot.mimeType !== "image/png") throw new Error("Editor did not return a PNG of the active document.");
|
|
34377
|
-
|
|
34378
|
-
console.log(
|
|
34668
|
+
writeFileSync5(resolve10(argument), Buffer.from(shot.base64, "base64"));
|
|
34669
|
+
console.log(resolve10(argument));
|
|
34379
34670
|
} else await control(command, verb, argument, void 0, void 0, { live, client, consolePolicy: "report" });
|
|
34380
34671
|
} finally {
|
|
34381
34672
|
remote.close();
|
|
@@ -34505,11 +34796,11 @@ var RELAY_COMMANDS = {
|
|
|
34505
34796
|
var RELAY_COMMAND_TYPES = Object.keys(RELAY_COMMANDS);
|
|
34506
34797
|
|
|
34507
34798
|
// ../editor-core/dist/server/launcher/session-verbs.js
|
|
34508
|
-
import { existsSync as existsSync11, mkdirSync as
|
|
34799
|
+
import { existsSync as existsSync11, mkdirSync as mkdirSync6, readFileSync as readFileSync9, statSync as statSync3, writeFileSync as writeFileSync6 } from "node:fs";
|
|
34509
34800
|
import { basename as basename3, dirname as dirname8, join as join23, resolve as resolve22 } from "node:path";
|
|
34510
34801
|
import { setTimeout as delay2 } from "node:timers/promises";
|
|
34511
34802
|
import { resolveSession } from "@volter/live";
|
|
34512
|
-
import { isAbsolute as isAbsolute4, join as
|
|
34803
|
+
import { isAbsolute as isAbsolute4, join as join13, relative as relative5, resolve as resolve11 } from "node:path";
|
|
34513
34804
|
var MODEL_TARGET_EXTENSIONS = [".glb", ".gltf", ".spz"];
|
|
34514
34805
|
var MODULE_TARGET_EXTENSIONS = [".ts", ".tsx"];
|
|
34515
34806
|
var endsWithAny = (value, suffixes) => {
|
|
@@ -34524,9 +34815,9 @@ function classifyScreenshotTarget(target) {
|
|
|
34524
34815
|
}
|
|
34525
34816
|
function resolveModelTarget(target, options) {
|
|
34526
34817
|
const { cwd, projectRoot, exists } = options;
|
|
34527
|
-
const candidates = [
|
|
34818
|
+
const candidates = [resolve11(cwd, target)];
|
|
34528
34819
|
if (target.startsWith("/") && projectRoot) {
|
|
34529
|
-
candidates.push(
|
|
34820
|
+
candidates.push(join13(projectRoot, target), join13(projectRoot, "public", target));
|
|
34530
34821
|
}
|
|
34531
34822
|
const file3 = candidates.find((candidate) => exists(candidate));
|
|
34532
34823
|
if (file3 === void 0) {
|
|
@@ -34541,7 +34832,7 @@ A model target is a path on disk (or the served path the editor loads it from, e
|
|
|
34541
34832
|
The editor loads models same-origin from the project it is serving; run this from inside the project.`
|
|
34542
34833
|
};
|
|
34543
34834
|
}
|
|
34544
|
-
const withinProject =
|
|
34835
|
+
const withinProject = relative5(projectRoot, file3);
|
|
34545
34836
|
if (withinProject.startsWith("..") || isAbsolute4(withinProject)) {
|
|
34546
34837
|
return {
|
|
34547
34838
|
error: `${file3} is outside ${projectRoot}.
|
|
@@ -34743,8 +35034,8 @@ async function sessionLook(client, projectRoot) {
|
|
|
34743
35034
|
capture3 = await client.captureGame({ refreshStarvedFrame: true });
|
|
34744
35035
|
loopRecoveryFrame = true;
|
|
34745
35036
|
}
|
|
34746
|
-
|
|
34747
|
-
|
|
35037
|
+
mkdirSync6(dirname8(outPath), { recursive: true });
|
|
35038
|
+
writeFileSync6(outPath, Buffer.from(capture3.base64, "base64"));
|
|
34748
35039
|
console.log(outPath);
|
|
34749
35040
|
if (capture3.flatness?.degenerate === true && capture3.flatness.warning !== void 0) console.error(`warning \u2014 ${capture3.flatness.warning}`);
|
|
34750
35041
|
if (loopRecoveryFrame || capture3.loopRecoveryFrame === true) {
|
|
@@ -34755,8 +35046,8 @@ async function sessionLook(client, projectRoot) {
|
|
|
34755
35046
|
return;
|
|
34756
35047
|
}
|
|
34757
35048
|
const capture2 = await client.captureActiveDocument();
|
|
34758
|
-
|
|
34759
|
-
|
|
35049
|
+
mkdirSync6(dirname8(outPath), { recursive: true });
|
|
35050
|
+
writeFileSync6(outPath, Buffer.from(capture2.base64, "base64"));
|
|
34760
35051
|
console.log(outPath);
|
|
34761
35052
|
console.error(`${capture2.document.title} (${capture2.document.kind}${capture2.document.sourcePath ? `, ${capture2.document.sourcePath}` : ""}) \u2014 ${capture2.source}`);
|
|
34762
35053
|
}
|
|
@@ -34779,8 +35070,8 @@ async function capture(options) {
|
|
|
34779
35070
|
const stamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
34780
35071
|
const slug = name ? name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "").slice(0, 48) : "";
|
|
34781
35072
|
const outPath = named ?? join23(session.projectRoot, ".volter", "captures", `${slug ? `${slug}-` : ""}${region}-${stamp}.png`);
|
|
34782
|
-
|
|
34783
|
-
|
|
35073
|
+
mkdirSync6(dirname8(outPath), { recursive: true });
|
|
35074
|
+
writeFileSync6(outPath, Buffer.from(shot.base64, "base64"), { flag: options.force === true ? "w" : "wx" });
|
|
34784
35075
|
console.log(outPath);
|
|
34785
35076
|
console.error(`${region}: ${shot.size.width}x${shot.size.height} at ${shot.scale}x (${shot.layers.canvases} canvas, ${shot.layers.domOverlays} DOM layer${shot.layers.domOverlays === 1 ? "" : "s"})`);
|
|
34786
35077
|
if (shot.flatness?.degenerate === true && shot.flatness.warning !== void 0) console.error(`warning \u2014 ${shot.flatness.warning}`);
|
|
@@ -34802,10 +35093,10 @@ async function assetLabLook(client, source, flags, outputDirectory, defaultStage
|
|
|
34802
35093
|
...flags.width === void 0 ? {} : { width: flags.width },
|
|
34803
35094
|
...flags.height === void 0 ? {} : { height: flags.height }
|
|
34804
35095
|
};
|
|
34805
|
-
|
|
35096
|
+
mkdirSync6(outputDirectory, { recursive: true });
|
|
34806
35097
|
if (flags.compare !== void 0) {
|
|
34807
35098
|
if (flags.shots !== void 0) throw new Error("--compare cannot be combined with --shots");
|
|
34808
|
-
const refBytes =
|
|
35099
|
+
const refBytes = readFileSync9(resolve22(flags.compare));
|
|
34809
35100
|
const maxRefBytes = 32 * 1024 * 1024;
|
|
34810
35101
|
if (refBytes.byteLength > maxRefBytes) throw new Error(`--compare reference GLB must be ${maxRefBytes / 1024 / 1024} MiB or less.`);
|
|
34811
35102
|
const capture3 = await client.captureAssetComparePreview(source, refBytes.toString("base64"), dimensions);
|
|
@@ -34813,7 +35104,7 @@ async function assetLabLook(client, source, flags, outputDirectory, defaultStage
|
|
|
34813
35104
|
for (const view of capture3.views) {
|
|
34814
35105
|
iou[view.view] = view.iou;
|
|
34815
35106
|
for (const [suffix, image] of [["overlay", view.overlay], ["asset", view.asset], ["ref", view.ref]]) {
|
|
34816
|
-
|
|
35107
|
+
writeFileSync6(join23(outputDirectory, `compare-${view.view}-${suffix}.png`), Buffer.from(image.base64, "base64"));
|
|
34817
35108
|
}
|
|
34818
35109
|
}
|
|
34819
35110
|
console.log(JSON.stringify({ compare: { iou } }));
|
|
@@ -34833,18 +35124,18 @@ async function assetLabLook(client, source, flags, outputDirectory, defaultStage
|
|
|
34833
35124
|
const warnings = new Map((capture3.warnings ?? []).map((warning) => [warning.label, warning]));
|
|
34834
35125
|
for (const image of capture3.shots) {
|
|
34835
35126
|
const file3 = join23(outputDirectory, `${image.label}.png`);
|
|
34836
|
-
|
|
35127
|
+
writeFileSync6(file3, Buffer.from(image.base64, "base64"));
|
|
34837
35128
|
const warning = warnings.get(image.label);
|
|
34838
35129
|
if (warning) console.warn(`WARNING ${file3}: ${warning.message}`);
|
|
34839
35130
|
}
|
|
34840
|
-
|
|
35131
|
+
writeFileSync6(join23(outputDirectory, "contact-sheet.png"), Buffer.from(capture3.contactSheet.base64, "base64"));
|
|
34841
35132
|
const empty = capture3.warnings?.length ?? 0;
|
|
34842
35133
|
console.log(`Shot set '${flags.shots}' preview (${capture3.shots.length} shots${empty > 0 ? `, ${empty} EMPTY \u2014 see the warnings above` : ""}) written to ${outputDirectory}`);
|
|
34843
35134
|
return;
|
|
34844
35135
|
}
|
|
34845
35136
|
const capture2 = await client.captureAssetPreview(source, { ...dimensions, ...defaultStage === void 0 ? {} : { stage: defaultStage } });
|
|
34846
|
-
for (const image of capture2.views)
|
|
34847
|
-
|
|
35137
|
+
for (const image of capture2.views) writeFileSync6(join23(outputDirectory, `${image.view}.png`), Buffer.from(image.base64, "base64"));
|
|
35138
|
+
writeFileSync6(join23(outputDirectory, "contact-sheet.png"), Buffer.from(capture2.contactSheet.base64, "base64"));
|
|
34848
35139
|
console.log(`${join23(outputDirectory, "contact-sheet.png")} \u2190 every view on one sheet`);
|
|
34849
35140
|
console.log(` per-view frames beside it: ${capture2.views.map((image) => `${image.view}.png`).join(" ")}`);
|
|
34850
35141
|
if (capture2.orientation && capture2.orientation.yawDegrees !== 0) {
|
|
@@ -34906,23 +35197,23 @@ import { execFileSync as execFileSync4 } from "node:child_process";
|
|
|
34906
35197
|
import {
|
|
34907
35198
|
createWriteStream as createWriteStream2,
|
|
34908
35199
|
existsSync as existsSync12,
|
|
34909
|
-
mkdirSync as
|
|
34910
|
-
readFileSync as
|
|
35200
|
+
mkdirSync as mkdirSync7,
|
|
35201
|
+
readFileSync as readFileSync10,
|
|
34911
35202
|
renameSync as renameSync3,
|
|
34912
35203
|
rmSync as rmSync3,
|
|
34913
|
-
writeFileSync as
|
|
35204
|
+
writeFileSync as writeFileSync7
|
|
34914
35205
|
} from "node:fs";
|
|
34915
|
-
import { homedir as
|
|
34916
|
-
import { basename as basename4, isAbsolute as isAbsolute5, join as
|
|
35206
|
+
import { homedir as homedir7 } from "node:os";
|
|
35207
|
+
import { basename as basename4, isAbsolute as isAbsolute5, join as join14, resolve as resolve12, sep as sep3 } from "node:path";
|
|
34917
35208
|
var WORKBENCH_LOCATOR_PATH2 = ".volter/workbench.json";
|
|
34918
35209
|
var RELEASE_RECORD2 = "BUILD.json";
|
|
34919
|
-
var SOURCES_LAUNCHER2 =
|
|
35210
|
+
var SOURCES_LAUNCHER2 = join14("scripts", "code-server.sh");
|
|
34920
35211
|
var OVERLAY_RECORD2 = ".volter-overlay.json";
|
|
34921
35212
|
function writeWorkbenchDeclaration2(projectRoot, workbenchDir) {
|
|
34922
|
-
|
|
34923
|
-
|
|
34924
|
-
|
|
34925
|
-
`${JSON.stringify({ workbench:
|
|
35213
|
+
mkdirSync7(join14(projectRoot, ".volter"), { recursive: true });
|
|
35214
|
+
writeFileSync7(
|
|
35215
|
+
join14(projectRoot, WORKBENCH_LOCATOR_PATH2),
|
|
35216
|
+
`${JSON.stringify({ workbench: resolve12(workbenchDir) }, null, 2)}
|
|
34926
35217
|
`
|
|
34927
35218
|
);
|
|
34928
35219
|
}
|
|
@@ -34930,8 +35221,8 @@ function machinePlatform2() {
|
|
|
34930
35221
|
return `${process.platform}-${process.arch}`;
|
|
34931
35222
|
}
|
|
34932
35223
|
function resolveWorkbench2(dir, expectedProduct) {
|
|
34933
|
-
const root =
|
|
34934
|
-
const resolved = existsSync12(
|
|
35224
|
+
const root = resolve12(dir);
|
|
35225
|
+
const resolved = existsSync12(join14(root, RELEASE_RECORD2)) ? resolveRelease2(root) : existsSync12(join14(root, SOURCES_LAUNCHER2)) ? resolveSources2(root) : null;
|
|
34935
35226
|
if (resolved === null) {
|
|
34936
35227
|
throw new Error(
|
|
34937
35228
|
`${root} is neither a Code-OSS release nor a fork checkout: it carries no ${RELEASE_RECORD2} (the record scripts/workbench/build-release.mjs writes beside its tarball) and no ${SOURCES_LAUNCHER2}. Name the directory the release was extracted into, or the fork checkout itself.`
|
|
@@ -34947,11 +35238,11 @@ function resolveWorkbench2(dir, expectedProduct) {
|
|
|
34947
35238
|
return resolved;
|
|
34948
35239
|
}
|
|
34949
35240
|
function resolveRelease2(dir) {
|
|
34950
|
-
const record3 =
|
|
35241
|
+
const record3 = join14(dir, RELEASE_RECORD2);
|
|
34951
35242
|
const cut = `node scripts/workbench/build-release.mjs --product <id> --platform ${machinePlatform2()} --checkout <fork dir> --out ${dir}`;
|
|
34952
35243
|
let parsed;
|
|
34953
35244
|
try {
|
|
34954
|
-
parsed = JSON.parse(
|
|
35245
|
+
parsed = JSON.parse(readFileSync10(record3, "utf8"));
|
|
34955
35246
|
} catch (error50) {
|
|
34956
35247
|
throw new Error(`${record3} could not be read: ${String(error50)}`);
|
|
34957
35248
|
}
|
|
@@ -34975,13 +35266,13 @@ function resolveRelease2(dir) {
|
|
|
34975
35266
|
node scripts/workbench/build-release.mjs --product ${product} --platform ${machine} --checkout <fork dir>`
|
|
34976
35267
|
);
|
|
34977
35268
|
}
|
|
34978
|
-
const packageRoot =
|
|
34979
|
-
const serverBinPath =
|
|
35269
|
+
const packageRoot = join14(dir, target);
|
|
35270
|
+
const serverBinPath = join14(packageRoot, serverBin);
|
|
34980
35271
|
if (!existsSync12(serverBinPath)) {
|
|
34981
35272
|
const tarball = typeof parsed["tarball"] === "string" ? parsed["tarball"] : `${target}-<commit>.tar.gz`;
|
|
34982
35273
|
throw new Error(
|
|
34983
35274
|
`${dir} records ${target}, but ${serverBinPath} is not there \u2014 the tarball has not been extracted beside ${RELEASE_RECORD2}. Run:
|
|
34984
|
-
tar -xzf ${
|
|
35275
|
+
tar -xzf ${join14(dir, tarball)} -C ${dir}`
|
|
34985
35276
|
);
|
|
34986
35277
|
}
|
|
34987
35278
|
return { kind: "release", dir, commit, product, serverBin: serverBinPath, cwd: packageRoot };
|
|
@@ -34995,7 +35286,7 @@ function resolveSources2(dir) {
|
|
|
34995
35286
|
`${dir} carries ${SOURCES_LAUNCHER2}, so it reads as a Code-OSS fork checkout, but \`git rev-parse HEAD\` there failed (${error50 instanceof Error ? error50.message : String(error50)}). A checkout's commit is the only record of which fork this workbench is.`
|
|
34996
35287
|
);
|
|
34997
35288
|
}
|
|
34998
|
-
const marker =
|
|
35289
|
+
const marker = join14(dir, OVERLAY_RECORD2);
|
|
34999
35290
|
if (!existsSync12(marker)) {
|
|
35000
35291
|
throw new Error(
|
|
35001
35292
|
`${dir} is a Code-OSS checkout with no volter overlay: ${OVERLAY_RECORD2} is not there, so nothing of the editor is compiled into it and the workbench would come up as plain Code-OSS. Overlay and compile it:
|
|
@@ -35004,7 +35295,7 @@ function resolveSources2(dir) {
|
|
|
35004
35295
|
}
|
|
35005
35296
|
let product;
|
|
35006
35297
|
try {
|
|
35007
|
-
product = JSON.parse(
|
|
35298
|
+
product = JSON.parse(readFileSync10(marker, "utf8"))["product"];
|
|
35008
35299
|
} catch (error50) {
|
|
35009
35300
|
throw new Error(`${marker} could not be read: ${String(error50)}`);
|
|
35010
35301
|
}
|
|
@@ -35018,16 +35309,16 @@ function resolveSources2(dir) {
|
|
|
35018
35309
|
dir,
|
|
35019
35310
|
commit,
|
|
35020
35311
|
product,
|
|
35021
|
-
serverBin:
|
|
35312
|
+
serverBin: join14(dir, SOURCES_LAUNCHER2),
|
|
35022
35313
|
cwd: dir
|
|
35023
35314
|
};
|
|
35024
35315
|
}
|
|
35025
|
-
var WORKBENCH_CACHE_ROOT2 =
|
|
35316
|
+
var WORKBENCH_CACHE_ROOT2 = join14(homedir7(), ".volter", "workbenches");
|
|
35026
35317
|
|
|
35027
35318
|
// node/cli.ts
|
|
35028
35319
|
var PRODUCT = { packageName: package_default.name, id: "cyclotron", displayName: package_default.volter.product.displayName, command: Object.keys(package_default.bin)[0] };
|
|
35029
35320
|
function refuseRetired(from) {
|
|
35030
|
-
for (let dir =
|
|
35321
|
+
for (let dir = resolve13(from); ; dir = dirname10(dir)) {
|
|
35031
35322
|
if (hasManifest(dir)) {
|
|
35032
35323
|
const retired = declaredRetiredProduct(UPGRADING, dir);
|
|
35033
35324
|
if (retired !== null) throw retiredProjectError(UPGRADING, retired, dir);
|
|
@@ -35114,7 +35405,7 @@ try {
|
|
|
35114
35405
|
await hostedControl(PRODUCT.command, positionals.slice(1));
|
|
35115
35406
|
} else if (verb === "blender-mcp") {
|
|
35116
35407
|
if (positionals.length !== 1) throw new Error("Usage: cyclotron blender-mcp");
|
|
35117
|
-
let project =
|
|
35408
|
+
let project = resolve13(process.cwd());
|
|
35118
35409
|
while (!hasManifest(project)) {
|
|
35119
35410
|
const parent = dirname10(project);
|
|
35120
35411
|
if (parent === project) throw new Error("Run cyclotron blender-mcp inside a modeling project.");
|
|
@@ -35181,13 +35472,13 @@ try {
|
|
|
35181
35472
|
if (verb !== "create" && verb !== "edit") throw new Error(`Unknown command: ${verb}`);
|
|
35182
35473
|
if (verb === "create") {
|
|
35183
35474
|
if (!positionals[1]) throw new Error("create requires a new folder name.");
|
|
35184
|
-
if (values.workbench) resolveWorkbench2(
|
|
35185
|
-
console.log(`Creating Cyclotron project at ${
|
|
35186
|
-
await declaration.create({ name: folder.split(/[\\/]/).at(-1), targetDir:
|
|
35187
|
-
if (values.workbench) writeWorkbenchDeclaration2(
|
|
35475
|
+
if (values.workbench) resolveWorkbench2(resolve13(values.workbench), PRODUCT.id);
|
|
35476
|
+
console.log(`Creating Cyclotron project at ${resolve13(folder)}\u2026`);
|
|
35477
|
+
await declaration.create({ name: folder.split(/[\\/]/).at(-1), targetDir: resolve13(folder), ...values.template ? { template: values.template } : {} });
|
|
35478
|
+
if (values.workbench) writeWorkbenchDeclaration2(resolve13(folder), resolve13(values.workbench));
|
|
35188
35479
|
}
|
|
35189
35480
|
const project = verb === "edit" && positionals.length < 2 ? await startupProject(declaration.create) : folder;
|
|
35190
|
-
console.log(`Opening Cyclotron for ${
|
|
35481
|
+
console.log(`Opening Cyclotron for ${resolve13(project)}\u2026`);
|
|
35191
35482
|
await launch(project, PRODUCT, {
|
|
35192
35483
|
...values.workbench ? { workbench: values.workbench } : {},
|
|
35193
35484
|
...values["no-open"] ? { noOpen: true } : {},
|