@volter/cyclotron 0.5.203 → 0.5.205

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.
Files changed (1067) hide show
  1. package/BUNDLED_NOTICES +14 -14
  2. package/README.md +1 -1
  3. package/dist/.vite/manifest.json +1188 -1188
  4. package/dist/assets/EntityModelDocument-D9aHujmp.js +1 -0
  5. package/dist/assets/EnvironmentAssetDocument-B6bc_SC6.js +1 -0
  6. package/dist/assets/InspectorObjectPreview-Cc8RFAYk.js +1 -0
  7. package/dist/assets/LiveModuleDocument-CaEynRir.js +2 -0
  8. package/dist/assets/LutAssetDocument-DcBP5wG4.js +1 -0
  9. package/dist/assets/ModelAssetDocument-Bcu9B61q.js +1 -0
  10. package/dist/assets/NonThreeAuthoringBootstrap-BEzllIan.js +1 -0
  11. package/dist/assets/Object3DDocumentToolbar-DTbn07-C.js +1 -0
  12. package/dist/assets/Object3DPreview-CIxiGvEF.js +2 -0
  13. package/dist/assets/QuarksAssetDocument-DVgoms_B.js +2 -0
  14. package/dist/assets/ShaderAssetDocument--YQqYgnY.js +1 -0
  15. package/dist/assets/StageHost-Ck5UEaim.js +1179 -0
  16. package/dist/assets/ToolObject3DPreview-uMyvll3J.js +1 -0
  17. package/dist/assets/ViewportShadingMenu-B9fDRRap.js +1 -0
  18. package/dist/assets/animation-mixers.service-DaPx1aOg.js +1 -0
  19. package/dist/assets/animation-timeline.utility-CXr4OHSc.js +1 -0
  20. package/dist/assets/asset-preview-Cu0rRM9t.js +4 -0
  21. package/dist/assets/blender-emscripten-engine-CTeOMKcG.js +2 -0
  22. package/dist/assets/blender-node-editor.document-DDg5BG01.js +1 -0
  23. package/dist/assets/blender-properties-model-D9_w-26U.js +1 -0
  24. package/dist/assets/blender-properties-tab-WGsIFrK-.js +3 -0
  25. package/dist/assets/blender-runtime-host-BIkeIruy.js +7221 -0
  26. package/dist/assets/blender-runtime.document-C8d8JIMJ.js +13 -0
  27. package/dist/assets/blender-screenshot.menu-DUCu7wtc.js +1 -0
  28. package/dist/assets/blender-timeline.document-BGoVj9Vx.js +1 -0
  29. package/dist/assets/blender-uv-editor.document-SqfkAaBF.js +1 -0
  30. package/dist/assets/blender-version.status-DlvM0W80.js +1 -0
  31. package/dist/assets/blender-wali-engine-kfyCxO_U.js +2 -0
  32. package/dist/assets/blender.command-7YZapRey.js +1 -0
  33. package/dist/assets/blender.status-BhrZhADg.js +1 -0
  34. package/dist/assets/model-inspection-2HdlEuHG.js +1 -0
  35. package/dist/assets/models.finder-CpxcOLo2.js +1 -0
  36. package/dist/assets/object3d-document-session-registry-DWnnt4zK.js +2 -0
  37. package/dist/assets/play-live-B3BoNGuF.js +1 -0
  38. package/dist/assets/product-27nnPGxW.js +14 -0
  39. package/dist/assets/properties-bone-constraints.inspector-CQLjNvu6.js +1 -0
  40. package/dist/assets/properties-bone.inspector-D_UwYB2_.js +1 -0
  41. package/dist/assets/properties-collection.inspector-C5bs7u3u.js +1 -0
  42. package/dist/assets/properties-constraints.inspector-DVN0WI1l.js +1 -0
  43. package/dist/assets/properties-data.inspector-DtWPjXMI.js +1 -0
  44. package/dist/assets/properties-material.inspector-DRdLjbja.js +1 -0
  45. package/dist/assets/properties-modifiers.inspector-DHDKAIii.js +1 -0
  46. package/dist/assets/properties-object.inspector-BwS_TG8r.js +1 -0
  47. package/dist/assets/properties-output.inspector-B7dNI97C.js +1 -0
  48. package/dist/assets/properties-particles.inspector-CxTu7DbA.js +1 -0
  49. package/dist/assets/properties-physics.inspector-BBKtG4BC.js +1 -0
  50. package/dist/assets/properties-render.inspector-Dw91kd5V.js +1 -0
  51. package/dist/assets/properties-scene.inspector-_10A_oRo.js +1 -0
  52. package/dist/assets/properties-texture.inspector-BBjhRAyO.js +1 -0
  53. package/dist/assets/properties-view-layer.inspector-CPEoD7bp.js +1 -0
  54. package/dist/assets/properties-world.inspector-BwUSqZTC.js +1 -0
  55. package/dist/assets/react-18-DZmFYCGH.js +1 -0
  56. package/dist/assets/session-CvHLFvpx.js +6056 -0
  57. package/dist/assets/stage-keyboard-B12MYziF.js +1 -0
  58. package/dist/assets/stage-overlay-set-Pp1JSuMt.js +1 -0
  59. package/dist/assets/stage-presence-markers-DyLFyFtl.js +1 -0
  60. package/dist/assets/stage-transform-tools-Djt1RiNF.js +1 -0
  61. package/dist/assets/standard-viewport-dressing-C4bqsdPo.js +24 -0
  62. package/dist/assets/three-integration.service-CC3bssCn.js +2 -0
  63. package/dist/assets/volter-sdk-CQ_hQ_Bw.js +2363 -0
  64. package/dist/assets/volter-sdk-account-C8EGUXTt.js +1 -0
  65. package/dist/assets/volter-sdk-client-DVHQ3Z6R.js +1 -0
  66. package/dist/assets/volter-sdk-contributions-CBUGrdBd.js +1 -0
  67. package/dist/assets/volter-sdk-css-numeric-style-DTS_ngK4.js +1 -0
  68. package/dist/assets/volter-sdk-document-probe-DAxCA4Z3.js +1 -0
  69. package/dist/assets/volter-sdk-editor-view-BvV_o2yo.js +1 -0
  70. package/dist/assets/volter-sdk-host-C3hWLDLe.js +1 -0
  71. package/dist/assets/volter-sdk-http-transport.browser-CkNW7_aY.js +1 -0
  72. package/dist/assets/volter-sdk-index-DX1MwSVk.js +1 -0
  73. package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-DJkeOb8b.js +1 -0
  74. package/dist/assets/volter-sdk-kit-account-client-CPjF0OZD.js +1 -0
  75. package/dist/assets/volter-sdk-kit-action-registry-CigLfVgP.js +1 -0
  76. package/dist/assets/volter-sdk-kit-active-product-BjOsOaSs.js +1 -0
  77. package/dist/assets/volter-sdk-kit-active-project-_plfNpsB.js +1 -0
  78. package/dist/assets/volter-sdk-kit-adapter-editor-config-vKPescqX.js +1 -0
  79. package/dist/assets/volter-sdk-kit-adapter-module-Di-d-2kp.js +1 -0
  80. package/dist/assets/volter-sdk-kit-adapter-observation-CJv5bdSR.js +1 -0
  81. package/dist/assets/volter-sdk-kit-animation-animation-clock-DtXW2JyX.js +1 -0
  82. package/dist/assets/volter-sdk-kit-animation-stage-transport-3jB8monf.js +1 -0
  83. package/dist/assets/volter-sdk-kit-api-assets-Kd1hF9bz.js +1 -0
  84. package/dist/assets/volter-sdk-kit-api-base-CVCY4Z81.js +1 -0
  85. package/dist/assets/volter-sdk-kit-api-build-ZcDp8T0d.js +1 -0
  86. package/dist/assets/volter-sdk-kit-api-logs-BERSbDWJ.js +1 -0
  87. package/dist/assets/volter-sdk-kit-api-project-identity-DDgnVoef.js +1 -0
  88. package/dist/assets/volter-sdk-kit-api-project-open-GN9wBCcv.js +1 -0
  89. package/dist/assets/volter-sdk-kit-api-project-source-BN6u7OGB.js +1 -0
  90. package/dist/assets/volter-sdk-kit-api-project-state-CraBuNjW.js +1 -0
  91. package/dist/assets/volter-sdk-kit-api-relay-CtqaPrPJ.js +1 -0
  92. package/dist/assets/volter-sdk-kit-api-settings-FJKzGmWm.js +1 -0
  93. package/dist/assets/volter-sdk-kit-api-themes-CN65kjlh.js +1 -0
  94. package/dist/assets/volter-sdk-kit-api-worktrees-D_bgLYdo.js +1 -0
  95. package/dist/assets/volter-sdk-kit-asset-capabilities-DuaiRTbO.js +1 -0
  96. package/dist/assets/volter-sdk-kit-asset-compare-core-BIgZf23o.js +1 -0
  97. package/dist/assets/volter-sdk-kit-asset-editor-context-B6IuU5q4.js +1 -0
  98. package/dist/assets/volter-sdk-kit-asset-events-ChkfMwfC.js +1 -0
  99. package/dist/assets/volter-sdk-kit-asset-inspector-actions-EwYQUjKk.js +1 -0
  100. package/dist/assets/volter-sdk-kit-asset-selection-DR_-eOZr.js +1 -0
  101. package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-VNciqolD.js +1 -0
  102. package/dist/assets/volter-sdk-kit-asset-thumbnails-CPULTzhy.js +1 -0
  103. package/dist/assets/volter-sdk-kit-asset-viewers-CwbyEgz3.js +1 -0
  104. package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-DP3z64Qq.js +1 -0
  105. package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-DO31fjoE.js +1 -0
  106. package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-BkRVscGy.js +1 -0
  107. package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-D3YfB2oT.js +1 -0
  108. package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-BqoBmneY.js +1 -0
  109. package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-8GgNZivh.js +1 -0
  110. package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-A71x90lw.js +1 -0
  111. package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-CrGcrNE8.js +1 -0
  112. package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-65xuUQqS.js +1 -0
  113. package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-BHqEF14D.js +1 -0
  114. package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-CxJdDlLP.js +1 -0
  115. package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-G-e6vSpH.js +1 -0
  116. package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-DukZqI0N.js +1 -0
  117. package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-mPnQEoXx.js +1 -0
  118. package/dist/assets/volter-sdk-kit-asset-workflow-project-content-DoHeh-64.js +1 -0
  119. package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-C7IHnWQo.js +1 -0
  120. package/dist/assets/volter-sdk-kit-authoring-active-adapter-DUPD76GX.js +1 -0
  121. package/dist/assets/volter-sdk-kit-authoring-active-systems-CGMQ7DgC.js +1 -0
  122. package/dist/assets/volter-sdk-kit-authoring-adapter-key-7dV2jBsz.js +1 -0
  123. package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-DsUvqS53.js +1 -0
  124. package/dist/assets/volter-sdk-kit-authoring-bootstrap-state--CqYXSnd.js +1 -0
  125. package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-T380YuYN.js +1 -0
  126. package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-CL4mJTaV.js +1 -0
  127. package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-DwNzPrNM.js +1 -0
  128. package/dist/assets/volter-sdk-kit-authoring-consumer-actions-wsIcnNBy.js +1 -0
  129. package/dist/assets/volter-sdk-kit-authoring-design-time-layers-OtlLDsNm.js +1 -0
  130. package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-BcaPe5AT.js +1 -0
  131. package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-D2FKFCoH.js +1 -0
  132. package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-BudrdZ9f.js +1 -0
  133. package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-DMJbPGA2.js +1 -0
  134. package/dist/assets/volter-sdk-kit-authoring-layered-pick-Dt6CAY-E.js +1 -0
  135. package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-DtbAGgUx.js +1 -0
  136. package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-LtkXp9HS.js +1 -0
  137. package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-BGr9gxhw.js +1 -0
  138. package/dist/assets/volter-sdk-kit-authoring-panel-authoring-UU_CsJVR.js +1 -0
  139. package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-Dna6KQY0.js +1 -0
  140. package/dist/assets/volter-sdk-kit-authoring-provenance-BdiJIB8g.js +1 -0
  141. package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-DcnUVc3c.js +1 -0
  142. package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-0jF96MV6.js +1 -0
  143. package/dist/assets/volter-sdk-kit-authoring-react-story-board-ByoUDfW0.js +1 -0
  144. package/dist/assets/volter-sdk-kit-authoring-seam-evidence-CnwL2Fkp.js +1 -0
  145. package/dist/assets/volter-sdk-kit-authoring-selection-scope-DxbRD7FK.js +1 -0
  146. package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-DB35tnLu.js +1 -0
  147. package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-siYEqopm.js +1 -0
  148. package/dist/assets/volter-sdk-kit-authoring-three-root-yAMD86wP.js +1 -0
  149. package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-B9rdTqVx.js +1 -0
  150. package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-BQWCR4zF.js +1 -0
  151. package/dist/assets/volter-sdk-kit-authoring-world-session-state-BMKBcT5E.js +1 -0
  152. package/dist/assets/volter-sdk-kit-availability-tick-D0LK7jBV.js +1 -0
  153. package/dist/assets/volter-sdk-kit-bitmap-label-BLW5MRQ_.js +1 -0
  154. package/dist/assets/volter-sdk-kit-boot-routing-CbFGrwVK.js +1 -0
  155. package/dist/assets/volter-sdk-kit-breakpoint-state-lpt7gI1D.js +1 -0
  156. package/dist/assets/volter-sdk-kit-build-identity-CtDVibrs.js +1 -0
  157. package/dist/assets/volter-sdk-kit-bytes-codec-BJBTD3O5.js +1 -0
  158. package/dist/assets/volter-sdk-kit-cancellation-reason-d7WA1FVO.js +1 -0
  159. package/dist/assets/volter-sdk-kit-canvas-frames-ChouhyoE.js +1 -0
  160. package/dist/assets/volter-sdk-kit-capture-camera-pose-DJzlsEfL.js +1 -0
  161. package/dist/assets/volter-sdk-kit-capture-size-ZfgvKhon.js +1 -0
  162. package/dist/assets/volter-sdk-kit-chrome-registry-eyqwLNBD.js +1 -0
  163. package/dist/assets/volter-sdk-kit-chrome-slot-registry-DuY9iEA-.js +1 -0
  164. package/dist/assets/volter-sdk-kit-collaboration-client-etbDrzOa.js +1 -0
  165. package/dist/assets/volter-sdk-kit-collaboration-presence-4YSSLDr7.js +1 -0
  166. package/dist/assets/volter-sdk-kit-command-dispatch-VR5u-eFG.js +1 -0
  167. package/dist/assets/volter-sdk-kit-command-listener-CHlJpBHJ.js +1 -0
  168. package/dist/assets/volter-sdk-kit-command-registry-BP34yxq6.js +1 -0
  169. package/dist/assets/volter-sdk-kit-component-board-registry-CJ-yIv57.js +1 -0
  170. package/dist/assets/volter-sdk-kit-component-states-registry-Bk4fK5Zo.js +1 -0
  171. package/dist/assets/volter-sdk-kit-components-AlignToolbar-B93-48CG.js +1 -0
  172. package/dist/assets/volter-sdk-kit-components-ApplicationMenus-C0BIHop-.js +1 -0
  173. package/dist/assets/volter-sdk-kit-components-AssetEditorShell-Cr3OiMYQ.js +1 -0
  174. package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-BEA9CFnO.js +1 -0
  175. package/dist/assets/volter-sdk-kit-components-BoardRulers-DooFYToX.js +1 -0
  176. package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-DNSvGWzn.js +1 -0
  177. package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-QaRZQnwt.js +1 -0
  178. package/dist/assets/volter-sdk-kit-components-ChromeSlot-mop09kfX.js +1 -0
  179. package/dist/assets/volter-sdk-kit-components-CodeView-BpjDYI-u.js +1 -0
  180. package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-DCs1w34B.js +1 -0
  181. package/dist/assets/volter-sdk-kit-components-ConsolePanel-CumxppRI.js +1 -0
  182. package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-Cd4YFpVC.js +1 -0
  183. package/dist/assets/volter-sdk-kit-components-InspectionProjection-BrViNJXJ.js +1 -0
  184. package/dist/assets/volter-sdk-kit-components-Inspector-BzQzflQv.js +1 -0
  185. package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-Dr3JuqYC.js +1 -0
  186. package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-DG-mVhA8.js +1 -0
  187. package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-Cnkcd7Hx.js +1 -0
  188. package/dist/assets/volter-sdk-kit-components-InspectorToolSection-DpymMSdg.js +1 -0
  189. package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-5iIAgYwg.js +1 -0
  190. package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-B29hENvY.js +1 -0
  191. package/dist/assets/volter-sdk-kit-components-MediaProperties-kN3_KVBz.js +1 -0
  192. package/dist/assets/volter-sdk-kit-components-ProjectHeader-CNpJaoHS.js +1 -0
  193. package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-3Pd0OdKT.js +1 -0
  194. package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-BVvJIgZ6.js +1 -0
  195. package/dist/assets/volter-sdk-kit-components-RootTextEditor-p2cApxPC.js +1 -0
  196. package/dist/assets/volter-sdk-kit-components-SaveStatus-fneTCycz.js +1 -0
  197. package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-C62h4Eyi.js +1 -0
  198. package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-8oI3Uafw.js +1 -0
  199. package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-C-jW5ebb.js +1 -0
  200. package/dist/assets/volter-sdk-kit-components-ToolHost-BUULWQeR.js +1 -0
  201. package/dist/assets/volter-sdk-kit-components-Toolbar-DfQ3W8vH.js +1 -0
  202. package/dist/assets/volter-sdk-kit-components-TransientHint-Cy3SaluG.js +1 -0
  203. package/dist/assets/volter-sdk-kit-components-VersionControlSection-DibOwuzX.js +1 -0
  204. package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-ClNG-cNW.js +1 -0
  205. package/dist/assets/volter-sdk-kit-components-VolterLogo-0ijnRyEJ.js +1 -0
  206. package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-BpuLUFgP.js +1 -0
  207. package/dist/assets/volter-sdk-kit-components-account-documents-8P0HEjcB.js +1 -0
  208. package/dist/assets/volter-sdk-kit-components-asset-documents-D4b-hwOG.js +1 -0
  209. package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-e9x1WGyM.js +1 -0
  210. package/dist/assets/volter-sdk-kit-components-asset-selection-section-Bk5k7UqD.js +1 -0
  211. package/dist/assets/volter-sdk-kit-components-asset-thumbnails-DXeAWlMw.js +1 -0
  212. package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-B5LBvEZm.js +1 -0
  213. package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-7JA73LaR.js +1 -0
  214. package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-BZoBmtII.js +1 -0
  215. package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-BFvgM3I_.js +1 -0
  216. package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-DX_wF4E7.js +1 -0
  217. package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-8pCs930G.js +1 -0
  218. package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-D_f8wd9V.js +1 -0
  219. package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-DBOQn4FL.js +1 -0
  220. package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-yYVfk_L5.js +1 -0
  221. package/dist/assets/volter-sdk-kit-components-board-guides-VrpXFinU.js +1 -0
  222. package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-D0t7ywfb.js +1 -0
  223. package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-BgNHS64v.js +1 -0
  224. package/dist/assets/volter-sdk-kit-components-core-utilities-CnoSxkm4.js +1 -0
  225. package/dist/assets/volter-sdk-kit-components-inspector-preview-section-BKFvfU9_.js +1 -0
  226. package/dist/assets/volter-sdk-kit-components-inspector-revert-label-DtWnyoPb.js +1 -0
  227. package/dist/assets/volter-sdk-kit-components-inspector-selection-BpRIu05A.js +1 -0
  228. package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-CnBJ_Jzd.js +1 -0
  229. package/dist/assets/volter-sdk-kit-components-inspector-transform-Cxf096bE.js +1 -0
  230. package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-jDYiS_Tr.js +1 -0
  231. package/dist/assets/volter-sdk-kit-components-kind-documents-CA9ZwQYm.js +1 -0
  232. package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-sMuhcJ-u.js +1 -0
  233. package/dist/assets/volter-sdk-kit-components-project-tool-documents-BrAdYd9j.js +1 -0
  234. package/dist/assets/volter-sdk-kit-components-scene-documents-BCx5FK_F.js +1 -0
  235. package/dist/assets/volter-sdk-kit-components-status-contributions-D4AlryJ7.js +1 -0
  236. package/dist/assets/volter-sdk-kit-components-tool-documents-B2Mg51Ki.js +1 -0
  237. package/dist/assets/volter-sdk-kit-components-tool-schema-form-DuywtsWj.js +1 -0
  238. package/dist/assets/volter-sdk-kit-components-use-after-paint-A1uaR4w2.js +1 -0
  239. package/dist/assets/volter-sdk-kit-components-use-project-image-assets-K4x_R729.js +1 -0
  240. package/dist/assets/volter-sdk-kit-components-workspace-history-m_D_ri3M.js +1 -0
  241. package/dist/assets/volter-sdk-kit-components-world-documents-CX_7rVwP.js +1 -0
  242. package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-jN-Asc5B.js +1 -0
  243. package/dist/assets/volter-sdk-kit-composite-screenshot-D0q45_D-.js +1 -0
  244. package/dist/assets/volter-sdk-kit-content-entry-source-registry-D-mgeLo-.js +1 -0
  245. package/dist/assets/volter-sdk-kit-contribution-surfaces-DTDWZiNa.js +1 -0
  246. package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-Dul4cw4U.js +1 -0
  247. package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-Dtj1KNWW.js +1 -0
  248. package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-BAW0NPNo.js +1 -0
  249. package/dist/assets/volter-sdk-kit-coverage-session-vitals-Cb7amVmE.js +1 -0
  250. package/dist/assets/volter-sdk-kit-creation-site-registry-CCpvR4_u.js +1 -0
  251. package/dist/assets/volter-sdk-kit-delegate-harness-registry-BX4YVund.js +1 -0
  252. package/dist/assets/volter-sdk-kit-document-areas-1z5EFlyO.js +1 -0
  253. package/dist/assets/volter-sdk-kit-document-context-registry-BSrSTGqR.js +1 -0
  254. package/dist/assets/volter-sdk-kit-document-open-registry-CF7E15H6.js +1 -0
  255. package/dist/assets/volter-sdk-kit-document-play-extension-Bx5KC1L3.js +1 -0
  256. package/dist/assets/volter-sdk-kit-document-preview-source-BiQMSyVw.js +1 -0
  257. package/dist/assets/volter-sdk-kit-document-renderer-session-B2S8eoyi.js +1 -0
  258. package/dist/assets/volter-sdk-kit-document-stage-sessions-CVx02QYd.js +1 -0
  259. package/dist/assets/volter-sdk-kit-document-viewports-Ha268zZ8.js +1 -0
  260. package/dist/assets/volter-sdk-kit-editor-api-Bl7Srpjd.js +1 -0
  261. package/dist/assets/volter-sdk-kit-editor-chrome-capture-D9aqMK5W.js +1 -0
  262. package/dist/assets/volter-sdk-kit-editor-commands-C1OsXojL.js +1 -0
  263. package/dist/assets/volter-sdk-kit-editor-console-eq14g8jT.js +1 -0
  264. package/dist/assets/volter-sdk-kit-editor-current-view-ZKhlBhRr.js +1 -0
  265. package/dist/assets/volter-sdk-kit-editor-document-probe-BBX4QbqP.js +1 -0
  266. package/dist/assets/volter-sdk-kit-editor-git-client-DYE0uC11.js +1 -0
  267. package/dist/assets/volter-sdk-kit-editor-hotkeys-D_y-i6f1.js +1 -0
  268. package/dist/assets/volter-sdk-kit-editor-lease-S17d34mY.js +1 -0
  269. package/dist/assets/volter-sdk-kit-editor-lease-view-BosaVzAk.js +1 -0
  270. package/dist/assets/volter-sdk-kit-editor-mode-C--As49l.js +1 -0
  271. package/dist/assets/volter-sdk-kit-editor-notifications-lH6m2Hmt.js +1 -0
  272. package/dist/assets/volter-sdk-kit-editor-presence-RBVwzJqz.js +1 -0
  273. package/dist/assets/volter-sdk-kit-editor-presentation-activity-Dj7rrijL.js +1 -0
  274. package/dist/assets/volter-sdk-kit-editor-presentation-notice-OyIilK5x.js +1 -0
  275. package/dist/assets/volter-sdk-kit-editor-runtime-DjewImZy.js +1 -0
  276. package/dist/assets/volter-sdk-kit-editor-server-response-D30A62n1.js +1 -0
  277. package/dist/assets/volter-sdk-kit-editor-session-attribution-BjTEc0nE.js +1 -0
  278. package/dist/assets/volter-sdk-kit-editor-session-mode-S8yO-0vw.js +1 -0
  279. package/dist/assets/volter-sdk-kit-editor-state-facets-Dfi7UyE7.js +1 -0
  280. package/dist/assets/volter-sdk-kit-editor-view-presentation-CYSYEJad.js +1 -0
  281. package/dist/assets/volter-sdk-kit-environment-images-DxjIYuvo.js +1 -0
  282. package/dist/assets/volter-sdk-kit-eyedropper-session-lcVUaAqq.js +1 -0
  283. package/dist/assets/volter-sdk-kit-files-file-provider-pNCskdiT.js +1 -0
  284. package/dist/assets/volter-sdk-kit-files-project-files-CFrcIf8C.js +1 -0
  285. package/dist/assets/volter-sdk-kit-finders-index-ByaU5txS.js +1 -0
  286. package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-wq-97jiH.js +1 -0
  287. package/dist/assets/volter-sdk-kit-frame-frame-parts-CrKFSrUs.js +1 -0
  288. package/dist/assets/volter-sdk-kit-framed-document-capture-CWIWyc9n.js +1 -0
  289. package/dist/assets/volter-sdk-kit-game-surface-defaults-CkJ6cAvE.js +1 -0
  290. package/dist/assets/volter-sdk-kit-gameplay-export-state-B2DshvlA.js +1 -0
  291. package/dist/assets/volter-sdk-kit-gameplay-replay-BVxdcLAg.js +1 -0
  292. package/dist/assets/volter-sdk-kit-gameplay-session-time-FnVcSXbN.js +1 -0
  293. package/dist/assets/volter-sdk-kit-gameplay-sessions-DEk1PA46.js +1 -0
  294. package/dist/assets/volter-sdk-kit-hierarchy-component-marks-pZYWBw9o.js +1 -0
  295. package/dist/assets/volter-sdk-kit-hierarchy-internals-jzYS-N3e.js +1 -0
  296. package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-DtAvkoqV.js +1 -0
  297. package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-NNL0pnAI.js +1 -0
  298. package/dist/assets/volter-sdk-kit-hierarchy-node-rows-DTLPASNb.js +1 -0
  299. package/dist/assets/volter-sdk-kit-hierarchy-panel-view-B7Usp6ta.js +1 -0
  300. package/dist/assets/volter-sdk-kit-hierarchy-projection-DP4BZ82s.js +1 -0
  301. package/dist/assets/volter-sdk-kit-hierarchy-row-media-HccGYE6b.js +1 -0
  302. package/dist/assets/volter-sdk-kit-hierarchy-row-model-DhqpO9_D.js +1 -0
  303. package/dist/assets/volter-sdk-kit-hierarchy-rows-BD_XSoKi.js +1 -0
  304. package/dist/assets/volter-sdk-kit-hierarchy-walk-t3aBYJkL.js +1 -0
  305. package/dist/assets/volter-sdk-kit-history-editor-session-CL_nUg2E.js +1 -0
  306. package/dist/assets/volter-sdk-kit-history-history-commands-CXmLIbqs.js +1 -0
  307. package/dist/assets/volter-sdk-kit-history-history-delegate-BPhsh_Nx.js +1 -0
  308. package/dist/assets/volter-sdk-kit-history-history-limit-notices-Cv5i6ig5.js +1 -0
  309. package/dist/assets/volter-sdk-kit-history-history-service-Czu3JbdR.js +1 -0
  310. package/dist/assets/volter-sdk-kit-history-persistence-coordinator-Cy29xQa0.js +1 -0
  311. package/dist/assets/volter-sdk-kit-history-project-file-history-DFdtbUgw.js +1 -0
  312. package/dist/assets/volter-sdk-kit-history-project-root-history-backends-5IlXrPLj.js +1 -0
  313. package/dist/assets/volter-sdk-kit-history-resource-registry-CumTp8UW.js +1 -0
  314. package/dist/assets/volter-sdk-kit-history-snapshot-store-BI97MUJM.js +1 -0
  315. package/dist/assets/volter-sdk-kit-history-source-history-backend-D6qOhtdS.js +1 -0
  316. package/dist/assets/volter-sdk-kit-hmr-registration-group-DUEXTV04.js +1 -0
  317. package/dist/assets/volter-sdk-kit-hmr-stable-react-context-OdbEzB8u.js +1 -0
  318. package/dist/assets/volter-sdk-kit-hotkeys-S6ciFSFh.js +1 -0
  319. package/dist/assets/volter-sdk-kit-inference-diagnostics-DBo5Neqc.js +1 -0
  320. package/dist/assets/volter-sdk-kit-initial-project-C5L3A-Xw.js +1 -0
  321. package/dist/assets/volter-sdk-kit-inspection-active-subject-mD_YskGO.js +1 -0
  322. package/dist/assets/volter-sdk-kit-inspection-active-surface-DzK7OOsv.js +1 -0
  323. package/dist/assets/volter-sdk-kit-inspection-compose-subject-rSVjbNhz.js +1 -0
  324. package/dist/assets/volter-sdk-kit-inspection-display-SzYApW3y.js +1 -0
  325. package/dist/assets/volter-sdk-kit-inspection-document-subject-D7zbGofo.js +1 -0
  326. package/dist/assets/volter-sdk-kit-inspection-game-subject-CbVhZl2j.js +1 -0
  327. package/dist/assets/volter-sdk-kit-inspection-model-zxOxpMQl.js +1 -0
  328. package/dist/assets/volter-sdk-kit-inspection-node-media-cTqEnA46.js +1 -0
  329. package/dist/assets/volter-sdk-kit-inspection-null-subject-MTOTNc8O.js +1 -0
  330. package/dist/assets/volter-sdk-kit-inspection-serialize-ByhBn2ik.js +1 -0
  331. package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-CZfCbDeR.js +1 -0
  332. package/dist/assets/volter-sdk-kit-inspector-presentation-B4O2_Ya9.js +1 -0
  333. package/dist/assets/volter-sdk-kit-inspector-property-grouping-me5Cx3r1.js +1 -0
  334. package/dist/assets/volter-sdk-kit-inspector-section-registry-DrwCb_cW.js +1 -0
  335. package/dist/assets/volter-sdk-kit-instance-source-actions-JuiPuvXK.js +1 -0
  336. package/dist/assets/volter-sdk-kit-js-heap-g3vAb6U_.js +1 -0
  337. package/dist/assets/volter-sdk-kit-key-actions-DxJ8LvFK.js +1 -0
  338. package/dist/assets/volter-sdk-kit-keymap-presets-9MnKFJFU.js +1 -0
  339. package/dist/assets/volter-sdk-kit-layout-policy-CvdxK7a7.js +1 -0
  340. package/dist/assets/volter-sdk-kit-light-explorer-model-nBeOKVW6.js +1 -0
  341. package/dist/assets/volter-sdk-kit-live-canvas-frame-9rjaqbBi.js +1 -0
  342. package/dist/assets/volter-sdk-kit-live-document-DlU8C_rb.js +1 -0
  343. package/dist/assets/volter-sdk-kit-live-gesture-lock-BeXX9L67.js +1 -0
  344. package/dist/assets/volter-sdk-kit-live-seam-evidence-CXvb4j3K.js +1 -0
  345. package/dist/assets/volter-sdk-kit-live-session-registry-AQmKjBwM.js +1 -0
  346. package/dist/assets/volter-sdk-kit-live-transition-BoSOR_7X.js +1 -0
  347. package/dist/assets/volter-sdk-kit-manifest-project-XFNRjdeJ.js +1 -0
  348. package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-C9kb9LLB.js +1 -0
  349. package/dist/assets/volter-sdk-kit-mount-failure-report-BXj55Y39.js +1 -0
  350. package/dist/assets/volter-sdk-kit-native-selection-style-CwCFzYqP.js +1 -0
  351. package/dist/assets/volter-sdk-kit-object3d-document-write-policy-4Pghgl0N.js +1 -0
  352. package/dist/assets/volter-sdk-kit-packaged-runtime-DZHfHcCa.js +1 -0
  353. package/dist/assets/volter-sdk-kit-performance-profiler-BiPpwUne.js +1 -0
  354. package/dist/assets/volter-sdk-kit-performance-sources-55CwD9lp.js +1 -0
  355. package/dist/assets/volter-sdk-kit-photograph-notice-DZa2cJxy.js +1 -0
  356. package/dist/assets/volter-sdk-kit-play-boot-phase-DVJxSqwK.js +1 -0
  357. package/dist/assets/volter-sdk-kit-play-camera-flight-CLuGQwon.js +1 -0
  358. package/dist/assets/volter-sdk-kit-presentation-surface-DWJgsRME.js +1 -0
  359. package/dist/assets/volter-sdk-kit-product-command-6UP1zWwa.js +1 -0
  360. package/dist/assets/volter-sdk-kit-project-adapter-BavL9xIM.js +1 -0
  361. package/dist/assets/volter-sdk-kit-project-asset-refresh-CVPgtGWZ.js +1 -0
  362. package/dist/assets/volter-sdk-kit-project-asset-roots-C1uTLFRk.js +1 -0
  363. package/dist/assets/volter-sdk-kit-project-local-state-DtOsDJrW.js +1 -0
  364. package/dist/assets/volter-sdk-kit-project-manager-DUnPd0nf.js +1 -0
  365. package/dist/assets/volter-sdk-kit-project-module-changes-BZT5HW8y.js +1 -0
  366. package/dist/assets/volter-sdk-kit-project-module-split-yCqqJ5rh.js +1 -0
  367. package/dist/assets/volter-sdk-kit-project-provenance-B1pNkLFV.js +1 -0
  368. package/dist/assets/volter-sdk-kit-project-ready-Bnrr4ZY9.js +1 -0
  369. package/dist/assets/volter-sdk-kit-project-shape-DBkzD5Ec.js +1 -0
  370. package/dist/assets/volter-sdk-kit-project-tools-DKGsk9hL.js +1 -0
  371. package/dist/assets/volter-sdk-kit-readiness-hMTvovv0.js +1 -0
  372. package/dist/assets/volter-sdk-kit-renderer-resource-counts-Cx_PNUoK.js +1 -0
  373. package/dist/assets/volter-sdk-kit-reported-play-state-iWSJMHEI.js +1 -0
  374. package/dist/assets/volter-sdk-kit-resolve-contributed-command-CcnY8oYB.js +1 -0
  375. package/dist/assets/volter-sdk-kit-resolve-relative-specifier-BI8U-QW1.js +1 -0
  376. package/dist/assets/volter-sdk-kit-retained-document-states-DPOakAa_.js +1 -0
  377. package/dist/assets/volter-sdk-kit-scene-document-plan-Bxz59B_h.js +1 -0
  378. package/dist/assets/volter-sdk-kit-scene-live-open-BKW1E2nA.js +1 -0
  379. package/dist/assets/volter-sdk-kit-scoped-game-css-DT2PSvN6.js +1 -0
  380. package/dist/assets/volter-sdk-kit-served-url-6l78KNHb.js +1 -0
  381. package/dist/assets/volter-sdk-kit-session-close-vWwOHYbJ.js +1 -0
  382. package/dist/assets/volter-sdk-kit-session-tombstone-fXB9Q_yg.js +1 -0
  383. package/dist/assets/volter-sdk-kit-settings-settings-provider-Bw4T6q6i.js +1 -0
  384. package/dist/assets/volter-sdk-kit-settings-store-Dbt3hvWo.js +1 -0
  385. package/dist/assets/volter-sdk-kit-shell-store-DxmRlnWF.js +1 -0
  386. package/dist/assets/volter-sdk-kit-shell-store-door-OglmWQzy.js +1 -0
  387. package/dist/assets/volter-sdk-kit-source-conflict-fgSR0zbn.js +1 -0
  388. package/dist/assets/volter-sdk-kit-stage-context-BE0wAYsV.js +1 -0
  389. package/dist/assets/volter-sdk-kit-stage-invalidation-DWS3DipZ.js +1 -0
  390. package/dist/assets/volter-sdk-kit-stage-store-registry-CE4DIY7Z.js +1 -0
  391. package/dist/assets/volter-sdk-kit-startup-failure-DzoYfugP.js +1 -0
  392. package/dist/assets/volter-sdk-kit-state-report-deferral-D1k91Q1v.js +1 -0
  393. package/dist/assets/volter-sdk-kit-storage-host-files-storage-Cm8u_GQf.js +1 -0
  394. package/dist/assets/volter-sdk-kit-storage-http-storage-DT81P1Xs.js +1 -0
  395. package/dist/assets/volter-sdk-kit-storage-index-UeKOmBQs.js +1 -0
  396. package/dist/assets/volter-sdk-kit-storage-mem-storage-BtTJIJxx.js +1 -0
  397. package/dist/assets/volter-sdk-kit-storage-path-lock-BathwIYz.js +1 -0
  398. package/dist/assets/volter-sdk-kit-storage-paths-Bko9UDfO.js +1 -0
  399. package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-D4KtKhLj.js +1 -0
  400. package/dist/assets/volter-sdk-kit-stories-compose-project-stories-Dq1nB8EP.js +1 -0
  401. package/dist/assets/volter-sdk-kit-stories-prefabs-finder-BdXHTGK_.js +1 -0
  402. package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-CrBEfJDC.js +1 -0
  403. package/dist/assets/volter-sdk-kit-stories-project-story-regions-DWNlP9kt.js +1 -0
  404. package/dist/assets/volter-sdk-kit-stories-scope-BVF5pt-j.js +1 -0
  405. package/dist/assets/volter-sdk-kit-stories-story-capture-MFgaGKJ4.js +1 -0
  406. package/dist/assets/volter-sdk-kit-stories-story-declared-medium--pj6L8Vr.js +1 -0
  407. package/dist/assets/volter-sdk-kit-stories-story-discovery-BIfDAvsX.js +1 -0
  408. package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-CW7jRq-5.js +1 -0
  409. package/dist/assets/volter-sdk-kit-stories-story-grouping-Bav0tHMH.js +1 -0
  410. package/dist/assets/volter-sdk-kit-stories-story-presentation-Bd9AScYj.js +1 -0
  411. package/dist/assets/volter-sdk-kit-stories-story-registry-DtsH1uq7.js +1 -0
  412. package/dist/assets/volter-sdk-kit-story-document-openers-BQpRfuaa.js +1 -0
  413. package/dist/assets/volter-sdk-kit-story-thumbnails-AbrsBBdS.js +1 -0
  414. package/dist/assets/volter-sdk-kit-surface-keyboard-CrMEFsL8.js +1 -0
  415. package/dist/assets/volter-sdk-kit-surface-state-Dq5ub5Hc.js +1 -0
  416. package/dist/assets/volter-sdk-kit-system-seam-evidence-BUjKsE7k.js +1 -0
  417. package/dist/assets/volter-sdk-kit-tab-census-C36wLlSU.js +1 -0
  418. package/dist/assets/volter-sdk-kit-tab-lifecycle-client-xkVECT-8.js +1 -0
  419. package/dist/assets/volter-sdk-kit-theme-library-Dxgbok_U.js +1 -0
  420. package/dist/assets/volter-sdk-kit-theme-preference-C8CiQDgP.js +1 -0
  421. package/dist/assets/volter-sdk-kit-three-viewport-presentation-DN0AoArt.js +1 -0
  422. package/dist/assets/volter-sdk-kit-tool-contribution-play-BLU2vDQy.js +1 -0
  423. package/dist/assets/volter-sdk-kit-tool-loader-4joZXRls.js +1 -0
  424. package/dist/assets/volter-sdk-kit-transform-mode-request-DJ2ygYyu.js +1 -0
  425. package/dist/assets/volter-sdk-kit-transient-hint-F2AAlOgw.js +1 -0
  426. package/dist/assets/volter-sdk-kit-transport-strip-CXvXgh3v.js +1 -0
  427. package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-BEfwC2xC.js +1 -0
  428. package/dist/assets/volter-sdk-kit-ui-source-inspect-D07gZ4ri.js +1 -0
  429. package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-B4IvQaAw.js +1 -0
  430. package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-BEqBpMxQ.js +1 -0
  431. package/dist/assets/volter-sdk-kit-user-local-state-DgJmVbLW.js +1 -0
  432. package/dist/assets/volter-sdk-kit-viewport-activation-timings--HKXOXNW.js +1 -0
  433. package/dist/assets/volter-sdk-kit-viewport-editor-controls-B8yn1SP0.js +1 -0
  434. package/dist/assets/volter-sdk-kit-viewport-presentation-B698fL8r.js +1 -0
  435. package/dist/assets/volter-sdk-kit-viewport-surface-status-DoEN5Sio.js +1 -0
  436. package/dist/assets/volter-sdk-kit-wait-until-2LWMP_uP.js +1 -0
  437. package/dist/assets/volter-sdk-kit-worker-call-metrics-DI-At_Mp.js +1 -0
  438. package/dist/assets/volter-sdk-kit-workspace-areas-DSO22vOa.js +1 -0
  439. package/dist/assets/volter-sdk-kit-workspace-aux-commands-BctG0TZG.js +1 -0
  440. package/dist/assets/volter-sdk-kit-workspace-available-documents-CpjwAHsm.js +1 -0
  441. package/dist/assets/volter-sdk-kit-workspace-core-utilities-DnWAMG9j.js +1 -0
  442. package/dist/assets/volter-sdk-kit-workspace-document-ids-CIN7_AXP.js +1 -0
  443. package/dist/assets/volter-sdk-kit-workspace-document-registry-DczAFfsi.js +1 -0
  444. package/dist/assets/volter-sdk-kit-workspace-document-restore-C4nbPktb.js +1 -0
  445. package/dist/assets/volter-sdk-kit-workspace-host-commands-L38Zhbqv.js +1 -0
  446. package/dist/assets/volter-sdk-kit-workspace-persistence-gate-BmQJ30oR.js +1 -0
  447. package/dist/assets/volter-sdk-kit-workspace-play-utilities-e95WWf1D.js +1 -0
  448. package/dist/assets/volter-sdk-kit-workspace-presets-Cx6bIALC.js +1 -0
  449. package/dist/assets/volter-sdk-kit-workspace-regions-kCv9-b1p.js +1 -0
  450. package/dist/assets/volter-sdk-kit-workspace-static-panels-l1pOQpjz.js +1 -0
  451. package/dist/assets/volter-sdk-kit-workspace-status-registry-bQJRjzx5.js +1 -0
  452. package/dist/assets/volter-sdk-kit-workspace-storage-85aqPMbn.js +1 -0
  453. package/dist/assets/volter-sdk-kit-workspace-style-DMM9UWdH.js +1 -0
  454. package/dist/assets/volter-sdk-kit-workspace-utility-commands-2PKNxbly.js +1 -0
  455. package/dist/assets/volter-sdk-kit-workspace-utility-registry-DB5oOPJy.js +1 -0
  456. package/dist/assets/volter-sdk-kit-world-adoption-CxwTYRh-.js +1 -0
  457. package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-QDBbZeTR.js +1 -0
  458. package/dist/assets/volter-sdk-kit-world-document-routing-DB7QhASz.js +1 -0
  459. package/dist/assets/volter-sdk-kit-world-pan-state-BPS-OzaI.js +1 -0
  460. package/dist/assets/volter-sdk-kit-write-pipe-DufbkWzZ.js +1 -0
  461. package/dist/assets/volter-sdk-layout-arrangements-D9ris2cY.js +1 -0
  462. package/dist/assets/volter-sdk-layouts-4IfPH4dG.js +1 -0
  463. package/dist/assets/volter-sdk-selection-BVjBFSL-.js +1 -0
  464. package/dist/assets/volter-sdk-session-command-table-Cq7MkRn3.js +1 -0
  465. package/dist/assets/volter-sdk-session-editor-brand-4IXX9MlG.js +1 -0
  466. package/dist/assets/volter-sdk-session-editor-compatibility-haPOFpnc.js +1 -0
  467. package/dist/assets/volter-sdk-session-editor-control-protocol-g6kD2o_d.js +1 -0
  468. package/dist/assets/volter-sdk-session-entrypoint-selection-readers-C_zWjJFx.js +1 -0
  469. package/dist/assets/volter-sdk-session-game-css-scope-SCk6cC-b.js +1 -0
  470. package/dist/assets/volter-sdk-session-project-module-url-su5ZQDPz.js +1 -0
  471. package/dist/assets/volter-sdk-session-relative-path-guard-CQw_siO6.js +1 -0
  472. package/dist/assets/volter-sdk-session-tool-contribution-convention-B55YBYvG.js +1 -0
  473. package/dist/assets/volter-sdk-types-g096WMyG.js +1 -0
  474. package/dist/assets/volter-sdk-views-Dp18WV7d.js +1 -0
  475. package/dist/assets/volter-sdk-widgets-design-system-p8C8p5Qz.js +1 -0
  476. package/dist/assets/volter-sdk-widgets-editor-appearance-D6v4x3Ex.js +1 -0
  477. package/dist/assets/volter-sdk-widgets-editor-material-DTP4TTEm.js +1 -0
  478. package/dist/assets/volter-sdk-widgets-icon-set-registry-BI32z-yb.js +1 -0
  479. package/dist/assets/volter-sdk-widgets-index-DH1n9ERv.js +1 -0
  480. package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-DGoGeWgX.js +1 -0
  481. package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-UPleQnax.js +1 -0
  482. package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-DISSKfe-.js +1 -0
  483. package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-X7rglfR-.js +1 -0
  484. package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-DGFGaTXL.js +1 -0
  485. package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-DjTYXw9I.js +1 -0
  486. package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-D0kCYaZ8.js +1 -0
  487. package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-A5mofx1Y.js +1 -0
  488. package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-ClDWT5wR.js +1 -0
  489. package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-DhvtoDGg.js +1 -0
  490. package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-Bnzi6FQe.js +1 -0
  491. package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-D6RY-8hx.js +1 -0
  492. package/dist/assets/volter-sdk-widgets-inspector-widgets-index-DUxjhMIw.js +1 -0
  493. package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-CqdZ2gPa.js +1 -0
  494. package/dist/assets/volter-sdk-widgets-interactive-edit-scope-B6rfDOn8.js +1 -0
  495. package/dist/assets/volter-sdk-widgets-patterns-Dialog-CrmzdvWH.js +1 -0
  496. package/dist/assets/volter-sdk-widgets-patterns-Fields-DRLskKy0.js +1 -0
  497. package/dist/assets/volter-sdk-widgets-patterns-List-DbWBDvTr.js +1 -0
  498. package/dist/assets/volter-sdk-widgets-patterns-StateSurface-B-FtnyrV.js +1 -0
  499. package/dist/assets/volter-sdk-widgets-patterns-Surfaces-DLlTlsXh.js +1 -0
  500. package/dist/assets/volter-sdk-widgets-patterns-Tabs-Da9iZZM4.js +1 -0
  501. package/dist/assets/volter-sdk-widgets-patterns-Toolbar-CzjhciNz.js +1 -0
  502. package/dist/assets/volter-sdk-widgets-patterns-Tree-akgXaxnW.js +1 -0
  503. package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-WrgHvBqt.js +1 -0
  504. package/dist/assets/volter-sdk-widgets-primitives-Button-JRmeL9rz.js +1 -0
  505. package/dist/assets/volter-sdk-widgets-primitives-ColorInput-kv5QCfK9.js +1 -0
  506. package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-DZI2Ppf4.js +1 -0
  507. package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-BW_UXZUk.js +1 -0
  508. package/dist/assets/volter-sdk-widgets-primitives-FormControls-IUPpVKhS.js +1 -0
  509. package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-Bjh9ZFpF.js +1 -0
  510. package/dist/assets/volter-sdk-widgets-primitives-JsonInput-DYkVzZTB.js +1 -0
  511. package/dist/assets/volter-sdk-widgets-primitives-Layout-DokZxw4v.js +1 -0
  512. package/dist/assets/volter-sdk-widgets-primitives-Menu-CCo8sXpC.js +1 -0
  513. package/dist/assets/volter-sdk-widgets-primitives-NumberInput-DgbU4c8z.js +1 -0
  514. package/dist/assets/volter-sdk-widgets-primitives-Panel-C1pmlMc1.js +1 -0
  515. package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-CqNbFgvm.js +1 -0
  516. package/dist/assets/volter-sdk-widgets-primitives-Text-5-XthHps.js +1 -0
  517. package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-DyLIkMRz.js +1 -0
  518. package/dist/assets/volter-sdk-widgets-primitives-Tooltip-D3p_nK4m.js +1 -0
  519. package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-BklKCMSo.js +1 -0
  520. package/dist/assets/volter-sdk-widgets-primitives-banner-tones-DW-3W8UF.js +1 -0
  521. package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-CrTcmF2_.js +1 -0
  522. package/dist/assets/volter-sdk-widgets-primitives-editor-icons-Dq439uha.js +1 -0
  523. package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-BVc6D81c.js +1 -0
  524. package/dist/assets/volter-sdk-widgets-theme-Oeu5MGfu.js +1 -0
  525. package/dist/assets/volter-sdk-widgets-z-index-CccyHUHT.js +1 -0
  526. package/dist/assets/volter-shared-fontawesome-BoGOOhUZ.js +1 -0
  527. package/dist/assets/volter-shared-jsx-dev-runtime-CCGek-Va.js +1 -0
  528. package/dist/assets/volter-shared-jsx-runtime-D6gGEaXb.js +1 -0
  529. package/dist/assets/volter-shared-react-DMi8Kkjq.js +1 -0
  530. package/dist/assets/volter-shared-react-dom-Ddp2cb0L.js +1 -0
  531. package/dist/assets/volter-shared-react-dom-client-B78jeL8s.js +1 -0
  532. package/dist/assets/worker-DvJ796ja.js +8 -0
  533. package/dist/volter-shared-react.json +6 -6
  534. package/dist/volter-shared-sdk.json +462 -462
  535. package/dist-node/cli.js +559 -239
  536. package/dist-node/create.js +31 -14
  537. package/package.json +14 -14
  538. package/starter/AGENTS.md +6 -0
  539. package/dist/assets/EntityModelDocument-CTq_jwpe.js +0 -1
  540. package/dist/assets/EnvironmentAssetDocument-CaSQc1HY.js +0 -1
  541. package/dist/assets/InspectorObjectPreview-P6pJxnGB.js +0 -1
  542. package/dist/assets/LiveModuleDocument-B6Iw2YIE.js +0 -2
  543. package/dist/assets/LutAssetDocument-C7Tc5hRu.js +0 -1
  544. package/dist/assets/ModelAssetDocument-BUOK0YzX.js +0 -1
  545. package/dist/assets/NonThreeAuthoringBootstrap-Bbtz8I0R.js +0 -1
  546. package/dist/assets/Object3DDocumentToolbar-GjvQOSkS.js +0 -1
  547. package/dist/assets/Object3DPreview-BUogCxPt.js +0 -2
  548. package/dist/assets/QuarksAssetDocument-Cxg3fT6D.js +0 -2
  549. package/dist/assets/ShaderAssetDocument-BbXBHSY3.js +0 -1
  550. package/dist/assets/StageHost-BtQd8CQk.js +0 -1179
  551. package/dist/assets/ToolObject3DPreview-imwBjs0O.js +0 -1
  552. package/dist/assets/ViewportShadingMenu-Dx1gY8Op.js +0 -1
  553. package/dist/assets/animation-mixers.service-fNXcr-Vc.js +0 -1
  554. package/dist/assets/animation-timeline.utility-Dzab5JgT.js +0 -1
  555. package/dist/assets/asset-preview-BEzZu4j-.js +0 -4
  556. package/dist/assets/blender-emscripten-engine-BFUuajuh.js +0 -2
  557. package/dist/assets/blender-node-editor.document-Cu3LXipe.js +0 -1
  558. package/dist/assets/blender-properties-model-BrD2rboW.js +0 -1
  559. package/dist/assets/blender-properties-tab-CkbWamuD.js +0 -3
  560. package/dist/assets/blender-runtime-host-7Wv16WQe.js +0 -7221
  561. package/dist/assets/blender-runtime.document-CSHvDIaD.js +0 -13
  562. package/dist/assets/blender-screenshot.menu-CELFKP08.js +0 -1
  563. package/dist/assets/blender-timeline.document-BvHkPBTZ.js +0 -1
  564. package/dist/assets/blender-uv-editor.document-DVsbsG0P.js +0 -1
  565. package/dist/assets/blender-version.status-D_YQqOVz.js +0 -1
  566. package/dist/assets/blender-wali-engine-C6WYYJ9a.js +0 -2
  567. package/dist/assets/blender.command-M9NTZ04b.js +0 -1
  568. package/dist/assets/blender.status-H7PL8qIV.js +0 -1
  569. package/dist/assets/model-inspection-DAugZuDb.js +0 -1
  570. package/dist/assets/models.finder-C37d1CqG.js +0 -1
  571. package/dist/assets/object3d-document-session-registry-Nly7qqyW.js +0 -2
  572. package/dist/assets/play-live-nju-LbTd.js +0 -1
  573. package/dist/assets/product-B76VmSfR.js +0 -14
  574. package/dist/assets/properties-bone-constraints.inspector-CICws11L.js +0 -1
  575. package/dist/assets/properties-bone.inspector-BTh8HMja.js +0 -1
  576. package/dist/assets/properties-collection.inspector-CdxnUdEY.js +0 -1
  577. package/dist/assets/properties-constraints.inspector-CgLm__aq.js +0 -1
  578. package/dist/assets/properties-data.inspector-CPGohY4g.js +0 -1
  579. package/dist/assets/properties-material.inspector-BBmS0pWg.js +0 -1
  580. package/dist/assets/properties-modifiers.inspector-DmwrZuck.js +0 -1
  581. package/dist/assets/properties-object.inspector-CcLxRnp2.js +0 -1
  582. package/dist/assets/properties-output.inspector-B21rsdeE.js +0 -1
  583. package/dist/assets/properties-particles.inspector-3oYMCgFh.js +0 -1
  584. package/dist/assets/properties-physics.inspector-CXHZdBQv.js +0 -1
  585. package/dist/assets/properties-render.inspector-BgQVOySW.js +0 -1
  586. package/dist/assets/properties-scene.inspector-BvJsraNi.js +0 -1
  587. package/dist/assets/properties-texture.inspector-DPHw4ryw.js +0 -1
  588. package/dist/assets/properties-view-layer.inspector-MBifnnqO.js +0 -1
  589. package/dist/assets/properties-world.inspector-DOOIqcDX.js +0 -1
  590. package/dist/assets/react-18-Ceee8kSy.js +0 -1
  591. package/dist/assets/session-B_EkWp0b.js +0 -6047
  592. package/dist/assets/stage-keyboard-CfcRPwij.js +0 -1
  593. package/dist/assets/stage-overlay-set-B8PO_8GO.js +0 -1
  594. package/dist/assets/stage-presence-markers-CheQj0g2.js +0 -1
  595. package/dist/assets/stage-transform-tools-B3kiH81y.js +0 -1
  596. package/dist/assets/standard-viewport-dressing-4szt4iVE.js +0 -24
  597. package/dist/assets/three-integration.service-BRF8px1l.js +0 -2
  598. package/dist/assets/volter-sdk-BKodmrby.js +0 -2363
  599. package/dist/assets/volter-sdk-account-LQPzi3UZ.js +0 -1
  600. package/dist/assets/volter-sdk-client-DgRgxfuo.js +0 -1
  601. package/dist/assets/volter-sdk-contributions-Di1uSPw_.js +0 -1
  602. package/dist/assets/volter-sdk-css-numeric-style-Gy-GyM9Y.js +0 -1
  603. package/dist/assets/volter-sdk-document-probe-kPNnaNGr.js +0 -1
  604. package/dist/assets/volter-sdk-editor-view-g0uNyGJC.js +0 -1
  605. package/dist/assets/volter-sdk-host-CXSewq8M.js +0 -1
  606. package/dist/assets/volter-sdk-http-transport.browser-B3TdfhI7.js +0 -1
  607. package/dist/assets/volter-sdk-index-4Kp3lnTd.js +0 -1
  608. package/dist/assets/volter-sdk-kit-CapabilityCoverageSection-CjXSPJIo.js +0 -1
  609. package/dist/assets/volter-sdk-kit-account-client-ByTVy6-o.js +0 -1
  610. package/dist/assets/volter-sdk-kit-action-registry-D1kqJ80f.js +0 -1
  611. package/dist/assets/volter-sdk-kit-active-product-CEEc_Nk5.js +0 -1
  612. package/dist/assets/volter-sdk-kit-active-project-BrcrV5ab.js +0 -1
  613. package/dist/assets/volter-sdk-kit-adapter-editor-config-DqJAYMZM.js +0 -1
  614. package/dist/assets/volter-sdk-kit-adapter-module-Cm1FKR3D.js +0 -1
  615. package/dist/assets/volter-sdk-kit-adapter-observation-DNCkd2d_.js +0 -1
  616. package/dist/assets/volter-sdk-kit-animation-animation-clock-0FXkaCv-.js +0 -1
  617. package/dist/assets/volter-sdk-kit-animation-stage-transport-C7MuqkhX.js +0 -1
  618. package/dist/assets/volter-sdk-kit-api-assets-DC5mYDg9.js +0 -1
  619. package/dist/assets/volter-sdk-kit-api-base-Jd4izSaw.js +0 -1
  620. package/dist/assets/volter-sdk-kit-api-build-CXv7iVa0.js +0 -1
  621. package/dist/assets/volter-sdk-kit-api-logs-BJS5qQS0.js +0 -1
  622. package/dist/assets/volter-sdk-kit-api-project-identity-BTbrDP21.js +0 -1
  623. package/dist/assets/volter-sdk-kit-api-project-open-B2xmn-LQ.js +0 -1
  624. package/dist/assets/volter-sdk-kit-api-project-source-B8I05SPp.js +0 -1
  625. package/dist/assets/volter-sdk-kit-api-project-state-b7drJlZm.js +0 -1
  626. package/dist/assets/volter-sdk-kit-api-relay-CXoYAGag.js +0 -1
  627. package/dist/assets/volter-sdk-kit-api-settings-Ooohukfm.js +0 -1
  628. package/dist/assets/volter-sdk-kit-api-themes-DWL43Vk4.js +0 -1
  629. package/dist/assets/volter-sdk-kit-api-worktrees-36I3L3ep.js +0 -1
  630. package/dist/assets/volter-sdk-kit-asset-capabilities-B_JHyPEo.js +0 -1
  631. package/dist/assets/volter-sdk-kit-asset-compare-core-k1g4sfK4.js +0 -1
  632. package/dist/assets/volter-sdk-kit-asset-editor-context-BtXkPrch.js +0 -1
  633. package/dist/assets/volter-sdk-kit-asset-events-DNL9sOD1.js +0 -1
  634. package/dist/assets/volter-sdk-kit-asset-inspector-actions-CIyFU73p.js +0 -1
  635. package/dist/assets/volter-sdk-kit-asset-selection-YBxUZh2F.js +0 -1
  636. package/dist/assets/volter-sdk-kit-asset-selection-viewer-registry-BP6LhiLy.js +0 -1
  637. package/dist/assets/volter-sdk-kit-asset-thumbnails-cVPLoYS6.js +0 -1
  638. package/dist/assets/volter-sdk-kit-asset-viewers-D4Nn4_BR.js +0 -1
  639. package/dist/assets/volter-sdk-kit-asset-workflow-asset-import-jobs-BSMDOcaj.js +0 -1
  640. package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-Ce2VXJ2Z.js +0 -1
  641. package/dist/assets/volter-sdk-kit-asset-workflow-asset-ledger-backend-BUyAOAr6.js +0 -1
  642. package/dist/assets/volter-sdk-kit-asset-workflow-asset-materialization-report-BItOpEbd.js +0 -1
  643. package/dist/assets/volter-sdk-kit-asset-workflow-asset-pack-manifest-BBeCjirT.js +0 -1
  644. package/dist/assets/volter-sdk-kit-asset-workflow-audio-preview-player-UfPQty9g.js +0 -1
  645. package/dist/assets/volter-sdk-kit-asset-workflow-audio-waveform-DDRruLeu.js +0 -1
  646. package/dist/assets/volter-sdk-kit-asset-workflow-cloud-asset-client-T_DLL58P.js +0 -1
  647. package/dist/assets/volter-sdk-kit-asset-workflow-hosted-asset-materialization-BjuMcGvJ.js +0 -1
  648. package/dist/assets/volter-sdk-kit-asset-workflow-image-view-scale-Ciewiory.js +0 -1
  649. package/dist/assets/volter-sdk-kit-asset-workflow-ledger-write-lock-DNMc3Uhr.js +0 -1
  650. package/dist/assets/volter-sdk-kit-asset-workflow-pixi-spritesheet-BTZveIZ2.js +0 -1
  651. package/dist/assets/volter-sdk-kit-asset-workflow-preview-resource-lifetime-CGdTixEp.js +0 -1
  652. package/dist/assets/volter-sdk-kit-asset-workflow-project-asset-commands-0cIEsyFV.js +0 -1
  653. package/dist/assets/volter-sdk-kit-asset-workflow-project-content-B883NWEX.js +0 -1
  654. package/dist/assets/volter-sdk-kit-asset-workflow-thumbnail-system-udhK_bK8.js +0 -1
  655. package/dist/assets/volter-sdk-kit-authoring-active-adapter-CaV79Zym.js +0 -1
  656. package/dist/assets/volter-sdk-kit-authoring-active-systems-D-sRD1JD.js +0 -1
  657. package/dist/assets/volter-sdk-kit-authoring-adapter-key-4m95v2b2.js +0 -1
  658. package/dist/assets/volter-sdk-kit-authoring-authoring-asset-url-CHBNmukT.js +0 -1
  659. package/dist/assets/volter-sdk-kit-authoring-bootstrap-state-Dz5hKatn.js +0 -1
  660. package/dist/assets/volter-sdk-kit-authoring-boundary-authoring-adapter-BHValVeR.js +0 -1
  661. package/dist/assets/volter-sdk-kit-authoring-canvas-scene-guides-RexSF-J2.js +0 -1
  662. package/dist/assets/volter-sdk-kit-authoring-composite-authoring-adapter-CbcNeoQ9.js +0 -1
  663. package/dist/assets/volter-sdk-kit-authoring-consumer-actions-CnMS-_cD.js +0 -1
  664. package/dist/assets/volter-sdk-kit-authoring-design-time-layers-Zg9zdDef.js +0 -1
  665. package/dist/assets/volter-sdk-kit-authoring-design-time-mount-registry-DKLgadwc.js +0 -1
  666. package/dist/assets/volter-sdk-kit-authoring-edit-mode-authoring-M81xEMIH.js +0 -1
  667. package/dist/assets/volter-sdk-kit-authoring-empty-project-authoring-DIwvGeWZ.js +0 -1
  668. package/dist/assets/volter-sdk-kit-authoring-instance-source-menu-EmOGzQA_.js +0 -1
  669. package/dist/assets/volter-sdk-kit-authoring-layered-pick-DmtPQOEU.js +0 -1
  670. package/dist/assets/volter-sdk-kit-authoring-mounted-root-subjects-CEz93V3J.js +0 -1
  671. package/dist/assets/volter-sdk-kit-authoring-no-authoring-adapter-mfK9FD-y.js +0 -1
  672. package/dist/assets/volter-sdk-kit-authoring-object3d-document-persistence-R2pfEtvy.js +0 -1
  673. package/dist/assets/volter-sdk-kit-authoring-panel-authoring-VEFAXYyu.js +0 -1
  674. package/dist/assets/volter-sdk-kit-authoring-project-authoring-session-B2qmlVET.js +0 -1
  675. package/dist/assets/volter-sdk-kit-authoring-provenance-CWNbjFfV.js +0 -1
  676. package/dist/assets/volter-sdk-kit-authoring-react-canvas-navigation-BkL1OUf3.js +0 -1
  677. package/dist/assets/volter-sdk-kit-authoring-react-design-canvas-style-DSJif289.js +0 -1
  678. package/dist/assets/volter-sdk-kit-authoring-react-story-board-DEtWuCdl.js +0 -1
  679. package/dist/assets/volter-sdk-kit-authoring-seam-evidence-yrcHmQZ9.js +0 -1
  680. package/dist/assets/volter-sdk-kit-authoring-selection-scope-DVHy1MNQ.js +0 -1
  681. package/dist/assets/volter-sdk-kit-authoring-shell-document-ops-CrTR4pdw.js +0 -1
  682. package/dist/assets/volter-sdk-kit-authoring-story-board-chrome-fit-CzDJyhVH.js +0 -1
  683. package/dist/assets/volter-sdk-kit-authoring-three-root-DGX0pTp1.js +0 -1
  684. package/dist/assets/volter-sdk-kit-authoring-viewport-tool-context-c-RZK1GX.js +0 -1
  685. package/dist/assets/volter-sdk-kit-authoring-viewport-tool-owner-Cea2wigf.js +0 -1
  686. package/dist/assets/volter-sdk-kit-authoring-world-session-state-N1az4tj8.js +0 -1
  687. package/dist/assets/volter-sdk-kit-availability-tick-B-AloCSv.js +0 -1
  688. package/dist/assets/volter-sdk-kit-bitmap-label-D5-Z31T5.js +0 -1
  689. package/dist/assets/volter-sdk-kit-boot-routing-XVOVyUc_.js +0 -1
  690. package/dist/assets/volter-sdk-kit-breakpoint-state-D-KEzzvG.js +0 -1
  691. package/dist/assets/volter-sdk-kit-build-identity-D-zdIjo6.js +0 -1
  692. package/dist/assets/volter-sdk-kit-bytes-codec-DVfFaFPs.js +0 -1
  693. package/dist/assets/volter-sdk-kit-cancellation-reason-DnCUNdRD.js +0 -1
  694. package/dist/assets/volter-sdk-kit-canvas-frames-BGh2p4Ce.js +0 -1
  695. package/dist/assets/volter-sdk-kit-capture-camera-pose-WspKGBnF.js +0 -1
  696. package/dist/assets/volter-sdk-kit-capture-size-DSdRe3ay.js +0 -1
  697. package/dist/assets/volter-sdk-kit-chrome-registry-D4L_4xEJ.js +0 -1
  698. package/dist/assets/volter-sdk-kit-chrome-slot-registry-Ce1SavKJ.js +0 -1
  699. package/dist/assets/volter-sdk-kit-collaboration-client-BklHxwDT.js +0 -1
  700. package/dist/assets/volter-sdk-kit-collaboration-presence-Cbx-Ojaw.js +0 -1
  701. package/dist/assets/volter-sdk-kit-command-dispatch-Dyhs6OSN.js +0 -1
  702. package/dist/assets/volter-sdk-kit-command-listener-CHEIOy3c.js +0 -1
  703. package/dist/assets/volter-sdk-kit-command-registry-CUKeDb9O.js +0 -1
  704. package/dist/assets/volter-sdk-kit-component-board-registry-BF8BzQDh.js +0 -1
  705. package/dist/assets/volter-sdk-kit-component-states-registry-RkljZ-Lm.js +0 -1
  706. package/dist/assets/volter-sdk-kit-components-AlignToolbar-L-1f9zZf.js +0 -1
  707. package/dist/assets/volter-sdk-kit-components-ApplicationMenus-BKxEMCFq.js +0 -1
  708. package/dist/assets/volter-sdk-kit-components-AssetEditorShell-ByYpeg3g.js +0 -1
  709. package/dist/assets/volter-sdk-kit-components-AssetInspectorToolSection-AzQ_b4hk.js +0 -1
  710. package/dist/assets/volter-sdk-kit-components-BoardRulers-Cjeqdfie.js +0 -1
  711. package/dist/assets/volter-sdk-kit-components-CanvasAddNodeDialogs-BOfMdh1M.js +0 -1
  712. package/dist/assets/volter-sdk-kit-components-CanvasSceneViewport-rZGGuOwh.js +0 -1
  713. package/dist/assets/volter-sdk-kit-components-ChromeSlot-CYRqS-XZ.js +0 -1
  714. package/dist/assets/volter-sdk-kit-components-CodeView-CZ4K-R4r.js +0 -1
  715. package/dist/assets/volter-sdk-kit-components-CompactInspectorShell-C0Jzb6sx.js +0 -1
  716. package/dist/assets/volter-sdk-kit-components-ConsolePanel-vTD-MnSe.js +0 -1
  717. package/dist/assets/volter-sdk-kit-components-GameplaySessionTimeline-fQY5p6rX.js +0 -1
  718. package/dist/assets/volter-sdk-kit-components-InspectionProjection-Dn7ly9U9.js +0 -1
  719. package/dist/assets/volter-sdk-kit-components-Inspector-DlXSsDRU.js +0 -1
  720. package/dist/assets/volter-sdk-kit-components-InspectorCanvasPreview-D2fHAo8Q.js +0 -1
  721. package/dist/assets/volter-sdk-kit-components-InspectorFieldsSection-BACKigHR.js +0 -1
  722. package/dist/assets/volter-sdk-kit-components-InspectorStoriesSection-C2tFcY5Z.js +0 -1
  723. package/dist/assets/volter-sdk-kit-components-InspectorToolSection-CKxWWFgq.js +0 -1
  724. package/dist/assets/volter-sdk-kit-components-InspectorTransformSection-BscOuHaz.js +0 -1
  725. package/dist/assets/volter-sdk-kit-components-LightExplorerPanel-Czgrsno8.js +0 -1
  726. package/dist/assets/volter-sdk-kit-components-MediaProperties-4JJy007U.js +0 -1
  727. package/dist/assets/volter-sdk-kit-components-ProjectHeader-CHXnXf4V.js +0 -1
  728. package/dist/assets/volter-sdk-kit-components-ReactCanvasControls-CjQh_ckk.js +0 -1
  729. package/dist/assets/volter-sdk-kit-components-RootSelectionOverlay-CIhN8hQt.js +0 -1
  730. package/dist/assets/volter-sdk-kit-components-RootTextEditor-Bh2YKApp.js +0 -1
  731. package/dist/assets/volter-sdk-kit-components-SaveStatus-BD-zOD-c.js +0 -1
  732. package/dist/assets/volter-sdk-kit-components-SurfaceCrashBoundary-BH1PNp8a.js +0 -1
  733. package/dist/assets/volter-sdk-kit-components-SurfaceStateOverlay-C4IvdpGQ.js +0 -1
  734. package/dist/assets/volter-sdk-kit-components-ToolContributionSurfaces-CtiZX-C_.js +0 -1
  735. package/dist/assets/volter-sdk-kit-components-ToolHost-DLj25ucp.js +0 -1
  736. package/dist/assets/volter-sdk-kit-components-Toolbar-DOHf2NES.js +0 -1
  737. package/dist/assets/volter-sdk-kit-components-TransientHint-zFA_MLx1.js +0 -1
  738. package/dist/assets/volter-sdk-kit-components-VersionControlSection-C9By_77E.js +0 -1
  739. package/dist/assets/volter-sdk-kit-components-ViewportOverlaysMenu-vr4do7lA.js +0 -1
  740. package/dist/assets/volter-sdk-kit-components-VolterLogo-DS8HqAPp.js +0 -1
  741. package/dist/assets/volter-sdk-kit-components-WorktreeSwitcher-DIEnM6m4.js +0 -1
  742. package/dist/assets/volter-sdk-kit-components-account-documents-C-kuLuRW.js +0 -1
  743. package/dist/assets/volter-sdk-kit-components-asset-documents-wvxuPzJN.js +0 -1
  744. package/dist/assets/volter-sdk-kit-components-asset-editor-persistence-DRbF9-yC.js +0 -1
  745. package/dist/assets/volter-sdk-kit-components-asset-selection-section-D-iE-RCy.js +0 -1
  746. package/dist/assets/volter-sdk-kit-components-asset-thumbnails-D3TyvHrp.js +0 -1
  747. package/dist/assets/volter-sdk-kit-components-asset-viewers-AudioViewer-Dk2jKOhT.js +0 -1
  748. package/dist/assets/volter-sdk-kit-components-asset-viewers-GenericJsonViewer-_nthvrZy.js +0 -1
  749. package/dist/assets/volter-sdk-kit-components-asset-viewers-ImageViewer-i-UhuMgF.js +0 -1
  750. package/dist/assets/volter-sdk-kit-components-asset-viewers-JsonAssetDocument-CzBAEr0C.js +0 -1
  751. package/dist/assets/volter-sdk-kit-components-asset-viewers-OnlineAssetDetail-CyV7UI3C.js +0 -1
  752. package/dist/assets/volter-sdk-kit-components-asset-viewers-SourceAssetViewer-Bd3a2_oA.js +0 -1
  753. package/dist/assets/volter-sdk-kit-components-asset-viewers-SpritesheetSpriteView-B0oBgcRW.js +0 -1
  754. package/dist/assets/volter-sdk-kit-components-asset-viewers-VideoViewer-Ad0PtQNX.js +0 -1
  755. package/dist/assets/volter-sdk-kit-components-asset-viewers-shader-source-BcRGAaa4.js +0 -1
  756. package/dist/assets/volter-sdk-kit-components-board-guides-DlFbMQZl.js +0 -1
  757. package/dist/assets/volter-sdk-kit-components-canvas-scene-hotkeys-C-WHgNDO.js +0 -1
  758. package/dist/assets/volter-sdk-kit-components-canvas-temporary-pivot-CqErnLHB.js +0 -1
  759. package/dist/assets/volter-sdk-kit-components-core-utilities-B339nXVW.js +0 -1
  760. package/dist/assets/volter-sdk-kit-components-inspector-preview-section-fv1kHl0P.js +0 -1
  761. package/dist/assets/volter-sdk-kit-components-inspector-revert-label-CGouljBF.js +0 -1
  762. package/dist/assets/volter-sdk-kit-components-inspector-selection-svwL5thP.js +0 -1
  763. package/dist/assets/volter-sdk-kit-components-inspector-stories-gating-CXI8Z8PL.js +0 -1
  764. package/dist/assets/volter-sdk-kit-components-inspector-transform-B6n6Cdof.js +0 -1
  765. package/dist/assets/volter-sdk-kit-components-inspector-transform-subject-C3qg6v_f.js +0 -1
  766. package/dist/assets/volter-sdk-kit-components-kind-documents-W8USaiPh.js +0 -1
  767. package/dist/assets/volter-sdk-kit-components-primitives-DraftColorInput-Dd4u-Wtm.js +0 -1
  768. package/dist/assets/volter-sdk-kit-components-project-tool-documents-DFq82d8o.js +0 -1
  769. package/dist/assets/volter-sdk-kit-components-scene-documents-B73lYyVv.js +0 -1
  770. package/dist/assets/volter-sdk-kit-components-status-contributions-FTso27Xh.js +0 -1
  771. package/dist/assets/volter-sdk-kit-components-tool-documents-BbGwfFpc.js +0 -1
  772. package/dist/assets/volter-sdk-kit-components-tool-schema-form-BIF8LmJV.js +0 -1
  773. package/dist/assets/volter-sdk-kit-components-use-after-paint-CtKNo2UU.js +0 -1
  774. package/dist/assets/volter-sdk-kit-components-use-project-image-assets-G7f6izdS.js +0 -1
  775. package/dist/assets/volter-sdk-kit-components-workspace-history-B2vo6Xx_.js +0 -1
  776. package/dist/assets/volter-sdk-kit-components-world-documents-B5tULKmS.js +0 -1
  777. package/dist/assets/volter-sdk-kit-components-world-overlay-gestures-DDEiWrz7.js +0 -1
  778. package/dist/assets/volter-sdk-kit-composite-screenshot-BMOK3iYM.js +0 -1
  779. package/dist/assets/volter-sdk-kit-content-entry-source-registry-B9eUIMgv.js +0 -1
  780. package/dist/assets/volter-sdk-kit-contribution-surfaces-DC-uHDQg.js +0 -1
  781. package/dist/assets/volter-sdk-kit-coverage-canvas-reveal-DiRNBVRN.js +0 -1
  782. package/dist/assets/volter-sdk-kit-coverage-design-time-surfaces-Csc86Z_f.js +0 -1
  783. package/dist/assets/volter-sdk-kit-coverage-ontology-invariants-Brd3w7kt.js +0 -1
  784. package/dist/assets/volter-sdk-kit-coverage-session-vitals-BoNy6hEZ.js +0 -1
  785. package/dist/assets/volter-sdk-kit-creation-site-registry-CdhSUaPD.js +0 -1
  786. package/dist/assets/volter-sdk-kit-delegate-harness-registry-CHNkXHhB.js +0 -1
  787. package/dist/assets/volter-sdk-kit-document-areas-7iD_pTF6.js +0 -1
  788. package/dist/assets/volter-sdk-kit-document-context-registry-6DcBS8uQ.js +0 -1
  789. package/dist/assets/volter-sdk-kit-document-open-registry-CS2V2rTe.js +0 -1
  790. package/dist/assets/volter-sdk-kit-document-play-extension-DyULINB5.js +0 -1
  791. package/dist/assets/volter-sdk-kit-document-preview-source-YxLsIauQ.js +0 -1
  792. package/dist/assets/volter-sdk-kit-document-renderer-session-IoKOp6Se.js +0 -1
  793. package/dist/assets/volter-sdk-kit-document-stage-sessions-DSmPpree.js +0 -1
  794. package/dist/assets/volter-sdk-kit-document-viewports-CvdifVJF.js +0 -1
  795. package/dist/assets/volter-sdk-kit-editor-api-CB1FgcVg.js +0 -1
  796. package/dist/assets/volter-sdk-kit-editor-chrome-capture-B-e-WKT4.js +0 -1
  797. package/dist/assets/volter-sdk-kit-editor-commands-BYWHMTwS.js +0 -1
  798. package/dist/assets/volter-sdk-kit-editor-console-jCw-ErXD.js +0 -1
  799. package/dist/assets/volter-sdk-kit-editor-current-view-CbBqd-eR.js +0 -1
  800. package/dist/assets/volter-sdk-kit-editor-document-probe-BC-zqNPD.js +0 -1
  801. package/dist/assets/volter-sdk-kit-editor-git-client-BQQFtPz9.js +0 -1
  802. package/dist/assets/volter-sdk-kit-editor-hotkeys-BzoxjaxK.js +0 -1
  803. package/dist/assets/volter-sdk-kit-editor-lease-B_3921d6.js +0 -1
  804. package/dist/assets/volter-sdk-kit-editor-lease-view-Dwm149iL.js +0 -1
  805. package/dist/assets/volter-sdk-kit-editor-mode-DOBZoYnf.js +0 -1
  806. package/dist/assets/volter-sdk-kit-editor-notifications-BfExd624.js +0 -1
  807. package/dist/assets/volter-sdk-kit-editor-presence-DNnOAqPS.js +0 -1
  808. package/dist/assets/volter-sdk-kit-editor-presentation-activity-CFp63FEl.js +0 -1
  809. package/dist/assets/volter-sdk-kit-editor-presentation-notice-Df1-39oQ.js +0 -1
  810. package/dist/assets/volter-sdk-kit-editor-runtime-CCziNuJh.js +0 -1
  811. package/dist/assets/volter-sdk-kit-editor-server-response-DJiPWdEl.js +0 -1
  812. package/dist/assets/volter-sdk-kit-editor-session-attribution-qdIqiRBe.js +0 -1
  813. package/dist/assets/volter-sdk-kit-editor-session-mode-r0EdgfW4.js +0 -1
  814. package/dist/assets/volter-sdk-kit-editor-state-facets-ChaCu38O.js +0 -1
  815. package/dist/assets/volter-sdk-kit-editor-view-presentation-Dp6RpQY2.js +0 -1
  816. package/dist/assets/volter-sdk-kit-environment-images-BUDsa8Yi.js +0 -1
  817. package/dist/assets/volter-sdk-kit-eyedropper-session-CuB0NOuY.js +0 -1
  818. package/dist/assets/volter-sdk-kit-files-file-provider-DIDQ2_uI.js +0 -1
  819. package/dist/assets/volter-sdk-kit-files-project-files-CQvJk0Gq.js +0 -1
  820. package/dist/assets/volter-sdk-kit-finders-index-DKfmE3QQ.js +0 -1
  821. package/dist/assets/volter-sdk-kit-finders-scenes-from-entrypoint-selection-CmiBcR6h.js +0 -1
  822. package/dist/assets/volter-sdk-kit-frame-frame-parts-Dva44YHz.js +0 -1
  823. package/dist/assets/volter-sdk-kit-framed-document-capture-DB3Ncfrz.js +0 -1
  824. package/dist/assets/volter-sdk-kit-game-surface-defaults-Cj-0v8BH.js +0 -1
  825. package/dist/assets/volter-sdk-kit-gameplay-export-state-Xf39gCAN.js +0 -1
  826. package/dist/assets/volter-sdk-kit-gameplay-replay-F8jJrsPf.js +0 -1
  827. package/dist/assets/volter-sdk-kit-gameplay-session-time-DTTj1olA.js +0 -1
  828. package/dist/assets/volter-sdk-kit-gameplay-sessions-CxKyk9Md.js +0 -1
  829. package/dist/assets/volter-sdk-kit-hierarchy-component-marks-BabNBUji.js +0 -1
  830. package/dist/assets/volter-sdk-kit-hierarchy-internals-CoK3Z_Xh.js +0 -1
  831. package/dist/assets/volter-sdk-kit-hierarchy-kind-icon-Cm6Wsuhy.js +0 -1
  832. package/dist/assets/volter-sdk-kit-hierarchy-menu-registry-DaGff9wa.js +0 -1
  833. package/dist/assets/volter-sdk-kit-hierarchy-node-rows-BcRUZUvZ.js +0 -1
  834. package/dist/assets/volter-sdk-kit-hierarchy-panel-view-BZoc7eJQ.js +0 -1
  835. package/dist/assets/volter-sdk-kit-hierarchy-projection-CHs2jgL8.js +0 -1
  836. package/dist/assets/volter-sdk-kit-hierarchy-row-media-PFIeRJqY.js +0 -1
  837. package/dist/assets/volter-sdk-kit-hierarchy-row-model-Cw1It5is.js +0 -1
  838. package/dist/assets/volter-sdk-kit-hierarchy-rows-Dssu1BMj.js +0 -1
  839. package/dist/assets/volter-sdk-kit-hierarchy-walk-B1L9eTXm.js +0 -1
  840. package/dist/assets/volter-sdk-kit-history-editor-session-BtVV5q7v.js +0 -1
  841. package/dist/assets/volter-sdk-kit-history-history-commands-TABAJNSR.js +0 -1
  842. package/dist/assets/volter-sdk-kit-history-history-delegate-DeK2Tm-B.js +0 -1
  843. package/dist/assets/volter-sdk-kit-history-history-limit-notices-BVoYaGBF.js +0 -1
  844. package/dist/assets/volter-sdk-kit-history-history-service-BHBRoss1.js +0 -1
  845. package/dist/assets/volter-sdk-kit-history-persistence-coordinator-n84--IYf.js +0 -1
  846. package/dist/assets/volter-sdk-kit-history-project-file-history-CcXjOv2P.js +0 -1
  847. package/dist/assets/volter-sdk-kit-history-project-root-history-backends-DTX8q5fG.js +0 -1
  848. package/dist/assets/volter-sdk-kit-history-resource-registry-CLkqOjdr.js +0 -1
  849. package/dist/assets/volter-sdk-kit-history-snapshot-store-DycW6GLB.js +0 -1
  850. package/dist/assets/volter-sdk-kit-history-source-history-backend-9xMoYlbd.js +0 -1
  851. package/dist/assets/volter-sdk-kit-hmr-registration-group-DmMHpNnB.js +0 -1
  852. package/dist/assets/volter-sdk-kit-hmr-stable-react-context-D-TLq4Hc.js +0 -1
  853. package/dist/assets/volter-sdk-kit-hotkeys-XirVHMg5.js +0 -1
  854. package/dist/assets/volter-sdk-kit-inference-diagnostics-CXk1gv7L.js +0 -1
  855. package/dist/assets/volter-sdk-kit-initial-project-Cbnj6h8K.js +0 -1
  856. package/dist/assets/volter-sdk-kit-inspection-active-subject-CZRJ1Iol.js +0 -1
  857. package/dist/assets/volter-sdk-kit-inspection-active-surface-gAahXjP2.js +0 -1
  858. package/dist/assets/volter-sdk-kit-inspection-compose-subject-BBlLRs6P.js +0 -1
  859. package/dist/assets/volter-sdk-kit-inspection-display-D546j-bp.js +0 -1
  860. package/dist/assets/volter-sdk-kit-inspection-document-subject-DDqyp_xw.js +0 -1
  861. package/dist/assets/volter-sdk-kit-inspection-game-subject-sQwCYXs1.js +0 -1
  862. package/dist/assets/volter-sdk-kit-inspection-model-DC9Hl3cj.js +0 -1
  863. package/dist/assets/volter-sdk-kit-inspection-node-media-DjPyEqvx.js +0 -1
  864. package/dist/assets/volter-sdk-kit-inspection-null-subject-Ct7EGK3P.js +0 -1
  865. package/dist/assets/volter-sdk-kit-inspection-serialize-Bq6tap3p.js +0 -1
  866. package/dist/assets/volter-sdk-kit-inspection-use-active-inspection-C_yp3gfW.js +0 -1
  867. package/dist/assets/volter-sdk-kit-inspector-presentation-Di1bDrzW.js +0 -1
  868. package/dist/assets/volter-sdk-kit-inspector-property-grouping-Hrg_OJm5.js +0 -1
  869. package/dist/assets/volter-sdk-kit-inspector-section-registry-CvrpGvES.js +0 -1
  870. package/dist/assets/volter-sdk-kit-instance-source-actions-BCuKBxGf.js +0 -1
  871. package/dist/assets/volter-sdk-kit-js-heap-KxSszS6k.js +0 -1
  872. package/dist/assets/volter-sdk-kit-key-actions-Wz9BljgB.js +0 -1
  873. package/dist/assets/volter-sdk-kit-keymap-presets-GXj7fO30.js +0 -1
  874. package/dist/assets/volter-sdk-kit-layout-policy-cFlperJi.js +0 -1
  875. package/dist/assets/volter-sdk-kit-light-explorer-model-CkrLkUUZ.js +0 -1
  876. package/dist/assets/volter-sdk-kit-live-canvas-frame-CIEkO3Ed.js +0 -1
  877. package/dist/assets/volter-sdk-kit-live-document-DhUo-Edg.js +0 -1
  878. package/dist/assets/volter-sdk-kit-live-gesture-lock-CMfHfSyJ.js +0 -1
  879. package/dist/assets/volter-sdk-kit-live-seam-evidence-BwAIj8fP.js +0 -1
  880. package/dist/assets/volter-sdk-kit-live-session-registry-DLpuZ5fm.js +0 -1
  881. package/dist/assets/volter-sdk-kit-live-transition-CzY_KNsh.js +0 -1
  882. package/dist/assets/volter-sdk-kit-manifest-project-D966gGPJ.js +0 -1
  883. package/dist/assets/volter-sdk-kit-module-fetch-diagnosis-BhBAOyzv.js +0 -1
  884. package/dist/assets/volter-sdk-kit-mount-failure-report-uZuQLIak.js +0 -1
  885. package/dist/assets/volter-sdk-kit-native-selection-style-DWR8dlSz.js +0 -1
  886. package/dist/assets/volter-sdk-kit-object3d-document-write-policy-Bj_jp-7_.js +0 -1
  887. package/dist/assets/volter-sdk-kit-packaged-runtime-iG7YMb12.js +0 -1
  888. package/dist/assets/volter-sdk-kit-performance-profiler-CNmFMe3k.js +0 -1
  889. package/dist/assets/volter-sdk-kit-performance-sources-Dn00aXW5.js +0 -1
  890. package/dist/assets/volter-sdk-kit-photograph-notice-Dfg0UxVZ.js +0 -1
  891. package/dist/assets/volter-sdk-kit-play-boot-phase-CXNgzv-J.js +0 -1
  892. package/dist/assets/volter-sdk-kit-play-camera-flight-DLwGfpJp.js +0 -1
  893. package/dist/assets/volter-sdk-kit-presentation-surface-cMmRpkGJ.js +0 -1
  894. package/dist/assets/volter-sdk-kit-product-command-Bu6DLKpE.js +0 -1
  895. package/dist/assets/volter-sdk-kit-project-adapter-BuzQScGI.js +0 -1
  896. package/dist/assets/volter-sdk-kit-project-asset-refresh-Bap7mqgb.js +0 -1
  897. package/dist/assets/volter-sdk-kit-project-asset-roots-By8xlXHl.js +0 -1
  898. package/dist/assets/volter-sdk-kit-project-local-state-ChdRwLow.js +0 -1
  899. package/dist/assets/volter-sdk-kit-project-manager-CLiEnNgu.js +0 -1
  900. package/dist/assets/volter-sdk-kit-project-module-changes-BDpD6OsB.js +0 -1
  901. package/dist/assets/volter-sdk-kit-project-module-split-CVNdzh8m.js +0 -1
  902. package/dist/assets/volter-sdk-kit-project-provenance-cp2gtKVj.js +0 -1
  903. package/dist/assets/volter-sdk-kit-project-ready-D8V6Kzge.js +0 -1
  904. package/dist/assets/volter-sdk-kit-project-shape-CClCrXxY.js +0 -1
  905. package/dist/assets/volter-sdk-kit-project-tools-CtP3bOpD.js +0 -1
  906. package/dist/assets/volter-sdk-kit-readiness-D0ouQROM.js +0 -1
  907. package/dist/assets/volter-sdk-kit-renderer-resource-counts-aXKN0rxR.js +0 -1
  908. package/dist/assets/volter-sdk-kit-reported-play-state-C-Mib-ba.js +0 -1
  909. package/dist/assets/volter-sdk-kit-resolve-contributed-command-BM8YcJz7.js +0 -1
  910. package/dist/assets/volter-sdk-kit-resolve-relative-specifier-CSTX2j7-.js +0 -1
  911. package/dist/assets/volter-sdk-kit-retained-document-states-QrHnyn4V.js +0 -1
  912. package/dist/assets/volter-sdk-kit-scene-document-plan-C9wHG6B7.js +0 -1
  913. package/dist/assets/volter-sdk-kit-scene-live-open-CXb4AskH.js +0 -1
  914. package/dist/assets/volter-sdk-kit-scoped-game-css-FdsRmDqV.js +0 -1
  915. package/dist/assets/volter-sdk-kit-served-url-DIf-qLum.js +0 -1
  916. package/dist/assets/volter-sdk-kit-session-close-COfy5ras.js +0 -1
  917. package/dist/assets/volter-sdk-kit-session-tombstone-BitY9Sdx.js +0 -1
  918. package/dist/assets/volter-sdk-kit-settings-settings-provider-BPuTDIxn.js +0 -1
  919. package/dist/assets/volter-sdk-kit-settings-store-BPOsFHZe.js +0 -1
  920. package/dist/assets/volter-sdk-kit-shell-store-DwHeZ5nQ.js +0 -1
  921. package/dist/assets/volter-sdk-kit-shell-store-door-BWHcu98B.js +0 -1
  922. package/dist/assets/volter-sdk-kit-source-conflict-CkxYCMk1.js +0 -1
  923. package/dist/assets/volter-sdk-kit-stage-context-CP-upNgr.js +0 -1
  924. package/dist/assets/volter-sdk-kit-stage-invalidation-CeDdEl0b.js +0 -1
  925. package/dist/assets/volter-sdk-kit-stage-store-registry-B2jyIREA.js +0 -1
  926. package/dist/assets/volter-sdk-kit-startup-failure-DWjZgwSJ.js +0 -1
  927. package/dist/assets/volter-sdk-kit-state-report-deferral-Dzam5Bu-.js +0 -1
  928. package/dist/assets/volter-sdk-kit-storage-host-files-storage-BxTEyrKN.js +0 -1
  929. package/dist/assets/volter-sdk-kit-storage-http-storage-T4fMC6Ww.js +0 -1
  930. package/dist/assets/volter-sdk-kit-storage-index-C2Gf9k45.js +0 -1
  931. package/dist/assets/volter-sdk-kit-storage-mem-storage-CcdOLba9.js +0 -1
  932. package/dist/assets/volter-sdk-kit-storage-path-lock-r7SjMxYI.js +0 -1
  933. package/dist/assets/volter-sdk-kit-storage-paths-BWI0b699.js +0 -1
  934. package/dist/assets/volter-sdk-kit-stories-StoryPreviewMount-DPyefE_s.js +0 -1
  935. package/dist/assets/volter-sdk-kit-stories-compose-project-stories-Dz_zorT8.js +0 -1
  936. package/dist/assets/volter-sdk-kit-stories-prefabs-finder-VOD4Fih8.js +0 -1
  937. package/dist/assets/volter-sdk-kit-stories-prefabs-from-stories-BbJ4drXs.js +0 -1
  938. package/dist/assets/volter-sdk-kit-stories-project-story-regions-CPPt7sAc.js +0 -1
  939. package/dist/assets/volter-sdk-kit-stories-scope-CIIL7T3O.js +0 -1
  940. package/dist/assets/volter-sdk-kit-stories-story-capture-DMWk2KXY.js +0 -1
  941. package/dist/assets/volter-sdk-kit-stories-story-declared-medium-Bx-ygbVe.js +0 -1
  942. package/dist/assets/volter-sdk-kit-stories-story-discovery-CafUDauh.js +0 -1
  943. package/dist/assets/volter-sdk-kit-stories-story-dom-runtime-CiCD8tr1.js +0 -1
  944. package/dist/assets/volter-sdk-kit-stories-story-grouping-BRGub3eG.js +0 -1
  945. package/dist/assets/volter-sdk-kit-stories-story-presentation-Bt3rB_N9.js +0 -1
  946. package/dist/assets/volter-sdk-kit-stories-story-registry-bF3ym9Kn.js +0 -1
  947. package/dist/assets/volter-sdk-kit-story-document-openers-R2-yxXGg.js +0 -1
  948. package/dist/assets/volter-sdk-kit-story-thumbnails-CI-p0jom.js +0 -1
  949. package/dist/assets/volter-sdk-kit-surface-keyboard-Bclcg_ZX.js +0 -1
  950. package/dist/assets/volter-sdk-kit-surface-state-OwSMnQPF.js +0 -1
  951. package/dist/assets/volter-sdk-kit-system-seam-evidence-mhKxMLF-.js +0 -1
  952. package/dist/assets/volter-sdk-kit-tab-census-BkucfkR2.js +0 -1
  953. package/dist/assets/volter-sdk-kit-tab-lifecycle-client-xPlJR_Is.js +0 -1
  954. package/dist/assets/volter-sdk-kit-theme-library-BmQiddws.js +0 -1
  955. package/dist/assets/volter-sdk-kit-theme-preference-CY62ohS6.js +0 -1
  956. package/dist/assets/volter-sdk-kit-three-viewport-presentation-C4zfYkP5.js +0 -1
  957. package/dist/assets/volter-sdk-kit-tool-contribution-play-D-X4TndA.js +0 -1
  958. package/dist/assets/volter-sdk-kit-tool-loader-Bppn2i0e.js +0 -1
  959. package/dist/assets/volter-sdk-kit-transform-mode-request-DVP6KCfG.js +0 -1
  960. package/dist/assets/volter-sdk-kit-transient-hint-znMlkMOz.js +0 -1
  961. package/dist/assets/volter-sdk-kit-transport-strip-dGQ-YoNm.js +0 -1
  962. package/dist/assets/volter-sdk-kit-ui-source-file-region-resolver-bA1RQVjN.js +0 -1
  963. package/dist/assets/volter-sdk-kit-ui-source-inspect-vbzR9DTw.js +0 -1
  964. package/dist/assets/volter-sdk-kit-ui-source-source-write-backend-jvrPvSXj.js +0 -1
  965. package/dist/assets/volter-sdk-kit-ui-source-tier-source-write-backend-_aDOX96f.js +0 -1
  966. package/dist/assets/volter-sdk-kit-user-local-state-C9PMe7ZC.js +0 -1
  967. package/dist/assets/volter-sdk-kit-viewport-activation-timings-Bl8_neTA.js +0 -1
  968. package/dist/assets/volter-sdk-kit-viewport-editor-controls-aUeFDe8t.js +0 -1
  969. package/dist/assets/volter-sdk-kit-viewport-presentation-IbDRhAjA.js +0 -1
  970. package/dist/assets/volter-sdk-kit-viewport-surface-status-B0m0crzV.js +0 -1
  971. package/dist/assets/volter-sdk-kit-wait-until-Bby0hAXq.js +0 -1
  972. package/dist/assets/volter-sdk-kit-worker-call-metrics-JG55IFWY.js +0 -1
  973. package/dist/assets/volter-sdk-kit-workspace-areas-D-wnNrv1.js +0 -1
  974. package/dist/assets/volter-sdk-kit-workspace-aux-commands-iFWD7R5b.js +0 -1
  975. package/dist/assets/volter-sdk-kit-workspace-available-documents-DEOtsr7U.js +0 -1
  976. package/dist/assets/volter-sdk-kit-workspace-core-utilities-Do_ivM3K.js +0 -1
  977. package/dist/assets/volter-sdk-kit-workspace-document-ids-CekfZZKH.js +0 -1
  978. package/dist/assets/volter-sdk-kit-workspace-document-registry-CtvIBYpT.js +0 -1
  979. package/dist/assets/volter-sdk-kit-workspace-document-restore-VAID48D1.js +0 -1
  980. package/dist/assets/volter-sdk-kit-workspace-host-commands-Ddx5Tgyl.js +0 -1
  981. package/dist/assets/volter-sdk-kit-workspace-persistence-gate-CXlifVZM.js +0 -1
  982. package/dist/assets/volter-sdk-kit-workspace-play-utilities-ByGVJzRW.js +0 -1
  983. package/dist/assets/volter-sdk-kit-workspace-presets-CjP5LvcE.js +0 -1
  984. package/dist/assets/volter-sdk-kit-workspace-regions-iau7y1g3.js +0 -1
  985. package/dist/assets/volter-sdk-kit-workspace-static-panels-B6jKhrp4.js +0 -1
  986. package/dist/assets/volter-sdk-kit-workspace-status-registry-g8wytHL5.js +0 -1
  987. package/dist/assets/volter-sdk-kit-workspace-storage-B5hTXq0f.js +0 -1
  988. package/dist/assets/volter-sdk-kit-workspace-style-LV2J3BUW.js +0 -1
  989. package/dist/assets/volter-sdk-kit-workspace-utility-commands-Ci_KJODl.js +0 -1
  990. package/dist/assets/volter-sdk-kit-workspace-utility-registry-BbjESGwy.js +0 -1
  991. package/dist/assets/volter-sdk-kit-world-adoption-DQ4KT5o5.js +0 -1
  992. package/dist/assets/volter-sdk-kit-world-canvas-viewport-state-r5rqWOVZ.js +0 -1
  993. package/dist/assets/volter-sdk-kit-world-document-routing-D-fYy4j5.js +0 -1
  994. package/dist/assets/volter-sdk-kit-world-pan-state-CMG7tsSx.js +0 -1
  995. package/dist/assets/volter-sdk-kit-write-pipe-DNEDBnz-.js +0 -1
  996. package/dist/assets/volter-sdk-layout-arrangements-CHD3ZMFe.js +0 -1
  997. package/dist/assets/volter-sdk-layouts-CCA7FuOC.js +0 -1
  998. package/dist/assets/volter-sdk-selection-D0kL_iDi.js +0 -1
  999. package/dist/assets/volter-sdk-session-command-table-DA_l3-71.js +0 -1
  1000. package/dist/assets/volter-sdk-session-editor-brand-BF7c04d1.js +0 -1
  1001. package/dist/assets/volter-sdk-session-editor-compatibility-DTohfZFv.js +0 -1
  1002. package/dist/assets/volter-sdk-session-editor-control-protocol-BldcSvMF.js +0 -1
  1003. package/dist/assets/volter-sdk-session-entrypoint-selection-readers-C5lBU-ru.js +0 -1
  1004. package/dist/assets/volter-sdk-session-game-css-scope-BU2odzp5.js +0 -1
  1005. package/dist/assets/volter-sdk-session-project-module-url-BXpMu1Rd.js +0 -1
  1006. package/dist/assets/volter-sdk-session-relative-path-guard-QB40XSDf.js +0 -1
  1007. package/dist/assets/volter-sdk-session-tool-contribution-convention-B_nVNyey.js +0 -1
  1008. package/dist/assets/volter-sdk-types-CpvyGiQa.js +0 -1
  1009. package/dist/assets/volter-sdk-views-DJ_MnaUh.js +0 -1
  1010. package/dist/assets/volter-sdk-widgets-design-system-D7xN8pRO.js +0 -1
  1011. package/dist/assets/volter-sdk-widgets-editor-appearance-Crp-pBLJ.js +0 -1
  1012. package/dist/assets/volter-sdk-widgets-editor-material-MHO-HL-5.js +0 -1
  1013. package/dist/assets/volter-sdk-widgets-icon-set-registry-BV2KyS5k.js +0 -1
  1014. package/dist/assets/volter-sdk-widgets-index-Pv9HbBUF.js +0 -1
  1015. package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-vPIEJ2AQ.js +0 -1
  1016. package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-0kpmltFh.js +0 -1
  1017. package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-C1igd7oH.js +0 -1
  1018. package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-B2hEex_l.js +0 -1
  1019. package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-cyhMzK5L.js +0 -1
  1020. package/dist/assets/volter-sdk-widgets-inspector-widgets-FilterEditor-DcQAkx63.js +0 -1
  1021. package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker--uOgL4qW.js +0 -1
  1022. package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-DTAtC77d.js +0 -1
  1023. package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-khJ7avew.js +0 -1
  1024. package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-eiGFiwHP.js +0 -1
  1025. package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-Cd-F281s.js +0 -1
  1026. package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-C7uJEWC0.js +0 -1
  1027. package/dist/assets/volter-sdk-widgets-inspector-widgets-index-B5TWzor-.js +0 -1
  1028. package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-DEQKguQB.js +0 -1
  1029. package/dist/assets/volter-sdk-widgets-interactive-edit-scope-Bl0RzyJQ.js +0 -1
  1030. package/dist/assets/volter-sdk-widgets-patterns-Dialog-UyDjvCxC.js +0 -1
  1031. package/dist/assets/volter-sdk-widgets-patterns-Fields-nF0yD3V1.js +0 -1
  1032. package/dist/assets/volter-sdk-widgets-patterns-List-D34mrQDy.js +0 -1
  1033. package/dist/assets/volter-sdk-widgets-patterns-StateSurface-CLSEwJ2u.js +0 -1
  1034. package/dist/assets/volter-sdk-widgets-patterns-Surfaces-Bnz6CGdv.js +0 -1
  1035. package/dist/assets/volter-sdk-widgets-patterns-Tabs-BGh2nrPU.js +0 -1
  1036. package/dist/assets/volter-sdk-widgets-patterns-Toolbar-DD17mnjd.js +0 -1
  1037. package/dist/assets/volter-sdk-widgets-patterns-Tree-CCzpKURV.js +0 -1
  1038. package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-rAsZA766.js +0 -1
  1039. package/dist/assets/volter-sdk-widgets-primitives-Button-B1Ppeaoa.js +0 -1
  1040. package/dist/assets/volter-sdk-widgets-primitives-ColorInput-CHAXdol_.js +0 -1
  1041. package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-CnNtxQXT.js +0 -1
  1042. package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-Cimr9Mco.js +0 -1
  1043. package/dist/assets/volter-sdk-widgets-primitives-FormControls-CT_S601l.js +0 -1
  1044. package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-B8HUvMqd.js +0 -1
  1045. package/dist/assets/volter-sdk-widgets-primitives-JsonInput-B4XDeGeD.js +0 -1
  1046. package/dist/assets/volter-sdk-widgets-primitives-Layout-Bi7EShmW.js +0 -1
  1047. package/dist/assets/volter-sdk-widgets-primitives-Menu-CKIw0gyB.js +0 -1
  1048. package/dist/assets/volter-sdk-widgets-primitives-NumberInput-Cm3QFgJj.js +0 -1
  1049. package/dist/assets/volter-sdk-widgets-primitives-Panel-Bydp9OuQ.js +0 -1
  1050. package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-CCux7aOb.js +0 -1
  1051. package/dist/assets/volter-sdk-widgets-primitives-Text-CX8Zqrmp.js +0 -1
  1052. package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-9ZuvJNaQ.js +0 -1
  1053. package/dist/assets/volter-sdk-widgets-primitives-Tooltip-DQ24NxRN.js +0 -1
  1054. package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-B8ydBBhm.js +0 -1
  1055. package/dist/assets/volter-sdk-widgets-primitives-banner-tones-DJXfSNS6.js +0 -1
  1056. package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-BzMgToKr.js +0 -1
  1057. package/dist/assets/volter-sdk-widgets-primitives-editor-icons-RjhVjrNt.js +0 -1
  1058. package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-CaqZYWvq.js +0 -1
  1059. package/dist/assets/volter-sdk-widgets-theme-GZiAnowy.js +0 -1
  1060. package/dist/assets/volter-sdk-widgets-z-index-CvywNZqF.js +0 -1
  1061. package/dist/assets/volter-shared-fontawesome-D0om5i4C.js +0 -1
  1062. package/dist/assets/volter-shared-jsx-dev-runtime-Nf2pZiIO.js +0 -1
  1063. package/dist/assets/volter-shared-jsx-runtime-mOtwwECE.js +0 -1
  1064. package/dist/assets/volter-shared-react-D-xjcqWm.js +0 -1
  1065. package/dist/assets/volter-shared-react-dom-DdRTSMx8.js +0 -1
  1066. package/dist/assets/volter-shared-react-dom-client-WSvYqY8Z.js +0 -1
  1067. package/dist/assets/worker-CxcSX7C7.js +0 -8
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((resolve13) => setTimeout(resolve13, TRANSPORT_RETRY_DELAY_MS2));
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 mkdirSync7, readFileSync as readFileSync10, writeFileSync as writeFileSync7 } from "node:fs";
2042
- import { delimiter, dirname as dirname9, isAbsolute as isAbsolute6, relative as relative5, sep as sep3 } from "node:path";
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 = relative5(project, absolute).split(sep3).join("/");
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 (readFileSync10(onDisk).equals(bytes)) {
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
- mkdirSync7(dirname9(onDisk), { recursive: true });
2261
- writeFileSync7(onDisk, bytes);
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 resolve12, dirname as dirname10 } from "node:path";
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.203",
2387
+ version: "0.5.205",
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-28b19dec3e1a-darwin-arm64",
2444
- tarballSha256: "5bc0f4df6b89477e7563afd83e2bdab5ddebac565ed55fb8af634225d5e6fe63"
2443
+ release: "cyclotron-4782d9a281ef-ec1e0e845c3a-darwin-arm64",
2444
+ tarballSha256: "2a57c0cbc8baa64114d727fe9be00e849f5b8257a8416b50189017f247982c55"
2445
2445
  },
2446
2446
  "linux-x64": {
2447
- release: "cyclotron-f16dc165c0df-28b19dec3e1a-linux-x64",
2448
- tarballSha256: "f091a9d6759adb06089e6db35d2be08ac747a154b93904cb5d0da0eba8ca2964"
2447
+ release: "cyclotron-4782d9a281ef-ec1e0e845c3a-linux-x64",
2448
+ tarballSha256: "c23c4aadf241d10af59d4b64e0b944bff2316ceb384d5ad8f02604620418b8f7"
2449
2449
  },
2450
2450
  "win32-x64": {
2451
- release: "cyclotron-f16dc165c0df-28b19dec3e1a-win32-x64",
2452
- tarballSha256: "f5fe532a1571fd34a6b5b1f1c10b6c92e933be4132c164ed9ca35ee557587162"
2451
+ release: "cyclotron-4782d9a281ef-ec1e0e845c3a-win32-x64",
2452
+ tarballSha256: "3eecc57767a754cb839ff81fd107db5a524c06ca164a1e3757602d62844967e4"
2453
2453
  }
2454
2454
  }
2455
2455
  }
2456
2456
  },
2457
2457
  dependencies: {
2458
- "@volter/editor-core": "0.5.203",
2459
- "@volter/editor-blender": "0.1.142",
2460
- "@volter/editor-threejs": "0.5.203",
2461
- "@volter/blender-engine": "0.1.140",
2462
- "@volter/project": "0.5.203",
2463
- "@volter/sdk": "0.5.203",
2464
- "@volter/live": "0.5.203",
2458
+ "@volter/editor-core": "0.5.205",
2459
+ "@volter/editor-blender": "0.1.144",
2460
+ "@volter/editor-threejs": "0.5.205",
2461
+ "@volter/blender-engine": "0.1.142",
2462
+ "@volter/project": "0.5.205",
2463
+ "@volter/sdk": "0.5.205",
2464
+ "@volter/live": "0.5.205",
2465
2465
  "@modelcontextprotocol/sdk": "1.32.1",
2466
2466
  typescript: "5.9.3",
2467
2467
  undici: "7.29.1"
@@ -16645,6 +16645,22 @@ ${playable ? PLAYABLE.regionIncludes : ""} editor: { Layout: ModelLayout, style
16645
16645
  }
16646
16646
  return { targetDir: target, manifest };
16647
16647
  }
16648
+ async function refreshStarterGuidance(projectDir, log = console.log) {
16649
+ const target = join2(projectDir, "AGENTS.md");
16650
+ let current;
16651
+ try {
16652
+ current = await readFile(target, "utf8");
16653
+ } catch {
16654
+ return;
16655
+ }
16656
+ const starter = await readFile(join2(productRoot, "starter", "AGENTS.md"), "utf8");
16657
+ const firstLine = (text2) => text2.split(/\r?\n/, 1)[0] ?? "";
16658
+ if (current === starter || firstLine(current) !== firstLine(starter)) return;
16659
+ await mkdir(join2(projectDir, ".volter"), { recursive: true });
16660
+ await writeFile(join2(projectDir, ".volter", "AGENTS.previous.md"), current);
16661
+ await writeFile(target, starter);
16662
+ log("AGENTS.md updated to the installed editor guidance (the previous copy is .volter/AGENTS.previous.md).");
16663
+ }
16648
16664
 
16649
16665
  // node/startup.ts
16650
16666
  import { existsSync as existsSync4 } from "node:fs";
@@ -16655,8 +16671,8 @@ import { dirname as dirname3, join as join4, resolve as resolve3 } from "node:pa
16655
16671
  // ../sdk/src/session/project-upgrade.ts
16656
16672
  import { spawn as spawn2 } from "node:child_process";
16657
16673
  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";
16674
+ import { mkdir as mkdir2, readdir as readdir2, readFile as readFile2, rename, rm, rmdir, writeFile as writeFile2 } from "node:fs/promises";
16675
+ import { dirname as dirname2, join as join3, relative as relative2, resolve as resolve2, sep } from "node:path";
16660
16676
 
16661
16677
  // ../sdk/src/session/editor-compatibility.ts
16662
16678
  var EXACT_SEMVER = /^(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;
@@ -16674,9 +16690,9 @@ function compareSemver(a, b) {
16674
16690
  }
16675
16691
 
16676
16692
  // ../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)";
16693
+ 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
16694
  function upgradeLine(product) {
16679
- return `npx ${product.packageName} upgrade`;
16695
+ return `npx ${product.packageName}@latest upgrade`;
16680
16696
  }
16681
16697
  function declaredRetiredProduct(product, project) {
16682
16698
  let pkg;
@@ -16694,6 +16710,99 @@ function retiredProjectError(product, retired, project) {
16694
16710
  );
16695
16711
  }
16696
16712
  var RENAMED_PRODUCT_FILES = [".mcp.json", ".codex/config.toml", "AGENTS.md", "CLAUDE.md"];
16713
+ var RENAMED_KIT_PACKAGES = [
16714
+ ["@volter/editor-project", "@volter/project"],
16715
+ ["@volter/editor-sdk", "@volter/sdk"],
16716
+ ["@volter/editor-live", "@volter/live"],
16717
+ ["@volter/editor-model-play", "@volter/play"]
16718
+ ];
16719
+ var MOVED_TO_EDITOR = [
16720
+ ["volter.adapter.ts", "editor/volter.adapter.ts"],
16721
+ ["src/contributions", "editor/contributions"],
16722
+ ["src/tools", "editor/tools"]
16723
+ ];
16724
+ async function allFiles(path) {
16725
+ let entries;
16726
+ try {
16727
+ entries = await readdir2(path, { withFileTypes: true });
16728
+ } catch {
16729
+ return existsSync3(path) ? [path] : [];
16730
+ }
16731
+ const files = [];
16732
+ for (const entry of entries) {
16733
+ const child = join3(path, entry.name);
16734
+ if (entry.isDirectory()) files.push(...await allFiles(child));
16735
+ else files.push(child);
16736
+ }
16737
+ return files;
16738
+ }
16739
+ async function scriptFiles(dir) {
16740
+ const files = [];
16741
+ let entries;
16742
+ try {
16743
+ entries = await readdir2(dir, { withFileTypes: true });
16744
+ } catch {
16745
+ return files;
16746
+ }
16747
+ for (const entry of entries) {
16748
+ if (entry.name === "node_modules" || entry.name.startsWith(".")) continue;
16749
+ const path = join3(dir, entry.name);
16750
+ if (entry.isDirectory()) files.push(...await scriptFiles(path));
16751
+ else if (/\.(?:[cm]?[jt]sx?)$/.test(entry.name)) files.push(path);
16752
+ }
16753
+ return files;
16754
+ }
16755
+ async function projectSourceFiles(project) {
16756
+ const files = [];
16757
+ try {
16758
+ for (const entry of await readdir2(project, { withFileTypes: true })) {
16759
+ if (entry.isFile() && /\.(?:[cm]?[jt]sx?)$/.test(entry.name)) files.push(join3(project, entry.name));
16760
+ }
16761
+ } catch {
16762
+ }
16763
+ for (const folder of ["editor", "src", "scripts"]) files.push(...await scriptFiles(join3(project, folder)));
16764
+ return files;
16765
+ }
16766
+ function rewriteMovedPaths(text2) {
16767
+ return text2.replace(/(^|[^\w./-])(\.\/)?src\/(contributions|tools)(?=$|[/'"`\s),;:\]]|\.$)/gm, "$1$2editor/$3").replace(/(^|[^\w./-])(\.\/)?volter\.adapter\.ts\b/gm, "$1$2editor/volter.adapter.ts");
16768
+ }
16769
+ async function projectTextFiles(project) {
16770
+ const files = [];
16771
+ try {
16772
+ for (const entry of await readdir2(project, { withFileTypes: true })) {
16773
+ if (entry.isFile() && /(?:\.md|^tsconfig(?:\.[\w-]+)?\.json)$/i.test(entry.name)) files.push(join3(project, entry.name));
16774
+ }
16775
+ } catch {
16776
+ }
16777
+ const under = async (dir, pattern) => {
16778
+ for (const path of await allFiles(dir)) if (!path.includes(`${sep}node_modules${sep}`) && pattern.test(path)) files.push(path);
16779
+ };
16780
+ for (const folder of [".claude", ".agents", ".github"]) await under(join3(project, folder), /\.md$/i);
16781
+ await under(join3(project, ".volter", "catalog"), /\.json$/i);
16782
+ if (existsSync3(join3(project, ".volter", "scaffold-baseline.json"))) files.push(join3(project, ".volter", "scaffold-baseline.json"));
16783
+ return files;
16784
+ }
16785
+ function renameKitSpecifiers(text2) {
16786
+ let out = text2;
16787
+ for (const [from, to] of RENAMED_KIT_PACKAGES) {
16788
+ out = out.replace(new RegExp(`(['"\`]|node_modules\\/)${from.replace("/", "\\/")}(?=[/'"\`])`, "g"), `$1${to}`);
16789
+ }
16790
+ return out;
16791
+ }
16792
+ function rebaseRelativeSpecifiers(text2, fromDir, toDir, moved) {
16793
+ return text2.replace(
16794
+ /(\bfrom\s*|\bimport\s*\(\s*|\bimport\s+|\brequire\s*\(\s*|\bnew\s+URL\s*\(\s*|\bimport\.meta\.glob\s*\(\s*)(['"`])(\.{1,2}(?:\/[^'"`]*)?)\2/g,
16795
+ (whole, lead, quote, spec) => {
16796
+ const target = resolve2(fromDir, spec);
16797
+ if (fromDir === toDir && moved(target) === target) return whole;
16798
+ let next = relative2(toDir, moved(target)).split("\\").join("/");
16799
+ if (next === "") next = ".";
16800
+ if (!next.startsWith(".")) next = `./${next}`;
16801
+ if (spec.endsWith("/") && !next.endsWith("/")) next = `${next}/`;
16802
+ return `${lead}${quote}${next}${quote}`;
16803
+ }
16804
+ );
16805
+ }
16697
16806
  function wholeWord(text2) {
16698
16807
  return new RegExp(`(?<![\\w-])${text2.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}(?![\\w-])`, "g");
16699
16808
  }
@@ -16704,6 +16813,9 @@ function declaredVersion(spec) {
16704
16813
  const bare = spec?.replace(/^[\^~=v]+/, "");
16705
16814
  return bare !== void 0 && EXACT_VERSION.test(bare) ? bare : null;
16706
16815
  }
16816
+ function kitVersion(spec) {
16817
+ return declaredVersion(spec) ?? spec?.match(/^file:.*-(\d+\.\d+\.\d+)\.tgz$/)?.[1] ?? null;
16818
+ }
16707
16819
  async function writeAll(files) {
16708
16820
  const temp = (path) => `${path}.upgrade-${process.pid}.tmp`;
16709
16821
  try {
@@ -16719,7 +16831,7 @@ async function writeAll(files) {
16719
16831
  moved.push(file3);
16720
16832
  }
16721
16833
  } catch (error50) {
16722
- for (const file3 of moved) await writeFile2(file3.path, file3.original).catch(() => {
16834
+ for (const file3 of moved) await (file3.created ? rm(file3.path, { force: true }) : writeFile2(file3.path, file3.original)).catch(() => {
16723
16835
  });
16724
16836
  await Promise.all(files.map((file3) => rm(temp(file3.path), { force: true })));
16725
16837
  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 +16868,11 @@ function jsonLayout(raw) {
16756
16868
  }
16757
16869
  function npmView(spec) {
16758
16870
  return new Promise((done, fail) => {
16759
- const child = spawn2("npm", ["view", spec, "version", "dependencies", "--json"], {
16760
- windowsHide: true,
16761
- stdio: ["ignore", "pipe", "pipe"],
16762
- shell: process.platform === "win32"
16763
- });
16871
+ if (!/^@?[\w.-]+(?:\/[\w.-]+)?@[\w.+-]+$/.test(spec)) {
16872
+ fail(new Error(`${spec} is not a package and a version or tag.`));
16873
+ return;
16874
+ }
16875
+ 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
16876
  let out = "";
16765
16877
  let err = "";
16766
16878
  child.stdout.on("data", (chunk) => {
@@ -16816,7 +16928,7 @@ async function upgradeProject(product, requested, cwd = process.cwd()) {
16816
16928
  const warnings = [];
16817
16929
  const packageRaw = await readFile2(packagePath, "utf8");
16818
16930
  const pkg = JSON.parse(packageRaw);
16819
- const previousKit = pkg.devDependencies?.["@volter/project"] ?? pkg.dependencies?.["@volter/project"];
16931
+ const previousKit = pkg.devDependencies?.["@volter/project"] ?? pkg.dependencies?.["@volter/project"] ?? pkg.devDependencies?.["@volter/editor-project"] ?? pkg.dependencies?.["@volter/editor-project"];
16820
16932
  const currentProduct = declaredVersion(pkg.dependencies?.[product.packageName] ?? pkg.devDependencies?.[product.packageName]);
16821
16933
  for (const section of ["peerDependencies", "optionalDependencies"]) {
16822
16934
  for (const [name, current] of Object.entries(pkg[section] ?? {})) {
@@ -16868,12 +16980,91 @@ async function upgradeProject(product, requested, cwd = process.cwd()) {
16868
16980
  changed.push(`${file3}: names ${product.packageName} and \`${product.command}\``);
16869
16981
  }
16870
16982
  }
16983
+ for (const section of ["dependencies", "devDependencies"]) {
16984
+ const declared = pkg[section];
16985
+ if (declared === void 0) continue;
16986
+ for (const [from, to] of RENAMED_KIT_PACKAGES) {
16987
+ const current = declared[from];
16988
+ if (current === void 0) continue;
16989
+ if (declared[to] !== void 0) {
16990
+ delete declared[from];
16991
+ changed.push(`package.json ${section}: ${from} removed (${to} is already declared)`);
16992
+ } else {
16993
+ pkg[section] = renameKey(pkg[section], from, to, current);
16994
+ changed.push(`package.json ${section}: ${from} -> ${to}`);
16995
+ }
16996
+ packagesChanged = true;
16997
+ }
16998
+ }
16999
+ const projectPath = (path) => relative2(project, path).split("\\").join("/");
17000
+ const moves = [];
17001
+ for (const [from, to] of MOVED_TO_EDITOR) {
17002
+ const source = join3(project, from);
17003
+ if (existsSync3(source)) moves.push({ from: source, to: join3(project, to) });
17004
+ }
17005
+ const movedPath = (path) => {
17006
+ for (const move of moves) {
17007
+ if (path === move.from) return move.to;
17008
+ if (path.startsWith(move.from + sep)) return move.to + path.slice(move.from.length);
17009
+ const bare = move.from.replace(/\.ts$/, "");
17010
+ if (bare !== move.from && (path === bare || path === `${bare}.js`)) return move.to.replace(/\.ts$/, "") + path.slice(bare.length);
17011
+ }
17012
+ return path;
17013
+ };
17014
+ const collides = (path) => movedPath(path) !== path && existsSync3(movedPath(path));
17015
+ const stranded = [];
17016
+ for (const move of moves) for (const path of await allFiles(move.from)) if (collides(path)) stranded.push(path);
17017
+ for (const path of stranded)
17018
+ kept.push(`${projectPath(path)} stays where it is and is not read: ${projectPath(movedPath(path))} already exists; keep one of the two by hand`);
17019
+ const willMove = (path) => movedPath(path) !== path && !stranded.includes(path);
17020
+ const leftBehind = [];
17021
+ for (const path of await projectSourceFiles(project)) {
17022
+ const original = await readFile2(path, "utf8");
17023
+ const destination = willMove(path) ? movedPath(path) : path;
17024
+ const content = rewriteMovedPaths(
17025
+ rebaseRelativeSpecifiers(renameKitSpecifiers(original), dirname2(path), dirname2(destination), (p) => willMove(p) ? movedPath(p) : p)
17026
+ );
17027
+ if (destination !== path) {
17028
+ textFiles.push({ path: destination, content, original: "", created: true });
17029
+ leftBehind.push(path);
17030
+ } else if (content !== original) {
17031
+ textFiles.push({ path, content, original });
17032
+ changed.push(`${projectPath(path)}: names the kit's current packages and the moved files where they now are`);
17033
+ if (path.startsWith(join3(project, "src") + sep) && !stranded.includes(path) && /(['"`])(?:\.{1,2}\/)+[^'"`]*\beditor\//.test(content) && !/(['"`])(?:\.{1,2}\/)+[^'"`]*\beditor\//.test(original))
17034
+ 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)`);
17035
+ }
17036
+ }
17037
+ for (const move of moves) {
17038
+ if ((await allFiles(move.from)).some((path) => !stranded.includes(path)))
17039
+ changed.push(`${projectPath(move.from)} -> ${projectPath(move.to)} (a project's editor side lives in editor/ from 0.5.203)`);
17040
+ }
17041
+ for (const path of await projectTextFiles(project)) {
17042
+ const original = await readFile2(path, "utf8");
17043
+ const content = rewriteMovedPaths(renameKitSpecifiers(original));
17044
+ if (content === original) continue;
17045
+ textFiles.push({ path, content, original });
17046
+ changed.push(`${projectPath(path)}: names the moved files and the kit's packages where they now are`);
17047
+ }
17048
+ const volter = pkg["volter"];
17049
+ const tools = volter !== null && typeof volter === "object" && !Array.isArray(volter) ? volter.tools : void 0;
17050
+ if (Array.isArray(tools)) {
17051
+ const rewritten = tools.map((registration) => {
17052
+ const entry = typeof registration === "string" ? registration : registration?.entry;
17053
+ if (typeof entry !== "string" || !entry.startsWith("./")) return registration;
17054
+ const next = `./${projectPath(movedPath(join3(project, entry.slice(2))))}`;
17055
+ if (next === entry) return registration;
17056
+ changed.push(`package.json volter.tools: ${entry} -> ${next}`);
17057
+ packagesChanged = true;
17058
+ return typeof registration === "string" ? next : { ...registration, entry: next };
17059
+ });
17060
+ volter.tools = rewritten;
17061
+ }
16871
17062
  for (const section of ["dependencies", "devDependencies"]) {
16872
17063
  const declared = pkg[section];
16873
17064
  if (!declared) continue;
16874
17065
  for (const [name, current] of Object.entries(declared)) {
16875
17066
  if (!name.startsWith("@volter/")) continue;
16876
- const target = name === product.packageName ? release.version : release.dependencies[name] ?? (current === previousKit ? kit : void 0);
17067
+ const target = name === product.packageName ? release.version : release.dependencies[name] ?? (current === previousKit || kitVersion(current) !== null && kitVersion(current) === kitVersion(previousKit) ? kit : void 0);
16877
17068
  if (target === void 0) {
16878
17069
  kept.push(`package.json keeps ${name}@${current}: ${product.packageName}@${release.version} does not name it`);
16879
17070
  continue;
@@ -16881,7 +17072,7 @@ async function upgradeProject(product, requested, cwd = process.cwd()) {
16881
17072
  if (current === target) continue;
16882
17073
  declared[name] = target;
16883
17074
  packagesChanged = true;
16884
- changed.push(`package.json ${section}: ${name} ${current} -> ${target}`);
17075
+ 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
17076
  }
16886
17077
  }
16887
17078
  const manifestPath = join3(project, MANIFEST_FILENAME);
@@ -16901,7 +17092,7 @@ async function upgradeProject(product, requested, cwd = process.cwd()) {
16901
17092
  manifest.engine = { ...manifest.engine, version: engine };
16902
17093
  changed.push(`${MANIFEST_FILENAME} engine.version: ${typeof pinned === "string" ? pinned : "(none)"} -> ${engine}`);
16903
17094
  }
16904
- const linked = (() => {
17095
+ const linked = product.linksNodeModules === true || (() => {
16905
17096
  try {
16906
17097
  return lstatSync(join3(project, "node_modules")).isSymbolicLink();
16907
17098
  } catch {
@@ -16910,12 +17101,39 @@ async function upgradeProject(product, requested, cwd = process.cwd()) {
16910
17101
  })();
16911
17102
  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
17103
  if (locks.length > 0) changed.push("package-lock.json: the old @volter rows dropped, so npm install resolves the new ones");
16913
- await writeAll([
16914
- ...packagesChanged ? [{ path: packagePath, content: jsonLayout(packageRaw)(pkg), original: packageRaw }] : [],
16915
- ...pinChanged ? [{ path: manifestPath, content: jsonLayout(manifestRaw)(manifest), original: manifestRaw }] : [],
16916
- ...textFiles,
16917
- ...locks
16918
- ]);
17104
+ const madeDirs = [];
17105
+ for (const file3 of textFiles) {
17106
+ if (!file3.created) continue;
17107
+ const chain = [];
17108
+ for (let dir = dirname2(file3.path); !existsSync3(dir) && dir !== dirname2(dir); dir = dirname2(dir)) chain.unshift(dir);
17109
+ for (const dir of chain) {
17110
+ await mkdir2(dir);
17111
+ madeDirs.push(dir);
17112
+ }
17113
+ }
17114
+ try {
17115
+ await writeAll([
17116
+ ...packagesChanged ? [{ path: packagePath, content: jsonLayout(packageRaw)(pkg), original: packageRaw }] : [],
17117
+ ...pinChanged ? [{ path: manifestPath, content: jsonLayout(manifestRaw)(manifest), original: manifestRaw }] : [],
17118
+ ...textFiles,
17119
+ ...locks
17120
+ ]);
17121
+ } catch (error50) {
17122
+ for (const dir of madeDirs.reverse()) await rmdir(dir).catch(() => void 0);
17123
+ throw error50;
17124
+ }
17125
+ const failed = [];
17126
+ 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`));
17127
+ for (const path of leftBehind) await rm(path).catch((error50) => leftover(path, error50));
17128
+ for (const move of moves) {
17129
+ for (const path of await allFiles(move.from)) {
17130
+ if (leftBehind.includes(path) || stranded.includes(path)) continue;
17131
+ const to = movedPath(path);
17132
+ await mkdir2(dirname2(to), { recursive: true });
17133
+ await rename(path, to).catch((error50) => leftover(path, error50));
17134
+ }
17135
+ 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);
17136
+ }
16919
17137
  for (const line of warnings) console.warn(`! ${line}`);
16920
17138
  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
17139
  for (const line of changed) console.log(` + ${line}`);
@@ -16957,11 +17175,62 @@ async function startupProject(create, { cwd = process.cwd(), home = homedir() }
16957
17175
 
16958
17176
  // node/chat.ts
16959
17177
  import { connect } from "@volter/live";
17178
+
17179
+ // ../sdk/src/session/registry-format.ts
17180
+ import {
17181
+ mkdirSync,
17182
+ readdirSync,
17183
+ readFileSync as readFileSync2,
17184
+ realpathSync,
17185
+ unlinkSync,
17186
+ writeFileSync
17187
+ } from "node:fs";
17188
+ import { homedir as homedir2 } from "node:os";
17189
+ import { join as join5, resolve as resolve4 } from "node:path";
17190
+ var EDITOR_SESSIONS_REGISTRY_FILE = join5(homedir2(), ".volter", "editor-sessions.json");
17191
+ function isEditorSessionEntry(v) {
17192
+ if (typeof v !== "object" || v === null) return false;
17193
+ const s = v;
17194
+ const optionalIdentity = (value) => value === void 0 || value === null || typeof value === "string";
17195
+ 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"]);
17196
+ }
17197
+ function normalizeEditorSessionEntry(session) {
17198
+ return {
17199
+ ...session,
17200
+ sessionId: session.sessionId ?? null,
17201
+ controlSecret: session.controlSecret ?? null,
17202
+ repositoryId: session.repositoryId ?? null,
17203
+ worktreeId: session.worktreeId ?? null,
17204
+ worktreeRoot: session.worktreeRoot ?? null,
17205
+ projectRelativePath: session.projectRelativePath ?? null,
17206
+ branch: session.branch ?? null,
17207
+ headCommit: session.headCommit ?? null,
17208
+ baseCommit: session.baseCommit ?? null
17209
+ };
17210
+ }
17211
+ function pidAlive(pid) {
17212
+ try {
17213
+ process.kill(pid, 0);
17214
+ return true;
17215
+ } catch (error50) {
17216
+ return error50.code === "EPERM";
17217
+ }
17218
+ }
17219
+ function readLiveRegisteredSessions() {
17220
+ try {
17221
+ const raw = JSON.parse(readFileSync2(EDITOR_SESSIONS_REGISTRY_FILE, "utf8"));
17222
+ return Array.isArray(raw) ? raw.filter(isEditorSessionEntry).map(normalizeEditorSessionEntry).filter((s) => pidAlive(s.pid)) : [];
17223
+ } catch {
17224
+ return [];
17225
+ }
17226
+ }
17227
+
17228
+ // node/chat.ts
16960
17229
  var CHAT_USAGE = "chat status | chat send <prompt> | chat stop";
16961
17230
  async function chat(args) {
16962
17231
  const [action, prompt] = args;
16963
17232
  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();
17233
+ const { editor, session } = await connect();
16965
17234
  const state = await editor.command("supercode.frontend.status", true);
16966
17235
  const view = await editor.command("volter.chat.inspect");
16967
17236
  if (action === "status") return { ...state, focusedSessionResource: view.sessionResource };
@@ -16972,8 +17241,38 @@ async function chat(args) {
16972
17241
  if (!connection && !draft || !connection && state.setupHandoff?.complete !== true) {
16973
17242
  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
17243
  }
16975
- if (action === "send" && (state.busy || connection?.pendingRequests?.length)) {
16976
- throw new Error("Chat has an active turn or a pending request. Finish it in the editor or use chat stop before sending another prompt.");
17244
+ if (action === "send" && connection?.pendingRequests?.length) {
17245
+ throw new Error("Chat is waiting on an approval in the editor. Answer it there (or use chat stop), then send.");
17246
+ }
17247
+ if (action === "send" && state.busy) {
17248
+ const entry = readLiveRegisteredSessions().find((s) => s.port === session.port);
17249
+ const origin = `http://127.0.0.1:${session.port}`;
17250
+ const response = await fetch(`${origin}/__editor/harness-chat/steer`, {
17251
+ method: "POST",
17252
+ headers: {
17253
+ "Content-Type": "application/json",
17254
+ Origin: origin,
17255
+ ...entry?.controlSecret ? { "x-volter-editor-control": entry.controlSecret } : {}
17256
+ },
17257
+ body: JSON.stringify({ text: prompt })
17258
+ });
17259
+ const said = await response.json().catch(() => null);
17260
+ if (response.ok && said?.queued) {
17261
+ return {
17262
+ queued: true,
17263
+ sessionId: connection?.sessionId,
17264
+ note: "Queued into the running turn: the agent reads it at its next step. Nothing confirms delivery; the Chat shows it when it lands."
17265
+ };
17266
+ }
17267
+ if (said?.state === "waiting") {
17268
+ throw new Error("Chat is waiting on an approval in the editor. Answer it there (or use chat stop), then send.");
17269
+ }
17270
+ if (said?.state === "unknown") {
17271
+ throw new Error("Chat's turn could not be read, so the prompt was not sent (a turn may be running). Run chat status, then send again.");
17272
+ }
17273
+ if (said?.state !== "idle") {
17274
+ throw new Error(`Chat did not take the prompt into its running turn: ${said?.error ?? `HTTP ${response.status}`}`);
17275
+ }
16977
17276
  }
16978
17277
  if (!resource && connection) await editor.command("volter.chat.openSession", `supercode://${connection.id}/conversation`);
16979
17278
  if (action === "stop") {
@@ -17020,14 +17319,14 @@ async function playLog(options) {
17020
17319
  }
17021
17320
 
17022
17321
  // node/add-play.ts
17023
- import { existsSync as existsSync5, lstatSync as lstatSync2, realpathSync, statSync } from "node:fs";
17024
- import { mkdir as mkdir2, readFile as readFile4, readdir as readdir2, rm as rm2, rmdir, writeFile as writeFile3 } from "node:fs/promises";
17025
- import { dirname as dirname4, isAbsolute, join as join5, posix, relative as relative2, resolve as resolve4 } from "node:path";
17322
+ import { existsSync as existsSync5, lstatSync as lstatSync2, realpathSync as realpathSync2, statSync } from "node:fs";
17323
+ import { mkdir as mkdir3, readFile as readFile4, readdir as readdir3, rm as rm2, rmdir as rmdir2, writeFile as writeFile3 } from "node:fs/promises";
17324
+ import { dirname as dirname4, isAbsolute, join as join6, posix, relative as relative3, resolve as resolve5 } from "node:path";
17026
17325
  var ADD_PLAY_USAGE = "add-play [folder] # make a models project playable: Play deps, UI root, a first Play script for its model";
17027
17326
  async function playScripts(project) {
17028
- const src = join5(project, "src");
17327
+ const src = join6(project, "src");
17029
17328
  if (!existsSync5(src)) return [];
17030
- const entries = await readdir2(src, { recursive: true });
17329
+ const entries = await readdir3(src, { recursive: true });
17031
17330
  return entries.map((entry) => `src/${entry.replace(/\\/g, "/")}`).filter((path) => path.endsWith(".play.ts") && !path.includes("/node_modules/"));
17032
17331
  }
17033
17332
  function occupied(path) {
@@ -17039,7 +17338,7 @@ function occupied(path) {
17039
17338
  }
17040
17339
  }
17041
17340
  function inside(root, path) {
17042
- const rel = relative2(root, path);
17341
+ const rel = relative3(root, path);
17043
17342
  return rel === "" || !rel.startsWith("..") && !isAbsolute(rel);
17044
17343
  }
17045
17344
  function blocked(project, realProject, path) {
@@ -17049,13 +17348,13 @@ function blocked(project, realProject, path) {
17049
17348
  if (!occupied(dir)) continue;
17050
17349
  if (deepest === project) deepest = dir;
17051
17350
  try {
17052
- if (!statSync(dir).isDirectory()) return `${relative2(project, dir)} is not a folder`;
17351
+ if (!statSync(dir).isDirectory()) return `${relative3(project, dir)} is not a folder`;
17053
17352
  } catch {
17054
- return `${relative2(project, dir)} is a dangling link`;
17353
+ return `${relative3(project, dir)} is a dangling link`;
17055
17354
  }
17056
17355
  }
17057
- const real = realpathSync(deepest);
17058
- if (!inside(realProject, real)) return `${relative2(project, deepest) || "."} resolves outside the project, to ${real}`;
17356
+ const real = realpathSync2(deepest);
17357
+ if (!inside(realProject, real)) return `${relative3(project, deepest) || "."} resolves outside the project, to ${real}`;
17059
17358
  return null;
17060
17359
  }
17061
17360
  function missingFolders(project, file3) {
@@ -17065,14 +17364,14 @@ function missingFolders(project, file3) {
17065
17364
  }
17066
17365
  async function playModel(project, adapter) {
17067
17366
  const declared = adapter === null ? void 0 : /default:\s*'model:(src\/models\/[^']+\.blend)'/.exec(adapter)?.[1];
17068
- if (declared !== void 0 && existsSync5(join5(project, declared))) return declared;
17069
- const models = join5(project, "src", "models");
17070
- const blends = existsSync5(models) ? (await readdir2(models, { recursive: true })).map((entry) => `src/models/${entry.replace(/\\/g, "/")}`).filter((path) => path.endsWith(".blend")) : [];
17367
+ if (declared !== void 0 && existsSync5(join6(project, declared))) return declared;
17368
+ const models = join6(project, "src", "models");
17369
+ const blends = existsSync5(models) ? (await readdir3(models, { recursive: true })).map((entry) => `src/models/${entry.replace(/\\/g, "/")}`).filter((path) => path.endsWith(".blend")) : [];
17071
17370
  if (blends.length === 1) return blends[0];
17072
17371
  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
17372
  }
17074
17373
  async function firstPlaySet(model) {
17075
- const starter = (name) => readFile4(join5(productRoot, "starter", "add-play", name), "utf8");
17374
+ const starter = (name) => readFile4(join6(productRoot, "starter", "add-play", name), "utf8");
17076
17375
  const folder = posix.dirname(model);
17077
17376
  const state = posix.relative(posix.dirname(PLAY_SCAFFOLD.uiRoot.entry), posix.join(folder, "game-state"));
17078
17377
  return [
@@ -17088,11 +17387,11 @@ function jsonLayout2(raw) {
17088
17387
  return (value) => JSON.stringify(value, null, indent).replace(/\n/g, eol) + trailing;
17089
17388
  }
17090
17389
  async function addPlay(folder) {
17091
- const project = resolve4(folder);
17092
- const manifestPath = join5(project, MANIFEST_FILENAME);
17390
+ const project = resolve5(folder);
17391
+ const manifestPath = join6(project, MANIFEST_FILENAME);
17093
17392
  if (!existsSync5(manifestPath)) throw new Error(`${project} is not a Cyclotron project: it has no ${MANIFEST_FILENAME}.`);
17094
- const realProject = realpathSync(project);
17095
- const packagePath = join5(project, "package.json");
17393
+ const realProject = realpathSync2(project);
17394
+ const packagePath = join6(project, "package.json");
17096
17395
  if (!existsSync5(packagePath)) throw new Error(`${project} has no package.json to declare the Play dependencies in.`);
17097
17396
  const { kit } = await productVersions();
17098
17397
  const added = [];
@@ -17112,7 +17411,7 @@ async function addPlay(folder) {
17112
17411
  added.push(`package.json ${section}: ${name}@${version3}`);
17113
17412
  }
17114
17413
  }
17115
- const adapterPath = join5(project, "editor/volter.adapter.ts");
17414
+ const adapterPath = join6(project, "editor/volter.adapter.ts");
17116
17415
  const adapterSource = existsSync5(adapterPath) ? await readFile4(adapterPath, "utf8") : null;
17117
17416
  let model = null;
17118
17417
  let example = null;
@@ -17126,7 +17425,7 @@ async function addPlay(folder) {
17126
17425
  } else {
17127
17426
  const set3 = await firstPlaySet(chosen);
17128
17427
  const refusals = set3.flatMap(({ to }) => {
17129
- const reason = blocked(project, realProject, join5(project, to));
17428
+ const reason = blocked(project, realProject, join6(project, to));
17130
17429
  return reason === null ? [] : [`${to}: ${reason}`];
17131
17430
  });
17132
17431
  if (refusals.length > 0) {
@@ -17144,7 +17443,7 @@ async function addPlay(folder) {
17144
17443
  const roots = manifest.roots ?? [];
17145
17444
  if (roots.some((root) => root.id === PLAY_SCAFFOLD.uiRoot.id)) {
17146
17445
  kept.push(`${MANIFEST_FILENAME} already has a "${PLAY_SCAFFOLD.uiRoot.id}" root`);
17147
- } else if (example !== null || existsSync5(join5(project, PLAY_SCAFFOLD.uiRoot.entry))) {
17446
+ } else if (example !== null || existsSync5(join6(project, PLAY_SCAFFOLD.uiRoot.entry))) {
17148
17447
  manifest.roots = [...roots, { ...PLAY_SCAFFOLD.uiRoot }];
17149
17448
  manifestChanged = true;
17150
17449
  added.push(`${MANIFEST_FILENAME} root: ${JSON.stringify(PLAY_SCAFFOLD.uiRoot)}`);
@@ -17172,7 +17471,7 @@ async function addPlay(folder) {
17172
17471
  }
17173
17472
  adapter = { original: adapterSource, next };
17174
17473
  }
17175
- const tsconfigPath = join5(project, "tsconfig.json");
17474
+ const tsconfigPath = join6(project, "tsconfig.json");
17176
17475
  const writeTsconfig = !occupied(tsconfigPath);
17177
17476
  if (writeTsconfig) added.push("tsconfig.json");
17178
17477
  else if (!existsSync5(tsconfigPath))
@@ -17182,9 +17481,9 @@ async function addPlay(folder) {
17182
17481
  const created = /* @__PURE__ */ new Set();
17183
17482
  try {
17184
17483
  for (const { to, content } of example) {
17185
- const target = join5(project, to);
17484
+ const target = join6(project, to);
17186
17485
  for (const dir of missingFolders(project, target)) created.add(dir);
17187
- await mkdir2(dirname4(target), { recursive: true });
17486
+ await mkdir3(dirname4(target), { recursive: true });
17188
17487
  await writeFile3(target, content, { flag: "wx" });
17189
17488
  written.push(target);
17190
17489
  }
@@ -17193,9 +17492,9 @@ async function addPlay(folder) {
17193
17492
  const remaining = [];
17194
17493
  for (const dir of [...created].sort((a, b) => b.length - a.length)) {
17195
17494
  try {
17196
- await rmdir(dir);
17495
+ await rmdir2(dir);
17197
17496
  } catch {
17198
- if (occupied(dir)) remaining.push(relative2(project, dir));
17497
+ if (occupied(dir)) remaining.push(relative3(project, dir));
17199
17498
  }
17200
17499
  }
17201
17500
  const reason = error50 instanceof Error ? error50.message : String(error50);
@@ -17214,7 +17513,7 @@ async function addPlay(folder) {
17214
17513
  console.log("Next:");
17215
17514
  const linked = (() => {
17216
17515
  try {
17217
- return lstatSync2(join5(project, "node_modules")).isSymbolicLink();
17516
+ return lstatSync2(join6(project, "node_modules")).isSymbolicLink();
17218
17517
  } catch {
17219
17518
  return false;
17220
17519
  }
@@ -17317,7 +17616,7 @@ The play log has the entry: cyclotron play-log --kind script-error${documentId ?
17317
17616
  lastProgressAt = now;
17318
17617
  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
17618
  }
17320
- await new Promise((resolve13) => setTimeout(resolve13, 250));
17619
+ await new Promise((resolve14) => setTimeout(resolve14, 250));
17321
17620
  current = await state(args);
17322
17621
  }
17323
17622
  return current;
@@ -17330,9 +17629,10 @@ var __export2 = (target, all) => {
17330
17629
  __defProp2(target, name, { get: all[name], enumerable: true });
17331
17630
  };
17332
17631
 
17333
- // ../editor-core/dist/server/chunk-OFYTOZI6.js
17632
+ // ../editor-core/dist/server/chunk-D2E2T73W.js
17334
17633
  import { existsSync as existsSync6 } from "node:fs";
17335
- import { join as join6 } from "node:path";
17634
+ import { join as join7 } from "node:path";
17635
+ var MANIFEST_FILENAME2 = "volter.project.json";
17336
17636
  var ADAPTER_MODULE_FILENAME = "editor/volter.adapter.ts";
17337
17637
  var external_exports2 = {};
17338
17638
  __export2(external_exports2, {
@@ -31194,7 +31494,26 @@ var ProjectCompatibilityError = class extends Error {
31194
31494
  };
31195
31495
  function assertProjectAdapter(projectRoot, product) {
31196
31496
  if (product === null || product.adapterRequired !== true) return;
31197
- if (existsSync6(join6(projectRoot, ADAPTER_MODULE_FILENAME))) return;
31497
+ if (existsSync6(join7(projectRoot, ADAPTER_MODULE_FILENAME))) return;
31498
+ if (existsSync6(join7(projectRoot, "volter.adapter.ts"))) {
31499
+ throw new ProjectCompatibilityError(
31500
+ `${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}.`,
31501
+ {
31502
+ kind: "bring-project-up-to-date",
31503
+ title: "Bring this project up to date",
31504
+ 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.`,
31505
+ summary: "adapter at the project root"
31506
+ }
31507
+ );
31508
+ }
31509
+ if (existsSync6(join7(projectRoot, MANIFEST_FILENAME2))) {
31510
+ throw new ProjectCompatibilityError(`${projectRoot} is a project with no ${ADAPTER_MODULE_FILENAME}.`, {
31511
+ kind: "bring-project-up-to-date",
31512
+ title: "Bring this project up to date",
31513
+ 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.`,
31514
+ summary: "no adapter"
31515
+ });
31516
+ }
31198
31517
  throw new ProjectCompatibilityError(`${projectRoot} has no ${ADAPTER_MODULE_FILENAME}.`, {
31199
31518
  kind: "make-project",
31200
31519
  title: "Make a project",
@@ -31272,9 +31591,9 @@ function describeEditorBootFailure(outcome, ctx) {
31272
31591
  }
31273
31592
 
31274
31593
  // ../editor-core/dist/server/chunk-SDCQ4SU3.js
31275
- import { existsSync as existsSync7, readFileSync as readFileSync2 } from "node:fs";
31594
+ import { existsSync as existsSync7, readFileSync as readFileSync3 } from "node:fs";
31276
31595
  import { createRequire } from "node:module";
31277
- import { dirname as dirname5, join as join7 } from "node:path";
31596
+ import { dirname as dirname5, join as join8 } from "node:path";
31278
31597
  import { pathToFileURL } from "node:url";
31279
31598
  var PRODUCT_DECLARATION_KEY = "volter.product";
31280
31599
  var PRODUCT_INSTALL_LINES = [
@@ -31284,10 +31603,10 @@ var PRODUCT_INSTALL_LINES = [
31284
31603
  var PRODUCT_CREATE_LINES = [" npx @volter/editor-core create <name>"];
31285
31604
  var PRODUCT_COLOR_THEMES = ["dark", "light"];
31286
31605
  function readProductManifest(packageDir) {
31287
- const manifestPath = join7(packageDir, "package.json");
31606
+ const manifestPath = join8(packageDir, "package.json");
31288
31607
  let manifest;
31289
31608
  try {
31290
- manifest = JSON.parse(readFileSync2(manifestPath, "utf8"));
31609
+ manifest = JSON.parse(readFileSync3(manifestPath, "utf8"));
31291
31610
  } catch {
31292
31611
  return null;
31293
31612
  }
@@ -31298,7 +31617,7 @@ function readProductManifest(packageDir) {
31298
31617
  throw new Error(
31299
31618
  `${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
31619
  );
31301
- const resolved = join7(packageDir, entry);
31620
+ const resolved = join8(packageDir, entry);
31302
31621
  if (!existsSync7(resolved))
31303
31622
  throw new Error(
31304
31623
  `${manifestPath} declares ${PRODUCT_DECLARATION_KEY}.entry ${JSON.stringify(entry)}, which does not exist (${resolved}).`
@@ -31398,7 +31717,7 @@ function declaredVolterPackages(projectRoot) {
31398
31717
  let manifest;
31399
31718
  try {
31400
31719
  manifest = JSON.parse(
31401
- readFileSync2(join7(projectRoot, "package.json"), "utf8")
31720
+ readFileSync3(join8(projectRoot, "package.json"), "utf8")
31402
31721
  );
31403
31722
  } catch {
31404
31723
  return [];
@@ -31406,16 +31725,16 @@ function declaredVolterPackages(projectRoot) {
31406
31725
  return Object.keys({ ...manifest.dependencies ?? {}, ...manifest.devDependencies ?? {} }).filter((name) => name.startsWith("@volter/")).sort();
31407
31726
  }
31408
31727
  function locatePackage(projectRoot, name) {
31409
- const require2 = createRequire(pathToFileURL(join7(projectRoot, "package.json")));
31728
+ const require2 = createRequire(pathToFileURL(join8(projectRoot, "package.json")));
31410
31729
  try {
31411
31730
  return dirname5(require2.resolve(`${name}/package.json`));
31412
31731
  } catch {
31413
31732
  try {
31414
31733
  let dir = dirname5(require2.resolve(name));
31415
31734
  for (; ; ) {
31416
- const candidate = join7(dir, "package.json");
31735
+ const candidate = join8(dir, "package.json");
31417
31736
  try {
31418
- if (JSON.parse(readFileSync2(candidate, "utf8")).name === name)
31737
+ if (JSON.parse(readFileSync3(candidate, "utf8")).name === name)
31419
31738
  return dir;
31420
31739
  } catch {
31421
31740
  }
@@ -31465,30 +31784,30 @@ import { createHash } from "node:crypto";
31465
31784
  import {
31466
31785
  createWriteStream,
31467
31786
  existsSync as existsSync8,
31468
- mkdirSync,
31469
- readFileSync as readFileSync3,
31787
+ mkdirSync as mkdirSync2,
31788
+ readFileSync as readFileSync4,
31470
31789
  renameSync,
31471
31790
  rmSync,
31472
- writeFileSync
31791
+ writeFileSync as writeFileSync2
31473
31792
  } from "node:fs";
31474
- import { homedir as homedir2 } from "node:os";
31475
- import { basename, isAbsolute as isAbsolute2, join as join8, resolve as resolve5, sep } from "node:path";
31793
+ import { homedir as homedir3 } from "node:os";
31794
+ import { basename, isAbsolute as isAbsolute2, join as join9, resolve as resolve6, sep as sep2 } from "node:path";
31476
31795
  import { Readable } from "node:stream";
31477
31796
  import { pipeline } from "node:stream/promises";
31478
31797
  var WORKBENCH_LOCATOR_PATH = ".volter/workbench.json";
31479
31798
  var RELEASE_RECORD = "BUILD.json";
31480
- var SOURCES_LAUNCHER = join8("scripts", "code-server.sh");
31799
+ var SOURCES_LAUNCHER = join9("scripts", "code-server.sh");
31481
31800
  var OVERLAY_RECORD = ".volter-overlay.json";
31482
31801
  function workbenchDeclarationExample(projectRoot) {
31483
- return `${join8(projectRoot, WORKBENCH_LOCATOR_PATH)}:
31802
+ return `${join9(projectRoot, WORKBENCH_LOCATOR_PATH)}:
31484
31803
  { "workbench": "<path to an extracted Code-OSS release, or to a fork checkout>" }`;
31485
31804
  }
31486
31805
  function readWorkbenchDeclaration(projectRoot) {
31487
- const file3 = join8(projectRoot, WORKBENCH_LOCATOR_PATH);
31806
+ const file3 = join9(projectRoot, WORKBENCH_LOCATOR_PATH);
31488
31807
  if (!existsSync8(file3)) return null;
31489
31808
  let parsed;
31490
31809
  try {
31491
- parsed = JSON.parse(readFileSync3(file3, "utf8"));
31810
+ parsed = JSON.parse(readFileSync4(file3, "utf8"));
31492
31811
  } catch (error50) {
31493
31812
  throw new Error(
31494
31813
  `${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 +31835,27 @@ ${workbenchDeclarationExample(projectRoot)}`
31516
31835
  ${workbenchDeclarationExample(projectRoot)}`
31517
31836
  );
31518
31837
  }
31519
- return isAbsolute2(declared) ? resolve5(declared) : resolve5(projectRoot, declared);
31838
+ return isAbsolute2(declared) ? resolve6(declared) : resolve6(projectRoot, declared);
31520
31839
  }
31521
31840
  function writeWorkbenchDeclaration(projectRoot, workbenchDir) {
31522
- mkdirSync(join8(projectRoot, ".volter"), { recursive: true });
31523
- writeFileSync(
31524
- join8(projectRoot, WORKBENCH_LOCATOR_PATH),
31525
- `${JSON.stringify({ workbench: resolve5(workbenchDir) }, null, 2)}
31841
+ mkdirSync2(join9(projectRoot, ".volter"), { recursive: true });
31842
+ writeFileSync2(
31843
+ join9(projectRoot, WORKBENCH_LOCATOR_PATH),
31844
+ `${JSON.stringify({ workbench: resolve6(workbenchDir) }, null, 2)}
31526
31845
  `
31527
31846
  );
31528
31847
  }
31529
31848
  function workbenchUrl(proxyPort, projectRoot) {
31530
- const id = basename(resolve5(projectRoot));
31531
- const hostId = createHash("sha256").update(resolve5(projectRoot)).digest("hex").slice(0, 16);
31849
+ const id = basename(resolve6(projectRoot));
31850
+ const hostId = createHash("sha256").update(resolve6(projectRoot)).digest("hex").slice(0, 16);
31532
31851
  return `http://editor-${hostId}.localhost:${proxyPort}/?project=${encodeURIComponent(id)}`;
31533
31852
  }
31534
31853
  function machinePlatform() {
31535
31854
  return `${process.platform}-${process.arch}`;
31536
31855
  }
31537
31856
  function resolveWorkbench(dir, expectedProduct) {
31538
- const root = resolve5(dir);
31539
- const resolved = existsSync8(join8(root, RELEASE_RECORD)) ? resolveRelease(root) : existsSync8(join8(root, SOURCES_LAUNCHER)) ? resolveSources(root) : null;
31857
+ const root = resolve6(dir);
31858
+ const resolved = existsSync8(join9(root, RELEASE_RECORD)) ? resolveRelease(root) : existsSync8(join9(root, SOURCES_LAUNCHER)) ? resolveSources(root) : null;
31540
31859
  if (resolved === null) {
31541
31860
  throw new Error(
31542
31861
  `${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 +31871,11 @@ function resolveWorkbench(dir, expectedProduct) {
31552
31871
  return resolved;
31553
31872
  }
31554
31873
  function resolveRelease(dir) {
31555
- const record3 = join8(dir, RELEASE_RECORD);
31874
+ const record3 = join9(dir, RELEASE_RECORD);
31556
31875
  const cut = `node scripts/workbench/build-release.mjs --product <id> --platform ${machinePlatform()} --checkout <fork dir> --out ${dir}`;
31557
31876
  let parsed;
31558
31877
  try {
31559
- parsed = JSON.parse(readFileSync3(record3, "utf8"));
31878
+ parsed = JSON.parse(readFileSync4(record3, "utf8"));
31560
31879
  } catch (error50) {
31561
31880
  throw new Error(`${record3} could not be read: ${String(error50)}`);
31562
31881
  }
@@ -31580,13 +31899,13 @@ function resolveRelease(dir) {
31580
31899
  node scripts/workbench/build-release.mjs --product ${product} --platform ${machine} --checkout <fork dir>`
31581
31900
  );
31582
31901
  }
31583
- const packageRoot = join8(dir, target);
31584
- const serverBinPath = join8(packageRoot, serverBin);
31902
+ const packageRoot = join9(dir, target);
31903
+ const serverBinPath = join9(packageRoot, serverBin);
31585
31904
  if (!existsSync8(serverBinPath)) {
31586
31905
  const tarball = typeof parsed["tarball"] === "string" ? parsed["tarball"] : `${target}-<commit>.tar.gz`;
31587
31906
  throw new Error(
31588
31907
  `${dir} records ${target}, but ${serverBinPath} is not there \u2014 the tarball has not been extracted beside ${RELEASE_RECORD}. Run:
31589
- tar -xzf ${join8(dir, tarball)} -C ${dir}`
31908
+ tar -xzf ${join9(dir, tarball)} -C ${dir}`
31590
31909
  );
31591
31910
  }
31592
31911
  return { kind: "release", dir, commit, product, serverBin: serverBinPath, cwd: packageRoot };
@@ -31600,7 +31919,7 @@ function resolveSources(dir) {
31600
31919
  `${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
31920
  );
31602
31921
  }
31603
- const marker = join8(dir, OVERLAY_RECORD);
31922
+ const marker = join9(dir, OVERLAY_RECORD);
31604
31923
  if (!existsSync8(marker)) {
31605
31924
  throw new Error(
31606
31925
  `${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 +31928,7 @@ function resolveSources(dir) {
31609
31928
  }
31610
31929
  let product;
31611
31930
  try {
31612
- product = JSON.parse(readFileSync3(marker, "utf8"))["product"];
31931
+ product = JSON.parse(readFileSync4(marker, "utf8"))["product"];
31613
31932
  } catch (error50) {
31614
31933
  throw new Error(`${marker} could not be read: ${String(error50)}`);
31615
31934
  }
@@ -31623,24 +31942,24 @@ function resolveSources(dir) {
31623
31942
  dir,
31624
31943
  commit,
31625
31944
  product,
31626
- serverBin: join8(dir, SOURCES_LAUNCHER),
31945
+ serverBin: join9(dir, SOURCES_LAUNCHER),
31627
31946
  cwd: dir
31628
31947
  };
31629
31948
  }
31630
31949
  var RELEASE_REPO = "volter-ai/code-oss";
31631
- var WORKBENCH_CACHE_ROOT = join8(homedir2(), ".volter", "workbenches");
31950
+ var WORKBENCH_CACHE_ROOT = join9(homedir3(), ".volter", "workbenches");
31632
31951
  async function resolveWorkbenchForProject(options) {
31633
31952
  const { projectRoot, product, override, io } = options;
31634
31953
  const productId = workbenchProductId(product.name);
31635
31954
  if (override !== void 0)
31636
31955
  return {
31637
- ...resolveWorkbench(resolve5(override), productId),
31956
+ ...resolveWorkbench(resolve6(override), productId),
31638
31957
  source: "flag",
31639
31958
  tag: null,
31640
31959
  fetched: false
31641
31960
  };
31642
31961
  const declared = readWorkbenchDeclaration(projectRoot);
31643
- const fetchRecord = declared !== null && product.workbench !== null && declared.startsWith(`${WORKBENCH_CACHE_ROOT}${sep}`);
31962
+ const fetchRecord = declared !== null && product.workbench !== null && declared.startsWith(`${WORKBENCH_CACHE_ROOT}${sep2}`);
31644
31963
  if (declared !== null && !fetchRecord)
31645
31964
  return {
31646
31965
  ...resolveWorkbench(declared, productId),
@@ -31652,8 +31971,8 @@ async function resolveWorkbenchForProject(options) {
31652
31971
  `${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
31972
  );
31654
31973
  const tag = product.workbench.release;
31655
- const dir = join8(WORKBENCH_CACHE_ROOT, tag);
31656
- const fetched = !existsSync8(join8(dir, RELEASE_RECORD));
31974
+ const dir = join9(WORKBENCH_CACHE_ROOT, tag);
31975
+ const fetched = !existsSync8(join9(dir, RELEASE_RECORD));
31657
31976
  if (fetched) await fetchDeclaredRelease(product, tag, dir, io);
31658
31977
  else io.log(`Workbench ${tag} is already installed (${dir}).`);
31659
31978
  const workbench = resolveWorkbench(dir, productId);
@@ -31734,7 +32053,7 @@ async function fetchDeclaredRelease(product, tag, dir, io) {
31734
32053
  const productId = workbenchProductId(product.name);
31735
32054
  const machine = machinePlatform();
31736
32055
  const token = githubToken();
31737
- const partial3 = join8(WORKBENCH_CACHE_ROOT, `.${tag}.${process.pid}.partial`);
32056
+ const partial3 = join9(WORKBENCH_CACHE_ROOT, `.${tag}.${process.pid}.partial`);
31738
32057
  const cutLine = ` node scripts/workbench/build-release.mjs --product ${productId} --platform ${machine} --checkout <fork dir> --publish`;
31739
32058
  const releaseUrl = `https://api.github.com/repos/${RELEASE_REPO}/releases/tags/${encodeURIComponent(tag)}`;
31740
32059
  const response = await downloadOperation(
@@ -31770,7 +32089,7 @@ ${tokenDoors()}` : "")
31770
32089
  ${cutLine}`
31771
32090
  );
31772
32091
  rmSync(partial3, { recursive: true, force: true });
31773
- mkdirSync(partial3, { recursive: true });
32092
+ mkdirSync2(partial3, { recursive: true });
31774
32093
  try {
31775
32094
  const recordText = await downloadAssetText(record3, token);
31776
32095
  const built = await downloadOperation(
@@ -31788,11 +32107,11 @@ ${cutLine}`
31788
32107
  throw new Error(
31789
32108
  `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
32109
  );
31791
- writeFileSync(join8(partial3, RELEASE_RECORD), recordText);
32110
+ writeFileSync2(join9(partial3, RELEASE_RECORD), recordText);
31792
32111
  io.log(
31793
32112
  `Fetching the ${productId} workbench ${tag} from ${RELEASE_REPO} \u2014 ${megabytes(tarball.size)} MB, once per machine.`
31794
32113
  );
31795
- const tarballPath = join8(partial3, tarball.name);
32114
+ const tarballPath = join9(partial3, tarball.name);
31796
32115
  let announced = 0;
31797
32116
  const sha = await downloadAsset(tarball, token, tarballPath, (received) => {
31798
32117
  if (received - announced < 4 * 1024 ** 2 && received !== tarball.size) return;
@@ -31806,13 +32125,13 @@ ${cutLine}`
31806
32125
  `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
32126
  );
31808
32127
  io.log(` sha256 ${sha.slice(0, 12)}\u2026 matches the pin. Extracting\u2026`);
31809
- const tar = process.platform === "win32" ? join8(process.env["SystemRoot"] ?? "C:\\Windows", "System32", "tar.exe") : "tar";
32128
+ const tar = process.platform === "win32" ? join9(process.env["SystemRoot"] ?? "C:\\Windows", "System32", "tar.exe") : "tar";
31810
32129
  execFileSync(tar, ["-xzf", tarballPath, "-C", partial3], {
31811
32130
  windowsHide: true,
31812
32131
  stdio: ["ignore", "ignore", "pipe"]
31813
32132
  });
31814
32133
  rmSync(tarballPath, { force: true });
31815
- if (existsSync8(join8(dir, RELEASE_RECORD))) {
32134
+ if (existsSync8(join9(dir, RELEASE_RECORD))) {
31816
32135
  rmSync(partial3, { recursive: true, force: true });
31817
32136
  } else {
31818
32137
  rmSync(dir, { recursive: true, force: true });
@@ -31870,8 +32189,8 @@ async function downloadAsset(asset, token, destination, onProgress) {
31870
32189
  // ../editor-core/dist/server/chunk-VNHTPCBZ.js
31871
32190
  import { execFileSync as execFileSync2 } from "node:child_process";
31872
32191
  import { createHash as createHash2 } from "node:crypto";
31873
- import { realpathSync as realpathSync2 } from "node:fs";
31874
- import { basename as basename2, isAbsolute as isAbsolute3, relative as relative3, resolve as resolve6 } from "node:path";
32192
+ import { realpathSync as realpathSync3 } from "node:fs";
32193
+ import { basename as basename2, isAbsolute as isAbsolute3, relative as relative4, resolve as resolve7 } from "node:path";
31875
32194
  function hash3(value) {
31876
32195
  return createHash2("sha256").update(value).digest("hex").slice(0, 24);
31877
32196
  }
@@ -31880,9 +32199,9 @@ function worktreeIdForRoot(repositoryId, worktreeRoot) {
31880
32199
  }
31881
32200
  function canonical(path) {
31882
32201
  try {
31883
- return realpathSync2(path);
32202
+ return realpathSync3(path);
31884
32203
  } catch {
31885
- return resolve6(path);
32204
+ return resolve7(path);
31886
32205
  }
31887
32206
  }
31888
32207
  function git(cwd, args) {
@@ -31899,7 +32218,7 @@ function git(cwd, args) {
31899
32218
  }
31900
32219
  function resolveGitPath(worktreeRoot, rawPath) {
31901
32220
  if (!rawPath) return null;
31902
- return canonical(isAbsolute3(rawPath) ? rawPath : resolve6(worktreeRoot, rawPath));
32221
+ return canonical(isAbsolute3(rawPath) ? rawPath : resolve7(worktreeRoot, rawPath));
31903
32222
  }
31904
32223
  function defaultBaseCommit(worktreeRoot, headCommit) {
31905
32224
  if (!headCommit) return null;
@@ -31942,7 +32261,7 @@ function resolveWorktreeIdentity(projectRoot) {
31942
32261
  const repositoryId = `repository-${hash3(repositoryKey)}`;
31943
32262
  const branch = git(worktreeRoot, ["symbolic-ref", "--quiet", "--short", "HEAD"]);
31944
32263
  const headCommit = git(worktreeRoot, ["rev-parse", "--verify", "HEAD"]);
31945
- const projectRelativePath = relative3(worktreeRoot, project) || ".";
32264
+ const projectRelativePath = relative4(worktreeRoot, project) || ".";
31946
32265
  if (projectRelativePath === ".." || projectRelativePath.startsWith(`..${process.platform === "win32" ? "\\" : "/"}`)) {
31947
32266
  throw new Error(`Project ${project} is outside its reported Git worktree ${worktreeRoot}.`);
31948
32267
  }
@@ -31959,24 +32278,24 @@ function resolveWorktreeIdentity(projectRoot) {
31959
32278
 
31960
32279
  // ../editor-core/dist/server/chunk-UZKAJSSR.js
31961
32280
  import {
31962
- mkdirSync as mkdirSync2,
31963
- readdirSync,
31964
- readFileSync as readFileSync4,
31965
- realpathSync as realpathSync3,
31966
- unlinkSync,
31967
- writeFileSync as writeFileSync2
32281
+ mkdirSync as mkdirSync3,
32282
+ readdirSync as readdirSync2,
32283
+ readFileSync as readFileSync5,
32284
+ realpathSync as realpathSync4,
32285
+ unlinkSync as unlinkSync2,
32286
+ writeFileSync as writeFileSync3
31968
32287
  } from "node:fs";
31969
- import { homedir as homedir3 } from "node:os";
31970
- import { join as join9, resolve as resolve7 } from "node:path";
32288
+ import { homedir as homedir4 } from "node:os";
32289
+ import { join as join10, resolve as resolve8 } from "node:path";
31971
32290
  import { setTimeout as delay } from "node:timers/promises";
31972
- var EDITOR_SESSIONS_REGISTRY_FILE = join9(homedir3(), ".volter", "editor-sessions.json");
31973
- function isEditorSessionEntry(v) {
32291
+ var EDITOR_SESSIONS_REGISTRY_FILE2 = join10(homedir4(), ".volter", "editor-sessions.json");
32292
+ function isEditorSessionEntry2(v) {
31974
32293
  if (typeof v !== "object" || v === null) return false;
31975
32294
  const s = v;
31976
32295
  const optionalIdentity = (value) => value === void 0 || value === null || typeof value === "string";
31977
32296
  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
32297
  }
31979
- function normalizeEditorSessionEntry(session) {
32298
+ function normalizeEditorSessionEntry2(session) {
31980
32299
  return {
31981
32300
  ...session,
31982
32301
  sessionId: session.sessionId ?? null,
@@ -31990,7 +32309,7 @@ function normalizeEditorSessionEntry(session) {
31990
32309
  baseCommit: session.baseCommit ?? null
31991
32310
  };
31992
32311
  }
31993
- function pidAlive(pid) {
32312
+ function pidAlive2(pid) {
31994
32313
  try {
31995
32314
  process.kill(pid, 0);
31996
32315
  return true;
@@ -31998,23 +32317,23 @@ function pidAlive(pid) {
31998
32317
  return error50.code === "EPERM";
31999
32318
  }
32000
32319
  }
32001
- function readLiveRegisteredSessions() {
32320
+ function readLiveRegisteredSessions2() {
32002
32321
  try {
32003
- const raw = JSON.parse(readFileSync4(EDITOR_SESSIONS_REGISTRY_FILE, "utf8"));
32004
- return Array.isArray(raw) ? raw.filter(isEditorSessionEntry).map(normalizeEditorSessionEntry).filter((s) => pidAlive(s.pid)) : [];
32322
+ const raw = JSON.parse(readFileSync5(EDITOR_SESSIONS_REGISTRY_FILE2, "utf8"));
32323
+ return Array.isArray(raw) ? raw.filter(isEditorSessionEntry2).map(normalizeEditorSessionEntry2).filter((s) => pidAlive2(s.pid)) : [];
32005
32324
  } catch {
32006
32325
  return [];
32007
32326
  }
32008
32327
  }
32009
32328
  function announceEditorLaunch(project) {
32010
- const directory = join9(project, ".volter", "editor-launches");
32011
- mkdirSync2(directory, { recursive: true });
32012
- const file3 = join9(directory, `${process.pid}.json`);
32013
- writeFileSync2(file3, JSON.stringify({ pid: process.pid }));
32329
+ const directory = join10(project, ".volter", "editor-launches");
32330
+ mkdirSync3(directory, { recursive: true });
32331
+ const file3 = join10(directory, `${process.pid}.json`);
32332
+ writeFileSync3(file3, JSON.stringify({ pid: process.pid }));
32014
32333
  const clear = () => {
32015
32334
  process.removeListener("exit", clear);
32016
32335
  try {
32017
- unlinkSync(file3);
32336
+ unlinkSync2(file3);
32018
32337
  } catch {
32019
32338
  }
32020
32339
  };
@@ -32022,12 +32341,12 @@ function announceEditorLaunch(project) {
32022
32341
  return clear;
32023
32342
  }
32024
32343
  function hasPendingEditorLaunch(project) {
32025
- const directory = join9(project, ".volter", "editor-launches");
32344
+ const directory = join10(project, ".volter", "editor-launches");
32026
32345
  try {
32027
- return readdirSync(directory).some((name) => {
32346
+ return readdirSync2(directory).some((name) => {
32028
32347
  if (!/^\d+\.json$/.test(name)) return false;
32029
32348
  const pid = Number(name.slice(0, -5));
32030
- return pid !== process.pid && pidAlive(pid);
32349
+ return pid !== process.pid && pidAlive2(pid);
32031
32350
  });
32032
32351
  } catch {
32033
32352
  return false;
@@ -32035,7 +32354,7 @@ function hasPendingEditorLaunch(project) {
32035
32354
  }
32036
32355
  async function waitForPendingEditorLaunch(project) {
32037
32356
  const canon = canonicalizeProjectPath(project);
32038
- const ready = () => readLiveRegisteredSessions().some(
32357
+ const ready = () => readLiveRegisteredSessions2().some(
32039
32358
  (session) => session.project !== null && canonicalizeProjectPath(session.project) === canon
32040
32359
  );
32041
32360
  if (ready() || !hasPendingEditorLaunch(canon)) return;
@@ -32061,9 +32380,9 @@ function servedProjectAnswer(body) {
32061
32380
  };
32062
32381
  }
32063
32382
  function canonicalizeProjectPath(p) {
32064
- const absolute = resolve7(p);
32383
+ const absolute = resolve8(p);
32065
32384
  try {
32066
- return realpathSync3(absolute);
32385
+ return realpathSync4(absolute);
32067
32386
  } catch {
32068
32387
  return absolute;
32069
32388
  }
@@ -32081,7 +32400,7 @@ async function loopbackPortFree(port) {
32081
32400
  });
32082
32401
  }
32083
32402
  function liveSessions() {
32084
- return readLiveRegisteredSessions();
32403
+ return readLiveRegisteredSessions2();
32085
32404
  }
32086
32405
  async function fetchEditorSession(port, timeoutMs = 5e3) {
32087
32406
  try {
@@ -32397,13 +32716,13 @@ function killEditorSessionProcess(pid, signal = "SIGTERM") {
32397
32716
  }
32398
32717
  async function waitForPidExit(pid, timeoutMs) {
32399
32718
  const deadline = Date.now() + timeoutMs;
32400
- while (pidAlive(pid) && Date.now() < deadline) {
32401
- await new Promise((resolve13) => setTimeout(resolve13, 50));
32719
+ while (pidAlive2(pid) && Date.now() < deadline) {
32720
+ await new Promise((resolve14) => setTimeout(resolve14, 50));
32402
32721
  }
32403
- return !pidAlive(pid);
32722
+ return !pidAlive2(pid);
32404
32723
  }
32405
32724
  async function terminateEditorSession(session, graceMs = 5500) {
32406
- if (!pidAlive(session.pid)) return "already-gone";
32725
+ if (!pidAlive2(session.pid)) return "already-gone";
32407
32726
  try {
32408
32727
  killEditorSessionProcess(session.pid, "SIGTERM");
32409
32728
  } catch (error50) {
@@ -32422,20 +32741,20 @@ async function terminateEditorSession(session, graceMs = 5500) {
32422
32741
  return "forced";
32423
32742
  }
32424
32743
 
32425
- // ../editor-core/dist/server/chunk-FDJPJQAL.js
32744
+ // ../editor-core/dist/server/chunk-42TLBVCO.js
32426
32745
  import { spawn as spawn3 } from "node:child_process";
32427
32746
  import { createRequire as createRequire2 } from "node:module";
32428
- import { mkdirSync as mkdirSync22, openSync, closeSync, realpathSync as realpathSync4 } from "node:fs";
32429
- import { join as join22, resolve as resolve8 } from "node:path";
32747
+ import { mkdirSync as mkdirSync22, openSync, closeSync, realpathSync as realpathSync5 } from "node:fs";
32748
+ import { join as join22, resolve as resolve9 } from "node:path";
32430
32749
  import { createHash as createHash3 } from "node:crypto";
32431
- import { mkdirSync as mkdirSync3, readFileSync as readFileSync5, renameSync as renameSync2, rmdirSync, statSync as statSync2, writeFileSync as writeFileSync3 } from "node:fs";
32432
- import { homedir as homedir4 } from "node:os";
32433
- import { dirname as dirname6, join as join10 } from "node:path";
32750
+ import { mkdirSync as mkdirSync4, readFileSync as readFileSync6, renameSync as renameSync2, rmdirSync, statSync as statSync2, writeFileSync as writeFileSync4 } from "node:fs";
32751
+ import { homedir as homedir5 } from "node:os";
32752
+ import { dirname as dirname6, join as join11 } from "node:path";
32434
32753
  var MIN_PORT = 1024;
32435
32754
  var MAX_PORT = 65535;
32436
32755
  var WORKTREE_EDITOR_PORT_MIN = 20200;
32437
32756
  var WORKTREE_EDITOR_PORT_MAX = 29999;
32438
- var DEFAULT_PORT_REGISTRY = join10(homedir4(), ".volter", "worktree-ports.json");
32757
+ var DEFAULT_PORT_REGISTRY = join11(homedir5(), ".volter", "worktree-ports.json");
32439
32758
  var LOCK_STALE_MS = 1e4;
32440
32759
  var lockWait = new Int32Array(new SharedArrayBuffer(4));
32441
32760
  function assertPort(value, source) {
@@ -32452,7 +32771,7 @@ function isEntry(value) {
32452
32771
  function readEntries(registryFile) {
32453
32772
  let raw;
32454
32773
  try {
32455
- raw = readFileSync5(registryFile, "utf8");
32774
+ raw = readFileSync6(registryFile, "utf8");
32456
32775
  } catch (error50) {
32457
32776
  if (error50.code === "ENOENT") return [];
32458
32777
  throw new Error(
@@ -32481,19 +32800,19 @@ function readEntries(registryFile) {
32481
32800
  return entries;
32482
32801
  }
32483
32802
  function writeEntries(registryFile, entries) {
32484
- mkdirSync3(dirname6(registryFile), { recursive: true });
32803
+ mkdirSync4(dirname6(registryFile), { recursive: true });
32485
32804
  const temp = `${registryFile}.${process.pid}.tmp`;
32486
- writeFileSync3(temp, `${JSON.stringify(entries, null, 2)}
32805
+ writeFileSync4(temp, `${JSON.stringify(entries, null, 2)}
32487
32806
  `);
32488
32807
  renameSync2(temp, registryFile);
32489
32808
  }
32490
32809
  function withRegistryLock(registryFile, action) {
32491
32810
  const lock = `${registryFile}.lock`;
32492
- mkdirSync3(dirname6(registryFile), { recursive: true });
32811
+ mkdirSync4(dirname6(registryFile), { recursive: true });
32493
32812
  const deadline = Date.now() + 5e3;
32494
32813
  for (; ; ) {
32495
32814
  try {
32496
- mkdirSync3(lock);
32815
+ mkdirSync4(lock);
32497
32816
  break;
32498
32817
  } catch (error50) {
32499
32818
  if (error50.code !== "EEXIST") throw error50;
@@ -32587,7 +32906,7 @@ function refuseProjectWithoutAdapter(project, product) {
32587
32906
  if (refusal !== null) throw new Error(refusal);
32588
32907
  }
32589
32908
  async function launch(folder, launching, options = {}) {
32590
- const project = realpathSync4(resolve8(folder));
32909
+ const project = realpathSync5(resolve9(folder));
32591
32910
  const product = resolveProductForProject(project);
32592
32911
  if (product.name !== launching.packageName) throw new Error(`${project} declares ${product.name}, not ${launching.displayName}.`);
32593
32912
  refuseProjectWithoutAdapter(project, product);
@@ -32630,7 +32949,7 @@ async function launch(folder, launching, options = {}) {
32630
32949
  stdio: ["ignore", log, log],
32631
32950
  env: {
32632
32951
  ...process.env,
32633
- VOLTER_CLI_ENTRY: resolve8(process.argv[1]),
32952
+ VOLTER_CLI_ENTRY: resolve9(process.argv[1]),
32634
32953
  VOLTER_PROJECT: project,
32635
32954
  VOLTER_PRODUCT_DIR: product.dir,
32636
32955
  VOLTER_EDITOR_PORT: String(port),
@@ -32673,7 +32992,7 @@ async function launch(folder, launching, options = {}) {
32673
32992
  }
32674
32993
  }
32675
32994
  async function prepareSession(folder, launching) {
32676
- const project = realpathSync4(resolve8(folder));
32995
+ const project = realpathSync5(resolve9(folder));
32677
32996
  const product = resolveProductForProject(project);
32678
32997
  if (product.name !== launching.packageName) throw new Error(`${project} declares ${product.name}, not ${launching.displayName}.`);
32679
32998
  refuseProjectWithoutAdapter(project, product);
@@ -32704,7 +33023,7 @@ async function refuseIncompatibleProject(serverUrl, command, noOpen) {
32704
33023
  const refusal = await read();
32705
33024
  if (!refusal) return;
32706
33025
  const kind = refusal.recovery?.kind;
32707
- if (kind !== "use-compatible-editor" && kind !== "upgrade-project") return;
33026
+ if (kind !== "use-compatible-editor" && kind !== "upgrade-project" && kind !== "bring-project-up-to-date") return;
32708
33027
  const message = refusal.error;
32709
33028
  const guidance = typeof refusal.recovery?.guidance === "string" ? refusal.recovery.guidance : null;
32710
33029
  const verbs = refusal.recovery?.verbs;
@@ -32811,7 +33130,7 @@ async function connectHostedAttachment(attachment) {
32811
33130
  const socket = new WebSocket(hostedSocketUrl(attachment.endpoint));
32812
33131
  const pending = /* @__PURE__ */ new Map();
32813
33132
  let state = {};
32814
- const ready = new Promise((resolve13, reject) => {
33133
+ const ready = new Promise((resolve14, reject) => {
32815
33134
  const timer = setTimeout(() => {
32816
33135
  reject(new Error("Hosted attachment did not answer."));
32817
33136
  socket.close();
@@ -32823,7 +33142,7 @@ async function connectHostedAttachment(attachment) {
32823
33142
  if (value.type === "ready") {
32824
33143
  state = value.state ?? {};
32825
33144
  clearTimeout(timer);
32826
- resolve13();
33145
+ resolve14();
32827
33146
  } else if (value.type === "state") state = value.state ?? {};
32828
33147
  else if (value.type === "response") {
32829
33148
  const call = pending.get(value.id);
@@ -32868,7 +33187,7 @@ async function connectHostedAttachment(attachment) {
32868
33187
  if (request.body) message.body = await request.text();
32869
33188
  if (!isHostedRequest(message)) throw new Error("Hosted attachment only carries bounded editor HTTP requests.");
32870
33189
  request.signal.throwIfAborted();
32871
- return await new Promise((resolve13, reject) => {
33190
+ return await new Promise((resolve14, reject) => {
32872
33191
  const abort = () => {
32873
33192
  pending.delete(message.id);
32874
33193
  if (socket.readyState === WebSocket.OPEN) socket.send(JSON.stringify({ type: "cancel", id: message.id }));
@@ -32878,7 +33197,7 @@ async function connectHostedAttachment(attachment) {
32878
33197
  reject(new Error("Hosted attachment is disconnected."));
32879
33198
  return;
32880
33199
  }
32881
- pending.set(message.id, { resolve: resolve13, reject, cleanup: () => request.signal.removeEventListener("abort", abort) });
33200
+ pending.set(message.id, { resolve: resolve14, reject, cleanup: () => request.signal.removeEventListener("abort", abort) });
32882
33201
  request.signal.addEventListener("abort", abort, { once: true });
32883
33202
  socket.send(JSON.stringify(message));
32884
33203
  });
@@ -33066,7 +33385,7 @@ var EditorClient = class {
33066
33385
  const { code, detail } = describeFetchFailure(error50);
33067
33386
  if (options?.retryTransport === true && !retried && RETRYABLE_TRANSPORT_CODES.has(code)) {
33068
33387
  retried = true;
33069
- await new Promise((resolve13) => setTimeout(resolve13, TRANSPORT_RETRY_DELAY_MS));
33388
+ await new Promise((resolve14) => setTimeout(resolve14, TRANSPORT_RETRY_DELAY_MS));
33070
33389
  continue;
33071
33390
  }
33072
33391
  throw new EditorCommandError(
@@ -34120,11 +34439,11 @@ function spawnOpener(cmd, cmdArgs, fallback) {
34120
34439
  }
34121
34440
 
34122
34441
  // ../editor-core/dist/server/chunk-JQ4HMG7T.js
34123
- import { existsSync as existsSync9, readFileSync as readFileSync6 } from "node:fs";
34442
+ import { existsSync as existsSync9, readFileSync as readFileSync7 } from "node:fs";
34124
34443
  function isWSL() {
34125
34444
  if (process.platform !== "linux") return false;
34126
34445
  try {
34127
- return readFileSync6("/proc/version", "utf8").toLowerCase().includes("microsoft");
34446
+ return readFileSync7("/proc/version", "utf8").toLowerCase().includes("microsoft");
34128
34447
  } catch {
34129
34448
  return false;
34130
34449
  }
@@ -34154,9 +34473,9 @@ function openBrowserUrl(browserUrl, options) {
34154
34473
 
34155
34474
  // ../editor-core/dist/server/chunk-N6NBRKBO.js
34156
34475
  import { createHash as createHash4 } from "node:crypto";
34157
- import { mkdirSync as mkdirSync4, readFileSync as readFileSync7, writeFileSync as writeFileSync4, rmSync as rmSync2, existsSync as existsSync10 } from "node:fs";
34158
- import { homedir as homedir5 } from "node:os";
34159
- import { dirname as dirname7, join as join11, resolve as resolve9 } from "node:path";
34476
+ import { mkdirSync as mkdirSync5, readFileSync as readFileSync8, writeFileSync as writeFileSync5, rmSync as rmSync2, existsSync as existsSync10 } from "node:fs";
34477
+ import { homedir as homedir6 } from "node:os";
34478
+ import { dirname as dirname7, join as join12, resolve as resolve10 } from "node:path";
34160
34479
  import { LiveEditor, LiveTools } from "@volter/live";
34161
34480
  import { connect as connect5, unconnectedBindings, withEditorMemberHints } from "@volter/live";
34162
34481
  var NOISE = /* @__PURE__ */ new Set(["constructor", "then", "catch", "finally"]);
@@ -34298,8 +34617,8 @@ async function control(command, verb, argument, reason, scope, attachment) {
34298
34617
  }
34299
34618
  var HOSTED_USAGE = "hosted attach <https-url> | hosted status | hosted eval <JavaScript> | hosted screenshot <file.png> | hosted detach";
34300
34619
  function stateFile() {
34301
- const key = createHash4("sha256").update(resolve9(process.cwd())).digest("hex");
34302
- return join11(homedir5(), ".local", "state", "volter-editor", "hosted", `${key}.json`);
34620
+ const key = createHash4("sha256").update(resolve10(process.cwd())).digest("hex");
34621
+ return join12(homedir6(), ".local", "state", "volter-editor", "hosted", `${key}.json`);
34303
34622
  }
34304
34623
  async function hostedControl(command, args) {
34305
34624
  const [verb, argument] = args;
@@ -34322,8 +34641,8 @@ async function hostedControl(command, args) {
34322
34641
  const created = await response.json();
34323
34642
  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
34643
  const common = { id: created.id, endpoint: created.endpoint, page: created.page, expiresAt: created.expiresAt };
34325
- mkdirSync4(dirname7(file3), { recursive: true, mode: 448 });
34326
- writeFileSync4(file3, JSON.stringify({ ...common, token: created.clientToken }), { mode: 384, flag: "wx" });
34644
+ mkdirSync5(dirname7(file3), { recursive: true, mode: 448 });
34645
+ writeFileSync5(file3, JSON.stringify({ ...common, token: created.clientToken }), { mode: 384, flag: "wx" });
34327
34646
  page.hash = new URLSearchParams({ [HOSTED_ATTACHMENT_FRAGMENT]: JSON.stringify({ ...common, token: created.workerToken }) }).toString();
34328
34647
  openBrowserUrl(page.href, { background: true });
34329
34648
  console.log(`Attaching to hosted editor: ${created.page}
@@ -34334,7 +34653,7 @@ Use ${command} hosted status from this directory. Attachment expires ${new Date(
34334
34653
  if (!["status", "eval", "screenshot", "detach"].includes(verb ?? "")) throw new Error(HOSTED_USAGE);
34335
34654
  let attachment;
34336
34655
  try {
34337
- attachment = JSON.parse(readFileSync7(file3, "utf8"));
34656
+ attachment = JSON.parse(readFileSync8(file3, "utf8"));
34338
34657
  } catch {
34339
34658
  throw new Error(`No hosted attachment in this directory. Run ${command} hosted attach <https-url>.`);
34340
34659
  }
@@ -34374,8 +34693,8 @@ Use ${command} hosted status from this directory. Attachment expires ${new Date(
34374
34693
  if (!argument?.endsWith(".png")) throw new Error("hosted screenshot requires an output .png path.");
34375
34694
  const shot = await live.editor.captureActiveDocument();
34376
34695
  if (shot.mimeType !== "image/png") throw new Error("Editor did not return a PNG of the active document.");
34377
- writeFileSync4(resolve9(argument), Buffer.from(shot.base64, "base64"));
34378
- console.log(resolve9(argument));
34696
+ writeFileSync5(resolve10(argument), Buffer.from(shot.base64, "base64"));
34697
+ console.log(resolve10(argument));
34379
34698
  } else await control(command, verb, argument, void 0, void 0, { live, client, consolePolicy: "report" });
34380
34699
  } finally {
34381
34700
  remote.close();
@@ -34505,11 +34824,11 @@ var RELAY_COMMANDS = {
34505
34824
  var RELAY_COMMAND_TYPES = Object.keys(RELAY_COMMANDS);
34506
34825
 
34507
34826
  // ../editor-core/dist/server/launcher/session-verbs.js
34508
- import { existsSync as existsSync11, mkdirSync as mkdirSync5, readFileSync as readFileSync8, statSync as statSync3, writeFileSync as writeFileSync5 } from "node:fs";
34827
+ import { existsSync as existsSync11, mkdirSync as mkdirSync6, readFileSync as readFileSync9, statSync as statSync3, writeFileSync as writeFileSync6 } from "node:fs";
34509
34828
  import { basename as basename3, dirname as dirname8, join as join23, resolve as resolve22 } from "node:path";
34510
34829
  import { setTimeout as delay2 } from "node:timers/promises";
34511
34830
  import { resolveSession } from "@volter/live";
34512
- import { isAbsolute as isAbsolute4, join as join12, relative as relative4, resolve as resolve10 } from "node:path";
34831
+ import { isAbsolute as isAbsolute4, join as join13, relative as relative5, resolve as resolve11 } from "node:path";
34513
34832
  var MODEL_TARGET_EXTENSIONS = [".glb", ".gltf", ".spz"];
34514
34833
  var MODULE_TARGET_EXTENSIONS = [".ts", ".tsx"];
34515
34834
  var endsWithAny = (value, suffixes) => {
@@ -34524,9 +34843,9 @@ function classifyScreenshotTarget(target) {
34524
34843
  }
34525
34844
  function resolveModelTarget(target, options) {
34526
34845
  const { cwd, projectRoot, exists } = options;
34527
- const candidates = [resolve10(cwd, target)];
34846
+ const candidates = [resolve11(cwd, target)];
34528
34847
  if (target.startsWith("/") && projectRoot) {
34529
- candidates.push(join12(projectRoot, target), join12(projectRoot, "public", target));
34848
+ candidates.push(join13(projectRoot, target), join13(projectRoot, "public", target));
34530
34849
  }
34531
34850
  const file3 = candidates.find((candidate) => exists(candidate));
34532
34851
  if (file3 === void 0) {
@@ -34541,7 +34860,7 @@ A model target is a path on disk (or the served path the editor loads it from, e
34541
34860
  The editor loads models same-origin from the project it is serving; run this from inside the project.`
34542
34861
  };
34543
34862
  }
34544
- const withinProject = relative4(projectRoot, file3);
34863
+ const withinProject = relative5(projectRoot, file3);
34545
34864
  if (withinProject.startsWith("..") || isAbsolute4(withinProject)) {
34546
34865
  return {
34547
34866
  error: `${file3} is outside ${projectRoot}.
@@ -34743,8 +35062,8 @@ async function sessionLook(client, projectRoot) {
34743
35062
  capture3 = await client.captureGame({ refreshStarvedFrame: true });
34744
35063
  loopRecoveryFrame = true;
34745
35064
  }
34746
- mkdirSync5(dirname8(outPath), { recursive: true });
34747
- writeFileSync5(outPath, Buffer.from(capture3.base64, "base64"));
35065
+ mkdirSync6(dirname8(outPath), { recursive: true });
35066
+ writeFileSync6(outPath, Buffer.from(capture3.base64, "base64"));
34748
35067
  console.log(outPath);
34749
35068
  if (capture3.flatness?.degenerate === true && capture3.flatness.warning !== void 0) console.error(`warning \u2014 ${capture3.flatness.warning}`);
34750
35069
  if (loopRecoveryFrame || capture3.loopRecoveryFrame === true) {
@@ -34755,8 +35074,8 @@ async function sessionLook(client, projectRoot) {
34755
35074
  return;
34756
35075
  }
34757
35076
  const capture2 = await client.captureActiveDocument();
34758
- mkdirSync5(dirname8(outPath), { recursive: true });
34759
- writeFileSync5(outPath, Buffer.from(capture2.base64, "base64"));
35077
+ mkdirSync6(dirname8(outPath), { recursive: true });
35078
+ writeFileSync6(outPath, Buffer.from(capture2.base64, "base64"));
34760
35079
  console.log(outPath);
34761
35080
  console.error(`${capture2.document.title} (${capture2.document.kind}${capture2.document.sourcePath ? `, ${capture2.document.sourcePath}` : ""}) \u2014 ${capture2.source}`);
34762
35081
  }
@@ -34779,11 +35098,11 @@ async function capture(options) {
34779
35098
  const stamp = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
34780
35099
  const slug = name ? name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "").slice(0, 48) : "";
34781
35100
  const outPath = named ?? join23(session.projectRoot, ".volter", "captures", `${slug ? `${slug}-` : ""}${region}-${stamp}.png`);
34782
- mkdirSync5(dirname8(outPath), { recursive: true });
34783
- writeFileSync5(outPath, Buffer.from(shot.base64, "base64"), { flag: options.force === true ? "w" : "wx" });
35101
+ mkdirSync6(dirname8(outPath), { recursive: true });
35102
+ writeFileSync6(outPath, Buffer.from(shot.base64, "base64"), { flag: options.force === true ? "w" : "wx" });
34784
35103
  console.log(outPath);
34785
35104
  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
- if (shot.flatness?.degenerate === true && shot.flatness.warning !== void 0) console.error(`warning \u2014 ${shot.flatness.warning}`);
35105
+ if (region !== "page" && shot.flatness?.degenerate === true && shot.flatness.warning !== void 0) console.error(`warning \u2014 ${shot.flatness.warning}`);
34787
35106
  }
34788
35107
  async function assertUnambiguousTarget(client, target, file3) {
34789
35108
  const entities = await liveEntityRows(client);
@@ -34802,10 +35121,10 @@ async function assetLabLook(client, source, flags, outputDirectory, defaultStage
34802
35121
  ...flags.width === void 0 ? {} : { width: flags.width },
34803
35122
  ...flags.height === void 0 ? {} : { height: flags.height }
34804
35123
  };
34805
- mkdirSync5(outputDirectory, { recursive: true });
35124
+ mkdirSync6(outputDirectory, { recursive: true });
34806
35125
  if (flags.compare !== void 0) {
34807
35126
  if (flags.shots !== void 0) throw new Error("--compare cannot be combined with --shots");
34808
- const refBytes = readFileSync8(resolve22(flags.compare));
35127
+ const refBytes = readFileSync9(resolve22(flags.compare));
34809
35128
  const maxRefBytes = 32 * 1024 * 1024;
34810
35129
  if (refBytes.byteLength > maxRefBytes) throw new Error(`--compare reference GLB must be ${maxRefBytes / 1024 / 1024} MiB or less.`);
34811
35130
  const capture3 = await client.captureAssetComparePreview(source, refBytes.toString("base64"), dimensions);
@@ -34813,7 +35132,7 @@ async function assetLabLook(client, source, flags, outputDirectory, defaultStage
34813
35132
  for (const view of capture3.views) {
34814
35133
  iou[view.view] = view.iou;
34815
35134
  for (const [suffix, image] of [["overlay", view.overlay], ["asset", view.asset], ["ref", view.ref]]) {
34816
- writeFileSync5(join23(outputDirectory, `compare-${view.view}-${suffix}.png`), Buffer.from(image.base64, "base64"));
35135
+ writeFileSync6(join23(outputDirectory, `compare-${view.view}-${suffix}.png`), Buffer.from(image.base64, "base64"));
34817
35136
  }
34818
35137
  }
34819
35138
  console.log(JSON.stringify({ compare: { iou } }));
@@ -34833,18 +35152,18 @@ async function assetLabLook(client, source, flags, outputDirectory, defaultStage
34833
35152
  const warnings = new Map((capture3.warnings ?? []).map((warning) => [warning.label, warning]));
34834
35153
  for (const image of capture3.shots) {
34835
35154
  const file3 = join23(outputDirectory, `${image.label}.png`);
34836
- writeFileSync5(file3, Buffer.from(image.base64, "base64"));
35155
+ writeFileSync6(file3, Buffer.from(image.base64, "base64"));
34837
35156
  const warning = warnings.get(image.label);
34838
35157
  if (warning) console.warn(`WARNING ${file3}: ${warning.message}`);
34839
35158
  }
34840
- writeFileSync5(join23(outputDirectory, "contact-sheet.png"), Buffer.from(capture3.contactSheet.base64, "base64"));
35159
+ writeFileSync6(join23(outputDirectory, "contact-sheet.png"), Buffer.from(capture3.contactSheet.base64, "base64"));
34841
35160
  const empty = capture3.warnings?.length ?? 0;
34842
35161
  console.log(`Shot set '${flags.shots}' preview (${capture3.shots.length} shots${empty > 0 ? `, ${empty} EMPTY \u2014 see the warnings above` : ""}) written to ${outputDirectory}`);
34843
35162
  return;
34844
35163
  }
34845
35164
  const capture2 = await client.captureAssetPreview(source, { ...dimensions, ...defaultStage === void 0 ? {} : { stage: defaultStage } });
34846
- for (const image of capture2.views) writeFileSync5(join23(outputDirectory, `${image.view}.png`), Buffer.from(image.base64, "base64"));
34847
- writeFileSync5(join23(outputDirectory, "contact-sheet.png"), Buffer.from(capture2.contactSheet.base64, "base64"));
35165
+ for (const image of capture2.views) writeFileSync6(join23(outputDirectory, `${image.view}.png`), Buffer.from(image.base64, "base64"));
35166
+ writeFileSync6(join23(outputDirectory, "contact-sheet.png"), Buffer.from(capture2.contactSheet.base64, "base64"));
34848
35167
  console.log(`${join23(outputDirectory, "contact-sheet.png")} \u2190 every view on one sheet`);
34849
35168
  console.log(` per-view frames beside it: ${capture2.views.map((image) => `${image.view}.png`).join(" ")}`);
34850
35169
  if (capture2.orientation && capture2.orientation.yawDegrees !== 0) {
@@ -34906,23 +35225,23 @@ import { execFileSync as execFileSync4 } from "node:child_process";
34906
35225
  import {
34907
35226
  createWriteStream as createWriteStream2,
34908
35227
  existsSync as existsSync12,
34909
- mkdirSync as mkdirSync6,
34910
- readFileSync as readFileSync9,
35228
+ mkdirSync as mkdirSync7,
35229
+ readFileSync as readFileSync10,
34911
35230
  renameSync as renameSync3,
34912
35231
  rmSync as rmSync3,
34913
- writeFileSync as writeFileSync6
35232
+ writeFileSync as writeFileSync7
34914
35233
  } from "node:fs";
34915
- import { homedir as homedir6 } from "node:os";
34916
- import { basename as basename4, isAbsolute as isAbsolute5, join as join13, resolve as resolve11, sep as sep2 } from "node:path";
35234
+ import { homedir as homedir7 } from "node:os";
35235
+ import { basename as basename4, isAbsolute as isAbsolute5, join as join14, resolve as resolve12, sep as sep3 } from "node:path";
34917
35236
  var WORKBENCH_LOCATOR_PATH2 = ".volter/workbench.json";
34918
35237
  var RELEASE_RECORD2 = "BUILD.json";
34919
- var SOURCES_LAUNCHER2 = join13("scripts", "code-server.sh");
35238
+ var SOURCES_LAUNCHER2 = join14("scripts", "code-server.sh");
34920
35239
  var OVERLAY_RECORD2 = ".volter-overlay.json";
34921
35240
  function writeWorkbenchDeclaration2(projectRoot, workbenchDir) {
34922
- mkdirSync6(join13(projectRoot, ".volter"), { recursive: true });
34923
- writeFileSync6(
34924
- join13(projectRoot, WORKBENCH_LOCATOR_PATH2),
34925
- `${JSON.stringify({ workbench: resolve11(workbenchDir) }, null, 2)}
35241
+ mkdirSync7(join14(projectRoot, ".volter"), { recursive: true });
35242
+ writeFileSync7(
35243
+ join14(projectRoot, WORKBENCH_LOCATOR_PATH2),
35244
+ `${JSON.stringify({ workbench: resolve12(workbenchDir) }, null, 2)}
34926
35245
  `
34927
35246
  );
34928
35247
  }
@@ -34930,8 +35249,8 @@ function machinePlatform2() {
34930
35249
  return `${process.platform}-${process.arch}`;
34931
35250
  }
34932
35251
  function resolveWorkbench2(dir, expectedProduct) {
34933
- const root = resolve11(dir);
34934
- const resolved = existsSync12(join13(root, RELEASE_RECORD2)) ? resolveRelease2(root) : existsSync12(join13(root, SOURCES_LAUNCHER2)) ? resolveSources2(root) : null;
35252
+ const root = resolve12(dir);
35253
+ const resolved = existsSync12(join14(root, RELEASE_RECORD2)) ? resolveRelease2(root) : existsSync12(join14(root, SOURCES_LAUNCHER2)) ? resolveSources2(root) : null;
34935
35254
  if (resolved === null) {
34936
35255
  throw new Error(
34937
35256
  `${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 +35266,11 @@ function resolveWorkbench2(dir, expectedProduct) {
34947
35266
  return resolved;
34948
35267
  }
34949
35268
  function resolveRelease2(dir) {
34950
- const record3 = join13(dir, RELEASE_RECORD2);
35269
+ const record3 = join14(dir, RELEASE_RECORD2);
34951
35270
  const cut = `node scripts/workbench/build-release.mjs --product <id> --platform ${machinePlatform2()} --checkout <fork dir> --out ${dir}`;
34952
35271
  let parsed;
34953
35272
  try {
34954
- parsed = JSON.parse(readFileSync9(record3, "utf8"));
35273
+ parsed = JSON.parse(readFileSync10(record3, "utf8"));
34955
35274
  } catch (error50) {
34956
35275
  throw new Error(`${record3} could not be read: ${String(error50)}`);
34957
35276
  }
@@ -34975,13 +35294,13 @@ function resolveRelease2(dir) {
34975
35294
  node scripts/workbench/build-release.mjs --product ${product} --platform ${machine} --checkout <fork dir>`
34976
35295
  );
34977
35296
  }
34978
- const packageRoot = join13(dir, target);
34979
- const serverBinPath = join13(packageRoot, serverBin);
35297
+ const packageRoot = join14(dir, target);
35298
+ const serverBinPath = join14(packageRoot, serverBin);
34980
35299
  if (!existsSync12(serverBinPath)) {
34981
35300
  const tarball = typeof parsed["tarball"] === "string" ? parsed["tarball"] : `${target}-<commit>.tar.gz`;
34982
35301
  throw new Error(
34983
35302
  `${dir} records ${target}, but ${serverBinPath} is not there \u2014 the tarball has not been extracted beside ${RELEASE_RECORD2}. Run:
34984
- tar -xzf ${join13(dir, tarball)} -C ${dir}`
35303
+ tar -xzf ${join14(dir, tarball)} -C ${dir}`
34985
35304
  );
34986
35305
  }
34987
35306
  return { kind: "release", dir, commit, product, serverBin: serverBinPath, cwd: packageRoot };
@@ -34995,7 +35314,7 @@ function resolveSources2(dir) {
34995
35314
  `${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
35315
  );
34997
35316
  }
34998
- const marker = join13(dir, OVERLAY_RECORD2);
35317
+ const marker = join14(dir, OVERLAY_RECORD2);
34999
35318
  if (!existsSync12(marker)) {
35000
35319
  throw new Error(
35001
35320
  `${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 +35323,7 @@ function resolveSources2(dir) {
35004
35323
  }
35005
35324
  let product;
35006
35325
  try {
35007
- product = JSON.parse(readFileSync9(marker, "utf8"))["product"];
35326
+ product = JSON.parse(readFileSync10(marker, "utf8"))["product"];
35008
35327
  } catch (error50) {
35009
35328
  throw new Error(`${marker} could not be read: ${String(error50)}`);
35010
35329
  }
@@ -35018,16 +35337,16 @@ function resolveSources2(dir) {
35018
35337
  dir,
35019
35338
  commit,
35020
35339
  product,
35021
- serverBin: join13(dir, SOURCES_LAUNCHER2),
35340
+ serverBin: join14(dir, SOURCES_LAUNCHER2),
35022
35341
  cwd: dir
35023
35342
  };
35024
35343
  }
35025
- var WORKBENCH_CACHE_ROOT2 = join13(homedir6(), ".volter", "workbenches");
35344
+ var WORKBENCH_CACHE_ROOT2 = join14(homedir7(), ".volter", "workbenches");
35026
35345
 
35027
35346
  // node/cli.ts
35028
35347
  var PRODUCT = { packageName: package_default.name, id: "cyclotron", displayName: package_default.volter.product.displayName, command: Object.keys(package_default.bin)[0] };
35029
35348
  function refuseRetired(from) {
35030
- for (let dir = resolve12(from); ; dir = dirname10(dir)) {
35349
+ for (let dir = resolve13(from); ; dir = dirname10(dir)) {
35031
35350
  if (hasManifest(dir)) {
35032
35351
  const retired = declaredRetiredProduct(UPGRADING, dir);
35033
35352
  if (retired !== null) throw retiredProjectError(UPGRADING, retired, dir);
@@ -35114,7 +35433,7 @@ try {
35114
35433
  await hostedControl(PRODUCT.command, positionals.slice(1));
35115
35434
  } else if (verb === "blender-mcp") {
35116
35435
  if (positionals.length !== 1) throw new Error("Usage: cyclotron blender-mcp");
35117
- let project = resolve12(process.cwd());
35436
+ let project = resolve13(process.cwd());
35118
35437
  while (!hasManifest(project)) {
35119
35438
  const parent = dirname10(project);
35120
35439
  if (parent === project) throw new Error("Run cyclotron blender-mcp inside a modeling project.");
@@ -35181,13 +35500,14 @@ try {
35181
35500
  if (verb !== "create" && verb !== "edit") throw new Error(`Unknown command: ${verb}`);
35182
35501
  if (verb === "create") {
35183
35502
  if (!positionals[1]) throw new Error("create requires a new folder name.");
35184
- if (values.workbench) resolveWorkbench2(resolve12(values.workbench), PRODUCT.id);
35185
- console.log(`Creating Cyclotron project at ${resolve12(folder)}\u2026`);
35186
- await declaration.create({ name: folder.split(/[\\/]/).at(-1), targetDir: resolve12(folder), ...values.template ? { template: values.template } : {} });
35187
- if (values.workbench) writeWorkbenchDeclaration2(resolve12(folder), resolve12(values.workbench));
35503
+ if (values.workbench) resolveWorkbench2(resolve13(values.workbench), PRODUCT.id);
35504
+ console.log(`Creating Cyclotron project at ${resolve13(folder)}\u2026`);
35505
+ await declaration.create({ name: folder.split(/[\\/]/).at(-1), targetDir: resolve13(folder), ...values.template ? { template: values.template } : {} });
35506
+ if (values.workbench) writeWorkbenchDeclaration2(resolve13(folder), resolve13(values.workbench));
35188
35507
  }
35189
35508
  const project = verb === "edit" && positionals.length < 2 ? await startupProject(declaration.create) : folder;
35190
- console.log(`Opening Cyclotron for ${resolve12(project)}\u2026`);
35509
+ console.log(`Opening Cyclotron for ${resolve13(project)}\u2026`);
35510
+ await refreshStarterGuidance(resolve13(project));
35191
35511
  await launch(project, PRODUCT, {
35192
35512
  ...values.workbench ? { workbench: values.workbench } : {},
35193
35513
  ...values["no-open"] ? { noOpen: true } : {},