@alpsckr/unitycli 0.4.0

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 (1066) hide show
  1. package/README.md +389 -0
  2. package/contracts/command-contract.json +3972 -0
  3. package/contracts/stable-session/admission-acquire-v1.schema.json +16 -0
  4. package/contracts/stable-session/admission-response-v1.schema.json +30 -0
  5. package/contracts/stable-session/admission-revoke-v1.schema.json +15 -0
  6. package/contracts/stable-session/admission-transport-v1.json +36 -0
  7. package/contracts/stable-session/bridge-request-v2.schema.json +26 -0
  8. package/contracts/stable-session/canonical-path-v1-golden.json +23 -0
  9. package/contracts/stable-session/completion-contract.schema.json +46 -0
  10. package/contracts/stable-session/direct-call-semantics.json +102 -0
  11. package/contracts/stable-session/editor-state.schema.json +92 -0
  12. package/contracts/stable-session/health-v3.schema.json +47 -0
  13. package/contracts/stable-session/instance-registry-v3.schema.json +152 -0
  14. package/contracts/stable-session/removal-map.json +27 -0
  15. package/contracts/stable-session/request-digest-v1-golden.json +7 -0
  16. package/contracts/stable-session/runtime-config-v2.schema.json +27 -0
  17. package/contracts/static-capability-catalog.json +48226 -0
  18. package/contracts/tool-completion-contract.json +11322 -0
  19. package/dist/args.d.ts +27 -0
  20. package/dist/args.js +109 -0
  21. package/dist/args.js.map +1 -0
  22. package/dist/bridge/admission.d.ts +28 -0
  23. package/dist/bridge/admission.js +29 -0
  24. package/dist/bridge/admission.js.map +1 -0
  25. package/dist/bridge/args.d.ts +16 -0
  26. package/dist/bridge/args.js +123 -0
  27. package/dist/bridge/args.js.map +1 -0
  28. package/dist/bridge/domains/animation.d.ts +2 -0
  29. package/dist/bridge/domains/animation.js +199 -0
  30. package/dist/bridge/domains/animation.js.map +1 -0
  31. package/dist/bridge/domains/asset.d.ts +2 -0
  32. package/dist/bridge/domains/asset.js +85 -0
  33. package/dist/bridge/domains/asset.js.map +1 -0
  34. package/dist/bridge/domains/build.d.ts +2 -0
  35. package/dist/bridge/domains/build.js +35 -0
  36. package/dist/bridge/domains/build.js.map +1 -0
  37. package/dist/bridge/domains/camera.d.ts +2 -0
  38. package/dist/bridge/domains/camera.js +54 -0
  39. package/dist/bridge/domains/camera.js.map +1 -0
  40. package/dist/bridge/domains/code.d.ts +2 -0
  41. package/dist/bridge/domains/code.js +17 -0
  42. package/dist/bridge/domains/code.js.map +1 -0
  43. package/dist/bridge/domains/console.d.ts +2 -0
  44. package/dist/bridge/domains/console.js +34 -0
  45. package/dist/bridge/domains/console.js.map +1 -0
  46. package/dist/bridge/domains/diagnose.d.ts +2 -0
  47. package/dist/bridge/domains/diagnose.js +11 -0
  48. package/dist/bridge/domains/diagnose.js.map +1 -0
  49. package/dist/bridge/domains/editor.d.ts +2 -0
  50. package/dist/bridge/domains/editor.js +66 -0
  51. package/dist/bridge/domains/editor.js.map +1 -0
  52. package/dist/bridge/domains/extension.d.ts +8 -0
  53. package/dist/bridge/domains/extension.js +20 -0
  54. package/dist/bridge/domains/extension.js.map +1 -0
  55. package/dist/bridge/domains/game-object.d.ts +2 -0
  56. package/dist/bridge/domains/game-object.js +179 -0
  57. package/dist/bridge/domains/game-object.js.map +1 -0
  58. package/dist/bridge/domains/graphics.d.ts +2 -0
  59. package/dist/bridge/domains/graphics.js +185 -0
  60. package/dist/bridge/domains/graphics.js.map +1 -0
  61. package/dist/bridge/domains/material.d.ts +2 -0
  62. package/dist/bridge/domains/material.js +70 -0
  63. package/dist/bridge/domains/material.js.map +1 -0
  64. package/dist/bridge/domains/navmesh.d.ts +2 -0
  65. package/dist/bridge/domains/navmesh.js +34 -0
  66. package/dist/bridge/domains/navmesh.js.map +1 -0
  67. package/dist/bridge/domains/object.d.ts +2 -0
  68. package/dist/bridge/domains/object.js +43 -0
  69. package/dist/bridge/domains/object.js.map +1 -0
  70. package/dist/bridge/domains/occlusion.d.ts +2 -0
  71. package/dist/bridge/domains/occlusion.js +12 -0
  72. package/dist/bridge/domains/occlusion.js.map +1 -0
  73. package/dist/bridge/domains/package.d.ts +2 -0
  74. package/dist/bridge/domains/package.js +2 -0
  75. package/dist/bridge/domains/package.js.map +1 -0
  76. package/dist/bridge/domains/physics.d.ts +2 -0
  77. package/dist/bridge/domains/physics.js +139 -0
  78. package/dist/bridge/domains/physics.js.map +1 -0
  79. package/dist/bridge/domains/prefab.d.ts +2 -0
  80. package/dist/bridge/domains/prefab.js +104 -0
  81. package/dist/bridge/domains/prefab.js.map +1 -0
  82. package/dist/bridge/domains/profiler.d.ts +2 -0
  83. package/dist/bridge/domains/profiler.js +105 -0
  84. package/dist/bridge/domains/profiler.js.map +1 -0
  85. package/dist/bridge/domains/project-tool.d.ts +2 -0
  86. package/dist/bridge/domains/project-tool.js +46 -0
  87. package/dist/bridge/domains/project-tool.js.map +1 -0
  88. package/dist/bridge/domains/reflection.d.ts +2 -0
  89. package/dist/bridge/domains/reflection.js +48 -0
  90. package/dist/bridge/domains/reflection.js.map +1 -0
  91. package/dist/bridge/domains/runtime-tool.d.ts +2 -0
  92. package/dist/bridge/domains/runtime-tool.js +48 -0
  93. package/dist/bridge/domains/runtime-tool.js.map +1 -0
  94. package/dist/bridge/domains/scene.d.ts +2 -0
  95. package/dist/bridge/domains/scene.js +100 -0
  96. package/dist/bridge/domains/scene.js.map +1 -0
  97. package/dist/bridge/domains/screenshot.d.ts +2 -0
  98. package/dist/bridge/domains/screenshot.js +85 -0
  99. package/dist/bridge/domains/screenshot.js.map +1 -0
  100. package/dist/bridge/domains/scriptable-object.d.ts +2 -0
  101. package/dist/bridge/domains/scriptable-object.js +53 -0
  102. package/dist/bridge/domains/scriptable-object.js.map +1 -0
  103. package/dist/bridge/domains/shader.d.ts +2 -0
  104. package/dist/bridge/domains/shader.js +66 -0
  105. package/dist/bridge/domains/shader.js.map +1 -0
  106. package/dist/bridge/domains/texture.d.ts +2 -0
  107. package/dist/bridge/domains/texture.js +78 -0
  108. package/dist/bridge/domains/texture.js.map +1 -0
  109. package/dist/bridge/domains/timeline.d.ts +2 -0
  110. package/dist/bridge/domains/timeline.js +75 -0
  111. package/dist/bridge/domains/timeline.js.map +1 -0
  112. package/dist/bridge/domains/ui.d.ts +2 -0
  113. package/dist/bridge/domains/ui.js +193 -0
  114. package/dist/bridge/domains/ui.js.map +1 -0
  115. package/dist/bridge/index.d.ts +9 -0
  116. package/dist/bridge/index.js +124 -0
  117. package/dist/bridge/index.js.map +1 -0
  118. package/dist/bridge/registry.d.ts +19 -0
  119. package/dist/bridge/registry.js +114 -0
  120. package/dist/bridge/registry.js.map +1 -0
  121. package/dist/bridge/session-supervisor.d.ts +138 -0
  122. package/dist/bridge/session-supervisor.js +873 -0
  123. package/dist/bridge/session-supervisor.js.map +1 -0
  124. package/dist/bridge/types.d.ts +61 -0
  125. package/dist/bridge/types.js +17 -0
  126. package/dist/bridge/types.js.map +1 -0
  127. package/dist/capabilities.d.ts +5 -0
  128. package/dist/capabilities.js +84 -0
  129. package/dist/capabilities.js.map +1 -0
  130. package/dist/cli-commands/command.d.ts +7 -0
  131. package/dist/cli-commands/command.js +513 -0
  132. package/dist/cli-commands/command.js.map +1 -0
  133. package/dist/cli-commands/extension-auto-detect.d.ts +62 -0
  134. package/dist/cli-commands/extension-auto-detect.js +119 -0
  135. package/dist/cli-commands/extension-auto-detect.js.map +1 -0
  136. package/dist/cli-commands/extensions.d.ts +24 -0
  137. package/dist/cli-commands/extensions.js +428 -0
  138. package/dist/cli-commands/extensions.js.map +1 -0
  139. package/dist/cli-commands/package.d.ts +4 -0
  140. package/dist/cli-commands/package.js +151 -0
  141. package/dist/cli-commands/package.js.map +1 -0
  142. package/dist/cli-commands/skill-installer.d.ts +83 -0
  143. package/dist/cli-commands/skill-installer.js +703 -0
  144. package/dist/cli-commands/skill-installer.js.map +1 -0
  145. package/dist/cli-commands/types.d.ts +17 -0
  146. package/dist/cli-commands/types.js +2 -0
  147. package/dist/cli-commands/types.js.map +1 -0
  148. package/dist/cli.d.ts +17 -0
  149. package/dist/cli.js +302 -0
  150. package/dist/cli.js.map +1 -0
  151. package/dist/contracts/command-contract.d.ts +21 -0
  152. package/dist/contracts/command-contract.js +143 -0
  153. package/dist/contracts/command-contract.js.map +1 -0
  154. package/dist/contracts/csharp-command-extractor.d.ts +1 -0
  155. package/dist/contracts/csharp-command-extractor.js +89 -0
  156. package/dist/contracts/csharp-command-extractor.js.map +1 -0
  157. package/dist/contracts/validate-command-contract.d.ts +1 -0
  158. package/dist/contracts/validate-command-contract.js +86 -0
  159. package/dist/contracts/validate-command-contract.js.map +1 -0
  160. package/dist/doctor.d.ts +22 -0
  161. package/dist/doctor.js +498 -0
  162. package/dist/doctor.js.map +1 -0
  163. package/dist/editor-blocker-observer.d.ts +45 -0
  164. package/dist/editor-blocker-observer.js +55 -0
  165. package/dist/editor-blocker-observer.js.map +1 -0
  166. package/dist/editor-dialogs.d.ts +53 -0
  167. package/dist/editor-dialogs.js +79 -0
  168. package/dist/editor-dialogs.js.map +1 -0
  169. package/dist/extension-availability.d.ts +30 -0
  170. package/dist/extension-availability.js +83 -0
  171. package/dist/extension-availability.js.map +1 -0
  172. package/dist/extensions/.generated-bridge-domains/cinemachine.d.ts +2 -0
  173. package/dist/extensions/.generated-bridge-domains/cinemachine.js +104 -0
  174. package/dist/extensions/.generated-bridge-domains/cinemachine.js.map +1 -0
  175. package/dist/extensions/.generated-bridge-domains/hdrp.d.ts +2 -0
  176. package/dist/extensions/.generated-bridge-domains/hdrp.js +35 -0
  177. package/dist/extensions/.generated-bridge-domains/hdrp.js.map +1 -0
  178. package/dist/extensions/.generated-bridge-domains/probuilder.d.ts +13 -0
  179. package/dist/extensions/.generated-bridge-domains/probuilder.js +342 -0
  180. package/dist/extensions/.generated-bridge-domains/probuilder.js.map +1 -0
  181. package/dist/extensions/.generated-bridge-domains/urp.d.ts +2 -0
  182. package/dist/extensions/.generated-bridge-domains/urp.js +52 -0
  183. package/dist/extensions/.generated-bridge-domains/urp.js.map +1 -0
  184. package/dist/extensions/.generated-bridge-domains/vfx.d.ts +2 -0
  185. package/dist/extensions/.generated-bridge-domains/vfx.js +312 -0
  186. package/dist/extensions/.generated-bridge-domains/vfx.js.map +1 -0
  187. package/dist/extensions/.generated-registry-data.d.ts +7 -0
  188. package/dist/extensions/.generated-registry-data.js +895 -0
  189. package/dist/extensions/.generated-registry-data.js.map +1 -0
  190. package/dist/extensions/contribution-loader.d.ts +27 -0
  191. package/dist/extensions/contribution-loader.js +60 -0
  192. package/dist/extensions/contribution-loader.js.map +1 -0
  193. package/dist/extensions/descriptor-loader.d.ts +73 -0
  194. package/dist/extensions/descriptor-loader.js +126 -0
  195. package/dist/extensions/descriptor-loader.js.map +1 -0
  196. package/dist/extensions/index.d.ts +19 -0
  197. package/dist/extensions/index.js +23 -0
  198. package/dist/extensions/index.js.map +1 -0
  199. package/dist/extensions/installer.d.ts +80 -0
  200. package/dist/extensions/installer.js +594 -0
  201. package/dist/extensions/installer.js.map +1 -0
  202. package/dist/extensions/metadata/index.d.ts +15 -0
  203. package/dist/extensions/metadata/index.js +41 -0
  204. package/dist/extensions/metadata/index.js.map +1 -0
  205. package/dist/extensions/metadata/types.d.ts +38 -0
  206. package/dist/extensions/metadata/types.js +11 -0
  207. package/dist/extensions/metadata/types.js.map +1 -0
  208. package/dist/extensions/project-resolver.d.ts +35 -0
  209. package/dist/extensions/project-resolver.js +61 -0
  210. package/dist/extensions/project-resolver.js.map +1 -0
  211. package/dist/extensions/registry.d.ts +86 -0
  212. package/dist/extensions/registry.js +262 -0
  213. package/dist/extensions/registry.js.map +1 -0
  214. package/dist/extensions/tool-manifest.d.ts +29 -0
  215. package/dist/extensions/tool-manifest.js +53 -0
  216. package/dist/extensions/tool-manifest.js.map +1 -0
  217. package/dist/extensions/types.d.ts +115 -0
  218. package/dist/extensions/types.js +12 -0
  219. package/dist/extensions/types.js.map +1 -0
  220. package/dist/instances.d.ts +163 -0
  221. package/dist/instances.js +1137 -0
  222. package/dist/instances.js.map +1 -0
  223. package/dist/output.d.ts +119 -0
  224. package/dist/output.js +204 -0
  225. package/dist/output.js.map +1 -0
  226. package/dist/package-manager.d.ts +280 -0
  227. package/dist/package-manager.js +1832 -0
  228. package/dist/package-manager.js.map +1 -0
  229. package/dist/platform.d.ts +3 -0
  230. package/dist/platform.js +19 -0
  231. package/dist/platform.js.map +1 -0
  232. package/dist/project-identity.d.ts +48 -0
  233. package/dist/project-identity.js +254 -0
  234. package/dist/project-identity.js.map +1 -0
  235. package/dist/project-tool-discovery.d.ts +23 -0
  236. package/dist/project-tool-discovery.js +292 -0
  237. package/dist/project-tool-discovery.js.map +1 -0
  238. package/dist/protocol/envelope.d.ts +64 -0
  239. package/dist/protocol/envelope.js +8 -0
  240. package/dist/protocol/envelope.js.map +1 -0
  241. package/dist/protocol/index.d.ts +7 -0
  242. package/dist/protocol/index.js +2 -0
  243. package/dist/protocol/index.js.map +1 -0
  244. package/dist/runtime-code.d.ts +20 -0
  245. package/dist/runtime-code.js +232 -0
  246. package/dist/runtime-code.js.map +1 -0
  247. package/dist/schema/any-json.d.ts +4 -0
  248. package/dist/schema/any-json.js +2 -0
  249. package/dist/schema/any-json.js.map +1 -0
  250. package/dist/schema/validator.d.ts +7 -0
  251. package/dist/schema/validator.js +135 -0
  252. package/dist/schema/validator.js.map +1 -0
  253. package/dist/services/docs-reflect-cache.d.ts +106 -0
  254. package/dist/services/docs-reflect-cache.js +301 -0
  255. package/dist/services/docs-reflect-cache.js.map +1 -0
  256. package/dist/services/docs-service.d.ts +16 -0
  257. package/dist/services/docs-service.js +208 -0
  258. package/dist/services/docs-service.js.map +1 -0
  259. package/dist/services/reflect-service.d.ts +12 -0
  260. package/dist/services/reflect-service.js +122 -0
  261. package/dist/services/reflect-service.js.map +1 -0
  262. package/dist/static-capability-catalog.d.ts +13 -0
  263. package/dist/static-capability-catalog.js +41 -0
  264. package/dist/static-capability-catalog.js.map +1 -0
  265. package/dist/test-results.d.ts +13 -0
  266. package/dist/test-results.js +44 -0
  267. package/dist/test-results.js.map +1 -0
  268. package/dist/tools/.generated-completion-registry.d.ts +17 -0
  269. package/dist/tools/.generated-completion-registry.js +5862 -0
  270. package/dist/tools/.generated-completion-registry.js.map +1 -0
  271. package/dist/tools/.generated-registry.d.ts +53 -0
  272. package/dist/tools/.generated-registry.js +55 -0
  273. package/dist/tools/.generated-registry.js.map +1 -0
  274. package/dist/tools/.generated-schemas.d.ts +1 -0
  275. package/dist/tools/.generated-schemas.js +56 -0
  276. package/dist/tools/.generated-schemas.js.map +1 -0
  277. package/dist/tools/asset/refresh.d.ts +26 -0
  278. package/dist/tools/asset/refresh.js +97 -0
  279. package/dist/tools/asset/refresh.js.map +1 -0
  280. package/dist/tools/build/run.d.ts +45 -0
  281. package/dist/tools/build/run.js +115 -0
  282. package/dist/tools/build/run.js.map +1 -0
  283. package/dist/tools/catalog.d.ts +33 -0
  284. package/dist/tools/catalog.js +202 -0
  285. package/dist/tools/catalog.js.map +1 -0
  286. package/dist/tools/code/exec.d.ts +53 -0
  287. package/dist/tools/code/exec.js +59 -0
  288. package/dist/tools/code/exec.js.map +1 -0
  289. package/dist/tools/commands.d.ts +5 -0
  290. package/dist/tools/commands.js +45 -0
  291. package/dist/tools/commands.js.map +1 -0
  292. package/dist/tools/completion-probe.d.ts +22 -0
  293. package/dist/tools/completion-probe.js +2 -0
  294. package/dist/tools/completion-probe.js.map +1 -0
  295. package/dist/tools/define.d.ts +77 -0
  296. package/dist/tools/define.js +58 -0
  297. package/dist/tools/define.js.map +1 -0
  298. package/dist/tools/diagnose/capabilities.d.ts +13 -0
  299. package/dist/tools/diagnose/capabilities.js +34 -0
  300. package/dist/tools/diagnose/capabilities.js.map +1 -0
  301. package/dist/tools/dispatcher.d.ts +27 -0
  302. package/dist/tools/dispatcher.js +971 -0
  303. package/dist/tools/dispatcher.js.map +1 -0
  304. package/dist/tools/docs/get.d.ts +22 -0
  305. package/dist/tools/docs/get.js +22 -0
  306. package/dist/tools/docs/get.js.map +1 -0
  307. package/dist/tools/docs/search.d.ts +31 -0
  308. package/dist/tools/docs/search.js +22 -0
  309. package/dist/tools/docs/search.js.map +1 -0
  310. package/dist/tools/editor/compile.d.ts +66 -0
  311. package/dist/tools/editor/compile.js +225 -0
  312. package/dist/tools/editor/compile.js.map +1 -0
  313. package/dist/tools/editor/dialog/click.d.ts +12 -0
  314. package/dist/tools/editor/dialog/click.js +71 -0
  315. package/dist/tools/editor/dialog/click.js.map +1 -0
  316. package/dist/tools/editor/dialogs.d.ts +12 -0
  317. package/dist/tools/editor/dialogs.js +58 -0
  318. package/dist/tools/editor/dialogs.js.map +1 -0
  319. package/dist/tools/editor/readiness.d.ts +13 -0
  320. package/dist/tools/editor/readiness.js +24 -0
  321. package/dist/tools/editor/readiness.js.map +1 -0
  322. package/dist/tools/editor/refresh.d.ts +25 -0
  323. package/dist/tools/editor/refresh.js +154 -0
  324. package/dist/tools/editor/refresh.js.map +1 -0
  325. package/dist/tools/editor/state.d.ts +63 -0
  326. package/dist/tools/editor/state.js +286 -0
  327. package/dist/tools/editor/state.js.map +1 -0
  328. package/dist/tools/errors.d.ts +30 -0
  329. package/dist/tools/errors.js +46 -0
  330. package/dist/tools/errors.js.map +1 -0
  331. package/dist/tools/metadata/derived.d.ts +34 -0
  332. package/dist/tools/metadata/derived.js +136 -0
  333. package/dist/tools/metadata/derived.js.map +1 -0
  334. package/dist/tools/metadata/index.d.ts +34 -0
  335. package/dist/tools/metadata/index.js +130 -0
  336. package/dist/tools/metadata/index.js.map +1 -0
  337. package/dist/tools/metadata/schemas.d.ts +3 -0
  338. package/dist/tools/metadata/schemas.js +19 -0
  339. package/dist/tools/metadata/schemas.js.map +1 -0
  340. package/dist/tools/metadata/status.d.ts +4 -0
  341. package/dist/tools/metadata/status.js +61 -0
  342. package/dist/tools/metadata/status.js.map +1 -0
  343. package/dist/tools/metadata/types.d.ts +79 -0
  344. package/dist/tools/metadata/types.js +2 -0
  345. package/dist/tools/metadata/types.js.map +1 -0
  346. package/dist/tools/navmesh/bake-cancel.d.ts +7 -0
  347. package/dist/tools/navmesh/bake-cancel.js +21 -0
  348. package/dist/tools/navmesh/bake-cancel.js.map +1 -0
  349. package/dist/tools/navmesh/bake-status.d.ts +5 -0
  350. package/dist/tools/navmesh/bake-status.js +18 -0
  351. package/dist/tools/navmesh/bake-status.js.map +1 -0
  352. package/dist/tools/navmesh/bake.d.ts +5 -0
  353. package/dist/tools/navmesh/bake.js +23 -0
  354. package/dist/tools/navmesh/bake.js.map +1 -0
  355. package/dist/tools/navmesh/live.d.ts +86 -0
  356. package/dist/tools/navmesh/live.js +206 -0
  357. package/dist/tools/navmesh/live.js.map +1 -0
  358. package/dist/tools/navmesh/surface-bake.d.ts +5 -0
  359. package/dist/tools/navmesh/surface-bake.js +24 -0
  360. package/dist/tools/navmesh/surface-bake.js.map +1 -0
  361. package/dist/tools/occlusion/bake-cancel.d.ts +7 -0
  362. package/dist/tools/occlusion/bake-cancel.js +21 -0
  363. package/dist/tools/occlusion/bake-cancel.js.map +1 -0
  364. package/dist/tools/occlusion/bake-status.d.ts +5 -0
  365. package/dist/tools/occlusion/bake-status.js +18 -0
  366. package/dist/tools/occlusion/bake-status.js.map +1 -0
  367. package/dist/tools/occlusion/bake.d.ts +11 -0
  368. package/dist/tools/occlusion/bake.js +23 -0
  369. package/dist/tools/occlusion/bake.js.map +1 -0
  370. package/dist/tools/occlusion/live.d.ts +74 -0
  371. package/dist/tools/occlusion/live.js +201 -0
  372. package/dist/tools/occlusion/live.js.map +1 -0
  373. package/dist/tools/package/bridge-remove.d.ts +26 -0
  374. package/dist/tools/package/bridge-remove.js +32 -0
  375. package/dist/tools/package/bridge-remove.js.map +1 -0
  376. package/dist/tools/package/deploy.d.ts +49 -0
  377. package/dist/tools/package/deploy.js +134 -0
  378. package/dist/tools/package/deploy.js.map +1 -0
  379. package/dist/tools/package/embed.d.ts +14 -0
  380. package/dist/tools/package/embed.js +93 -0
  381. package/dist/tools/package/embed.js.map +1 -0
  382. package/dist/tools/package/file-mutation-worker.d.ts +6 -0
  383. package/dist/tools/package/file-mutation-worker.js +154 -0
  384. package/dist/tools/package/file-mutation-worker.js.map +1 -0
  385. package/dist/tools/package/info.d.ts +19 -0
  386. package/dist/tools/package/info.js +27 -0
  387. package/dist/tools/package/info.js.map +1 -0
  388. package/dist/tools/package/install.d.ts +24 -0
  389. package/dist/tools/package/install.js +65 -0
  390. package/dist/tools/package/install.js.map +1 -0
  391. package/dist/tools/package/list.d.ts +27 -0
  392. package/dist/tools/package/list.js +21 -0
  393. package/dist/tools/package/list.js.map +1 -0
  394. package/dist/tools/package/live-resolve.d.ts +46 -0
  395. package/dist/tools/package/live-resolve.js +497 -0
  396. package/dist/tools/package/live-resolve.js.map +1 -0
  397. package/dist/tools/package/public-result.d.ts +4 -0
  398. package/dist/tools/package/public-result.js +25 -0
  399. package/dist/tools/package/public-result.js.map +1 -0
  400. package/dist/tools/package/registry-clear.d.ts +15 -0
  401. package/dist/tools/package/registry-clear.js +27 -0
  402. package/dist/tools/package/registry-clear.js.map +1 -0
  403. package/dist/tools/package/registry-get.d.ts +10 -0
  404. package/dist/tools/package/registry-get.js +22 -0
  405. package/dist/tools/package/registry-get.js.map +1 -0
  406. package/dist/tools/package/registry-set.d.ts +17 -0
  407. package/dist/tools/package/registry-set.js +28 -0
  408. package/dist/tools/package/registry-set.js.map +1 -0
  409. package/dist/tools/package/remove.d.ts +47 -0
  410. package/dist/tools/package/remove.js +67 -0
  411. package/dist/tools/package/remove.js.map +1 -0
  412. package/dist/tools/package/resolve.d.ts +6 -0
  413. package/dist/tools/package/resolve.js +14 -0
  414. package/dist/tools/package/resolve.js.map +1 -0
  415. package/dist/tools/package/restore.d.ts +42 -0
  416. package/dist/tools/package/restore.js +122 -0
  417. package/dist/tools/package/restore.js.map +1 -0
  418. package/dist/tools/package/scoped-registry-add.d.ts +25 -0
  419. package/dist/tools/package/scoped-registry-add.js +30 -0
  420. package/dist/tools/package/scoped-registry-add.js.map +1 -0
  421. package/dist/tools/package/scoped-registry-list.d.ts +14 -0
  422. package/dist/tools/package/scoped-registry-list.js +22 -0
  423. package/dist/tools/package/scoped-registry-list.js.map +1 -0
  424. package/dist/tools/package/scoped-registry-remove.d.ts +29 -0
  425. package/dist/tools/package/scoped-registry-remove.js +31 -0
  426. package/dist/tools/package/scoped-registry-remove.js.map +1 -0
  427. package/dist/tools/package/search.d.ts +17 -0
  428. package/dist/tools/package/search.js +39 -0
  429. package/dist/tools/package/search.js.map +1 -0
  430. package/dist/tools/package/status.d.ts +21 -0
  431. package/dist/tools/package/status.js +37 -0
  432. package/dist/tools/package/status.js.map +1 -0
  433. package/dist/tools/reflect/member.d.ts +22 -0
  434. package/dist/tools/reflect/member.js +22 -0
  435. package/dist/tools/reflect/member.js.map +1 -0
  436. package/dist/tools/reflect/search.d.ts +30 -0
  437. package/dist/tools/reflect/search.js +22 -0
  438. package/dist/tools/reflect/search.js.map +1 -0
  439. package/dist/tools/reflect/type.d.ts +21 -0
  440. package/dist/tools/reflect/type.js +22 -0
  441. package/dist/tools/reflect/type.js.map +1 -0
  442. package/dist/tools/runtime/console.d.ts +24 -0
  443. package/dist/tools/runtime/console.js +17 -0
  444. package/dist/tools/runtime/console.js.map +1 -0
  445. package/dist/tools/runtime/input/key.d.ts +23 -0
  446. package/dist/tools/runtime/input/key.js +18 -0
  447. package/dist/tools/runtime/input/key.js.map +1 -0
  448. package/dist/tools/runtime/input/pointer.d.ts +34 -0
  449. package/dist/tools/runtime/input/pointer.js +18 -0
  450. package/dist/tools/runtime/input/pointer.js.map +1 -0
  451. package/dist/tools/runtime/log.d.ts +20 -0
  452. package/dist/tools/runtime/log.js +17 -0
  453. package/dist/tools/runtime/log.js.map +1 -0
  454. package/dist/tools/runtime/state.d.ts +45 -0
  455. package/dist/tools/runtime/state.js +17 -0
  456. package/dist/tools/runtime/state.js.map +1 -0
  457. package/dist/tools/runtime/target-framerate/set.d.ts +16 -0
  458. package/dist/tools/runtime/target-framerate/set.js +17 -0
  459. package/dist/tools/runtime/target-framerate/set.js.map +1 -0
  460. package/dist/tools/runtime/time-scale/set.d.ts +16 -0
  461. package/dist/tools/runtime/time-scale/set.js +17 -0
  462. package/dist/tools/runtime/time-scale/set.js.map +1 -0
  463. package/dist/tools/runtime/ui/capture-element.d.ts +31 -0
  464. package/dist/tools/runtime/ui/capture-element.js +17 -0
  465. package/dist/tools/runtime/ui/capture-element.js.map +1 -0
  466. package/dist/tools/test/cancel.d.ts +19 -0
  467. package/dist/tools/test/cancel.js +94 -0
  468. package/dist/tools/test/cancel.js.map +1 -0
  469. package/dist/tools/test/run.d.ts +39 -0
  470. package/dist/tools/test/run.js +101 -0
  471. package/dist/tools/test/run.js.map +1 -0
  472. package/dist/tools/tools/describe.d.ts +27 -0
  473. package/dist/tools/tools/describe.js +35 -0
  474. package/dist/tools/tools/describe.js.map +1 -0
  475. package/dist/tools/tools/group-list.d.ts +20 -0
  476. package/dist/tools/tools/group-list.js +39 -0
  477. package/dist/tools/tools/group-list.js.map +1 -0
  478. package/dist/tools/tools/group-summaries.d.ts +3 -0
  479. package/dist/tools/tools/group-summaries.js +52 -0
  480. package/dist/tools/tools/group-summaries.js.map +1 -0
  481. package/dist/tools/tools/group.d.ts +13 -0
  482. package/dist/tools/tools/group.js +34 -0
  483. package/dist/tools/tools/group.js.map +1 -0
  484. package/dist/tools/tools/search.d.ts +17 -0
  485. package/dist/tools/tools/search.js +42 -0
  486. package/dist/tools/tools/search.js.map +1 -0
  487. package/dist/types.d.ts +5 -0
  488. package/dist/types.js +2 -0
  489. package/dist/types.js.map +1 -0
  490. package/dist/unity-project-processes.d.ts +12 -0
  491. package/dist/unity-project-processes.js +59 -0
  492. package/dist/unity-project-processes.js.map +1 -0
  493. package/dist/util.d.ts +11 -0
  494. package/dist/util.js +22 -0
  495. package/dist/util.js.map +1 -0
  496. package/dist/windows-editor-state.d.ts +31 -0
  497. package/dist/windows-editor-state.js +98 -0
  498. package/dist/windows-editor-state.js.map +1 -0
  499. package/docs/README.md +43 -0
  500. package/docs/availability-differences.md +97 -0
  501. package/docs/command-execution.md +89 -0
  502. package/docs/error-codes.md +204 -0
  503. package/docs/extensions.md +132 -0
  504. package/docs/risk-and-side-effects.md +93 -0
  505. package/docs/safety-boundaries.md +103 -0
  506. package/docs/target-and-instance.md +83 -0
  507. package/docs/tool-discovery.md +104 -0
  508. package/docs/tool-execution.md +178 -0
  509. package/extensions/cinemachine/bridge/domains/cinemachine.ts +115 -0
  510. package/extensions/cinemachine/docs/cinemachine.md +50 -0
  511. package/extensions/cinemachine/extension.json +129 -0
  512. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/CinemachineExtensionToolSupport.cs +15 -0
  513. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/CinemachineToolSupport.cs +854 -0
  514. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/aim.cs +96 -0
  515. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/blend.cs +140 -0
  516. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/body.cs +96 -0
  517. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/brain-ensure.cs +16 -0
  518. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/brain-status.cs +12 -0
  519. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/create.cs +147 -0
  520. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/extension-add.cs +13 -0
  521. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/extension-list.cs +13 -0
  522. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/extension-remove.cs +13 -0
  523. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/lens.cs +142 -0
  524. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/noise.cs +126 -0
  525. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/ping.cs +43 -0
  526. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/priority.cs +113 -0
  527. package/extensions/cinemachine/unitypkg/Editor/Cinemachine/target.cs +84 -0
  528. package/extensions/cinemachine/unitypkg/UnityCli.Extensions.Cinemachine.Editor.asmdef +18 -0
  529. package/extensions/hdrp/bridge/domains/hdrp.ts +41 -0
  530. package/extensions/hdrp/docs/hdrp.md +15 -0
  531. package/extensions/hdrp/extension.json +31 -0
  532. package/extensions/hdrp/unitypkg/Editor/Hdrp/HdrpToolSupport.cs +607 -0
  533. package/extensions/hdrp/unitypkg/Editor/Hdrp/settings-get.cs +29 -0
  534. package/extensions/hdrp/unitypkg/Editor/Hdrp/settings-set.cs +47 -0
  535. package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-add-effect.cs +28 -0
  536. package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-create.cs +28 -0
  537. package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-info.cs +25 -0
  538. package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-list.cs +25 -0
  539. package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-set.cs +28 -0
  540. package/extensions/hdrp/unitypkg/UnityCli.Extensions.Hdrp.Editor.asmdef +19 -0
  541. package/extensions/probuilder/bridge/domains/probuilder.ts +386 -0
  542. package/extensions/probuilder/docs/probuilder.md +125 -0
  543. package/extensions/probuilder/extension.json +291 -0
  544. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderAppendCompletionProof.cs +254 -0
  545. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderAtomicReadback.cs +293 -0
  546. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderBevelCompletionProof.cs +299 -0
  547. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderCanonicalMeshSnapshot.cs +951 -0
  548. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderConnectCompletionProof.cs +407 -0
  549. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderEdgeCompletionProof.cs +318 -0
  550. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderErrors.cs +83 -0
  551. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderFaceCompletionProof.cs +152 -0
  552. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderFaceExtrudeCompletionProof.cs +283 -0
  553. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderFlipCompletionProof.cs +170 -0
  554. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderInput.cs +85 -0
  555. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderInsertCompletionProof.cs +674 -0
  556. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderOperationProof.cs +137 -0
  557. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderReflection.cs +1064 -0
  558. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderRefreshUvProof.cs +53 -0
  559. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderSceneTool.cs +184 -0
  560. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderShapeTopologyRecords.g.cs +82 -0
  561. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderVertexObjectCompletionProof.cs +346 -0
  562. package/extensions/probuilder/unitypkg/Editor/ProBuilder/append-vertices-to-edge.cs +118 -0
  563. package/extensions/probuilder/unitypkg/Editor/ProBuilder/auto-smooth.cs +104 -0
  564. package/extensions/probuilder/unitypkg/Editor/ProBuilder/bevel-edges.cs +119 -0
  565. package/extensions/probuilder/unitypkg/Editor/ProBuilder/bridge-edges.cs +113 -0
  566. package/extensions/probuilder/unitypkg/Editor/ProBuilder/center-pivot.cs +43 -0
  567. package/extensions/probuilder/unitypkg/Editor/ProBuilder/combine-meshes.cs +58 -0
  568. package/extensions/probuilder/unitypkg/Editor/ProBuilder/connect-elements.cs +128 -0
  569. package/extensions/probuilder/unitypkg/Editor/ProBuilder/convert-to-probuilder.cs +40 -0
  570. package/extensions/probuilder/unitypkg/Editor/ProBuilder/create-poly-shape.cs +55 -0
  571. package/extensions/probuilder/unitypkg/Editor/ProBuilder/create-polygon.cs +28 -0
  572. package/extensions/probuilder/unitypkg/Editor/ProBuilder/create-shape.cs +168 -0
  573. package/extensions/probuilder/unitypkg/Editor/ProBuilder/delete-faces.cs +42 -0
  574. package/extensions/probuilder/unitypkg/Editor/ProBuilder/detach-faces.cs +46 -0
  575. package/extensions/probuilder/unitypkg/Editor/ProBuilder/duplicate-and-flip.cs +100 -0
  576. package/extensions/probuilder/unitypkg/Editor/ProBuilder/extrude-edges.cs +118 -0
  577. package/extensions/probuilder/unitypkg/Editor/ProBuilder/extrude-faces.cs +110 -0
  578. package/extensions/probuilder/unitypkg/Editor/ProBuilder/flip-normals.cs +102 -0
  579. package/extensions/probuilder/unitypkg/Editor/ProBuilder/freeze-transform.cs +45 -0
  580. package/extensions/probuilder/unitypkg/Editor/ProBuilder/insert-vertex.cs +132 -0
  581. package/extensions/probuilder/unitypkg/Editor/ProBuilder/merge-faces.cs +44 -0
  582. package/extensions/probuilder/unitypkg/Editor/ProBuilder/merge-objects.cs +130 -0
  583. package/extensions/probuilder/unitypkg/Editor/ProBuilder/merge-vertices.cs +109 -0
  584. package/extensions/probuilder/unitypkg/Editor/ProBuilder/mesh-info.cs +117 -0
  585. package/extensions/probuilder/unitypkg/Editor/ProBuilder/move-vertices.cs +33 -0
  586. package/extensions/probuilder/unitypkg/Editor/ProBuilder/ping.cs +51 -0
  587. package/extensions/probuilder/unitypkg/Editor/ProBuilder/repair-mesh.cs +40 -0
  588. package/extensions/probuilder/unitypkg/Editor/ProBuilder/select-faces.cs +161 -0
  589. package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-face-color.cs +24 -0
  590. package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-face-material.cs +23 -0
  591. package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-face-uvs.cs +28 -0
  592. package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-pivot.cs +42 -0
  593. package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-smoothing.cs +23 -0
  594. package/extensions/probuilder/unitypkg/Editor/ProBuilder/split-vertices.cs +64 -0
  595. package/extensions/probuilder/unitypkg/Editor/ProBuilder/subdivide.cs +111 -0
  596. package/extensions/probuilder/unitypkg/Editor/ProBuilder/validate-mesh.cs +75 -0
  597. package/extensions/probuilder/unitypkg/Editor/ProBuilder/weld-vertices.cs +112 -0
  598. package/extensions/probuilder/unitypkg/UnityCli.Extensions.ProBuilder.Editor.asmdef +25 -0
  599. package/extensions/urp/bridge/domains/urp.ts +62 -0
  600. package/extensions/urp/docs/urp.md +20 -0
  601. package/extensions/urp/extension.json +41 -0
  602. package/extensions/urp/unitypkg/Editor/Urp/UrpFeatureToolSupport.cs +336 -0
  603. package/extensions/urp/unitypkg/Editor/Urp/UrpToolSupport.cs +801 -0
  604. package/extensions/urp/unitypkg/Editor/Urp/feature-add.cs +12 -0
  605. package/extensions/urp/unitypkg/Editor/Urp/feature-configure.cs +12 -0
  606. package/extensions/urp/unitypkg/Editor/Urp/feature-list.cs +12 -0
  607. package/extensions/urp/unitypkg/Editor/Urp/feature-remove.cs +12 -0
  608. package/extensions/urp/unitypkg/Editor/Urp/feature-toggle.cs +12 -0
  609. package/extensions/urp/unitypkg/Editor/Urp/settings-get.cs +27 -0
  610. package/extensions/urp/unitypkg/Editor/Urp/settings-set.cs +47 -0
  611. package/extensions/urp/unitypkg/Editor/Urp/volume-add-effect.cs +33 -0
  612. package/extensions/urp/unitypkg/Editor/Urp/volume-create.cs +33 -0
  613. package/extensions/urp/unitypkg/Editor/Urp/volume-info.cs +31 -0
  614. package/extensions/urp/unitypkg/Editor/Urp/volume-list.cs +39 -0
  615. package/extensions/urp/unitypkg/Editor/Urp/volume-set.cs +33 -0
  616. package/extensions/urp/unitypkg/UnityCli.Extensions.Urp.Editor.asmdef +19 -0
  617. package/extensions/vfx-graph/bridge/domains/vfx.ts +337 -0
  618. package/extensions/vfx-graph/docs/vfx.md +28 -0
  619. package/extensions/vfx-graph/extension.json +72 -0
  620. package/extensions/vfx-graph/unitypkg/Editor/Vfx/VfxActionToolSupport.cs +248 -0
  621. package/extensions/vfx-graph/unitypkg/Editor/Vfx/VfxToolSupport.cs +1325 -0
  622. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-pause.cs +37 -0
  623. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-play.cs +40 -0
  624. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-reinitialize.cs +37 -0
  625. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-set-rate.cs +36 -0
  626. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-set-seed.cs +42 -0
  627. package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-stop.cs +37 -0
  628. package/extensions/vfx-graph/unitypkg/Editor/Vfx/effect-add.cs +55 -0
  629. package/extensions/vfx-graph/unitypkg/Editor/Vfx/effect-assign.cs +44 -0
  630. package/extensions/vfx-graph/unitypkg/Editor/Vfx/effect-info.cs +30 -0
  631. package/extensions/vfx-graph/unitypkg/Editor/Vfx/graph-create.cs +62 -0
  632. package/extensions/vfx-graph/unitypkg/Editor/Vfx/graph-info.cs +32 -0
  633. package/extensions/vfx-graph/unitypkg/Editor/Vfx/line-create.cs +75 -0
  634. package/extensions/vfx-graph/unitypkg/Editor/Vfx/line-positions.cs +100 -0
  635. package/extensions/vfx-graph/unitypkg/Editor/Vfx/parameter.cs +216 -0
  636. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-clear.cs +39 -0
  637. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-create.cs +80 -0
  638. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-emission.cs +126 -0
  639. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-info.cs +55 -0
  640. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-main.cs +75 -0
  641. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-pause.cs +38 -0
  642. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-play.cs +38 -0
  643. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-shape.cs +148 -0
  644. package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-stop.cs +41 -0
  645. package/extensions/vfx-graph/unitypkg/Editor/Vfx/template-create.cs +58 -0
  646. package/extensions/vfx-graph/unitypkg/Editor/Vfx/template-list.cs +31 -0
  647. package/extensions/vfx-graph/unitypkg/Editor/Vfx/trail-create.cs +41 -0
  648. package/extensions/vfx-graph/unitypkg/Editor/Vfx/trail-set.cs +44 -0
  649. package/extensions/vfx-graph/unitypkg/UnityCli.Extensions.VfxGraph.Editor.asmdef +18 -0
  650. package/package.json +46 -0
  651. package/schemas/error-code.schema.json +70 -0
  652. package/schemas/extension-descriptor.schema.json +88 -0
  653. package/schemas/extension-manifest.schema.json +125 -0
  654. package/schemas/request-envelope.schema.json +34 -0
  655. package/schemas/response-envelope.schema.json +42 -0
  656. package/schemas/tool-metadata.schema.json +111 -0
  657. package/skills/unitycli/SKILL.md +61 -0
  658. package/skills/unitycli/agents/interface.yaml +30 -0
  659. package/skills/unitycli/evals/history/2026-08-05-governed-baseline.json +44 -0
  660. package/skills/unitycli/evals/output/cases.jsonl +5 -0
  661. package/skills/unitycli/evals/output/fixtures/feedback-scenario.json +27 -0
  662. package/skills/unitycli/evals/output/schema.json +32 -0
  663. package/skills/unitycli/evals/semantic_config.json +46 -0
  664. package/skills/unitycli/evals/trigger_cases.json +39 -0
  665. package/skills/unitycli/examples/feedback-event.input.json +8 -0
  666. package/skills/unitycli/examples/feedback-record.output.json +12 -0
  667. package/skills/unitycli/manifest.json +112 -0
  668. package/skills/unitycli/references/custom-tools.md +111 -0
  669. package/skills/unitycli/references/feedback.md +59 -0
  670. package/skills/unitycli/references/operation-protocol.md +83 -0
  671. package/skills/unitycli/reports/output_quality_scorecard.md +56 -0
  672. package/skills/unitycli/reports/trust-report.md +57 -0
  673. package/skills/unitycli/scripts/record-feedback.ps1 +210 -0
  674. package/skills/unitycli/security/network_policy.json +18 -0
  675. package/skills/unitycli/security/permission_policy.json +40 -0
  676. package/unitypkg/Editor/Bridge/BridgeCommandContext.cs +64 -0
  677. package/unitypkg/Editor/Bridge/BridgeCommandException.cs +39 -0
  678. package/unitypkg/Editor/Bridge/BridgeCommandRegistry.cs +172 -0
  679. package/unitypkg/Editor/Bridge/BridgeHttpServer.cs +534 -0
  680. package/unitypkg/Editor/Bridge/BridgeResponse.cs +58 -0
  681. package/unitypkg/Editor/Bridge/BridgeWorkQueue.cs +325 -0
  682. package/unitypkg/Editor/BridgeStartupStateMachine.cs +81 -0
  683. package/unitypkg/Editor/Commands/ProjectToolCommands.cs +43 -0
  684. package/unitypkg/Editor/Commands/RuntimeToolCommands.cs +43 -0
  685. package/unitypkg/Editor/Generated/UnityCliToolCompletionRegistry.g.cs +428 -0
  686. package/unitypkg/Editor/Infrastructure/CodeExecSupport.cs +664 -0
  687. package/unitypkg/Editor/Infrastructure/RegistryOwnershipResolver.cs +148 -0
  688. package/unitypkg/Editor/Infrastructure/UnityCliActiveOperation.cs +411 -0
  689. package/unitypkg/Editor/Infrastructure/UnityCliAdmission.cs +485 -0
  690. package/unitypkg/Editor/Infrastructure/UnityCliArtifacts.cs +110 -0
  691. package/unitypkg/Editor/Infrastructure/UnityCliAssetRefreshCoordinator.cs +106 -0
  692. package/unitypkg/Editor/Infrastructure/UnityCliBridgeHelpers.cs +155 -0
  693. package/unitypkg/Editor/Infrastructure/UnityCliCanonicalProjectPath.cs +325 -0
  694. package/unitypkg/Editor/Infrastructure/UnityCliCompilationEventBroker.cs +192 -0
  695. package/unitypkg/Editor/Infrastructure/UnityCliCompileCoordinator.cs +271 -0
  696. package/unitypkg/Editor/Infrastructure/UnityCliCompletionProbe.cs +515 -0
  697. package/unitypkg/Editor/Infrastructure/UnityCliEditorStateSnapshot.cs +84 -0
  698. package/unitypkg/Editor/Infrastructure/UnityCliInstanceRegistry.cs +558 -0
  699. package/unitypkg/Editor/Infrastructure/UnityCliJson.cs +155 -0
  700. package/unitypkg/Editor/Infrastructure/UnityCliLargeOutput.cs +128 -0
  701. package/unitypkg/Editor/Infrastructure/UnityCliLiveBuildCoordinator.cs +230 -0
  702. package/unitypkg/Editor/Infrastructure/UnityCliLiveRefreshCoordinator.cs +164 -0
  703. package/unitypkg/Editor/Infrastructure/UnityCliLog.cs +127 -0
  704. package/unitypkg/Editor/Infrastructure/UnityCliNavMeshBakeCoordinator.cs +2073 -0
  705. package/unitypkg/Editor/Infrastructure/UnityCliObjectPatch.cs +193 -0
  706. package/unitypkg/Editor/Infrastructure/UnityCliObjectRef.cs +278 -0
  707. package/unitypkg/Editor/Infrastructure/UnityCliObjectSerializer.cs +620 -0
  708. package/unitypkg/Editor/Infrastructure/UnityCliOcclusionBakeCoordinator.cs +1739 -0
  709. package/unitypkg/Editor/Infrastructure/UnityCliOperationCoordinator.cs +828 -0
  710. package/unitypkg/Editor/Infrastructure/UnityCliPackageEmbedCoordinator.cs +147 -0
  711. package/unitypkg/Editor/Infrastructure/UnityCliPackageResolveCoordinator.cs +454 -0
  712. package/unitypkg/Editor/Infrastructure/UnityCliPackageResolveState.cs +561 -0
  713. package/unitypkg/Editor/Infrastructure/UnityCliPipelineHandoff.cs +742 -0
  714. package/unitypkg/Editor/Infrastructure/UnityCliProjectSettings.cs +92 -0
  715. package/unitypkg/Editor/Infrastructure/UnityCliProtocolRequest.cs +116 -0
  716. package/unitypkg/Editor/Infrastructure/UnityCliReflection.cs +477 -0
  717. package/unitypkg/Editor/Infrastructure/UnityCliReloadOperation.cs +664 -0
  718. package/unitypkg/Editor/Infrastructure/UnityCliRequestDigest.cs +34 -0
  719. package/unitypkg/Editor/Infrastructure/UnityCliRuntimeBuildInjection.cs +121 -0
  720. package/unitypkg/Editor/Infrastructure/UnityCliRuntimeExecutor.cs +391 -0
  721. package/unitypkg/Editor/Infrastructure/UnityCliSceneMutation.cs +84 -0
  722. package/unitypkg/Editor/Infrastructure/UnityCliScriptableObjectHelpers.cs +235 -0
  723. package/unitypkg/Editor/Infrastructure/UnityCliSerializer.cs +580 -0
  724. package/unitypkg/Editor/Infrastructure/UnityCliSessionMutationLease.cs +568 -0
  725. package/unitypkg/Editor/Infrastructure/UnityCliStateIO.cs +73 -0
  726. package/unitypkg/Editor/Infrastructure/UnityCliTestRunCoordinator.cs +598 -0
  727. package/unitypkg/Editor/Infrastructure/UnityCliTransactionLog.cs +112 -0
  728. package/unitypkg/Editor/Infrastructure/UnityCliValueConverter.cs +146 -0
  729. package/unitypkg/Editor/Infrastructure/UnityCliWaiter.cs +716 -0
  730. package/unitypkg/Editor/ProjectTools/IUnityCliTool.cs +152 -0
  731. package/unitypkg/Editor/ProjectTools/OfficialAttributeToolRegistry.cs +992 -0
  732. package/unitypkg/Editor/ProjectTools/ProjectToolRegistry.cs +938 -0
  733. package/unitypkg/Editor/ProjectTools/ProjectToolSchemaValidator.cs +258 -0
  734. package/unitypkg/Editor/ProjectTools/RegisteredTool.cs +75 -0
  735. package/unitypkg/Editor/ProjectTools/UnityCliProjectToolContext.cs +68 -0
  736. package/unitypkg/Editor/ProjectTools/UnityCliSchemaDeriver.cs +297 -0
  737. package/unitypkg/Editor/Protocol/ProtocolEnvelopeFactory.cs +92 -0
  738. package/unitypkg/Editor/Protocol/envelope.cs +50 -0
  739. package/unitypkg/Editor/Roslyn/LICENSE.txt +23 -0
  740. package/unitypkg/Editor/Roslyn/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  741. package/unitypkg/Editor/Roslyn/Microsoft.CodeAnalysis.dll +0 -0
  742. package/unitypkg/Editor/Roslyn/System.Collections.Immutable.dll +0 -0
  743. package/unitypkg/Editor/Roslyn/System.Reflection.Metadata.dll +0 -0
  744. package/unitypkg/Editor/Tools/animation/AnimationToolSupport.cs +335 -0
  745. package/unitypkg/Editor/Tools/animation/AnimatorRuntimeToolSupport.cs +24 -0
  746. package/unitypkg/Editor/Tools/animation/animator/crossfade.cs +117 -0
  747. package/unitypkg/Editor/Tools/animation/animator/get-info.cs +24 -0
  748. package/unitypkg/Editor/Tools/animation/animator/get-parameter.cs +36 -0
  749. package/unitypkg/Editor/Tools/animation/animator/set-enabled.cs +33 -0
  750. package/unitypkg/Editor/Tools/animation/animator/set-parameter.cs +71 -0
  751. package/unitypkg/Editor/Tools/animation/animator/set-speed.cs +33 -0
  752. package/unitypkg/Editor/Tools/animation/clip/create.cs +48 -0
  753. package/unitypkg/Editor/Tools/animation/clip/modify.cs +43 -0
  754. package/unitypkg/Editor/Tools/animation/clip.cs +23 -0
  755. package/unitypkg/Editor/Tools/animation/play.cs +41 -0
  756. package/unitypkg/Editor/Tools/animation/state.cs +25 -0
  757. package/unitypkg/Editor/Tools/animation/stop.cs +45 -0
  758. package/unitypkg/Editor/Tools/asset/AssetImportSettingsToolSupport.cs +633 -0
  759. package/unitypkg/Editor/Tools/asset/AssetToolSupport.cs +253 -0
  760. package/unitypkg/Editor/Tools/asset/create.cs +84 -0
  761. package/unitypkg/Editor/Tools/asset/delete.cs +88 -0
  762. package/unitypkg/Editor/Tools/asset/duplicate.cs +68 -0
  763. package/unitypkg/Editor/Tools/asset/get-components.cs +177 -0
  764. package/unitypkg/Editor/Tools/asset/get-data.cs +73 -0
  765. package/unitypkg/Editor/Tools/asset/import-settings/set.cs +127 -0
  766. package/unitypkg/Editor/Tools/asset/import-settings.cs +54 -0
  767. package/unitypkg/Editor/Tools/asset/import.cs +132 -0
  768. package/unitypkg/Editor/Tools/asset/info.cs +48 -0
  769. package/unitypkg/Editor/Tools/asset/modify.cs +69 -0
  770. package/unitypkg/Editor/Tools/asset/move.cs +70 -0
  771. package/unitypkg/Editor/Tools/asset/preview.cs +86 -0
  772. package/unitypkg/Editor/Tools/asset/rename.cs +84 -0
  773. package/unitypkg/Editor/Tools/asset/search-built-in.cs +90 -0
  774. package/unitypkg/Editor/Tools/asset/search.cs +83 -0
  775. package/unitypkg/Editor/Tools/build/BuildSceneStateTool.cs +37 -0
  776. package/unitypkg/Editor/Tools/build/BuildSettingsToolSupport.cs +4 -0
  777. package/unitypkg/Editor/Tools/build/BuildToolDtos.cs +15 -0
  778. package/unitypkg/Editor/Tools/build/BuildToolSupport.cs +111 -0
  779. package/unitypkg/Editor/Tools/build/platform/get.cs +12 -0
  780. package/unitypkg/Editor/Tools/build/platform/set.cs +45 -0
  781. package/unitypkg/Editor/Tools/build/profile/create.cs +44 -0
  782. package/unitypkg/Editor/Tools/build/profile/list.cs +12 -0
  783. package/unitypkg/Editor/Tools/build/profile/modify.cs +42 -0
  784. package/unitypkg/Editor/Tools/build/profile/switch.cs +30 -0
  785. package/unitypkg/Editor/Tools/build/scene/add.cs +45 -0
  786. package/unitypkg/Editor/Tools/build/scene/disable.cs +3 -0
  787. package/unitypkg/Editor/Tools/build/scene/enable.cs +4 -0
  788. package/unitypkg/Editor/Tools/build/scene/list.cs +4 -0
  789. package/unitypkg/Editor/Tools/build/scene/remove.cs +29 -0
  790. package/unitypkg/Editor/Tools/build/settings/get.cs +3 -0
  791. package/unitypkg/Editor/Tools/build/settings/set.cs +74 -0
  792. package/unitypkg/Editor/Tools/camera/CameraToolSupport.cs +292 -0
  793. package/unitypkg/Editor/Tools/camera/create.cs +114 -0
  794. package/unitypkg/Editor/Tools/camera/info.cs +49 -0
  795. package/unitypkg/Editor/Tools/camera/lens.cs +119 -0
  796. package/unitypkg/Editor/Tools/camera/list.cs +52 -0
  797. package/unitypkg/Editor/Tools/camera/multiview.cs +96 -0
  798. package/unitypkg/Editor/Tools/camera/screenshot.cs +65 -0
  799. package/unitypkg/Editor/Tools/camera/target.cs +94 -0
  800. package/unitypkg/Editor/Tools/component/add.cs +125 -0
  801. package/unitypkg/Editor/Tools/component/get.cs +73 -0
  802. package/unitypkg/Editor/Tools/component/list-types.cs +90 -0
  803. package/unitypkg/Editor/Tools/component/modify.cs +103 -0
  804. package/unitypkg/Editor/Tools/component/remove.cs +147 -0
  805. package/unitypkg/Editor/Tools/component/set.cs +93 -0
  806. package/unitypkg/Editor/Tools/console/clear.cs +38 -0
  807. package/unitypkg/Editor/Tools/console/get.cs +28 -0
  808. package/unitypkg/Editor/Tools/controller/add-blend-tree-child.cs +88 -0
  809. package/unitypkg/Editor/Tools/controller/add-layer.cs +43 -0
  810. package/unitypkg/Editor/Tools/controller/add-parameter.cs +51 -0
  811. package/unitypkg/Editor/Tools/controller/add-state.cs +44 -0
  812. package/unitypkg/Editor/Tools/controller/add-transition.cs +71 -0
  813. package/unitypkg/Editor/Tools/controller/assign.cs +38 -0
  814. package/unitypkg/Editor/Tools/controller/create-blend-tree-1d.cs +40 -0
  815. package/unitypkg/Editor/Tools/controller/create-blend-tree-2d.cs +42 -0
  816. package/unitypkg/Editor/Tools/controller/create.cs +31 -0
  817. package/unitypkg/Editor/Tools/controller/get-info.cs +27 -0
  818. package/unitypkg/Editor/Tools/controller/remove-layer.cs +57 -0
  819. package/unitypkg/Editor/Tools/controller/set-layer-weight.cs +42 -0
  820. package/unitypkg/Editor/Tools/diagnose/preflight.cs +269 -0
  821. package/unitypkg/Editor/Tools/editor/EditorActionToolSupport.cs +117 -0
  822. package/unitypkg/Editor/Tools/editor/EditorSearchToolSupport.cs +146 -0
  823. package/unitypkg/Editor/Tools/editor/EditorToolSupport.cs +132 -0
  824. package/unitypkg/Editor/Tools/editor/EditorWindowFocusToolSupport.cs +194 -0
  825. package/unitypkg/Editor/Tools/editor/active-tool/set.cs +33 -0
  826. package/unitypkg/Editor/Tools/editor/active-tool.cs +100 -0
  827. package/unitypkg/Editor/Tools/editor/autotick/set.cs +102 -0
  828. package/unitypkg/Editor/Tools/editor/console.cs +26 -0
  829. package/unitypkg/Editor/Tools/editor/focus.cs +80 -0
  830. package/unitypkg/Editor/Tools/editor/menu-items.cs +50 -0
  831. package/unitypkg/Editor/Tools/editor/menu.cs +53 -0
  832. package/unitypkg/Editor/Tools/editor/pause.cs +38 -0
  833. package/unitypkg/Editor/Tools/editor/play.cs +43 -0
  834. package/unitypkg/Editor/Tools/editor/redo.cs +56 -0
  835. package/unitypkg/Editor/Tools/editor/resolution.cs +34 -0
  836. package/unitypkg/Editor/Tools/editor/search.cs +55 -0
  837. package/unitypkg/Editor/Tools/editor/selection/set.cs +37 -0
  838. package/unitypkg/Editor/Tools/editor/selection.cs +153 -0
  839. package/unitypkg/Editor/Tools/editor/stop.cs +43 -0
  840. package/unitypkg/Editor/Tools/editor/tool-states.cs +140 -0
  841. package/unitypkg/Editor/Tools/editor/undo.cs +56 -0
  842. package/unitypkg/Editor/Tools/editor/windows.cs +87 -0
  843. package/unitypkg/Editor/Tools/extension/status.cs +87 -0
  844. package/unitypkg/Editor/Tools/go/GameObjectToolSupport.cs +524 -0
  845. package/unitypkg/Editor/Tools/go/create.cs +333 -0
  846. package/unitypkg/Editor/Tools/go/delete.cs +87 -0
  847. package/unitypkg/Editor/Tools/go/duplicate.cs +76 -0
  848. package/unitypkg/Editor/Tools/go/find.cs +152 -0
  849. package/unitypkg/Editor/Tools/go/inspect.cs +49 -0
  850. package/unitypkg/Editor/Tools/go/look-at.cs +76 -0
  851. package/unitypkg/Editor/Tools/go/modify.cs +156 -0
  852. package/unitypkg/Editor/Tools/go/move-relative.cs +74 -0
  853. package/unitypkg/Editor/Tools/go/set-parent.cs +84 -0
  854. package/unitypkg/Editor/Tools/graphics/GraphicsToolSupport.cs +396 -0
  855. package/unitypkg/Editor/Tools/graphics/bake-cancel.cs +27 -0
  856. package/unitypkg/Editor/Tools/graphics/bake-clear.cs +31 -0
  857. package/unitypkg/Editor/Tools/graphics/bake-reflection-probe.cs +35 -0
  858. package/unitypkg/Editor/Tools/graphics/bake-settings.cs +131 -0
  859. package/unitypkg/Editor/Tools/graphics/bake-start.cs +27 -0
  860. package/unitypkg/Editor/Tools/graphics/bake-status.cs +31 -0
  861. package/unitypkg/Editor/Tools/graphics/light-probe-group.cs +56 -0
  862. package/unitypkg/Editor/Tools/graphics/pipeline-info.cs +19 -0
  863. package/unitypkg/Editor/Tools/graphics/pipeline-quality.cs +24 -0
  864. package/unitypkg/Editor/Tools/graphics/pipeline-settings.cs +46 -0
  865. package/unitypkg/Editor/Tools/graphics/probe-positions.cs +58 -0
  866. package/unitypkg/Editor/Tools/graphics/quality.cs +85 -0
  867. package/unitypkg/Editor/Tools/graphics/reflection-probe.cs +73 -0
  868. package/unitypkg/Editor/Tools/graphics/scene-debug.cs +37 -0
  869. package/unitypkg/Editor/Tools/graphics/settings.cs +104 -0
  870. package/unitypkg/Editor/Tools/graphics/skybox-get.cs +33 -0
  871. package/unitypkg/Editor/Tools/graphics/skybox-set-ambient.cs +24 -0
  872. package/unitypkg/Editor/Tools/graphics/skybox-set-fog.cs +24 -0
  873. package/unitypkg/Editor/Tools/graphics/skybox-set-material.cs +33 -0
  874. package/unitypkg/Editor/Tools/graphics/skybox-set-properties.cs +51 -0
  875. package/unitypkg/Editor/Tools/graphics/skybox-set-reflection.cs +31 -0
  876. package/unitypkg/Editor/Tools/graphics/skybox-set-sun.cs +35 -0
  877. package/unitypkg/Editor/Tools/graphics/stats-counters.cs +28 -0
  878. package/unitypkg/Editor/Tools/graphics/stats-memory.cs +21 -0
  879. package/unitypkg/Editor/Tools/graphics/stats.cs +17 -0
  880. package/unitypkg/Editor/Tools/graphics/volume.cs +59 -0
  881. package/unitypkg/Editor/Tools/instances/list.cs +71 -0
  882. package/unitypkg/Editor/Tools/material/MaterialToolSupport.cs +401 -0
  883. package/unitypkg/Editor/Tools/material/assign.cs +124 -0
  884. package/unitypkg/Editor/Tools/material/create.cs +82 -0
  885. package/unitypkg/Editor/Tools/material/info.cs +55 -0
  886. package/unitypkg/Editor/Tools/material/set-renderer-color.cs +108 -0
  887. package/unitypkg/Editor/Tools/material/set.cs +114 -0
  888. package/unitypkg/Editor/Tools/navmesh/NavMeshToolSupport.cs +404 -0
  889. package/unitypkg/Editor/Tools/navmesh/bake-clear.cs +70 -0
  890. package/unitypkg/Editor/Tools/navmesh/settings/set.cs +73 -0
  891. package/unitypkg/Editor/Tools/navmesh/settings.cs +37 -0
  892. package/unitypkg/Editor/Tools/object/ObjectToolSupport.cs +99 -0
  893. package/unitypkg/Editor/Tools/object/get-data.cs +69 -0
  894. package/unitypkg/Editor/Tools/object/modify.cs +126 -0
  895. package/unitypkg/Editor/Tools/occlusion/OcclusionToolSupport.cs +422 -0
  896. package/unitypkg/Editor/Tools/occlusion/bake-clear.cs +67 -0
  897. package/unitypkg/Editor/Tools/physics/PhysicsJointToolSupport.cs +13 -0
  898. package/unitypkg/Editor/Tools/physics/PhysicsToolSupport.cs +389 -0
  899. package/unitypkg/Editor/Tools/physics/assign-material.cs +88 -0
  900. package/unitypkg/Editor/Tools/physics/collision-matrix.cs +90 -0
  901. package/unitypkg/Editor/Tools/physics/force.cs +127 -0
  902. package/unitypkg/Editor/Tools/physics/joint/add.cs +99 -0
  903. package/unitypkg/Editor/Tools/physics/joint/remove.cs +4 -0
  904. package/unitypkg/Editor/Tools/physics/linecast.cs +59 -0
  905. package/unitypkg/Editor/Tools/physics/material.cs +73 -0
  906. package/unitypkg/Editor/Tools/physics/overlap.cs +84 -0
  907. package/unitypkg/Editor/Tools/physics/raycast-all.cs +67 -0
  908. package/unitypkg/Editor/Tools/physics/raycast.cs +96 -0
  909. package/unitypkg/Editor/Tools/physics/rigidbody.cs +116 -0
  910. package/unitypkg/Editor/Tools/physics/settings.cs +116 -0
  911. package/unitypkg/Editor/Tools/physics/shapecast.cs +127 -0
  912. package/unitypkg/Editor/Tools/physics/simulation.cs +89 -0
  913. package/unitypkg/Editor/Tools/physics/validate.cs +67 -0
  914. package/unitypkg/Editor/Tools/prefab/PrefabOverrideToolSupport.cs +355 -0
  915. package/unitypkg/Editor/Tools/prefab/PrefabToolSupport.cs +446 -0
  916. package/unitypkg/Editor/Tools/prefab/create.cs +125 -0
  917. package/unitypkg/Editor/Tools/prefab/hierarchy.cs +157 -0
  918. package/unitypkg/Editor/Tools/prefab/info.cs +44 -0
  919. package/unitypkg/Editor/Tools/prefab/instantiate.cs +106 -0
  920. package/unitypkg/Editor/Tools/prefab/modify.cs +112 -0
  921. package/unitypkg/Editor/Tools/prefab/overrides/apply.cs +51 -0
  922. package/unitypkg/Editor/Tools/prefab/overrides/revert.cs +51 -0
  923. package/unitypkg/Editor/Tools/prefab/stage-close.cs +67 -0
  924. package/unitypkg/Editor/Tools/prefab/stage-open.cs +69 -0
  925. package/unitypkg/Editor/Tools/prefab/stage-save.cs +64 -0
  926. package/unitypkg/Editor/Tools/prefab/stage.cs +68 -0
  927. package/unitypkg/Editor/Tools/prefab/unpack.cs +80 -0
  928. package/unitypkg/Editor/Tools/prefab/variant/create.cs +53 -0
  929. package/unitypkg/Editor/Tools/profiler/ProfilerFrameDebuggerSupport.cs +68 -0
  930. package/unitypkg/Editor/Tools/profiler/ProfilerMemorySnapshotSupport.cs +30 -0
  931. package/unitypkg/Editor/Tools/profiler/ProfilerToolSupport.cs +515 -0
  932. package/unitypkg/Editor/Tools/profiler/areas.cs +36 -0
  933. package/unitypkg/Editor/Tools/profiler/capture.cs +188 -0
  934. package/unitypkg/Editor/Tools/profiler/clear.cs +57 -0
  935. package/unitypkg/Editor/Tools/profiler/counter.cs +34 -0
  936. package/unitypkg/Editor/Tools/profiler/deep.cs +48 -0
  937. package/unitypkg/Editor/Tools/profiler/export.cs +85 -0
  938. package/unitypkg/Editor/Tools/profiler/frame-debugger/disable.cs +53 -0
  939. package/unitypkg/Editor/Tools/profiler/frame-debugger/enable.cs +66 -0
  940. package/unitypkg/Editor/Tools/profiler/frame-debugger/events.cs +140 -0
  941. package/unitypkg/Editor/Tools/profiler/frame.cs +38 -0
  942. package/unitypkg/Editor/Tools/profiler/hierarchy.cs +183 -0
  943. package/unitypkg/Editor/Tools/profiler/load.cs +85 -0
  944. package/unitypkg/Editor/Tools/profiler/memory-snapshot/compare.cs +78 -0
  945. package/unitypkg/Editor/Tools/profiler/memory-snapshot/list.cs +73 -0
  946. package/unitypkg/Editor/Tools/profiler/memory-snapshot/take.cs +147 -0
  947. package/unitypkg/Editor/Tools/profiler/memory.cs +34 -0
  948. package/unitypkg/Editor/Tools/profiler/module-enable.cs +52 -0
  949. package/unitypkg/Editor/Tools/profiler/modules.cs +33 -0
  950. package/unitypkg/Editor/Tools/profiler/object-memory.cs +49 -0
  951. package/unitypkg/Editor/Tools/profiler/pause.cs +49 -0
  952. package/unitypkg/Editor/Tools/profiler/rendering-stats.cs +109 -0
  953. package/unitypkg/Editor/Tools/profiler/script-stats.cs +35 -0
  954. package/unitypkg/Editor/Tools/profiler/start.cs +55 -0
  955. package/unitypkg/Editor/Tools/profiler/status.cs +36 -0
  956. package/unitypkg/Editor/Tools/profiler/stop.cs +53 -0
  957. package/unitypkg/Editor/Tools/project/ProjectSettingsReader.cs +31 -0
  958. package/unitypkg/Editor/Tools/project/ProjectSettingsToolSupport.cs +757 -0
  959. package/unitypkg/Editor/Tools/project/ProjectTagLayerToolSupport.cs +23 -0
  960. package/unitypkg/Editor/Tools/project/audio-settings/set.cs +35 -0
  961. package/unitypkg/Editor/Tools/project/audio-settings.cs +31 -0
  962. package/unitypkg/Editor/Tools/project/info.cs +52 -0
  963. package/unitypkg/Editor/Tools/project/input-settings/set.cs +35 -0
  964. package/unitypkg/Editor/Tools/project/input-settings.cs +35 -0
  965. package/unitypkg/Editor/Tools/project/layer/add.cs +3 -0
  966. package/unitypkg/Editor/Tools/project/layer/remove.cs +3 -0
  967. package/unitypkg/Editor/Tools/project/layers.cs +61 -0
  968. package/unitypkg/Editor/Tools/project/player-settings/set.cs +35 -0
  969. package/unitypkg/Editor/Tools/project/player-settings.cs +31 -0
  970. package/unitypkg/Editor/Tools/project/tag/add.cs +3 -0
  971. package/unitypkg/Editor/Tools/project/tag/remove.cs +3 -0
  972. package/unitypkg/Editor/Tools/project/tags.cs +45 -0
  973. package/unitypkg/Editor/Tools/project/time-settings/set.cs +35 -0
  974. package/unitypkg/Editor/Tools/project/time-settings.cs +31 -0
  975. package/unitypkg/Editor/Tools/reflection/method/call.cs +114 -0
  976. package/unitypkg/Editor/Tools/reflection/method/find.cs +72 -0
  977. package/unitypkg/Editor/Tools/reflection/type/schema.cs +56 -0
  978. package/unitypkg/Editor/Tools/scene/SceneToolSupport.cs +181 -0
  979. package/unitypkg/Editor/Tools/scene/active.cs +62 -0
  980. package/unitypkg/Editor/Tools/scene/build-settings.cs +69 -0
  981. package/unitypkg/Editor/Tools/scene/create.cs +78 -0
  982. package/unitypkg/Editor/Tools/scene/data.cs +125 -0
  983. package/unitypkg/Editor/Tools/scene/gameobject/component.cs +63 -0
  984. package/unitypkg/Editor/Tools/scene/gameobject/components.cs +77 -0
  985. package/unitypkg/Editor/Tools/scene/gameobject-support.cs +101 -0
  986. package/unitypkg/Editor/Tools/scene/gameobject.cs +83 -0
  987. package/unitypkg/Editor/Tools/scene/hierarchy.cs +250 -0
  988. package/unitypkg/Editor/Tools/scene/list-opened.cs +77 -0
  989. package/unitypkg/Editor/Tools/scene/load.cs +68 -0
  990. package/unitypkg/Editor/Tools/scene/move-object.cs +122 -0
  991. package/unitypkg/Editor/Tools/scene/save.cs +231 -0
  992. package/unitypkg/Editor/Tools/scene/set-active.cs +76 -0
  993. package/unitypkg/Editor/Tools/scene/unload.cs +109 -0
  994. package/unitypkg/Editor/Tools/scene/validate.cs +115 -0
  995. package/unitypkg/Editor/Tools/scene/view-frame.cs +218 -0
  996. package/unitypkg/Editor/Tools/screenshot/EditorElementCaptureToolSupport.cs +181 -0
  997. package/unitypkg/Editor/Tools/screenshot/ScreenshotToolSupport.cs +196 -0
  998. package/unitypkg/Editor/Tools/screenshot/editor-element.cs +87 -0
  999. package/unitypkg/Editor/Tools/screenshot/game-view.cs +116 -0
  1000. package/unitypkg/Editor/Tools/screenshot/isolated-object.cs +93 -0
  1001. package/unitypkg/Editor/Tools/screenshot/orbit.cs +103 -0
  1002. package/unitypkg/Editor/Tools/screenshot/scene-view.cs +99 -0
  1003. package/unitypkg/Editor/Tools/screenshot/screen.cs +89 -0
  1004. package/unitypkg/Editor/Tools/screenshot/surround.cs +181 -0
  1005. package/unitypkg/Editor/Tools/scriptable-object/ScriptableObjectToolSupport.cs +196 -0
  1006. package/unitypkg/Editor/Tools/scriptable-object/create.cs +79 -0
  1007. package/unitypkg/Editor/Tools/scriptable-object/info.cs +49 -0
  1008. package/unitypkg/Editor/Tools/scriptable-object/list-types.cs +103 -0
  1009. package/unitypkg/Editor/Tools/scriptable-object/modify.cs +208 -0
  1010. package/unitypkg/Editor/Tools/shader/ShaderToolSupport.cs +326 -0
  1011. package/unitypkg/Editor/Tools/shader/create.cs +82 -0
  1012. package/unitypkg/Editor/Tools/shader/delete.cs +90 -0
  1013. package/unitypkg/Editor/Tools/shader/get-data.cs +125 -0
  1014. package/unitypkg/Editor/Tools/shader/info.cs +48 -0
  1015. package/unitypkg/Editor/Tools/shader/list.cs +82 -0
  1016. package/unitypkg/Editor/Tools/shader/read.cs +84 -0
  1017. package/unitypkg/Editor/Tools/shader/update.cs +71 -0
  1018. package/unitypkg/Editor/Tools/tests/list.cs +98 -0
  1019. package/unitypkg/Editor/Tools/texture/TextureToolSupport.cs +327 -0
  1020. package/unitypkg/Editor/Tools/texture/create.cs +182 -0
  1021. package/unitypkg/Editor/Tools/texture/delete.cs +89 -0
  1022. package/unitypkg/Editor/Tools/texture/generate.cs +189 -0
  1023. package/unitypkg/Editor/Tools/texture/import-settings.cs +104 -0
  1024. package/unitypkg/Editor/Tools/texture/info.cs +50 -0
  1025. package/unitypkg/Editor/Tools/texture/modify.cs +154 -0
  1026. package/unitypkg/Editor/Tools/texture/sprite.cs +132 -0
  1027. package/unitypkg/Editor/Tools/timeline/TimelineMutationToolSupport.cs +696 -0
  1028. package/unitypkg/Editor/Tools/timeline/TimelineReadToolSupport.cs +439 -0
  1029. package/unitypkg/Editor/Tools/timeline/TimelineToolSupport.cs +203 -0
  1030. package/unitypkg/Editor/Tools/timeline/clip/add.cs +93 -0
  1031. package/unitypkg/Editor/Tools/timeline/create.cs +88 -0
  1032. package/unitypkg/Editor/Tools/timeline/info.cs +54 -0
  1033. package/unitypkg/Editor/Tools/timeline/track/add.cs +91 -0
  1034. package/unitypkg/Editor/Tools/ui/UiToolSupport.cs +162 -0
  1035. package/unitypkg/Editor/Tools/ui/UiUguiToolSupport.cs +24 -0
  1036. package/unitypkg/Editor/Tools/ui/attach-document.cs +46 -0
  1037. package/unitypkg/Editor/Tools/ui/button/create.cs +58 -0
  1038. package/unitypkg/Editor/Tools/ui/canvas/create.cs +40 -0
  1039. package/unitypkg/Editor/Tools/ui/create-panel-settings.cs +44 -0
  1040. package/unitypkg/Editor/Tools/ui/detach-document.cs +41 -0
  1041. package/unitypkg/Editor/Tools/ui/document/create.cs +49 -0
  1042. package/unitypkg/Editor/Tools/ui/document/delete.cs +33 -0
  1043. package/unitypkg/Editor/Tools/ui/document/info.cs +33 -0
  1044. package/unitypkg/Editor/Tools/ui/document/update.cs +36 -0
  1045. package/unitypkg/Editor/Tools/ui/get-visual-tree.cs +34 -0
  1046. package/unitypkg/Editor/Tools/ui/hierarchy.cs +27 -0
  1047. package/unitypkg/Editor/Tools/ui/image/create.cs +47 -0
  1048. package/unitypkg/Editor/Tools/ui/link-stylesheet.cs +54 -0
  1049. package/unitypkg/Editor/Tools/ui/list-documents.cs +34 -0
  1050. package/unitypkg/Editor/Tools/ui/modify-visual-element.cs +76 -0
  1051. package/unitypkg/Editor/Tools/ui/render-preview.cs +128 -0
  1052. package/unitypkg/Editor/Tools/ui/text/create.cs +45 -0
  1053. package/unitypkg/Editor/Tools/ui/update-panel-settings.cs +49 -0
  1054. package/unitypkg/Editor/UnityCliBridge.cs +431 -0
  1055. package/unitypkg/Editor/UnityCliBridgeBuildInfo.cs +9 -0
  1056. package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeBridge.cs +580 -0
  1057. package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeJson.cs +232 -0
  1058. package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeRegistry.cs +297 -0
  1059. package/unitypkg/Runtime/Tools/UnityCliRuntimeTools.cs +701 -0
  1060. package/unitypkg/Runtime/UnityCli.Runtime.asmdef +14 -0
  1061. package/unitypkg/Shared/UnityCli.Shared.asmdef +14 -0
  1062. package/unitypkg/Shared/UnityCliAdmissionPool.cs +426 -0
  1063. package/unitypkg/Tests/Editor/UnityCli.Editor.Tests.asmdef +15 -0
  1064. package/unitypkg/Tests/Editor/UnityCliAdmissionPoolTests.cs +262 -0
  1065. package/unitypkg/UnityCli.Editor.asmdef +26 -0
  1066. package/unitypkg/package.json +11 -0
@@ -0,0 +1,102 @@
1
+ #if UNITY_EDITOR
2
+ using System.Collections.Generic;
3
+ using System.Linq;
4
+ using UnityEditor;
5
+ using UnityEditor.SceneManagement;
6
+ using UnityEngine;
7
+ using UnityEngine.ProBuilder;
8
+
9
+ namespace UnityCli.ProBuilder
10
+ {
11
+ /// <summary>
12
+ /// probuilder.flip-normals — 翻转 ProBuilder 网格选定面的法线。
13
+ /// </summary>
14
+ public class FlipNormalsTool : IUnityCliTool<FlipNormalsTool.Request, FlipNormalsTool.Result>
15
+ {
16
+ public sealed class Request
17
+ {
18
+ [UnityCliRequired] public string Target { get; set; }
19
+ public List<long> FaceIndices { get; set; } // 可选,空则作用于全部面
20
+ }
21
+
22
+ public sealed class Result
23
+ {
24
+ public long FlippedCount { get; set; }
25
+ }
26
+
27
+ public ToolDescriptor Describe() => new()
28
+ {
29
+ Name = "probuilder.flip-normals",
30
+ Summary = "Flip normals of selected faces on a ProBuilder mesh.",
31
+ Description = "Flip the normals of selected faces on a ProBuilder mesh. When faceIndices is omitted, all faces are flipped. Complete terminal verification requires a Renderer with non-empty sharedMaterials, valid face submesh indices, and every material slot used by at least one face. UV0 must be complete for every raw vertex or absent for the whole mesh; partial UV0 profiles are rejected.",
32
+ Group = "probuilder",
33
+ DestructiveHint = false,
34
+ SideEffects = new[] { "scene-modify", "undo-stack" },
35
+ Target = "editor",
36
+ PlayModeSupport = "editor-only",
37
+ DefaultTimeoutMs = 10000,
38
+ MaxTimeoutMs = 30000,
39
+ Examples = new[]
40
+ {
41
+ new ToolExample { Description = "翻转面 0 法线", Input = new Request { Target = "MyCube", FaceIndices = new List<long> { 0 } } }
42
+ }
43
+ };
44
+
45
+ public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
46
+ {
47
+ if (!ProBuilderReflection.IsAvailable)
48
+ throw ProBuilderErrors.PackageNotAvailable();
49
+
50
+ var target = request.Target;
51
+ var go = ProBuilderInput.ResolveTarget(target);
52
+ if (go == null) throw ProBuilderErrors.TargetNotFound(request.Target);
53
+
54
+ var mesh = ProBuilderReflection.GetProBuilderMesh(go);
55
+ if (mesh == null) throw ProBuilderErrors.OperationFailed("flip-normals", "No ProBuilderMesh on target.");
56
+ // The canonical snapshot freezes target/component identity before the effect.
57
+
58
+ var typedMesh = mesh as ProBuilderMesh;
59
+ var faceCount = typedMesh == null ? -1 : typedMesh.faces.Count;
60
+ if (faceCount < 1)
61
+ throw ProBuilderErrors.OperationFailed("flip-normals", "Target has no readable faces.");
62
+ int[] faceIndices = request.FaceIndices?.Select(i => ProBuilderOperationProof.CheckedInt(i, "faceIndices")).ToArray();
63
+ if (faceIndices == null || faceIndices.Length == 0)
64
+ faceIndices = Enumerable.Range(0, faceCount).ToArray();
65
+ // 同一 occurrence 仅消费一次,保留首次请求顺序。
66
+ faceIndices = faceIndices.Distinct().ToArray();
67
+ ProBuilderOperationProof.ValidateFaceIndices(mesh, faceIndices);
68
+ // effect 前按请求顺序冻结 exact occurrence;后续不得再按 index 解析选区。
69
+ var frozenFaces = faceIndices.Select(index => typedMesh.faces[index]).ToArray();
70
+ var plan = ProBuilderFlipCompletionProof.CaptureFlip(go, frozenFaces, faceIndices);
71
+ if (plan == null) throw ProBuilderErrors.OperationFailed("flip-normals", "Requested complete terminal state is not readable.");
72
+ ctx.CommitEffect();
73
+ try
74
+ {
75
+ Undo.RecordObject(go, "ProBuilder Flip Normals");
76
+ try { foreach (var face in plan.FrozenFaces) face.Reverse(); }
77
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
78
+ catch { throw ProBuilderErrors.OutcomeUnknown("flip-normals", "invoke", "Face.Reverse threw after the effect barrier."); }
79
+
80
+ if (!ProBuilderReflection.RefreshMeshPreservingVertexPayload(typedMesh))
81
+ throw ProBuilderErrors.OutcomeUnknown("flip-normals", "readback", "ProBuilder mesh payload-preserving refresh failed after the effect.");
82
+ EditorSceneManager.MarkSceneDirty(go.scene);
83
+ try
84
+ {
85
+ if (!ProBuilderFlipCompletionProof.FlipMatches(plan, target))
86
+ throw ProBuilderErrors.OutcomeUnknown("flip-normals", "postcondition", "The complete Face.Reverse terminal state was not proven by fresh readback.");
87
+ }
88
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
89
+ catch (System.Exception)
90
+ {
91
+ throw ProBuilderErrors.OutcomeUnknown("flip-normals", "postcondition", "Flip terminal-state readback threw after the effect barrier.");
92
+ }
93
+
94
+ var flipped = plan.FrozenFaces.Length;
95
+ return new System.Threading.Tasks.ValueTask<Result>(new Result { FlippedCount = flipped });
96
+ }
97
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
98
+ catch (System.Exception exception) { throw ProBuilderErrors.OutcomeUnknown("flip-normals", "postcondition", exception.Message); }
99
+ }
100
+ }
101
+ }
102
+ #endif
@@ -0,0 +1,45 @@
1
+ #if UNITY_EDITOR
2
+ using System;
3
+ using UnityEditor;
4
+ using UnityEditor.SceneManagement;
5
+ using UnityEngine;
6
+ using UnityEngine.ProBuilder;
7
+ using UnityEngine.ProBuilder.MeshOperations;
8
+ namespace UnityCli.ProBuilder
9
+ {
10
+ /// <summary>probuilder.freeze-transform — 将变换烘焙到网格顶点并重置变换。</summary>
11
+ public class FreezeTransformTool : IUnityCliTool<FreezeTransformTool.Request, FreezeTransformTool.Result>
12
+ {
13
+ public sealed class Request { [UnityCliRequired] public string Target { get; set; } }
14
+ public sealed class Result { public long BakedVertexCount { get; set; } }
15
+ public ToolDescriptor Describe() => new() { Name = "probuilder.freeze-transform", Summary = "Bake a ProBuilder mesh scale into vertex positions and reset localScale.", Description = "Call ProBuilder 5.2.4 FreezeScaleTransform on a root object: bake localScale into every referenced raw vertex while preserving position and rotation, then set localScale to one.", Group = "probuilder", DestructiveHint = false, SideEffects = new[] { "scene-modify", "undo-stack" }, Target = "editor", PlayModeSupport = "editor-only", DefaultTimeoutMs = 10000, MaxTimeoutMs = 30000, Examples = new[] { new ToolExample { Description = "烘焙变换到顶点", Input = new Request { Target = "MyCube" } } } };
16
+ public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
17
+ {
18
+ if (!ProBuilderReflection.IsAvailable) throw ProBuilderErrors.PackageNotAvailable(); var target = request.Target; var go = ProBuilderInput.ResolveTarget(target); if (go == null) throw ProBuilderErrors.TargetNotFound(target); var mesh = ProBuilderReflection.GetProBuilderMesh(go) as ProBuilderMesh; if (mesh == null) throw ProBuilderErrors.OperationFailed("freeze-transform", "No ProBuilderMesh on target."); var count = mesh.vertexCount;
19
+ if (mesh.vertexCount < 1) throw ProBuilderErrors.OperationFailed("freeze-transform", "Mesh has no vertices.");
20
+ if (go.transform.localScale == Vector3.one) return new System.Threading.Tasks.ValueTask<Result>(new Result { BakedVertexCount = 0 });
21
+ var plan = ProBuilderAtomicReadback.CaptureScaleBake(go, mesh);
22
+ if (plan == null) throw ProBuilderErrors.OperationFailed("freeze-transform", "Scale bake inputs are unreadable or non-finite.");
23
+ var instanceId = go.GetInstanceID();
24
+ ctx.CommitEffect();
25
+ try
26
+ {
27
+ ProBuilderAtomicReadback.RegisterMeshUndo(go, mesh, "ProBuilder Freeze Transform", true);
28
+ mesh.FreezeScaleTransform();
29
+ mesh.ToMesh();
30
+ mesh.Refresh();
31
+ EditorSceneManager.MarkSceneDirty(go.scene);
32
+ var freshGo = EditorUtility.InstanceIDToObject(instanceId) as GameObject;
33
+ var fresh = ProBuilderReflection.GetProBuilderMesh(freshGo);
34
+ if (fresh == null) throw ProBuilderErrors.OutcomeUnknown("freeze-transform", "readback", "Fresh target mesh is unreadable.");
35
+ if (!ProBuilderAtomicReadback.ScaleWasBaked(freshGo, fresh, plan)) throw ProBuilderErrors.OutcomeUnknown("freeze-transform", "postcondition", "Scale was not baked into readable geometry.");
36
+ return new System.Threading.Tasks.ValueTask<Result>(new Result { BakedVertexCount = count });
37
+ }
38
+ catch (Exception exception) when (!(exception is UnityCliBridge.BridgeCommandException))
39
+ {
40
+ throw ProBuilderErrors.OutcomeUnknown("freeze-transform", "invoke", exception.Message);
41
+ }
42
+ }
43
+ }
44
+ }
45
+ #endif
@@ -0,0 +1,132 @@
1
+ #if UNITY_EDITOR
2
+ using System;
3
+ using UnityEditor;
4
+ using UnityEditor.SceneManagement;
5
+ using UnityEngine;
6
+
7
+ namespace UnityCli.ProBuilder
8
+ {
9
+ /// <summary>
10
+ /// probuilder.insert-vertex — 在边或面上插入新顶点。
11
+ /// </summary>
12
+ public class InsertVertexTool : IUnityCliTool<InsertVertexTool.Request, InsertVertexTool.Result>
13
+ {
14
+ public sealed class Request
15
+ {
16
+ [UnityCliRequired] public string Target { get; set; }
17
+ public EdgeRef Edge { get; set; } // 可选,边 {a,b}
18
+ public long? FaceIndex { get; set; } // 可选,面索引
19
+ public double X { get; set; } // 默认 0
20
+ public double Y { get; set; } // 默认 0
21
+ public double Z { get; set; } // 默认 0
22
+ }
23
+
24
+ public sealed class EdgeRef
25
+ {
26
+ public long A { get; set; }
27
+ public long B { get; set; }
28
+ }
29
+
30
+ public sealed class Result
31
+ {
32
+ public bool Inserted { get; set; }
33
+ public long VertexCountBefore { get; set; }
34
+ public long VertexCountAfter { get; set; }
35
+ }
36
+
37
+ public ToolDescriptor Describe() => new()
38
+ {
39
+ Name = "probuilder.insert-vertex",
40
+ Summary = "Insert a new vertex on an edge or face of a ProBuilder mesh.",
41
+ Description = "Insert a new vertex on an edge or face of a ProBuilder mesh. Provide exactly one of edge or faceIndex; the insertion point uses target-local X/Y/Z coordinates and must lie strictly inside the selected edge or face. Both modes require initialized sharedTextures and absent UV1 because ProBuilder 5.2.4 dereferences the texture lookup and ToMesh clears UV1. Face mode requires a manual-UV face with raw vertices used by no other face and an empty shared-texture partition. Edge mode requires every affected face to be one manual-UV triangle with raw vertices exclusively owned by that face and no shared-texture mapping because ProBuilder 5.2.4 deletes/reorders boundary vertices without preserving unrelated raw ownership or reordering sharedIndexesUV. Both modes freeze the exact new-point payload and preflight normal, tangent, and smoothing refresh arithmetic.",
42
+ Group = "probuilder",
43
+ DestructiveHint = false,
44
+ SideEffects = new[] { "scene-modify", "undo-stack" },
45
+ Target = "editor",
46
+ PlayModeSupport = "editor-only",
47
+ DefaultTimeoutMs = 10000,
48
+ MaxTimeoutMs = 30000,
49
+ Examples = new[]
50
+ {
51
+ new ToolExample { Description = "在边上插入顶点", Input = new Request { Target = "MyCube", Edge = new EdgeRef { A = 0, B = 1 }, X = 0.5, Y = 0, Z = 0 } }
52
+ }
53
+ };
54
+
55
+ public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
56
+ {
57
+ if (!ProBuilderReflection.IsAvailable)
58
+ throw ProBuilderErrors.PackageNotAvailable();
59
+
60
+ var go = ProBuilderInput.ResolveTarget(request.Target);
61
+ if (go == null) throw ProBuilderErrors.TargetNotFound(request.Target);
62
+
63
+ var mesh = ProBuilderReflection.GetProBuilderMesh(go);
64
+ if (mesh == null) throw ProBuilderErrors.OperationFailed("insert-vertex", "No ProBuilderMesh on target.");
65
+ // Canonical insert proof owns the pre-effect identity claim.
66
+
67
+ var point = ProBuilderOperationProof.CheckedVector3(request.X, request.Y, request.Z, "point");
68
+ var target = request.Target;
69
+ var edge = request.Edge;
70
+ var faceIndex = request.FaceIndex;
71
+
72
+ if ((edge != null) == faceIndex.HasValue)
73
+ throw ProBuilderErrors.SchemaInvalid("Pass exactly one of edge or faceIndex for insert-vertex.");
74
+ var requestedFaces = faceIndex.HasValue ? new[] { ProBuilderOperationProof.CheckedInt(faceIndex.Value, "faceIndex") } : null;
75
+ var requestedEdges = edge == null ? null : ProBuilderOperationProof.ValidateEdges(mesh, null, new[] { new ProBuilderInput.EdgePair { a = ProBuilderOperationProof.CheckedInt(edge.A, "edge.a"), b = ProBuilderOperationProof.CheckedInt(edge.B, "edge.b") } });
76
+ if (requestedFaces != null)
77
+ {
78
+ ProBuilderOperationProof.ValidateFaceIndices(mesh, requestedFaces);
79
+ if (ProBuilderInsertCompletionProof.HasFaceInsertionSharedTextureConflict(go, requestedFaces[0]))
80
+ throw ProBuilderErrors.SchemaInvalid("face insertion cannot preserve this mesh's shared texture groups with ProBuilder 5.2.4; use edge mode or remove the UV sharing partition explicitly first.");
81
+ }
82
+ var requestedEdge = edge == null ? null : new[] { ProBuilderOperationProof.CheckedInt(edge.A, "edge.a"), ProBuilderOperationProof.CheckedInt(edge.B, "edge.b") };
83
+ var before = ProBuilderInsertCompletionProof.Capture(go, requestedEdge, requestedFaces == null ? -1 : requestedFaces[0], out var captureFailure);
84
+ if (before == null) throw ProBuilderErrors.OperationFailed("insert-vertex", "Requested canonical insertion geometry is not readable: " + captureFailure + ".");
85
+ if (!ProBuilderInsertCompletionProof.PointIsStrictlyInterior(before, point))
86
+ throw ProBuilderErrors.SchemaInvalid("point must be strictly inside the requested edge or face and must not equal an existing point.");
87
+ if (!ProBuilderInsertCompletionProof.TerminalCanRefresh(before, point))
88
+ throw ProBuilderErrors.SchemaInvalid("the exact inserted topology must keep all 5.2.4 normal, tangent, and smoothing refresh arithmetic finite and bounded.");
89
+ var vertexCountBefore = ProBuilderReflection.GetVertexCount(mesh);
90
+ if (vertexCountBefore < 0)
91
+ throw ProBuilderErrors.OperationFailed("insert-vertex", "Pre-effect vertex count is not readable.");
92
+ ctx.CommitEffect();
93
+ try
94
+ {
95
+ Undo.RecordObject(go, "ProBuilder Insert Vertex");
96
+ var inserted = edge != null
97
+ ? ProBuilderReflection.InsertVertexOnEdgeByPair(mesh, requestedEdge[0], requestedEdge[1], point)
98
+ : ProBuilderReflection.InsertVertexInFace(mesh, requestedFaces[0], point);
99
+ if (!inserted)
100
+ throw ProBuilderErrors.OutcomeUnknown("insert-vertex", "invoke", "ProBuilder 5.2.4 AppendElements insertion failed.");
101
+ if (edge != null && !ProBuilderInsertCompletionProof.RestoreEdgeFaceAttributes(mesh, before))
102
+ throw ProBuilderErrors.OutcomeUnknown("insert-vertex", "invoke", "Affected edge faces could not restore their frozen attributes before refresh.");
103
+ if (!ProBuilderReflection.RefreshMesh(mesh))
104
+ throw ProBuilderErrors.OutcomeUnknown("insert-vertex", "invoke", "ProBuilder data changed but ToMesh/Refresh did not complete.");
105
+ var freshMesh = CanonicalMeshSnapshot.ResolveFreshMesh(target, before.Before.Identity);
106
+ if (freshMesh == null)
107
+ throw ProBuilderErrors.OutcomeUnknown("insert-vertex", "readback", "Fresh target topology could not be read.");
108
+ var vertexCountAfter = ProBuilderReflection.GetVertexCount(freshMesh);
109
+ if (vertexCountAfter < 0)
110
+ throw ProBuilderErrors.OutcomeUnknown("insert-vertex", "readback", "Fresh target topology could not be read.");
111
+ var after = CanonicalMeshSnapshot.Capture(freshMesh.gameObject, Array.Empty<int>());
112
+ if (after == null)
113
+ throw ProBuilderErrors.OutcomeUnknown("insert-vertex", "readback", "Fresh canonical topology or compiled Mesh could not be read.");
114
+ if (!ProBuilderInsertCompletionProof.Matches(before, after, point, out var proofFailure))
115
+ throw ProBuilderErrors.OutcomeUnknown("insert-vertex", "postcondition", "Requested point, edge replacement or face child union/winding/material/UV/smoothing were not proven by fresh readback: " + proofFailure + ".");
116
+ EditorSceneManager.MarkSceneDirty(go.scene);
117
+ return new System.Threading.Tasks.ValueTask<Result>(new Result
118
+ {
119
+ Inserted = true,
120
+ VertexCountBefore = vertexCountBefore,
121
+ VertexCountAfter = vertexCountAfter
122
+ });
123
+ }
124
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
125
+ catch (System.Exception exception)
126
+ {
127
+ throw ProBuilderErrors.OutcomeUnknown("insert-vertex", "postcondition", exception.Message);
128
+ }
129
+ }
130
+ }
131
+ }
132
+ #endif
@@ -0,0 +1,44 @@
1
+ #if UNITY_EDITOR
2
+ using System;
3
+ using System.Collections.Generic;
4
+ using System.Linq;
5
+ using UnityEditor;
6
+ using UnityEditor.SceneManagement;
7
+ using UnityEngine;
8
+ using UnityEngine.ProBuilder;
9
+ using UnityEngine.ProBuilder.MeshOperations;
10
+ namespace UnityCli.ProBuilder
11
+ {
12
+ public class MergeFacesTool : IUnityCliTool<MergeFacesTool.Request, MergeFacesTool.Result>
13
+ {
14
+ public sealed class Request { [UnityCliRequired] public string Target { get; set; } [UnityCliRequired] public List<long> FaceIndices { get; set; } }
15
+ public sealed class Result { public long BeforeFaceCount { get; set; } public long AfterFaceCount { get; set; } public long MergedSourceFaceCount { get; set; } }
16
+ public ToolDescriptor Describe() => new()
17
+ {
18
+ Name = "probuilder.merge-faces",
19
+ Summary = "Merge selected ProBuilder faces.",
20
+ Description = "Merge at least two unique valid faces into one ProBuilder face.",
21
+ Group = "probuilder",
22
+ DestructiveHint = false,
23
+ SideEffects = new[] { "scene-modify", "undo-stack" },
24
+ Target = "editor",
25
+ PlayModeSupport = "editor-only",
26
+ DefaultTimeoutMs = 10000,
27
+ MaxTimeoutMs = 30000,
28
+ Examples = new[]
29
+ {
30
+ new ToolExample { Description = "合并 strict-domain 面 0 和 1", Input = new Request { FaceIndices = new List<long> { 0, 1 }, Target = "SharedEdgeTriangles" } }
31
+ }
32
+ };
33
+ public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
34
+ {
35
+ if (!ProBuilderReflection.IsAvailable) throw ProBuilderErrors.PackageNotAvailable(); var go = ProBuilderInput.ResolveTarget(request.Target); if (go == null) throw ProBuilderErrors.TargetNotFound(request.Target); var mesh = ProBuilderReflection.GetProBuilderMesh(go); if (mesh == null) throw ProBuilderErrors.OperationFailed("merge-faces", "No ProBuilderMesh on target.");
36
+ var indices = request.FaceIndices?.Select(value => ProBuilderOperationProof.CheckedInt(value, "faceIndices")).ToArray(); var before = ProBuilderReflection.GetFaceCount(mesh); if (indices == null || indices.Length < 2 || indices.Distinct().Count() != indices.Length || before < 0 || ProBuilderReflection.GetFacesByIndices(mesh, indices) == null) throw ProBuilderErrors.SchemaInvalid("faceIndices must contain at least 2 unique valid faces."); var id = go.GetInstanceID(); ctx.CommitEffect();
37
+ try { ProBuilderAtomicReadback.RegisterMeshUndo(go, mesh, "ProBuilder Merge Faces"); var merged = MergeElements.Merge(mesh as ProBuilderMesh, ProBuilderReflection.GetFacesByIndices(mesh, indices).Cast<Face>()); if (merged == null) throw ProBuilderErrors.OutcomeUnknown("merge-faces", "invoke", "MergeElements.Merge failed."); }
38
+ catch (UnityCliBridge.BridgeCommandException) { throw; } catch (Exception ex) { throw ProBuilderErrors.OutcomeUnknown("merge-faces", "invoke", ex.Message); }
39
+ try { if (!ProBuilderReflection.RefreshMeshPreservingVertexPayload(mesh)) throw ProBuilderErrors.OutcomeUnknown("merge-faces", "readback", "ProBuilder refresh failed."); EditorSceneManager.MarkSceneDirty(go.scene); var fresh = ProBuilderReflection.GetProBuilderMesh(EditorUtility.InstanceIDToObject(id) as GameObject); var after = ProBuilderReflection.GetFaceCount(fresh); if (after < 0 || after != before - indices.Length + 1) throw ProBuilderErrors.OutcomeUnknown("merge-faces", "postcondition", "Fresh face count did not confirm merge."); return new System.Threading.Tasks.ValueTask<Result>(new Result { BeforeFaceCount = before, AfterFaceCount = after, MergedSourceFaceCount = indices.Length }); }
40
+ catch (UnityCliBridge.BridgeCommandException) { throw; } catch (Exception ex) { throw ProBuilderErrors.OutcomeUnknown("merge-faces", "readback", ex.Message); }
41
+ }
42
+ }
43
+ }
44
+ #endif
@@ -0,0 +1,130 @@
1
+ #if UNITY_EDITOR
2
+ using System.Collections.Generic;
3
+ using System.Linq;
4
+ using UnityEditor;
5
+ using UnityEditor.SceneManagement;
6
+ using UnityEngine;
7
+
8
+ namespace UnityCli.ProBuilder
9
+ {
10
+ /// <summary>
11
+ /// probuilder.merge-objects — 将多个 GameObject 合并为单个 ProBuilder 对象。
12
+ /// </summary>
13
+ public class MergeObjectsTool : IUnityCliTool<MergeObjectsTool.Request, MergeObjectsTool.Result>
14
+ {
15
+ public sealed class Request
16
+ {
17
+ [UnityCliRequired] public List<string> Targets { get; set; }
18
+ public string Name { get; set; } // 可选,默认 ProBuilder_Merged
19
+ }
20
+
21
+ public sealed class Result
22
+ {
23
+ public ObjectRef MergedObject { get; set; }
24
+ }
25
+
26
+ public sealed class ObjectRef
27
+ {
28
+ public long Id { get; set; }
29
+ public string Name { get; set; }
30
+ public string Path { get; set; }
31
+ }
32
+
33
+ public ToolDescriptor Describe() => new()
34
+ {
35
+ Name = "probuilder.merge-objects",
36
+ Summary = "Merge multiple GameObjects into a single ProBuilder mesh object.",
37
+ Description = "Merge at least two existing ProBuilderMesh objects into the first requested object with the ProBuilder 5.2.4 CombineMeshes API. Every source must already have ProBuilderMesh and no UV1; convert regular meshes with probuilder.convert-to-probuilder before calling this Tool. UV1 is rejected because ToMesh clears it. All target-local projections and the complete merged refresh arithmetic must be finite and bounded before mutation.",
38
+ Group = "probuilder",
39
+ DestructiveHint = false,
40
+ SideEffects = new[] { "scene-modify", "undo-stack" },
41
+ Target = "editor",
42
+ PlayModeSupport = "editor-only",
43
+ DefaultTimeoutMs = 15000,
44
+ MaxTimeoutMs = 60000,
45
+ Examples = new[]
46
+ {
47
+ new ToolExample { Description = "合并两个对象", Input = new Request { Targets = new List<string> { "Cube1", "Cube2" }, Name = "Merged" } }
48
+ }
49
+ };
50
+
51
+ public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
52
+ {
53
+ if (!ProBuilderReflection.IsAvailable)
54
+ throw ProBuilderErrors.PackageNotAvailable();
55
+
56
+ var targets = ProBuilderInput.ResolveTargets(request.Targets);
57
+ if (request.Targets == null || targets == null || targets.Length != request.Targets.Count || targets.Length < 2)
58
+ throw ProBuilderErrors.SchemaInvalid("At least 2 unique, unambiguous targets required for merge-objects.");
59
+
60
+ var name = request.Name ?? "ProBuilder_Merged";
61
+ if (string.IsNullOrWhiteSpace(name)) throw ProBuilderErrors.SchemaInvalid("name must be non-empty.");
62
+ if (targets.Select(target => target.GetInstanceID()).Distinct().Count() != targets.Length)
63
+ throw ProBuilderErrors.SchemaInvalid("merge-objects does not accept duplicate source identities.");
64
+ if (targets.Any(left => targets.Any(right => left != right && (left.transform.IsChildOf(right.transform) || right.transform.IsChildOf(left.transform)))))
65
+ throw ProBuilderErrors.SchemaInvalid("merge-objects does not accept ancestor/descendant sources.");
66
+ if (targets.Any(target => ProBuilderReflection.GetProBuilderMesh(target) == null))
67
+ throw ProBuilderErrors.SchemaInvalid("merge-objects requires every target to already have a ProBuilderMesh component; call probuilder.convert-to-probuilder first for regular meshes.");
68
+ if (targets.Any(target => target.scene.handle != targets[0].scene.handle || !target.scene.isLoaded || target.transform.childCount != 0 && target != targets[0]))
69
+ throw ProBuilderErrors.SchemaInvalid("All sources must be in the same loaded scene and non-first sources must not have children.");
70
+ if (targets.Any(target => !FiniteInvertible(target.transform.localToWorldMatrix) || !FiniteInvertible(target.transform.worldToLocalMatrix)))
71
+ throw ProBuilderErrors.SchemaInvalid("Every source transform must be finite and invertible.");
72
+ var plan = ProBuilderVertexObjectCompletionProof.CaptureMergeObjects(targets, name);
73
+ if (plan == null)
74
+ throw ProBuilderErrors.SchemaInvalid("merge-objects requires strict canonical ProBuilder sources, complete sharedTextures, absent UV1, closed non-null material slots, deterministic contributor UVs, and fewer than 65535 raw vertices.");
75
+
76
+ var pbMeshes = targets.Select(ProBuilderReflection.GetProBuilderMesh).ToArray();
77
+ ctx.CommitEffect();
78
+ try
79
+ {
80
+ Undo.RecordObject(targets[0], "ProBuilder Merge Objects");
81
+ if (!ProBuilderReflection.CombineMeshesViaReflection(pbMeshes, pbMeshes[0])) throw ProBuilderErrors.OutcomeUnknown("merge-objects", "invoke", "ProBuilder 5.x CombineMeshes.Combine did not return exactly one mesh.");
82
+ }
83
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
84
+ catch (System.Exception exception) { throw ProBuilderErrors.OutcomeUnknown("merge-objects", "invoke", exception.Message); }
85
+ GameObject freshGo;
86
+ object freshMesh;
87
+ try
88
+ {
89
+ if (!ProBuilderReflection.RefreshMesh(pbMeshes[0])) throw ProBuilderErrors.OutcomeUnknown("merge-objects", "readback", "ProBuilder mesh refresh failed after the effect.");
90
+ for (var index = 1; index < targets.Length; index++) Undo.DestroyObjectImmediate(targets[index]);
91
+ targets[0].name = name;
92
+ EditorSceneManager.MarkSceneDirty(targets[0].scene);
93
+ freshGo = EditorUtility.InstanceIDToObject(plan.Sources[0].Identity.GameObjectInstanceId) as GameObject;
94
+ freshMesh = ProBuilderReflection.GetProBuilderMesh(freshGo);
95
+ if (freshGo == null || freshMesh == null) throw ProBuilderErrors.OutcomeUnknown("merge-objects", "readback", "Result identity or mesh could not be resolved.");
96
+ }
97
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
98
+ catch (System.Exception exception) { throw ProBuilderErrors.OutcomeUnknown("merge-objects", "readback", exception.Message); }
99
+ try
100
+ {
101
+ if (!ProBuilderVertexObjectCompletionProof.MergeObjectsMatches(plan, freshGo, freshMesh as UnityEngine.ProBuilder.ProBuilderMesh)) throw ProBuilderErrors.OutcomeUnknown("merge-objects", "postcondition", "The complete ProBuilder 5.2.4 combine terminal state was not proven by fresh readback.");
102
+ }
103
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
104
+ catch (System.Exception exception) { throw ProBuilderErrors.OutcomeUnknown("merge-objects", "postcondition", exception.Message); }
105
+ try
106
+ {
107
+ return new System.Threading.Tasks.ValueTask<Result>(new Result { MergedObject = new ObjectRef { Id = freshGo.GetInstanceID(), Name = freshGo.name, Path = HierarchyPath(freshGo) } });
108
+ }
109
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
110
+ catch (System.Exception exception) { throw ProBuilderErrors.OutcomeUnknown("merge-objects", "postcondition", exception.Message); }
111
+ }
112
+
113
+ /// <summary>矩阵必须有限且可逆,避免 contributor world 到 target local 变换不可复演。</summary>
114
+ private static bool FiniteInvertible(Matrix4x4 matrix)
115
+ {
116
+ if (Mathf.Abs(matrix.determinant) <= Mathf.Epsilon) return false;
117
+ for (var index = 0; index < 16; index++) if (float.IsNaN(matrix[index]) || float.IsInfinity(matrix[index])) return false;
118
+ return true;
119
+ }
120
+
121
+ private static string HierarchyPath(GameObject go)
122
+ {
123
+ var names = new Stack<string>();
124
+ var cur = go.transform;
125
+ while (cur != null) { names.Push(cur.name); cur = cur.parent; }
126
+ return string.Join("/", names.ToArray());
127
+ }
128
+ }
129
+ }
130
+ #endif
@@ -0,0 +1,109 @@
1
+ #if UNITY_EDITOR
2
+ using System.Collections.Generic;
3
+ using System.Linq;
4
+ using UnityEditor;
5
+ using UnityEditor.SceneManagement;
6
+ using UnityEngine;
7
+ using UnityEngine.ProBuilder;
8
+
9
+ namespace UnityCli.ProBuilder
10
+ {
11
+ /// <summary>
12
+ /// probuilder.merge-vertices — 合并 ProBuilder 网格的选定顶点。
13
+ /// </summary>
14
+ public class MergeVerticesTool : IUnityCliTool<MergeVerticesTool.Request, MergeVerticesTool.Result>
15
+ {
16
+ public sealed class Request
17
+ {
18
+ [UnityCliRequired] public string Target { get; set; }
19
+ [UnityCliRequired] public List<long> VertexIndices { get; set; }
20
+ public bool CollapseToFirst { get; set; } // 默认 false
21
+ }
22
+
23
+ public sealed class Result
24
+ {
25
+ public bool Changed { get; set; }
26
+ public string NoOpReason { get; set; }
27
+ public long MergedToIndex { get; set; }
28
+ public long SourceVertexCount { get; set; }
29
+ }
30
+
31
+ public ToolDescriptor Describe() => new()
32
+ {
33
+ Name = "probuilder.merge-vertices",
34
+ Summary = "Merge selected vertices of a ProBuilder mesh into a single vertex.",
35
+ Description = "Merge at least two selected vertices into one shared vertex. When collapseToFirst is true, the first selected vertex supplies the terminal position and payload; otherwise ProBuilder 5.2.4 averages the selected payload. An effectful merge must have initialized sharedTextures and no UV1 because MergeVertices dereferences the texture lookup and ToMesh clears UV1; an exact no-op returns before those APIs. The complete predicted raw, channel, world-position and triangle terminal must remain finite or the request is rejected before mutation.",
36
+ Group = "probuilder",
37
+ DestructiveHint = false,
38
+ SideEffects = new[] { "scene-modify", "undo-stack" },
39
+ Target = "editor",
40
+ PlayModeSupport = "editor-only",
41
+ DefaultTimeoutMs = 10000,
42
+ MaxTimeoutMs = 30000,
43
+ Examples = new[]
44
+ {
45
+ new ToolExample { Description = "合并顶点 0 和 1", Input = new Request { Target = "MyCube", VertexIndices = new List<long> { 0, 1 } } }
46
+ }
47
+ };
48
+
49
+ public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
50
+ {
51
+ if (!ProBuilderReflection.IsAvailable)
52
+ throw ProBuilderErrors.PackageNotAvailable();
53
+
54
+ var target = request.Target;
55
+ var go = ProBuilderInput.ResolveTarget(target);
56
+ if (go == null) throw ProBuilderErrors.TargetNotFound(request.Target);
57
+
58
+ var mesh = ProBuilderReflection.GetProBuilderMesh(go);
59
+ if (mesh == null) throw ProBuilderErrors.OperationFailed("merge-vertices", "No ProBuilderMesh on target.");
60
+ var identity = ProBuilderOperationProof.CaptureIdentity(go);
61
+ if (identity == null) throw ProBuilderErrors.SchemaInvalid("Target must belong to a valid loaded scene.");
62
+
63
+ int[] vertexIndices = request.VertexIndices?.Select(i => ProBuilderOperationProof.CheckedInt(i, "vertexIndices")).ToArray();
64
+ var vertexCount = ProBuilderReflection.GetVertexCount(mesh);
65
+ if (vertexIndices == null || vertexIndices.Length < 2 || vertexIndices.Distinct().Count() != vertexIndices.Length)
66
+ throw ProBuilderErrors.SchemaInvalid("At least 2 unique vertexIndices are required for merge-vertices.");
67
+ if (vertexCount < 0 || vertexIndices.Any(index => index < 0 || index >= vertexCount))
68
+ throw ProBuilderErrors.SchemaInvalid("vertexIndices contains an invalid vertex index.");
69
+ var collapseToFirst = request.CollapseToFirst;
70
+ var before = ProBuilderVertexObjectCompletionProof.CaptureMergeVertices(mesh, vertexIndices, collapseToFirst);
71
+ if (before == null) throw ProBuilderErrors.OperationFailed("merge-vertices", "An effectful merge requires initialized sharedTextures, absent UV1, and a completely finite readable predicted terminal.");
72
+ if (before.IsNoOp)
73
+ return new System.Threading.Tasks.ValueTask<Result>(new Result { Changed = false, NoOpReason = "expected-terminal-equals-before", MergedToIndex = before.ExpectedReturnedIndex, SourceVertexCount = vertexIndices.Length });
74
+ ctx.CommitEffect();
75
+ try
76
+ {
77
+ int mergedToIndex;
78
+ try
79
+ {
80
+ Undo.RecordObject(go, "ProBuilder Merge Vertices");
81
+ if (!ProBuilderReflection.TryMergeVerticesWithCollapse(mesh, vertexIndices, collapseToFirst, out mergedToIndex))
82
+ throw ProBuilderErrors.OutcomeUnknown("merge-vertices", "invoke", "ProBuilder 5.x VertexEditing.MergeVertices could not be invoked.");
83
+ }
84
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
85
+ catch (System.Exception exception) { throw ProBuilderErrors.OutcomeUnknown("merge-vertices", "invoke", exception.Message); }
86
+ ProBuilderMesh freshMesh;
87
+ try
88
+ {
89
+ if (!ProBuilderReflection.RefreshMeshPreservingVertexPayload(mesh)) throw ProBuilderErrors.OutcomeUnknown("merge-vertices", "readback", "ProBuilder mesh refresh failed after the effect.");
90
+ EditorSceneManager.MarkSceneDirty(go.scene);
91
+ freshMesh = ProBuilderOperationProof.ResolveFreshMesh(target, identity) as ProBuilderMesh;
92
+ if (freshMesh == null) throw ProBuilderErrors.OutcomeUnknown("merge-vertices", "readback", "Fresh target identity could not be resolved.");
93
+ }
94
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
95
+ catch (System.Exception exception) { throw ProBuilderErrors.OutcomeUnknown("merge-vertices", "readback", exception.Message); }
96
+ try
97
+ {
98
+ if (!ProBuilderVertexObjectCompletionProof.MergeVerticesMatches(before, freshMesh, mergedToIndex)) throw ProBuilderErrors.OutcomeUnknown("merge-vertices", "postcondition", "The complete ProBuilder 5.2.4 merge terminal state was not proven by fresh readback.");
99
+ }
100
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
101
+ catch (System.Exception exception) { throw ProBuilderErrors.OutcomeUnknown("merge-vertices", "postcondition", exception.Message); }
102
+ return new System.Threading.Tasks.ValueTask<Result>(new Result { Changed = true, MergedToIndex = mergedToIndex, SourceVertexCount = vertexIndices.Length });
103
+ }
104
+ catch (UnityCliBridge.BridgeCommandException) { throw; }
105
+ catch (System.Exception exception) { throw ProBuilderErrors.OutcomeUnknown("merge-vertices", "postcondition", exception.Message); }
106
+ }
107
+ }
108
+ }
109
+ #endif