@volter/model-editor 0.5.66 → 0.5.67

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 (200) hide show
  1. package/dist/.vite/manifest.json +1022 -1006
  2. package/dist/assets/AudioViewer-DVXaSSYC.js +1 -0
  3. package/dist/assets/{BVHLoader-xUHWsz84.js → BVHLoader-msuIvJVn.js} +1 -1
  4. package/dist/assets/ColladaLoader-BpvxwqkB.js +3 -0
  5. package/dist/assets/EntityModelDocument-BtlQZcoU.js +1 -0
  6. package/dist/assets/EnvironmentAssetDocument-BH3zT9rt.js +1 -0
  7. package/dist/assets/FBXLoader-CsdO937F.js +1 -0
  8. package/dist/assets/{GameplaySessionTimeline-HJLZUV4Q.js → GameplaySessionTimeline-Dko95kB7.js} +10 -10
  9. package/dist/assets/ImageViewer-CZ_RMER2.js +1 -0
  10. package/dist/assets/{InspectorCanvasPreview-CLDhscy0.js → InspectorCanvasPreview-BLecDHpc.js} +1 -1
  11. package/dist/assets/InspectorObjectPreview-CSIWwJQE.js +1 -0
  12. package/dist/assets/JsonAssetDocument-CGYSeJyl.js +2 -0
  13. package/dist/assets/{LineSegments2-C8H20K8w.js → LineSegments2-BKEsgiC8.js} +2 -2
  14. package/dist/assets/LiveModuleDocument-CIvS-SUT.js +2 -0
  15. package/dist/assets/LutAssetDocument-BA70uU3w.js +1 -0
  16. package/dist/assets/{MTLLoader-C-rA0fNF.js → MTLLoader-DNh2pFDc.js} +2 -2
  17. package/dist/assets/ModelAssetDocument-D0lNEhOg.js +1 -0
  18. package/dist/assets/NonThreeAuthoringBootstrap-C0pCfkJ4.js +2 -0
  19. package/dist/assets/OBJLoader-DPi99VIm.js +5 -0
  20. package/dist/assets/Object3DDocumentToolbar-PGYkZEwr.js +1 -0
  21. package/dist/assets/Object3DPreview-BROKXSTC.js +2 -0
  22. package/dist/assets/OnlineAssetDetail-lEHnhdUS.js +1 -0
  23. package/dist/assets/OrbitControls-smIenN60.js +1 -0
  24. package/dist/assets/PLYLoader-Cx9Yc9xe.js +2 -0
  25. package/dist/assets/QuarksAssetDocument-C_8eG4KG.js +2 -0
  26. package/dist/assets/RectAreaLightUniformsLib-Iam8rS8R.js +1 -0
  27. package/dist/assets/STLLoader-BaJkM-k1.js +1 -0
  28. package/dist/assets/{ShaderAssetDocument-qlLeb2S3.js → ShaderAssetDocument-Gdp7OCfv.js} +5 -5
  29. package/dist/assets/SourceAssetViewer-l72u0hOa.js +1 -0
  30. package/dist/assets/StageHost-CdzuP0NS.js +1179 -0
  31. package/dist/assets/TDSLoader-BskhMiUy.js +1 -0
  32. package/dist/assets/ToolObject3DPreview-CU5klD6l.js +1 -0
  33. package/dist/assets/Toolbar-DI0LGx25.js +1 -0
  34. package/dist/assets/TransientHint-myZtSdd6.js +1 -0
  35. package/dist/assets/VideoViewer-z0JPXPKa.js +1 -0
  36. package/dist/assets/ViewportShadingMenu-CVU2bU_3.js +1 -0
  37. package/dist/assets/animation-mixers.service-DSIsxWG5.js +1 -0
  38. package/dist/assets/animation-timeline.utility-BEgDQC04.js +1 -0
  39. package/dist/assets/asset-editor-persistence-BtRQI8t6.js +1 -0
  40. package/dist/assets/bitmap-label-Ct4k6ehY.js +1 -0
  41. package/dist/assets/{blender-emscripten-engine-CEsWgnR7.js → blender-emscripten-engine-BeWFjMn-.js} +1 -1
  42. package/dist/assets/blender-node-editor.document-C_kpsARB.js +1 -0
  43. package/dist/assets/{blender-properties-tab-C5tUuCSv.js → blender-properties-tab-B_XBg6S8.js} +3 -3
  44. package/dist/assets/blender-runtime-host-CYhl4T9S.js +4 -0
  45. package/dist/assets/{blender-runtime-skin-DMq0XAvO.js → blender-runtime-skin-Bk6uXECD.js} +98 -51
  46. package/dist/assets/blender-runtime.document-CAPDRCvN.js +12 -0
  47. package/dist/assets/blender-timeline.document-CcEymQyL.js +1 -0
  48. package/dist/assets/blender-uv-editor.document-DSPvSEuE.js +1 -0
  49. package/dist/assets/blender-version.status-CEu7vCi3.js +1 -0
  50. package/dist/assets/{blender-wali-engine-D3iKpzn9.js → blender-wali-engine-da698rDf.js} +1 -1
  51. package/dist/assets/blender.command-BCb_c9lw.js +1 -0
  52. package/dist/assets/blender.keymap-_rF_vRX8.js +1 -0
  53. package/dist/assets/{blender.status-ujwGU6dU.js → blender.status-DrasQhJV.js} +1 -1
  54. package/dist/assets/{blender.style-CxfbTFcE.js → blender.style-DaIh9SiA.js} +1 -1
  55. package/dist/assets/{client-DNXj_opT.js → client-mkWk8S65.js} +1 -1
  56. package/dist/assets/content-bounds-_QWiKD5_.js +85 -0
  57. package/dist/assets/{hosted-asset-materialization-BXM49Qkc.js → hosted-asset-materialization-hUS3IhTD.js} +2 -2
  58. package/dist/assets/index-0Lm0Nf1M.css +1 -0
  59. package/dist/assets/{index-CJbYy-CF.js → index-7vd2obXq.js} +2 -2
  60. package/dist/assets/{index-DgapqSPi.js → index-BRLA7zdc.js} +1 -1
  61. package/dist/assets/{index-BtfYaG4D.js → index-CQG6JOSy.js} +18 -18
  62. package/dist/assets/{index-CanA16PU.js → index-CnvSS9lU.js} +1 -1
  63. package/dist/assets/{index-Bge9JUr6.js → index-DYNMP0kE.js} +1 -1
  64. package/dist/assets/index-Dm_h-T4x.js +1406 -0
  65. package/dist/assets/{index-gHZae-lw.js → index-Dz8qGBZc.js} +1 -1
  66. package/dist/assets/{index-BncK9THk.js → index-Fv4R0cYr.js} +1 -1
  67. package/dist/assets/{index-IEjydI9d.js → index-f-MQ14bP.js} +1 -1
  68. package/dist/assets/{index-D2LwEE0L.js → index-jib6KJY8.js} +6 -6
  69. package/dist/assets/{index-DUqP1RMl.js → index-ux8XhRyW.js} +1 -1
  70. package/dist/assets/{jsx-runtime-DPjLkJKQ.js → jsx-runtime-CAUTK36e.js} +1 -1
  71. package/dist/assets/layered-pick-CT4HlEpW.js +1 -0
  72. package/dist/assets/live-mixers-B-bwLZ7c.js +1 -0
  73. package/dist/assets/model-inspection-DDZE59vp.js +1 -0
  74. package/dist/assets/models.finder-Caf-3Yix.js +1 -0
  75. package/dist/assets/product-DbFrUS6F.js +1 -0
  76. package/dist/assets/properties-bone-constraints.inspector-DB3Rc_Hf.js +1 -0
  77. package/dist/assets/properties-bone.inspector-B7f7H_Co.js +1 -0
  78. package/dist/assets/properties-collection.inspector-JCtV3h3Y.js +1 -0
  79. package/dist/assets/properties-constraints.inspector-Cs8MwS-1.js +1 -0
  80. package/dist/assets/properties-data.inspector-DKGiHu8O.js +1 -0
  81. package/dist/assets/properties-material.inspector-Dc18RI13.js +1 -0
  82. package/dist/assets/properties-modifiers.inspector-DvGvXq2v.js +1 -0
  83. package/dist/assets/properties-object.inspector-Bl9nrytP.js +1 -0
  84. package/dist/assets/properties-output.inspector-B6QsU94n.js +1 -0
  85. package/dist/assets/properties-particles.inspector-B1dMnZSA.js +1 -0
  86. package/dist/assets/properties-physics.inspector-BwfNykfW.js +1 -0
  87. package/dist/assets/properties-render.inspector-KrL2EiTH.js +1 -0
  88. package/dist/assets/properties-scene.inspector-CewQnyRt.js +1 -0
  89. package/dist/assets/properties-texture.inspector-BITMzY-f.js +1 -0
  90. package/dist/assets/properties-view-layer.inspector-BpkDbmcb.js +1 -0
  91. package/dist/assets/properties-world.inspector-DLRH45Oj.js +1 -0
  92. package/dist/assets/{react-18-DyywM-Z2.js → react-18-D335xReo.js} +1 -1
  93. package/dist/assets/{react-story-board-B9V-j_Y5.js → react-story-board-CkaP4mEG.js} +1 -1
  94. package/dist/assets/{session-CsR0lApe.js → session-CTXsU1lK.js} +176 -1
  95. package/dist/assets/{spark.module-gG1EsWx8.js → spark.module-DMQ9J7rT.js} +11 -11
  96. package/dist/assets/stage-keyboard-BY7u9_MB.js +1 -0
  97. package/dist/assets/stage-overlay-set-DRFcVd27.js +1 -0
  98. package/dist/assets/stage-presence-markers-D2IpuOAY.js +1 -0
  99. package/dist/assets/stage-transform-tools-BGcIULoe.js +1 -0
  100. package/dist/assets/story-capture-RSWY8I8h.js +1 -0
  101. package/dist/assets/three-integration.service-0EyPpd5f.js +4 -0
  102. package/dist/assets/{three.module-ZILb6uB7.js → three.module-CrYDk-Xr.js} +1 -1
  103. package/dist/assets/transform-mode-request-Cz6fzydi.js +1 -0
  104. package/dist/assets/transport-strip-Co-ZDkf-.js +1 -0
  105. package/dist/assets/{vgai-shared-fontawesome-CFSkqz69.js → vgai-shared-fontawesome-2ZSGa7vM.js} +1 -1
  106. package/dist/assets/vgai-shared-jsx-dev-runtime-hkPLeIJV.js +1 -0
  107. package/dist/assets/vgai-shared-jsx-runtime-CUvvjEqj.js +1 -0
  108. package/dist/assets/{vgai-shared-react-dom-client-S0ozfl6_.js → vgai-shared-react-dom-client-CS681GK2.js} +1 -1
  109. package/dist/assets/{vgai-shared-three-DzfWDqlp.js → vgai-shared-three-CLJ0K3jQ.js} +1 -1
  110. package/dist/assets/viewport-door-BdL0u5rd.js +1 -0
  111. package/dist/assets/viewport-editor-controls-BYaAZ_Ku.js +1 -0
  112. package/dist/assets/viewport-surface-status-yS6CrXH7.js +24 -0
  113. package/dist/assets/{worker-B7zhIsFh.js → worker-CC9Ug5Ei.js} +1 -1
  114. package/dist/assets/world-documents-B5IWN-ng.js +3 -0
  115. package/dist/vgai-shared-react.json +4 -4
  116. package/dist/vgai-shared-three.json +1 -1
  117. package/dist-node/cli.js +248 -209
  118. package/dist-node/create.js +77 -77
  119. package/package.json +10 -10
  120. package/src/index.ts +1 -0
  121. package/dist/assets/AudioViewer-CRWsJVYN.js +0 -1
  122. package/dist/assets/ColladaLoader-Ccy_gHsu.js +0 -3
  123. package/dist/assets/EntityModelDocument-Dal8YnLK.js +0 -1
  124. package/dist/assets/EnvironmentAssetDocument-DFOFYX5v.js +0 -1
  125. package/dist/assets/FBXLoader-Dh0pOBW2.js +0 -1
  126. package/dist/assets/ImageViewer-BzqBpqL-.js +0 -1
  127. package/dist/assets/InspectorObjectPreview-BUZEp4xS.js +0 -1
  128. package/dist/assets/JsonAssetDocument-DCkqRS0N.js +0 -2
  129. package/dist/assets/LiveModuleDocument-CuOBVz3A.js +0 -2
  130. package/dist/assets/LutAssetDocument-IyEir1rq.js +0 -1
  131. package/dist/assets/ModelAssetDocument-DNStNyCc.js +0 -1
  132. package/dist/assets/NonThreeAuthoringBootstrap-BE15Wpmw.js +0 -2
  133. package/dist/assets/OBJLoader-CopWRneC.js +0 -5
  134. package/dist/assets/Object3DDocumentToolbar-5Dv_8caG.js +0 -1
  135. package/dist/assets/Object3DPreview-C09u9uQZ.js +0 -2
  136. package/dist/assets/OnlineAssetDetail-DOPUI1iu.js +0 -1
  137. package/dist/assets/OrbitControls-DrFzvAAB.js +0 -1
  138. package/dist/assets/PLYLoader-D_esTZ2f.js +0 -2
  139. package/dist/assets/QuarksAssetDocument-BbSJ970L.js +0 -2
  140. package/dist/assets/RectAreaLightUniformsLib-u1ciScuw.js +0 -1
  141. package/dist/assets/STLLoader-Cl5I0sAi.js +0 -1
  142. package/dist/assets/SourceAssetViewer-DwhuqbA4.js +0 -1
  143. package/dist/assets/StageHost-D-o8MsFS.js +0 -1122
  144. package/dist/assets/TDSLoader-KKBg8ef1.js +0 -1
  145. package/dist/assets/ToolObject3DPreview-ILbch3kN.js +0 -1
  146. package/dist/assets/Toolbar-DYJjJKTt.js +0 -1
  147. package/dist/assets/TransientHint-D94hsJSR.js +0 -1
  148. package/dist/assets/VideoViewer-Bx3FPbgE.js +0 -1
  149. package/dist/assets/ViewportShadingMenu-B3N6hSdN.js +0 -1
  150. package/dist/assets/animation-mixers.service-N9HxGOMf.js +0 -1
  151. package/dist/assets/asset-editor-persistence-DGD05u26.js +0 -1
  152. package/dist/assets/blender-node-editor.document-BT2M622g.js +0 -1
  153. package/dist/assets/blender-runtime-host-4ufXy47O.js +0 -4
  154. package/dist/assets/blender-runtime.document-DeFQQsF6.js +0 -8
  155. package/dist/assets/blender-timeline.document-BnlSdxy0.js +0 -1
  156. package/dist/assets/blender-uv-editor.document-UC-XeNn0.js +0 -1
  157. package/dist/assets/blender-version.status-BZP39oH7.js +0 -1
  158. package/dist/assets/blender.command-IGP5wuda.js +0 -1
  159. package/dist/assets/blender.keymap-GAQgeklK.js +0 -1
  160. package/dist/assets/browserAll-2r3AVaAO.js +0 -14
  161. package/dist/assets/canvas-preview-frames-CO60PDM7.js +0 -5
  162. package/dist/assets/index-B4bmKkgY.css +0 -1
  163. package/dist/assets/index-cpXNKgvz.js +0 -1498
  164. package/dist/assets/live-mixers-BRkRHd6g.js +0 -1
  165. package/dist/assets/material-preview.view-DqNcpd_b.js +0 -1
  166. package/dist/assets/model-inspection-JC6gbV8Q.js +0 -1
  167. package/dist/assets/models.finder-BplPGS4I.js +0 -1
  168. package/dist/assets/product-CfZaqLpw.js +0 -1
  169. package/dist/assets/properties-bone-constraints.inspector-Di8kNtAi.js +0 -1
  170. package/dist/assets/properties-bone.inspector-CqAIKNsE.js +0 -1
  171. package/dist/assets/properties-collection.inspector-DpHC_fXW.js +0 -1
  172. package/dist/assets/properties-constraints.inspector-C7G7NOZU.js +0 -1
  173. package/dist/assets/properties-data.inspector-D1sUUst6.js +0 -1
  174. package/dist/assets/properties-material.inspector-BUSjc8tl.js +0 -1
  175. package/dist/assets/properties-modifiers.inspector-Sq9bcfFz.js +0 -1
  176. package/dist/assets/properties-object.inspector-BzqiU_29.js +0 -1
  177. package/dist/assets/properties-output.inspector-BWpFqvfT.js +0 -1
  178. package/dist/assets/properties-particles.inspector-DO1KoaTz.js +0 -1
  179. package/dist/assets/properties-physics.inspector-BgkrTNSA.js +0 -1
  180. package/dist/assets/properties-render.inspector-BU5NOVoQ.js +0 -1
  181. package/dist/assets/properties-scene.inspector-DbMErJ48.js +0 -1
  182. package/dist/assets/properties-texture.inspector-toPpEwqp.js +0 -1
  183. package/dist/assets/properties-view-layer.inspector-COpx9iEK.js +0 -1
  184. package/dist/assets/properties-world.inspector-CxU0DrYX.js +0 -1
  185. package/dist/assets/react-three-rapier.esm-CN6t4A7c.js +0 -1
  186. package/dist/assets/stage-keyboard-CzlqI0nh.js +0 -1
  187. package/dist/assets/stage-overlay-set-DQeskS16.js +0 -1
  188. package/dist/assets/stage-presence-markers-S1lMOwIa.js +0 -1
  189. package/dist/assets/stage-transform-tools-Cqtv-ZQ1.js +0 -1
  190. package/dist/assets/story-capture-DmIUyEQn.js +0 -1
  191. package/dist/assets/story-mount-turn-2IYGgHob.js +0 -1
  192. package/dist/assets/story-pixi-preview-aw8xQhvF.js +0 -1
  193. package/dist/assets/story-three-preview-DDmMjlI8.js +0 -37
  194. package/dist/assets/transform-mode-request-DSPwviXs.js +0 -1
  195. package/dist/assets/vgai-shared-jsx-dev-runtime-DFDKL7fx.js +0 -1
  196. package/dist/assets/vgai-shared-jsx-runtime-DIqBpTut.js +0 -1
  197. package/dist/assets/viewport-pick-context-DkawXbEi.js +0 -1
  198. package/dist/assets/viewport-surface-status-DuININWe.js +0 -20
  199. package/dist/assets/webworkerAll-CqQUotBj.js +0 -101
  200. package/dist/assets/world-documents-DkBqH8VU.js +0 -3
package/dist-node/cli.js CHANGED
@@ -2328,7 +2328,7 @@ function hasManifest(dir) {
2328
2328
  var package_default = {
2329
2329
  name: "@volter/model-editor",
2330
2330
  author: "Volter AI, Inc.",
2331
- version: "0.5.66",
2331
+ version: "0.5.67",
2332
2332
  publishConfig: {
2333
2333
  access: "public"
2334
2334
  },
@@ -2366,19 +2366,19 @@ var package_default = {
2366
2366
  displayName: "Volter Model Editor",
2367
2367
  colorTheme: "dark",
2368
2368
  workbench: {
2369
- release: "model-editor-9ef15b1f345b-7b9222405623-darwin-arm64",
2370
- tarballSha256: "043e8a7c0986dc3c4b7129f970ac04e97d7309291325036ca02c3eca2d28ab05"
2369
+ release: "model-editor-53c70370c14c-d9c0c8f0d344-darwin-arm64",
2370
+ tarballSha256: "8836fa66512290299425e1516aa1316b866f402180302f4043d257f32442b7ab"
2371
2371
  }
2372
2372
  }
2373
2373
  },
2374
2374
  dependencies: {
2375
- "@volter/editor-core": "0.5.66",
2376
- "@volter/editor-blender": "0.1.9",
2377
- "@volter/editor-threejs": "0.5.66",
2378
- "@volter/blender-engine": "0.1.8",
2379
- "@volter/editor-project": "0.5.66",
2380
- "@volter/editor-sdk": "0.5.66",
2381
- "@volter/editor-live": "0.5.66",
2375
+ "@volter/editor-core": "0.5.67",
2376
+ "@volter/editor-blender": "0.1.10",
2377
+ "@volter/editor-threejs": "0.5.67",
2378
+ "@volter/blender-engine": "0.1.9",
2379
+ "@volter/editor-project": "0.5.67",
2380
+ "@volter/editor-sdk": "0.5.67",
2381
+ "@volter/editor-live": "0.5.67",
2382
2382
  "@modelcontextprotocol/sdk": "1.30.0",
2383
2383
  undici: "7.29.1"
2384
2384
  },
@@ -2394,7 +2394,7 @@ import { mkdir, writeFile, copyFile, readFile } from "node:fs/promises";
2394
2394
  import { resolve, join as join2, dirname } from "node:path";
2395
2395
  import { fileURLToPath } from "node:url";
2396
2396
 
2397
- // ../../node_modules/zod/v4/classic/external.js
2397
+ // ../../../editor-game/node_modules/zod/v4/classic/external.js
2398
2398
  var external_exports = {};
2399
2399
  __export(external_exports, {
2400
2400
  $brand: () => $brand,
@@ -2635,7 +2635,7 @@ __export(external_exports, {
2635
2635
  xor: () => xor
2636
2636
  });
2637
2637
 
2638
- // ../../node_modules/zod/v4/core/index.js
2638
+ // ../../../editor-game/node_modules/zod/v4/core/index.js
2639
2639
  var core_exports2 = {};
2640
2640
  __export(core_exports2, {
2641
2641
  $ZodAny: () => $ZodAny,
@@ -2913,7 +2913,7 @@ __export(core_exports2, {
2913
2913
  version: () => version
2914
2914
  });
2915
2915
 
2916
- // ../../node_modules/zod/v4/core/core.js
2916
+ // ../../../editor-game/node_modules/zod/v4/core/core.js
2917
2917
  var NEVER = Object.freeze({
2918
2918
  status: "aborted"
2919
2919
  });
@@ -2988,7 +2988,7 @@ function config(newConfig) {
2988
2988
  return globalConfig;
2989
2989
  }
2990
2990
 
2991
- // ../../node_modules/zod/v4/core/util.js
2991
+ // ../../../editor-game/node_modules/zod/v4/core/util.js
2992
2992
  var util_exports = {};
2993
2993
  __export(util_exports, {
2994
2994
  BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES,
@@ -3667,7 +3667,7 @@ var Class = class {
3667
3667
  }
3668
3668
  };
3669
3669
 
3670
- // ../../node_modules/zod/v4/core/errors.js
3670
+ // ../../../editor-game/node_modules/zod/v4/core/errors.js
3671
3671
  var initializer = (inst, def) => {
3672
3672
  inst.name = "$ZodError";
3673
3673
  Object.defineProperty(inst, "_zod", {
@@ -3803,7 +3803,7 @@ function prettifyError(error48) {
3803
3803
  return lines.join("\n");
3804
3804
  }
3805
3805
 
3806
- // ../../node_modules/zod/v4/core/parse.js
3806
+ // ../../../editor-game/node_modules/zod/v4/core/parse.js
3807
3807
  var _parse = (_Err) => (schema, value, _ctx, _params) => {
3808
3808
  const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
3809
3809
  const result = schema._zod.run({ value, issues: [] }, ctx);
@@ -3891,7 +3891,7 @@ var _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
3891
3891
  };
3892
3892
  var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError);
3893
3893
 
3894
- // ../../node_modules/zod/v4/core/regexes.js
3894
+ // ../../../editor-game/node_modules/zod/v4/core/regexes.js
3895
3895
  var regexes_exports = {};
3896
3896
  __export(regexes_exports, {
3897
3897
  base64: () => base64,
@@ -4048,7 +4048,7 @@ var sha512_hex = /^[0-9a-fA-F]{128}$/;
4048
4048
  var sha512_base64 = /* @__PURE__ */ fixedBase64(86, "==");
4049
4049
  var sha512_base64url = /* @__PURE__ */ fixedBase64url(86);
4050
4050
 
4051
- // ../../node_modules/zod/v4/core/checks.js
4051
+ // ../../../editor-game/node_modules/zod/v4/core/checks.js
4052
4052
  var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => {
4053
4053
  var _a2;
4054
4054
  inst._zod ?? (inst._zod = {});
@@ -4596,7 +4596,7 @@ var $ZodCheckOverwrite = /* @__PURE__ */ $constructor("$ZodCheckOverwrite", (ins
4596
4596
  };
4597
4597
  });
4598
4598
 
4599
- // ../../node_modules/zod/v4/core/doc.js
4599
+ // ../../../editor-game/node_modules/zod/v4/core/doc.js
4600
4600
  var Doc = class {
4601
4601
  constructor(args = []) {
4602
4602
  this.content = [];
@@ -4632,14 +4632,14 @@ var Doc = class {
4632
4632
  }
4633
4633
  };
4634
4634
 
4635
- // ../../node_modules/zod/v4/core/versions.js
4635
+ // ../../../editor-game/node_modules/zod/v4/core/versions.js
4636
4636
  var version = {
4637
4637
  major: 4,
4638
4638
  minor: 3,
4639
4639
  patch: 6
4640
4640
  };
4641
4641
 
4642
- // ../../node_modules/zod/v4/core/schemas.js
4642
+ // ../../../editor-game/node_modules/zod/v4/core/schemas.js
4643
4643
  var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
4644
4644
  var _a2;
4645
4645
  inst ?? (inst = {});
@@ -6610,7 +6610,7 @@ function handleRefineResult(result, payload, input, inst) {
6610
6610
  }
6611
6611
  }
6612
6612
 
6613
- // ../../node_modules/zod/v4/locales/index.js
6613
+ // ../../../editor-game/node_modules/zod/v4/locales/index.js
6614
6614
  var locales_exports = {};
6615
6615
  __export(locales_exports, {
6616
6616
  ar: () => ar_default,
@@ -6664,7 +6664,7 @@ __export(locales_exports, {
6664
6664
  zhTW: () => zh_TW_default
6665
6665
  });
6666
6666
 
6667
- // ../../node_modules/zod/v4/locales/ar.js
6667
+ // ../../../editor-game/node_modules/zod/v4/locales/ar.js
6668
6668
  var error = () => {
6669
6669
  const Sizable = {
6670
6670
  string: { unit: "\u062D\u0631\u0641", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" },
@@ -6771,7 +6771,7 @@ function ar_default() {
6771
6771
  };
6772
6772
  }
6773
6773
 
6774
- // ../../node_modules/zod/v4/locales/az.js
6774
+ // ../../../editor-game/node_modules/zod/v4/locales/az.js
6775
6775
  var error2 = () => {
6776
6776
  const Sizable = {
6777
6777
  string: { unit: "simvol", verb: "olmal\u0131d\u0131r" },
@@ -6877,7 +6877,7 @@ function az_default() {
6877
6877
  };
6878
6878
  }
6879
6879
 
6880
- // ../../node_modules/zod/v4/locales/be.js
6880
+ // ../../../editor-game/node_modules/zod/v4/locales/be.js
6881
6881
  function getBelarusianPlural(count, one, few, many) {
6882
6882
  const absCount = Math.abs(count);
6883
6883
  const lastDigit = absCount % 10;
@@ -7034,7 +7034,7 @@ function be_default() {
7034
7034
  };
7035
7035
  }
7036
7036
 
7037
- // ../../node_modules/zod/v4/locales/bg.js
7037
+ // ../../../editor-game/node_modules/zod/v4/locales/bg.js
7038
7038
  var error4 = () => {
7039
7039
  const Sizable = {
7040
7040
  string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" },
@@ -7155,7 +7155,7 @@ function bg_default() {
7155
7155
  };
7156
7156
  }
7157
7157
 
7158
- // ../../node_modules/zod/v4/locales/ca.js
7158
+ // ../../../editor-game/node_modules/zod/v4/locales/ca.js
7159
7159
  var error5 = () => {
7160
7160
  const Sizable = {
7161
7161
  string: { unit: "car\xE0cters", verb: "contenir" },
@@ -7264,7 +7264,7 @@ function ca_default() {
7264
7264
  };
7265
7265
  }
7266
7266
 
7267
- // ../../node_modules/zod/v4/locales/cs.js
7267
+ // ../../../editor-game/node_modules/zod/v4/locales/cs.js
7268
7268
  var error6 = () => {
7269
7269
  const Sizable = {
7270
7270
  string: { unit: "znak\u016F", verb: "m\xEDt" },
@@ -7376,7 +7376,7 @@ function cs_default() {
7376
7376
  };
7377
7377
  }
7378
7378
 
7379
- // ../../node_modules/zod/v4/locales/da.js
7379
+ // ../../../editor-game/node_modules/zod/v4/locales/da.js
7380
7380
  var error7 = () => {
7381
7381
  const Sizable = {
7382
7382
  string: { unit: "tegn", verb: "havde" },
@@ -7492,7 +7492,7 @@ function da_default() {
7492
7492
  };
7493
7493
  }
7494
7494
 
7495
- // ../../node_modules/zod/v4/locales/de.js
7495
+ // ../../../editor-game/node_modules/zod/v4/locales/de.js
7496
7496
  var error8 = () => {
7497
7497
  const Sizable = {
7498
7498
  string: { unit: "Zeichen", verb: "zu haben" },
@@ -7601,7 +7601,7 @@ function de_default() {
7601
7601
  };
7602
7602
  }
7603
7603
 
7604
- // ../../node_modules/zod/v4/locales/en.js
7604
+ // ../../../editor-game/node_modules/zod/v4/locales/en.js
7605
7605
  var error9 = () => {
7606
7606
  const Sizable = {
7607
7607
  string: { unit: "characters", verb: "to have" },
@@ -7710,7 +7710,7 @@ function en_default() {
7710
7710
  };
7711
7711
  }
7712
7712
 
7713
- // ../../node_modules/zod/v4/locales/eo.js
7713
+ // ../../../editor-game/node_modules/zod/v4/locales/eo.js
7714
7714
  var error10 = () => {
7715
7715
  const Sizable = {
7716
7716
  string: { unit: "karaktrojn", verb: "havi" },
@@ -7820,7 +7820,7 @@ function eo_default() {
7820
7820
  };
7821
7821
  }
7822
7822
 
7823
- // ../../node_modules/zod/v4/locales/es.js
7823
+ // ../../../editor-game/node_modules/zod/v4/locales/es.js
7824
7824
  var error11 = () => {
7825
7825
  const Sizable = {
7826
7826
  string: { unit: "caracteres", verb: "tener" },
@@ -7953,7 +7953,7 @@ function es_default() {
7953
7953
  };
7954
7954
  }
7955
7955
 
7956
- // ../../node_modules/zod/v4/locales/fa.js
7956
+ // ../../../editor-game/node_modules/zod/v4/locales/fa.js
7957
7957
  var error12 = () => {
7958
7958
  const Sizable = {
7959
7959
  string: { unit: "\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" },
@@ -8068,7 +8068,7 @@ function fa_default() {
8068
8068
  };
8069
8069
  }
8070
8070
 
8071
- // ../../node_modules/zod/v4/locales/fi.js
8071
+ // ../../../editor-game/node_modules/zod/v4/locales/fi.js
8072
8072
  var error13 = () => {
8073
8073
  const Sizable = {
8074
8074
  string: { unit: "merkki\xE4", subject: "merkkijonon" },
@@ -8181,7 +8181,7 @@ function fi_default() {
8181
8181
  };
8182
8182
  }
8183
8183
 
8184
- // ../../node_modules/zod/v4/locales/fr.js
8184
+ // ../../../editor-game/node_modules/zod/v4/locales/fr.js
8185
8185
  var error14 = () => {
8186
8186
  const Sizable = {
8187
8187
  string: { unit: "caract\xE8res", verb: "avoir" },
@@ -8290,7 +8290,7 @@ function fr_default() {
8290
8290
  };
8291
8291
  }
8292
8292
 
8293
- // ../../node_modules/zod/v4/locales/fr-CA.js
8293
+ // ../../../editor-game/node_modules/zod/v4/locales/fr-CA.js
8294
8294
  var error15 = () => {
8295
8295
  const Sizable = {
8296
8296
  string: { unit: "caract\xE8res", verb: "avoir" },
@@ -8398,7 +8398,7 @@ function fr_CA_default() {
8398
8398
  };
8399
8399
  }
8400
8400
 
8401
- // ../../node_modules/zod/v4/locales/he.js
8401
+ // ../../../editor-game/node_modules/zod/v4/locales/he.js
8402
8402
  var error16 = () => {
8403
8403
  const TypeNames = {
8404
8404
  string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA", gender: "f" },
@@ -8593,7 +8593,7 @@ function he_default() {
8593
8593
  };
8594
8594
  }
8595
8595
 
8596
- // ../../node_modules/zod/v4/locales/hu.js
8596
+ // ../../../editor-game/node_modules/zod/v4/locales/hu.js
8597
8597
  var error17 = () => {
8598
8598
  const Sizable = {
8599
8599
  string: { unit: "karakter", verb: "legyen" },
@@ -8702,7 +8702,7 @@ function hu_default() {
8702
8702
  };
8703
8703
  }
8704
8704
 
8705
- // ../../node_modules/zod/v4/locales/hy.js
8705
+ // ../../../editor-game/node_modules/zod/v4/locales/hy.js
8706
8706
  function getArmenianPlural(count, one, many) {
8707
8707
  return Math.abs(count) === 1 ? one : many;
8708
8708
  }
@@ -8850,7 +8850,7 @@ function hy_default() {
8850
8850
  };
8851
8851
  }
8852
8852
 
8853
- // ../../node_modules/zod/v4/locales/id.js
8853
+ // ../../../editor-game/node_modules/zod/v4/locales/id.js
8854
8854
  var error19 = () => {
8855
8855
  const Sizable = {
8856
8856
  string: { unit: "karakter", verb: "memiliki" },
@@ -8957,7 +8957,7 @@ function id_default() {
8957
8957
  };
8958
8958
  }
8959
8959
 
8960
- // ../../node_modules/zod/v4/locales/is.js
8960
+ // ../../../editor-game/node_modules/zod/v4/locales/is.js
8961
8961
  var error20 = () => {
8962
8962
  const Sizable = {
8963
8963
  string: { unit: "stafi", verb: "a\xF0 hafa" },
@@ -9067,7 +9067,7 @@ function is_default() {
9067
9067
  };
9068
9068
  }
9069
9069
 
9070
- // ../../node_modules/zod/v4/locales/it.js
9070
+ // ../../../editor-game/node_modules/zod/v4/locales/it.js
9071
9071
  var error21 = () => {
9072
9072
  const Sizable = {
9073
9073
  string: { unit: "caratteri", verb: "avere" },
@@ -9176,7 +9176,7 @@ function it_default() {
9176
9176
  };
9177
9177
  }
9178
9178
 
9179
- // ../../node_modules/zod/v4/locales/ja.js
9179
+ // ../../../editor-game/node_modules/zod/v4/locales/ja.js
9180
9180
  var error22 = () => {
9181
9181
  const Sizable = {
9182
9182
  string: { unit: "\u6587\u5B57", verb: "\u3067\u3042\u308B" },
@@ -9284,7 +9284,7 @@ function ja_default() {
9284
9284
  };
9285
9285
  }
9286
9286
 
9287
- // ../../node_modules/zod/v4/locales/ka.js
9287
+ // ../../../editor-game/node_modules/zod/v4/locales/ka.js
9288
9288
  var error23 = () => {
9289
9289
  const Sizable = {
9290
9290
  string: { unit: "\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" },
@@ -9397,7 +9397,7 @@ function ka_default() {
9397
9397
  };
9398
9398
  }
9399
9399
 
9400
- // ../../node_modules/zod/v4/locales/km.js
9400
+ // ../../../editor-game/node_modules/zod/v4/locales/km.js
9401
9401
  var error24 = () => {
9402
9402
  const Sizable = {
9403
9403
  string: { unit: "\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" },
@@ -9508,12 +9508,12 @@ function km_default() {
9508
9508
  };
9509
9509
  }
9510
9510
 
9511
- // ../../node_modules/zod/v4/locales/kh.js
9511
+ // ../../../editor-game/node_modules/zod/v4/locales/kh.js
9512
9512
  function kh_default() {
9513
9513
  return km_default();
9514
9514
  }
9515
9515
 
9516
- // ../../node_modules/zod/v4/locales/ko.js
9516
+ // ../../../editor-game/node_modules/zod/v4/locales/ko.js
9517
9517
  var error25 = () => {
9518
9518
  const Sizable = {
9519
9519
  string: { unit: "\uBB38\uC790", verb: "to have" },
@@ -9625,7 +9625,7 @@ function ko_default() {
9625
9625
  };
9626
9626
  }
9627
9627
 
9628
- // ../../node_modules/zod/v4/locales/lt.js
9628
+ // ../../../editor-game/node_modules/zod/v4/locales/lt.js
9629
9629
  var capitalizeFirstCharacter = (text2) => {
9630
9630
  return text2.charAt(0).toUpperCase() + text2.slice(1);
9631
9631
  };
@@ -9829,7 +9829,7 @@ function lt_default() {
9829
9829
  };
9830
9830
  }
9831
9831
 
9832
- // ../../node_modules/zod/v4/locales/mk.js
9832
+ // ../../../editor-game/node_modules/zod/v4/locales/mk.js
9833
9833
  var error27 = () => {
9834
9834
  const Sizable = {
9835
9835
  string: { unit: "\u0437\u043D\u0430\u0446\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" },
@@ -9939,7 +9939,7 @@ function mk_default() {
9939
9939
  };
9940
9940
  }
9941
9941
 
9942
- // ../../node_modules/zod/v4/locales/ms.js
9942
+ // ../../../editor-game/node_modules/zod/v4/locales/ms.js
9943
9943
  var error28 = () => {
9944
9944
  const Sizable = {
9945
9945
  string: { unit: "aksara", verb: "mempunyai" },
@@ -10047,7 +10047,7 @@ function ms_default() {
10047
10047
  };
10048
10048
  }
10049
10049
 
10050
- // ../../node_modules/zod/v4/locales/nl.js
10050
+ // ../../../editor-game/node_modules/zod/v4/locales/nl.js
10051
10051
  var error29 = () => {
10052
10052
  const Sizable = {
10053
10053
  string: { unit: "tekens", verb: "heeft" },
@@ -10158,7 +10158,7 @@ function nl_default() {
10158
10158
  };
10159
10159
  }
10160
10160
 
10161
- // ../../node_modules/zod/v4/locales/no.js
10161
+ // ../../../editor-game/node_modules/zod/v4/locales/no.js
10162
10162
  var error30 = () => {
10163
10163
  const Sizable = {
10164
10164
  string: { unit: "tegn", verb: "\xE5 ha" },
@@ -10267,7 +10267,7 @@ function no_default() {
10267
10267
  };
10268
10268
  }
10269
10269
 
10270
- // ../../node_modules/zod/v4/locales/ota.js
10270
+ // ../../../editor-game/node_modules/zod/v4/locales/ota.js
10271
10271
  var error31 = () => {
10272
10272
  const Sizable = {
10273
10273
  string: { unit: "harf", verb: "olmal\u0131d\u0131r" },
@@ -10377,7 +10377,7 @@ function ota_default() {
10377
10377
  };
10378
10378
  }
10379
10379
 
10380
- // ../../node_modules/zod/v4/locales/ps.js
10380
+ // ../../../editor-game/node_modules/zod/v4/locales/ps.js
10381
10381
  var error32 = () => {
10382
10382
  const Sizable = {
10383
10383
  string: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" },
@@ -10492,7 +10492,7 @@ function ps_default() {
10492
10492
  };
10493
10493
  }
10494
10494
 
10495
- // ../../node_modules/zod/v4/locales/pl.js
10495
+ // ../../../editor-game/node_modules/zod/v4/locales/pl.js
10496
10496
  var error33 = () => {
10497
10497
  const Sizable = {
10498
10498
  string: { unit: "znak\xF3w", verb: "mie\u0107" },
@@ -10602,7 +10602,7 @@ function pl_default() {
10602
10602
  };
10603
10603
  }
10604
10604
 
10605
- // ../../node_modules/zod/v4/locales/pt.js
10605
+ // ../../../editor-game/node_modules/zod/v4/locales/pt.js
10606
10606
  var error34 = () => {
10607
10607
  const Sizable = {
10608
10608
  string: { unit: "caracteres", verb: "ter" },
@@ -10711,7 +10711,7 @@ function pt_default() {
10711
10711
  };
10712
10712
  }
10713
10713
 
10714
- // ../../node_modules/zod/v4/locales/ru.js
10714
+ // ../../../editor-game/node_modules/zod/v4/locales/ru.js
10715
10715
  function getRussianPlural(count, one, few, many) {
10716
10716
  const absCount = Math.abs(count);
10717
10717
  const lastDigit = absCount % 10;
@@ -10868,7 +10868,7 @@ function ru_default() {
10868
10868
  };
10869
10869
  }
10870
10870
 
10871
- // ../../node_modules/zod/v4/locales/sl.js
10871
+ // ../../../editor-game/node_modules/zod/v4/locales/sl.js
10872
10872
  var error36 = () => {
10873
10873
  const Sizable = {
10874
10874
  string: { unit: "znakov", verb: "imeti" },
@@ -10978,7 +10978,7 @@ function sl_default() {
10978
10978
  };
10979
10979
  }
10980
10980
 
10981
- // ../../node_modules/zod/v4/locales/sv.js
10981
+ // ../../../editor-game/node_modules/zod/v4/locales/sv.js
10982
10982
  var error37 = () => {
10983
10983
  const Sizable = {
10984
10984
  string: { unit: "tecken", verb: "att ha" },
@@ -11089,7 +11089,7 @@ function sv_default() {
11089
11089
  };
11090
11090
  }
11091
11091
 
11092
- // ../../node_modules/zod/v4/locales/ta.js
11092
+ // ../../../editor-game/node_modules/zod/v4/locales/ta.js
11093
11093
  var error38 = () => {
11094
11094
  const Sizable = {
11095
11095
  string: { unit: "\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" },
@@ -11200,7 +11200,7 @@ function ta_default() {
11200
11200
  };
11201
11201
  }
11202
11202
 
11203
- // ../../node_modules/zod/v4/locales/th.js
11203
+ // ../../../editor-game/node_modules/zod/v4/locales/th.js
11204
11204
  var error39 = () => {
11205
11205
  const Sizable = {
11206
11206
  string: { unit: "\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" },
@@ -11311,7 +11311,7 @@ function th_default() {
11311
11311
  };
11312
11312
  }
11313
11313
 
11314
- // ../../node_modules/zod/v4/locales/tr.js
11314
+ // ../../../editor-game/node_modules/zod/v4/locales/tr.js
11315
11315
  var error40 = () => {
11316
11316
  const Sizable = {
11317
11317
  string: { unit: "karakter", verb: "olmal\u0131" },
@@ -11417,7 +11417,7 @@ function tr_default() {
11417
11417
  };
11418
11418
  }
11419
11419
 
11420
- // ../../node_modules/zod/v4/locales/uk.js
11420
+ // ../../../editor-game/node_modules/zod/v4/locales/uk.js
11421
11421
  var error41 = () => {
11422
11422
  const Sizable = {
11423
11423
  string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" },
@@ -11526,12 +11526,12 @@ function uk_default() {
11526
11526
  };
11527
11527
  }
11528
11528
 
11529
- // ../../node_modules/zod/v4/locales/ua.js
11529
+ // ../../../editor-game/node_modules/zod/v4/locales/ua.js
11530
11530
  function ua_default() {
11531
11531
  return uk_default();
11532
11532
  }
11533
11533
 
11534
- // ../../node_modules/zod/v4/locales/ur.js
11534
+ // ../../../editor-game/node_modules/zod/v4/locales/ur.js
11535
11535
  var error42 = () => {
11536
11536
  const Sizable = {
11537
11537
  string: { unit: "\u062D\u0631\u0648\u0641", verb: "\u06C1\u0648\u0646\u0627" },
@@ -11642,7 +11642,7 @@ function ur_default() {
11642
11642
  };
11643
11643
  }
11644
11644
 
11645
- // ../../node_modules/zod/v4/locales/uz.js
11645
+ // ../../../editor-game/node_modules/zod/v4/locales/uz.js
11646
11646
  var error43 = () => {
11647
11647
  const Sizable = {
11648
11648
  string: { unit: "belgi", verb: "bo\u2018lishi kerak" },
@@ -11752,7 +11752,7 @@ function uz_default() {
11752
11752
  };
11753
11753
  }
11754
11754
 
11755
- // ../../node_modules/zod/v4/locales/vi.js
11755
+ // ../../../editor-game/node_modules/zod/v4/locales/vi.js
11756
11756
  var error44 = () => {
11757
11757
  const Sizable = {
11758
11758
  string: { unit: "k\xFD t\u1EF1", verb: "c\xF3" },
@@ -11861,7 +11861,7 @@ function vi_default() {
11861
11861
  };
11862
11862
  }
11863
11863
 
11864
- // ../../node_modules/zod/v4/locales/zh-CN.js
11864
+ // ../../../editor-game/node_modules/zod/v4/locales/zh-CN.js
11865
11865
  var error45 = () => {
11866
11866
  const Sizable = {
11867
11867
  string: { unit: "\u5B57\u7B26", verb: "\u5305\u542B" },
@@ -11971,7 +11971,7 @@ function zh_CN_default() {
11971
11971
  };
11972
11972
  }
11973
11973
 
11974
- // ../../node_modules/zod/v4/locales/zh-TW.js
11974
+ // ../../../editor-game/node_modules/zod/v4/locales/zh-TW.js
11975
11975
  var error46 = () => {
11976
11976
  const Sizable = {
11977
11977
  string: { unit: "\u5B57\u5143", verb: "\u64C1\u6709" },
@@ -12079,7 +12079,7 @@ function zh_TW_default() {
12079
12079
  };
12080
12080
  }
12081
12081
 
12082
- // ../../node_modules/zod/v4/locales/yo.js
12082
+ // ../../../editor-game/node_modules/zod/v4/locales/yo.js
12083
12083
  var error47 = () => {
12084
12084
  const Sizable = {
12085
12085
  string: { unit: "\xE0mi", verb: "n\xED" },
@@ -12187,7 +12187,7 @@ function yo_default() {
12187
12187
  };
12188
12188
  }
12189
12189
 
12190
- // ../../node_modules/zod/v4/core/registries.js
12190
+ // ../../../editor-game/node_modules/zod/v4/core/registries.js
12191
12191
  var _a;
12192
12192
  var $output = Symbol("ZodOutput");
12193
12193
  var $input = Symbol("ZodInput");
@@ -12237,7 +12237,7 @@ function registry() {
12237
12237
  (_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());
12238
12238
  var globalRegistry = globalThis.__zod_globalRegistry;
12239
12239
 
12240
- // ../../node_modules/zod/v4/core/api.js
12240
+ // ../../../editor-game/node_modules/zod/v4/core/api.js
12241
12241
  // @__NO_SIDE_EFFECTS__
12242
12242
  function _string(Class2, params) {
12243
12243
  return new Class2({
@@ -13276,7 +13276,7 @@ function _stringFormat(Class2, format, fnOrRegex, _params = {}) {
13276
13276
  return inst;
13277
13277
  }
13278
13278
 
13279
- // ../../node_modules/zod/v4/core/to-json-schema.js
13279
+ // ../../../editor-game/node_modules/zod/v4/core/to-json-schema.js
13280
13280
  function initializeContext(params) {
13281
13281
  let target = params?.target ?? "draft-2020-12";
13282
13282
  if (target === "draft-4")
@@ -13628,7 +13628,7 @@ var createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) =
13628
13628
  return finalize(ctx, schema);
13629
13629
  };
13630
13630
 
13631
- // ../../node_modules/zod/v4/core/json-schema-processors.js
13631
+ // ../../../editor-game/node_modules/zod/v4/core/json-schema-processors.js
13632
13632
  var formatMap = {
13633
13633
  guid: "uuid",
13634
13634
  url: "uri",
@@ -14179,7 +14179,7 @@ function toJSONSchema(input, params) {
14179
14179
  return finalize(ctx, input);
14180
14180
  }
14181
14181
 
14182
- // ../../node_modules/zod/v4/core/json-schema-generator.js
14182
+ // ../../../editor-game/node_modules/zod/v4/core/json-schema-generator.js
14183
14183
  var JSONSchemaGenerator = class {
14184
14184
  /** @deprecated Access via ctx instead */
14185
14185
  get metadataRegistry() {
@@ -14254,10 +14254,10 @@ var JSONSchemaGenerator = class {
14254
14254
  }
14255
14255
  };
14256
14256
 
14257
- // ../../node_modules/zod/v4/core/json-schema.js
14257
+ // ../../../editor-game/node_modules/zod/v4/core/json-schema.js
14258
14258
  var json_schema_exports = {};
14259
14259
 
14260
- // ../../node_modules/zod/v4/classic/schemas.js
14260
+ // ../../../editor-game/node_modules/zod/v4/classic/schemas.js
14261
14261
  var schemas_exports2 = {};
14262
14262
  __export(schemas_exports2, {
14263
14263
  ZodAny: () => ZodAny,
@@ -14426,7 +14426,7 @@ __export(schemas_exports2, {
14426
14426
  xor: () => xor
14427
14427
  });
14428
14428
 
14429
- // ../../node_modules/zod/v4/classic/checks.js
14429
+ // ../../../editor-game/node_modules/zod/v4/classic/checks.js
14430
14430
  var checks_exports2 = {};
14431
14431
  __export(checks_exports2, {
14432
14432
  endsWith: () => _endsWith,
@@ -14460,7 +14460,7 @@ __export(checks_exports2, {
14460
14460
  uppercase: () => _uppercase
14461
14461
  });
14462
14462
 
14463
- // ../../node_modules/zod/v4/classic/iso.js
14463
+ // ../../../editor-game/node_modules/zod/v4/classic/iso.js
14464
14464
  var iso_exports = {};
14465
14465
  __export(iso_exports, {
14466
14466
  ZodISODate: () => ZodISODate,
@@ -14501,7 +14501,7 @@ function duration2(params) {
14501
14501
  return _isoDuration(ZodISODuration, params);
14502
14502
  }
14503
14503
 
14504
- // ../../node_modules/zod/v4/classic/errors.js
14504
+ // ../../../editor-game/node_modules/zod/v4/classic/errors.js
14505
14505
  var initializer2 = (inst, issues) => {
14506
14506
  $ZodError.init(inst, issues);
14507
14507
  inst.name = "ZodError";
@@ -14541,7 +14541,7 @@ var ZodRealError = $constructor("ZodError", initializer2, {
14541
14541
  Parent: Error
14542
14542
  });
14543
14543
 
14544
- // ../../node_modules/zod/v4/classic/parse.js
14544
+ // ../../../editor-game/node_modules/zod/v4/classic/parse.js
14545
14545
  var parse2 = /* @__PURE__ */ _parse(ZodRealError);
14546
14546
  var parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError);
14547
14547
  var safeParse2 = /* @__PURE__ */ _safeParse(ZodRealError);
@@ -14555,7 +14555,7 @@ var safeDecode2 = /* @__PURE__ */ _safeDecode(ZodRealError);
14555
14555
  var safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
14556
14556
  var safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
14557
14557
 
14558
- // ../../node_modules/zod/v4/classic/schemas.js
14558
+ // ../../../editor-game/node_modules/zod/v4/classic/schemas.js
14559
14559
  var ZodType = /* @__PURE__ */ $constructor("ZodType", (inst, def) => {
14560
14560
  $ZodType.init(inst, def);
14561
14561
  Object.assign(inst["~standard"], {
@@ -15634,7 +15634,7 @@ function preprocess(fn, schema) {
15634
15634
  return pipe(transform(fn), schema);
15635
15635
  }
15636
15636
 
15637
- // ../../node_modules/zod/v4/classic/compat.js
15637
+ // ../../../editor-game/node_modules/zod/v4/classic/compat.js
15638
15638
  var ZodIssueCode = {
15639
15639
  invalid_type: "invalid_type",
15640
15640
  too_big: "too_big",
@@ -15660,7 +15660,7 @@ var ZodFirstPartyTypeKind;
15660
15660
  /* @__PURE__ */ (function(ZodFirstPartyTypeKind2) {
15661
15661
  })(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
15662
15662
 
15663
- // ../../node_modules/zod/v4/classic/from-json-schema.js
15663
+ // ../../../editor-game/node_modules/zod/v4/classic/from-json-schema.js
15664
15664
  var z = {
15665
15665
  ...schemas_exports2,
15666
15666
  ...checks_exports2,
@@ -16134,7 +16134,7 @@ function fromJSONSchema(schema, params) {
16134
16134
  return convertSchema(schema, ctx);
16135
16135
  }
16136
16136
 
16137
- // ../../node_modules/zod/v4/classic/coerce.js
16137
+ // ../../../editor-game/node_modules/zod/v4/classic/coerce.js
16138
16138
  var coerce_exports = {};
16139
16139
  __export(coerce_exports, {
16140
16140
  bigint: () => bigint3,
@@ -16159,7 +16159,7 @@ function date4(params) {
16159
16159
  return _coercedDate(ZodDate, params);
16160
16160
  }
16161
16161
 
16162
- // ../../node_modules/zod/v4/classic/external.js
16162
+ // ../../../editor-game/node_modules/zod/v4/classic/external.js
16163
16163
  config(en_default());
16164
16164
 
16165
16165
  // ../editor-project/src/manifest/schema.ts
@@ -17810,7 +17810,7 @@ async function ensureTab(serverUrl, noOpen) {
17810
17810
  if (outcome.status !== "connected") throw new Error(`Editor page ${outcome.status === "never-arrived" ? "did not arrive" : "arrived but did not become ready"}; open the printed workbench URL and inspect the session log.`);
17811
17811
  }
17812
17812
 
17813
- // ../editor-core/dist/server/chunk-IVCRYPQI.js
17813
+ // ../editor-core/dist/server/chunk-BH4IOORU.js
17814
17814
  import { Agent, fetch as nodeFetch } from "undici";
17815
17815
  function createDispatcher(timeoutMs) {
17816
17816
  return new Agent({ headersTimeout: timeoutMs, bodyTimeout: timeoutMs });
@@ -18945,127 +18945,6 @@ var EditorClient = class {
18945
18945
  throw new Error(`waitForState timed out after ${timeoutMs}ms`);
18946
18946
  }
18947
18947
  };
18948
-
18949
- // ../editor-core/dist/server/launcher/control.js
18950
- import { connect, unconnectedBindings } from "@volter/editor-live";
18951
- var NOISE = /* @__PURE__ */ new Set(["constructor", "then", "catch", "finally"]);
18952
- var FUNCTION_NOISE = /* @__PURE__ */ new Set(["length", "name", "prototype", "arguments", "caller"]);
18953
- function describe3(target, key) {
18954
- let current = target;
18955
- while (current !== null) {
18956
- const descriptor = Object.getOwnPropertyDescriptor(current, key);
18957
- if (descriptor !== void 0) return descriptor;
18958
- current = Object.getPrototypeOf(current);
18959
- }
18960
- return void 0;
18961
- }
18962
- function ownAndInheritedKeys(target) {
18963
- const targetIsFunction = typeof target === "function";
18964
- const keys = [];
18965
- const seen = /* @__PURE__ */ new Set();
18966
- let current = target;
18967
- while (current !== null && current !== Object.prototype && current !== Function.prototype && current !== Array.prototype) {
18968
- for (const name of Object.getOwnPropertyNames(current)) {
18969
- if (seen.has(name)) continue;
18970
- seen.add(name);
18971
- if (NOISE.has(name) || name.startsWith("_")) continue;
18972
- if (targetIsFunction && FUNCTION_NOISE.has(name)) continue;
18973
- keys.push(name);
18974
- }
18975
- current = Object.getPrototypeOf(current);
18976
- }
18977
- return keys;
18978
- }
18979
- function isNamespace(value) {
18980
- if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
18981
- const proto = Object.getPrototypeOf(value);
18982
- if (proto === Object.prototype || proto === null) return false;
18983
- return ownAndInheritedKeys(value).some((key) => typeof describe3(value, key)?.value === "function");
18984
- }
18985
- function surfaceMembers(target) {
18986
- if (typeof target !== "object" && typeof target !== "function" || target === null) return [];
18987
- const members = [];
18988
- for (const name of ownAndInheritedKeys(target)) {
18989
- const descriptor = describe3(target, name);
18990
- if (descriptor === void 0) continue;
18991
- if (descriptor.get !== void 0 || descriptor.set !== void 0) {
18992
- members.push({ name, kind: "value", arity: 0 });
18993
- continue;
18994
- }
18995
- const value = descriptor.value;
18996
- if (typeof value === "function") members.push({ name, kind: "method", arity: value.length });
18997
- else if (isNamespace(value)) {
18998
- for (const inner of ownAndInheritedKeys(value)) {
18999
- const innerValue = describe3(value, inner)?.value;
19000
- if (typeof innerValue === "function") members.push({ name: `${name}.${inner}`, kind: "method", arity: innerValue.length });
19001
- }
19002
- } else members.push({ name, kind: "value", arity: 0 });
19003
- }
19004
- return members.sort((a, b) => a.name.localeCompare(b.name));
19005
- }
19006
- function formatSurface(command, bindings) {
19007
- const lines = [`In scope for \`${command} eval\` (read from the objects themselves):`, ""];
19008
- for (const [binding, target] of Object.entries(bindings)) {
19009
- const members = surfaceMembers(target);
19010
- lines.push(binding);
19011
- if (members.length === 0) lines.push(` (data; inspect it with: ${command} eval 'return ${binding}')`);
19012
- const names = members.map((m) => m.kind === "method" ? `${m.name}(${m.arity || ""})` : m.name);
19013
- const width = Math.max(0, ...names.map((n) => n.length)) + 2;
19014
- for (let i = 0; i < names.length; i += 3) lines.push(` ${names.slice(i, i + 3).map((n) => n.padEnd(width)).join("").trimEnd()}`);
19015
- lines.push("");
19016
- }
19017
- lines.push("Parens mark a method; the number is its declared parameter count. A bare name is a field.");
19018
- return lines.join("\n");
19019
- }
19020
- async function control(command, verb, argument, reason, scope) {
19021
- if (verb === "eval" && argument === "--list") {
19022
- const unconnected = { ...unconnectedBindings(), session: { port: 0, projectRoot: process.cwd() } };
19023
- console.log(formatSurface(command, { ...unconnected, ...scope?.(unconnected) }));
19024
- return;
19025
- }
19026
- const live = await connect();
19027
- const client = new EditorClient({ url: `http://127.0.0.1:${live.session.port}` });
19028
- if (verb === "close") {
19029
- const session = (await verifiedSessions(live.session.port)).find((s) => s.port === live.session.port && s.project === live.session.projectRoot && s.registered);
19030
- if (!session?.pid) throw new Error("Cannot close a session without verified process ownership.");
19031
- const state = await client.getState();
19032
- if (state.connected || (state.tabs?.length ?? 0) > 0) await client.prepareClose();
19033
- console.log(await terminateEditorSession({ pid: session.pid }));
19034
- return;
19035
- }
19036
- if (verb === "console-ack") {
19037
- if (!argument || !reason?.trim()) throw new Error("Acknowledgment requires a console entry id and a reason.");
19038
- const result = await client.acknowledgeConsole({ id: argument, reason, by: `${command} CLI` });
19039
- if (result.ok !== true) throw new Error(result.error ?? "Console acknowledgment failed.");
19040
- console.log(JSON.stringify(result, null, 2));
19041
- } else if (verb === "status") console.log(JSON.stringify(await live.editor.status(), null, 2));
19042
- else if (verb === "eval") {
19043
- if (!argument) throw new Error(`eval requires JavaScript; \`${command} eval --list\` shows what is in scope.`);
19044
- const AsyncFunction = Object.getPrototypeOf(async function() {
19045
- }).constructor;
19046
- const bindings = { editor: live.editor, tools: live.tools, session: live.session, ...scope?.(live) };
19047
- let body;
19048
- try {
19049
- body = new AsyncFunction(...Object.keys(bindings), `return (${argument}
19050
- );`);
19051
- } catch {
19052
- body = new AsyncFunction(...Object.keys(bindings), argument);
19053
- }
19054
- const result = await body(...Object.values(bindings));
19055
- if (result !== void 0) console.log(JSON.stringify(result, null, 2));
19056
- } else if (verb !== "console") throw new Error(`Unknown command: ${verb}`);
19057
- const consoleState = await client.getUnresolvedConsole();
19058
- if (consoleState.entries?.length) {
19059
- console.error(JSON.stringify(consoleState, null, 2));
19060
- process.exitCode = 1;
19061
- }
19062
- }
19063
-
19064
- // ../editor-core/dist/server/launcher/session-verbs.js
19065
- import { existsSync as existsSync4, mkdirSync as mkdirSync4, readFileSync as readFileSync4, statSync as statSync2, writeFileSync as writeFileSync3 } from "node:fs";
19066
- import { basename as basename2, dirname as dirname3, join as join23, resolve as resolve23 } from "node:path";
19067
- import { resolveSession } from "@volter/editor-live";
19068
- import { isAbsolute as isAbsolute3, join as join6, relative as relative2, resolve as resolve5 } from "node:path";
19069
18948
  var DEFAULT_RELAY_COMMAND_TIMEOUT_MS = 5e3;
19070
18949
  var noDerivedRefresh = (timeoutMs = DEFAULT_RELAY_COMMAND_TIMEOUT_MS) => ({
19071
18950
  timeoutMs,
@@ -19186,6 +19065,166 @@ var RELAY_COMMANDS = {
19186
19065
  // now on the contributed row instead of here.
19187
19066
  };
19188
19067
  var RELAY_COMMAND_TYPES = Object.keys(RELAY_COMMANDS);
19068
+
19069
+ // ../editor-core/dist/server/launcher/control.js
19070
+ import { connect, unconnectedBindings } from "@volter/editor-live";
19071
+ var NOISE = /* @__PURE__ */ new Set(["constructor", "then", "catch", "finally"]);
19072
+ var FUNCTION_NOISE = /* @__PURE__ */ new Set(["length", "name", "prototype", "arguments", "caller"]);
19073
+ function describe3(target, key) {
19074
+ let current = target;
19075
+ while (current !== null) {
19076
+ const descriptor = Object.getOwnPropertyDescriptor(current, key);
19077
+ if (descriptor !== void 0) return descriptor;
19078
+ current = Object.getPrototypeOf(current);
19079
+ }
19080
+ return void 0;
19081
+ }
19082
+ function ownAndInheritedKeys(target) {
19083
+ const targetIsFunction = typeof target === "function";
19084
+ const keys = [];
19085
+ const seen = /* @__PURE__ */ new Set();
19086
+ let current = target;
19087
+ while (current !== null && current !== Object.prototype && current !== Function.prototype && current !== Array.prototype) {
19088
+ for (const name of Object.getOwnPropertyNames(current)) {
19089
+ if (seen.has(name)) continue;
19090
+ seen.add(name);
19091
+ if (NOISE.has(name) || name.startsWith("_")) continue;
19092
+ if (targetIsFunction && FUNCTION_NOISE.has(name)) continue;
19093
+ keys.push(name);
19094
+ }
19095
+ current = Object.getPrototypeOf(current);
19096
+ }
19097
+ return keys;
19098
+ }
19099
+ function isNamespace(value) {
19100
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
19101
+ const proto = Object.getPrototypeOf(value);
19102
+ if (proto === Object.prototype || proto === null) return false;
19103
+ return ownAndInheritedKeys(value).some((key) => typeof describe3(value, key)?.value === "function");
19104
+ }
19105
+ function surfaceMembers(target) {
19106
+ if (typeof target !== "object" && typeof target !== "function" || target === null) return [];
19107
+ const members = [];
19108
+ for (const name of ownAndInheritedKeys(target)) {
19109
+ const descriptor = describe3(target, name);
19110
+ if (descriptor === void 0) continue;
19111
+ if (descriptor.get !== void 0 || descriptor.set !== void 0) {
19112
+ members.push({ name, kind: "value", arity: 0 });
19113
+ continue;
19114
+ }
19115
+ const value = descriptor.value;
19116
+ if (typeof value === "function") members.push({ name, kind: "method", arity: value.length });
19117
+ else if (isNamespace(value)) {
19118
+ for (const inner of ownAndInheritedKeys(value)) {
19119
+ const innerValue = describe3(value, inner)?.value;
19120
+ if (typeof innerValue === "function") members.push({ name: `${name}.${inner}`, kind: "method", arity: innerValue.length });
19121
+ }
19122
+ } else members.push({ name, kind: "value", arity: 0 });
19123
+ }
19124
+ return members.sort((a, b) => a.name.localeCompare(b.name));
19125
+ }
19126
+ function formatSurface(command, bindings) {
19127
+ const lines = [`In scope for \`${command} eval\` (read from the objects themselves):`, ""];
19128
+ for (const [binding, target] of Object.entries(bindings)) {
19129
+ const members = surfaceMembers(target);
19130
+ lines.push(binding);
19131
+ if (members.length === 0) lines.push(` (data; inspect it with: ${command} eval 'return ${binding}')`);
19132
+ const names = members.map((m) => m.kind === "method" ? `${m.name}(${m.arity || ""})` : m.name);
19133
+ const width = Math.max(0, ...names.map((n) => n.length)) + 2;
19134
+ for (let i = 0; i < names.length; i += 3) lines.push(` ${names.slice(i, i + 3).map((n) => n.padEnd(width)).join("").trimEnd()}`);
19135
+ lines.push("");
19136
+ }
19137
+ lines.push("Parens mark a method; the number is its declared parameter count. A bare name is a field.");
19138
+ return lines.join("\n");
19139
+ }
19140
+ var LOOK_CONTRIBUTION_KINDS = ["layout", "keymap", "style", "view", "environment"];
19141
+ var TOOL_CONTRIBUTION_SUFFIXES = [
19142
+ ".document",
19143
+ ".inspector",
19144
+ ".asset-inspector",
19145
+ ".result",
19146
+ ".utility",
19147
+ ".analytics",
19148
+ // A STATUS-BAR item (`workspace-status-registry.ts`): compact, passive,
19149
+ // registered under `tool:<id>` like a utility tab.
19150
+ ".status",
19151
+ // A configuration KIND contribution (ARCHITECTURE-CORE §The project model);
19152
+ // read by the hosts that load the manifest, never mounted as UI.
19153
+ ".kind",
19154
+ // A FINDER contribution — registered into the finder registry by the host
19155
+ // that resolves the document table (the browser), never mounted as UI.
19156
+ ".finder",
19157
+ ...LOOK_CONTRIBUTION_KINDS.map((kind) => `.${kind}`),
19158
+ // A COMMAND table (`@volter/editor-sdk/commands`): session verbs a package
19159
+ // answers, registered with the host's relay; data, no UI.
19160
+ ".command",
19161
+ // The CHROME points (`@volter/editor-sdk/chrome`): palette actions and
19162
+ // application-menu items; data the host renders in its own chrome.
19163
+ ".action",
19164
+ ".menu",
19165
+ // A HEADER item: a component in the project header's transport cluster.
19166
+ ".header",
19167
+ // A SERVICE (`@volter/editor-sdk/services`): code a package runs while its
19168
+ // contributions are loaded — started after a pass, stopped before the next.
19169
+ ".service"
19170
+ ];
19171
+ var CONTROLLER_DISCONNECTED_MESSAGE = "The editor tab controlling this command disconnected before reporting a result.";
19172
+ async function control(command, verb, argument, reason, scope) {
19173
+ if (verb === "eval" && argument === "--list") {
19174
+ const unconnected = { ...unconnectedBindings(), session: { port: 0, projectRoot: process.cwd() } };
19175
+ console.log(formatSurface(command, { ...unconnected, ...scope?.(unconnected) }));
19176
+ return;
19177
+ }
19178
+ const live = await connect();
19179
+ const client = new EditorClient({ url: `http://127.0.0.1:${live.session.port}` });
19180
+ if (verb === "close") {
19181
+ const session = (await verifiedSessions(live.session.port)).find((s) => s.port === live.session.port && s.project === live.session.projectRoot && s.registered);
19182
+ if (!session?.pid) throw new Error("Cannot close a session without verified process ownership.");
19183
+ const state = await client.getState();
19184
+ if (state.connected || (state.tabs?.length ?? 0) > 0) {
19185
+ try {
19186
+ await client.prepareClose();
19187
+ } catch (error48) {
19188
+ const message = error48 instanceof Error ? error48.message : String(error48);
19189
+ if (!message.includes(CONTROLLER_DISCONNECTED_MESSAGE)) throw error48;
19190
+ }
19191
+ }
19192
+ console.log(await terminateEditorSession({ pid: session.pid }));
19193
+ return;
19194
+ }
19195
+ if (verb === "console-ack") {
19196
+ if (!argument || !reason?.trim()) throw new Error("Acknowledgment requires a console entry id and a reason.");
19197
+ const result = await client.acknowledgeConsole({ id: argument, reason, by: `${command} CLI` });
19198
+ if (result.ok !== true) throw new Error(result.error ?? "Console acknowledgment failed.");
19199
+ console.log(JSON.stringify(result, null, 2));
19200
+ } else if (verb === "status") console.log(JSON.stringify(await live.editor.status(), null, 2));
19201
+ else if (verb === "eval") {
19202
+ if (!argument) throw new Error(`eval requires JavaScript; \`${command} eval --list\` shows what is in scope.`);
19203
+ const AsyncFunction = Object.getPrototypeOf(async function() {
19204
+ }).constructor;
19205
+ const bindings = { editor: live.editor, tools: live.tools, session: live.session, ...scope?.(live) };
19206
+ let body;
19207
+ try {
19208
+ body = new AsyncFunction(...Object.keys(bindings), `return (${argument}
19209
+ );`);
19210
+ } catch {
19211
+ body = new AsyncFunction(...Object.keys(bindings), argument);
19212
+ }
19213
+ const result = await body(...Object.values(bindings));
19214
+ if (result !== void 0) console.log(JSON.stringify(result, null, 2));
19215
+ } else if (verb !== "console") throw new Error(`Unknown command: ${verb}`);
19216
+ const consoleState = await client.getUnresolvedConsole();
19217
+ if (consoleState.entries?.length) {
19218
+ console.error(JSON.stringify(consoleState, null, 2));
19219
+ process.exitCode = 1;
19220
+ }
19221
+ }
19222
+
19223
+ // ../editor-core/dist/server/launcher/session-verbs.js
19224
+ import { existsSync as existsSync4, mkdirSync as mkdirSync4, readFileSync as readFileSync4, statSync as statSync2, writeFileSync as writeFileSync3 } from "node:fs";
19225
+ import { basename as basename2, dirname as dirname3, join as join23, resolve as resolve23 } from "node:path";
19226
+ import { resolveSession } from "@volter/editor-live";
19227
+ import { isAbsolute as isAbsolute3, join as join6, relative as relative2, resolve as resolve5 } from "node:path";
19189
19228
  var MODEL_TARGET_EXTENSIONS = [".glb", ".gltf", ".spz"];
19190
19229
  var MODULE_TARGET_EXTENSIONS = [".ts", ".tsx"];
19191
19230
  var endsWithAny = (value, suffixes) => {