@volter/cyclotron 0.5.203 → 0.5.204

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