@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,757 @@
1
+ #if UNITY_EDITOR
2
+ using System;
3
+ using System.Collections.Generic;
4
+ using System.Globalization;
5
+ using System.IO;
6
+ using System.Linq;
7
+ using System.Security.Cryptography;
8
+ using UnityEditor;
9
+ using UnityEditor.Build;
10
+ using UnityEngine;
11
+
12
+ namespace UnityCli
13
+ {
14
+ /// <summary>四类 ProjectSettings Tool 的批准字段、版本分派、精确持久化和 fresh readback owner。</summary>
15
+ internal static class ProjectSettingsToolSupport
16
+ {
17
+ internal const string AudioAssetPath = "ProjectSettings/AudioManager.asset";
18
+ internal const string InputAssetPath = "ProjectSettings/InputManager.asset";
19
+ internal const string PlayerAssetPath = "ProjectSettings/ProjectSettings.asset";
20
+ internal const string TimeAssetPath = "ProjectSettings/TimeManager.asset";
21
+
22
+ private const int DefaultInputLimit = 50;
23
+ private const int MaxInputLimit = 200;
24
+ private const int MaxInputAxisScan = 4096;
25
+
26
+ private sealed class VersionSurface
27
+ {
28
+ internal string Id;
29
+ internal string AudioVolume;
30
+ internal string AudioRolloff;
31
+ internal string AudioDoppler;
32
+ internal string InputAxes;
33
+ internal string InputName;
34
+ internal string InputSensitivity;
35
+ internal string InputGravity;
36
+ internal string InputDead;
37
+ internal string TimeFixedDelta;
38
+ internal string TimeMaximumDelta;
39
+ internal string TimeScale;
40
+ }
41
+
42
+ /// <summary>读 Tool 在主线程读取指定配置资产,不获取 mutation lease。</summary>
43
+ internal static ProjectAudioSettingsSnapshot ReadAudio(string toolName)
44
+ {
45
+ EnsureReady(toolName);
46
+ var surface = ResolveSurface();
47
+ using (var so = LoadSettingsAsset(AudioAssetPath))
48
+ {
49
+ return new ProjectAudioSettingsSnapshot
50
+ {
51
+ UnityVersion = Application.unityVersion,
52
+ VersionSurface = surface.Id,
53
+ Asset = ReadFileIdentity(AudioAssetPath),
54
+ Volume = ReadFloat(so, surface.AudioVolume),
55
+ RolloffScale = ReadFloat(so, surface.AudioRolloff),
56
+ DopplerFactor = ReadFloat(so, surface.AudioDoppler)
57
+ };
58
+ }
59
+ }
60
+
61
+ /// <summary>只更新显式提供的三个 Audio 字段,并从新 SerializedObject 与磁盘文件验证终态。</summary>
62
+ internal static ProjectAudioSettingsSetResult SetAudio(ProjectAudioSettingsSetRequest request, UnityCliProjectToolContext ctx)
63
+ {
64
+ const string toolName = "project.audio-settings.set";
65
+ EnsureReady(toolName);
66
+ request = request ?? new ProjectAudioSettingsSetRequest();
67
+ if (!request.Volume.HasValue && !request.RolloffScale.HasValue && !request.DopplerFactor.HasValue)
68
+ throw NoFields(toolName);
69
+
70
+ var expectedVolume = NormalizeOptional(request.Volume, "volume", 0f, 1f, false);
71
+ var expectedRolloff = NormalizeOptional(request.RolloffScale, "rolloffScale", 0f, float.MaxValue, false);
72
+ var expectedDoppler = NormalizeOptional(request.DopplerFactor, "dopplerFactor", 0f, float.MaxValue, false);
73
+ var before = ReadAudio(toolName);
74
+ var changedFields = ChangedFields(
75
+ Change("volume", before.Volume, expectedVolume),
76
+ Change("rolloffScale", before.RolloffScale, expectedRolloff),
77
+ Change("dopplerFactor", before.DopplerFactor, expectedDoppler));
78
+ var effects = Effects(toolName, AudioAssetPath, changedFields, false);
79
+ if (changedFields.Count == 0 || ctx.DryRun)
80
+ return new ProjectAudioSettingsSetResult { Applied = false, WouldChange = changedFields.Count > 0, DryRun = ctx.DryRun, ChangedFields = changedFields, Before = before, After = before, PlannedEffects = effects };
81
+
82
+ var surface = ResolveSurface();
83
+ using (var so = LoadSettingsAsset(AudioAssetPath))
84
+ {
85
+ var target = so.targetObject;
86
+ var volume = RequireFloat(so, surface.AudioVolume);
87
+ var rolloff = RequireFloat(so, surface.AudioRolloff);
88
+ var doppler = RequireFloat(so, surface.AudioDoppler);
89
+ ctx.CommitEffect();
90
+ SetFloat(volume, expectedVolume);
91
+ SetFloat(rolloff, expectedRolloff);
92
+ SetFloat(doppler, expectedDoppler);
93
+ ApplyAndSave(so, target, AudioAssetPath);
94
+ }
95
+
96
+ var after = ReadAudio(toolName);
97
+ VerifyFloat("volume", after.Volume, expectedVolume);
98
+ VerifyFloat("rolloffScale", after.RolloffScale, expectedRolloff);
99
+ VerifyFloat("dopplerFactor", after.DopplerFactor, expectedDoppler);
100
+ VerifyFileChanged(before.Asset, after.Asset, toolName);
101
+ return new ProjectAudioSettingsSetResult { Applied = true, WouldChange = true, DryRun = false, ChangedFields = changedFields, Before = before, After = after, PlannedEffects = effects };
102
+ }
103
+
104
+ /// <summary>分页返回 legacy Input Manager 的批准字段;axis 为精确名称过滤,不做模糊匹配。</summary>
105
+ internal static ProjectInputSettingsResult ReadInput(ProjectInputSettingsRequest request, string toolName)
106
+ {
107
+ EnsureReady(toolName);
108
+ request = request ?? new ProjectInputSettingsRequest();
109
+ var offset = request.Offset ?? 0L;
110
+ var limit = request.Limit ?? DefaultInputLimit;
111
+ if (offset < 0 || offset > int.MaxValue)
112
+ throw Invalid("offset", "offset must be between 0 and 2147483647.");
113
+ if (limit < 1 || limit > MaxInputLimit)
114
+ throw Invalid("limit", "limit must be between 1 and " + MaxInputLimit + ".");
115
+
116
+ var surface = ResolveSurface();
117
+ var page = new List<ProjectInputAxisSnapshot>((int)limit);
118
+ var totalCount = 0;
119
+ var matchedCount = 0;
120
+ using (var so = LoadSettingsAsset(InputAssetPath))
121
+ {
122
+ var axes = RequireArray(so, surface.InputAxes);
123
+ EnsureAxisCountBounded(axes);
124
+ totalCount = axes.arraySize;
125
+ for (var index = 0; index < axes.arraySize; index++)
126
+ {
127
+ var axis = axes.GetArrayElementAtIndex(index);
128
+ if (!string.IsNullOrEmpty(request.Axis) && !string.Equals(ReadString(axis, surface.InputName), request.Axis, StringComparison.Ordinal))
129
+ continue;
130
+ if (matchedCount >= offset && page.Count < limit)
131
+ page.Add(ReadAxis(axis, index, surface));
132
+ matchedCount++;
133
+ }
134
+ }
135
+
136
+ return new ProjectInputSettingsResult
137
+ {
138
+ UnityVersion = Application.unityVersion,
139
+ VersionSurface = surface.Id,
140
+ Asset = ReadFileIdentity(InputAssetPath),
141
+ TotalAxisCount = totalCount,
142
+ MatchedAxisCount = matchedCount,
143
+ ReturnedCount = page.Count,
144
+ HasMore = offset + page.Count < matchedCount,
145
+ Axes = page
146
+ };
147
+ }
148
+
149
+ /// <summary>冻结唯一命名axis和三个批准字段,effect后按index/name/value与文件身份重新证明。</summary>
150
+ internal static ProjectInputSettingsSetResult SetInput(ProjectInputSettingsSetRequest request, UnityCliProjectToolContext ctx)
151
+ {
152
+ const string toolName = "project.input-settings.set";
153
+ EnsureReady(toolName);
154
+ request = request ?? new ProjectInputSettingsSetRequest();
155
+ if (string.IsNullOrEmpty(request.Axis))
156
+ throw Invalid("axis", "axis is required and must exactly match one legacy Input Manager axis name.");
157
+ if (!request.Sensitivity.HasValue && !request.Gravity.HasValue && !request.Dead.HasValue)
158
+ throw NoFields(toolName);
159
+
160
+ var expectedSensitivity = NormalizeOptional(request.Sensitivity, "sensitivity", 0f, float.MaxValue, false);
161
+ var expectedGravity = NormalizeOptional(request.Gravity, "gravity", 0f, float.MaxValue, false);
162
+ var expectedDead = NormalizeOptional(request.Dead, "dead", 0f, 1f, false);
163
+ var surface = ResolveSurface();
164
+ ProjectInputAxisSnapshot beforeAxis;
165
+ UnityEngine.Object target;
166
+ SerializedObject frozen;
167
+ SerializedProperty sensitivity;
168
+ SerializedProperty gravity;
169
+ SerializedProperty dead;
170
+ using (var inspect = LoadSettingsAsset(InputAssetPath))
171
+ {
172
+ var axes = RequireArray(inspect, surface.InputAxes);
173
+ var matches = FindAxes(axes, request.Axis, surface);
174
+ if (matches.Count == 0) throw new UnityCliBridge.BridgeCommandException("E_PROJECT_INPUT_AXIS_NOT_FOUND", "No legacy Input Manager axis exactly matches '" + request.Axis + "'.", "Run project.input-settings with an axis filter or inspect a bounded page before retrying.");
175
+ // 官方name selector固定选择配置顺序中的首项;index/name在barrier前共同冻结。
176
+ beforeAxis = ReadAxis(axes.GetArrayElementAtIndex(matches[0]), matches[0], surface);
177
+ }
178
+
179
+ var beforeAsset = ReadFileIdentity(InputAssetPath);
180
+ var changedFields = ChangedFields(
181
+ Change("sensitivity", beforeAxis.Sensitivity, expectedSensitivity),
182
+ Change("gravity", beforeAxis.Gravity, expectedGravity),
183
+ Change("dead", beforeAxis.Dead, expectedDead));
184
+ var effects = Effects(toolName, InputAssetPath, changedFields, false);
185
+ if (changedFields.Count == 0 || ctx.DryRun)
186
+ return new ProjectInputSettingsSetResult { Applied = false, WouldChange = changedFields.Count > 0, DryRun = ctx.DryRun, ChangedFields = changedFields, Before = beforeAxis, After = beforeAxis, AssetBefore = beforeAsset, AssetAfter = beforeAsset, PlannedEffects = effects };
187
+
188
+ frozen = LoadSettingsAsset(InputAssetPath);
189
+ try
190
+ {
191
+ var axes = RequireArray(frozen, surface.InputAxes);
192
+ if (beforeAxis.Index < 0 || beforeAxis.Index >= axes.arraySize)
193
+ throw TargetChanged(toolName);
194
+ var axis = axes.GetArrayElementAtIndex((int)beforeAxis.Index);
195
+ if (!string.Equals(ReadString(axis, surface.InputName), request.Axis, StringComparison.Ordinal))
196
+ throw TargetChanged(toolName);
197
+ target = frozen.targetObject;
198
+ sensitivity = RequireFloat(axis, surface.InputSensitivity);
199
+ gravity = RequireFloat(axis, surface.InputGravity);
200
+ dead = RequireFloat(axis, surface.InputDead);
201
+ ctx.CommitEffect();
202
+ SetFloat(sensitivity, expectedSensitivity);
203
+ SetFloat(gravity, expectedGravity);
204
+ SetFloat(dead, expectedDead);
205
+ ApplyAndSave(frozen, target, InputAssetPath);
206
+ }
207
+ finally
208
+ {
209
+ frozen.Dispose();
210
+ }
211
+
212
+ ProjectInputAxisSnapshot afterAxis;
213
+ using (var readback = LoadSettingsAsset(InputAssetPath))
214
+ {
215
+ var axes = RequireArray(readback, surface.InputAxes);
216
+ if (beforeAxis.Index < 0 || beforeAxis.Index >= axes.arraySize)
217
+ throw VerifyFailed(toolName, "The selected Input Manager axis index is no longer present.");
218
+ afterAxis = ReadAxis(axes.GetArrayElementAtIndex((int)beforeAxis.Index), (int)beforeAxis.Index, surface);
219
+ }
220
+ if (!string.Equals(afterAxis.Name, request.Axis, StringComparison.Ordinal))
221
+ throw VerifyFailed(toolName, "The selected Input Manager axis identity changed before terminal readback.");
222
+ VerifyFloat("sensitivity", afterAxis.Sensitivity, expectedSensitivity);
223
+ VerifyFloat("gravity", afterAxis.Gravity, expectedGravity);
224
+ VerifyFloat("dead", afterAxis.Dead, expectedDead);
225
+ var afterAsset = ReadFileIdentity(InputAssetPath);
226
+ VerifyFileChanged(beforeAsset, afterAsset, toolName);
227
+ return new ProjectInputSettingsSetResult { Applied = true, WouldChange = true, DryRun = false, ChangedFields = changedFields, Before = beforeAxis, After = afterAxis, AssetBefore = beforeAsset, AssetAfter = afterAsset, PlannedEffects = effects };
228
+ }
229
+
230
+ /// <summary>读取active build target对应的PlayerSettings标量与enum字段。</summary>
231
+ internal static ProjectPlayerSettingsSnapshot ReadPlayer(string toolName)
232
+ {
233
+ EnsureReady(toolName);
234
+ var surface = ResolveSurface();
235
+ var target = ActiveNamedBuildTarget();
236
+ try
237
+ {
238
+ return new ProjectPlayerSettingsSnapshot
239
+ {
240
+ UnityVersion = Application.unityVersion,
241
+ VersionSurface = surface.Id,
242
+ Asset = ReadFileIdentity(PlayerAssetPath),
243
+ BuildTarget = target.TargetName,
244
+ CompanyName = PlayerSettings.companyName,
245
+ ProductName = PlayerSettings.productName,
246
+ BundleVersion = PlayerSettings.bundleVersion,
247
+ ScriptingBackend = PlayerSettings.GetScriptingBackend(target).ToString(),
248
+ ApiCompatibilityLevel = PlayerSettings.GetApiCompatibilityLevel(target).ToString()
249
+ };
250
+ }
251
+ catch (UnityCliBridge.BridgeCommandException)
252
+ {
253
+ throw;
254
+ }
255
+ catch (Exception ex)
256
+ {
257
+ throw VersionUnavailable("PlayerSettings for active build target '" + target.TargetName + "' are unavailable: " + ex.Message);
258
+ }
259
+ }
260
+
261
+ /// <summary>PlayerSettings enum按当前Unity定义精确解析;reload风险显式投影但不在断线后重放。</summary>
262
+ internal static ProjectPlayerSettingsSetResult SetPlayer(ProjectPlayerSettingsSetRequest request, UnityCliProjectToolContext ctx)
263
+ {
264
+ const string toolName = "project.player-settings.set";
265
+ EnsureReady(toolName);
266
+ request = request ?? new ProjectPlayerSettingsSetRequest();
267
+ if (request.CompanyName == null && request.ProductName == null && request.BundleVersion == null && request.ScriptingBackend == null && request.ApiCompatibilityLevel == null)
268
+ throw NoFields(toolName);
269
+
270
+ var before = ReadPlayer(toolName);
271
+ var target = ActiveNamedBuildTarget();
272
+ var backend = ParseEnum<ScriptingImplementation>(request.ScriptingBackend, "scriptingBackend");
273
+ var api = ParseEnum<ApiCompatibilityLevel>(request.ApiCompatibilityLevel, "apiCompatibilityLevel");
274
+ var changedFields = ChangedFields(
275
+ Change("companyName", before.CompanyName, request.CompanyName),
276
+ Change("productName", before.ProductName, request.ProductName),
277
+ Change("bundleVersion", before.BundleVersion, request.BundleVersion),
278
+ Change("scriptingBackend", before.ScriptingBackend, backend.HasValue ? backend.Value.ToString() : null),
279
+ Change("apiCompatibilityLevel", before.ApiCompatibilityLevel, api.HasValue ? api.Value.ToString() : null));
280
+ var requiresReload = changedFields.Contains("scriptingBackend") || changedFields.Contains("apiCompatibilityLevel");
281
+ var effects = Effects(toolName, PlayerAssetPath, changedFields, requiresReload);
282
+ if (changedFields.Count == 0 || ctx.DryRun)
283
+ return new ProjectPlayerSettingsSetResult { Applied = false, WouldChange = changedFields.Count > 0, DryRun = ctx.DryRun, RequiresDomainReload = requiresReload, ChangedFields = changedFields, Before = before, After = before, PlannedEffects = effects };
284
+
285
+ var playerObject = LoadSettingsObject(PlayerAssetPath);
286
+ ctx.CommitEffect();
287
+ if (request.CompanyName != null) PlayerSettings.companyName = request.CompanyName;
288
+ if (request.ProductName != null) PlayerSettings.productName = request.ProductName;
289
+ if (request.BundleVersion != null) PlayerSettings.bundleVersion = request.BundleVersion;
290
+ if (backend.HasValue) PlayerSettings.SetScriptingBackend(target, backend.Value);
291
+ if (api.HasValue) PlayerSettings.SetApiCompatibilityLevel(target, api.Value);
292
+ SaveExact(playerObject, PlayerAssetPath);
293
+
294
+ var after = ReadPlayer(toolName);
295
+ VerifyString("companyName", after.CompanyName, request.CompanyName);
296
+ VerifyString("productName", after.ProductName, request.ProductName);
297
+ VerifyString("bundleVersion", after.BundleVersion, request.BundleVersion);
298
+ VerifyString("scriptingBackend", after.ScriptingBackend, backend.HasValue ? backend.Value.ToString() : null);
299
+ VerifyString("apiCompatibilityLevel", after.ApiCompatibilityLevel, api.HasValue ? api.Value.ToString() : null);
300
+ VerifyFileChanged(before.Asset, after.Asset, toolName);
301
+ return new ProjectPlayerSettingsSetResult { Applied = true, WouldChange = true, DryRun = false, RequiresDomainReload = requiresReload, ChangedFields = changedFields, Before = before, After = after, PlannedEffects = effects };
302
+ }
303
+
304
+ /// <summary>读取TimeManager的持久化字段,不以PlayMode运行时值冒充项目配置。</summary>
305
+ internal static ProjectTimeSettingsSnapshot ReadTime(string toolName)
306
+ {
307
+ EnsureReady(toolName);
308
+ var surface = ResolveSurface();
309
+ using (var so = LoadSettingsAsset(TimeAssetPath))
310
+ {
311
+ return new ProjectTimeSettingsSnapshot
312
+ {
313
+ UnityVersion = Application.unityVersion,
314
+ VersionSurface = surface.Id,
315
+ Asset = ReadFileIdentity(TimeAssetPath),
316
+ FixedDeltaTime = ReadFloat(so, surface.TimeFixedDelta),
317
+ MaximumDeltaTime = ReadFloat(so, surface.TimeMaximumDelta),
318
+ TimeScale = ReadFloat(so, surface.TimeScale)
319
+ };
320
+ }
321
+ }
322
+
323
+ /// <summary>Time写入先验证effective fixed/maximum关系,再保存唯一TimeManager asset并fresh证明。</summary>
324
+ internal static ProjectTimeSettingsSetResult SetTime(ProjectTimeSettingsSetRequest request, UnityCliProjectToolContext ctx)
325
+ {
326
+ const string toolName = "project.time-settings.set";
327
+ EnsureReady(toolName);
328
+ request = request ?? new ProjectTimeSettingsSetRequest();
329
+ if (!request.FixedDeltaTime.HasValue && !request.MaximumDeltaTime.HasValue && !request.TimeScale.HasValue)
330
+ throw NoFields(toolName);
331
+
332
+ var expectedFixed = NormalizeOptional(request.FixedDeltaTime, "fixedDeltaTime", 0f, float.MaxValue, true);
333
+ var expectedMaximum = NormalizeOptional(request.MaximumDeltaTime, "maximumDeltaTime", 0f, float.MaxValue, true);
334
+ var expectedScale = NormalizeOptional(request.TimeScale, "timeScale", 0f, 100f, false);
335
+ var before = ReadTime(toolName);
336
+ var effectiveFixed = expectedFixed ?? (float)before.FixedDeltaTime;
337
+ var effectiveMaximum = expectedMaximum ?? (float)before.MaximumDeltaTime;
338
+ if (effectiveMaximum < effectiveFixed)
339
+ throw Invalid("maximumDeltaTime", "maximumDeltaTime must be greater than or equal to the effective fixedDeltaTime.");
340
+
341
+ var changedFields = ChangedFields(
342
+ Change("fixedDeltaTime", before.FixedDeltaTime, expectedFixed),
343
+ Change("maximumDeltaTime", before.MaximumDeltaTime, expectedMaximum),
344
+ Change("timeScale", before.TimeScale, expectedScale));
345
+ var effects = Effects(toolName, TimeAssetPath, changedFields, false);
346
+ if (changedFields.Count == 0 || ctx.DryRun)
347
+ return new ProjectTimeSettingsSetResult { Applied = false, WouldChange = changedFields.Count > 0, DryRun = ctx.DryRun, ChangedFields = changedFields, Before = before, After = before, PlannedEffects = effects };
348
+
349
+ var surface = ResolveSurface();
350
+ using (var so = LoadSettingsAsset(TimeAssetPath))
351
+ {
352
+ var target = so.targetObject;
353
+ var fixedDelta = RequireFloat(so, surface.TimeFixedDelta);
354
+ var maximumDelta = RequireFloat(so, surface.TimeMaximumDelta);
355
+ var scale = RequireFloat(so, surface.TimeScale);
356
+ ctx.CommitEffect();
357
+ SetFloat(fixedDelta, expectedFixed);
358
+ SetFloat(maximumDelta, expectedMaximum);
359
+ SetFloat(scale, expectedScale);
360
+ ApplyAndSave(so, target, TimeAssetPath);
361
+ }
362
+
363
+ var after = ReadTime(toolName);
364
+ VerifyFloat("fixedDeltaTime", after.FixedDeltaTime, expectedFixed);
365
+ VerifyFloat("maximumDeltaTime", after.MaximumDeltaTime, expectedMaximum);
366
+ VerifyFloat("timeScale", after.TimeScale, expectedScale);
367
+ VerifyFileChanged(before.Asset, after.Asset, toolName);
368
+ return new ProjectTimeSettingsSetResult { Applied = true, WouldChange = true, DryRun = false, ChangedFields = changedFields, Before = before, After = after, PlannedEffects = effects };
369
+ }
370
+
371
+ private static void EnsureReady(string toolName)
372
+ {
373
+ EditorToolSupport.EnsureEditorNotBusy(toolName);
374
+ ResolveSurface();
375
+ }
376
+
377
+ /// <summary>未来Unity版本不会自动继承已验证的serialized property surface。</summary>
378
+ private static VersionSurface ResolveSurface()
379
+ {
380
+ var parts = (Application.unityVersion ?? string.Empty).Split('.');
381
+ var major = 0;
382
+ var minor = 0;
383
+ var parsed = parts.Length >= 2
384
+ && int.TryParse(parts[0], NumberStyles.Integer, CultureInfo.InvariantCulture, out major)
385
+ && int.TryParse(parts[1], NumberStyles.Integer, CultureInfo.InvariantCulture, out minor);
386
+ var supported = parsed && ((major == 2022 && minor == 3) || major == 2023 || (major == 6000 && minor == 0));
387
+ if (!supported)
388
+ throw VersionUnavailable("Unity " + Application.unityVersion + " has no verified ProjectSettings field surface.");
389
+ return new VersionSurface
390
+ {
391
+ Id = major == 6000 ? "unity-6000.0" : "unity-2022.3-2023.x",
392
+ AudioVolume = "m_Volume", AudioRolloff = "Rolloff Scale", AudioDoppler = "Doppler Factor",
393
+ InputAxes = "m_Axes", InputName = "m_Name", InputSensitivity = "sensitivity", InputGravity = "gravity", InputDead = "dead",
394
+ TimeFixedDelta = "Fixed Timestep", TimeMaximumDelta = "Maximum Allowed Timestep", TimeScale = "m_TimeScale"
395
+ };
396
+ }
397
+
398
+ private static SerializedObject LoadSettingsAsset(string path)
399
+ {
400
+ var target = LoadSettingsObject(path);
401
+ var so = new SerializedObject(target);
402
+ so.UpdateIfRequiredOrScript();
403
+ return so;
404
+ }
405
+
406
+ private static UnityEngine.Object LoadSettingsObject(string path)
407
+ {
408
+ var objects = AssetDatabase.LoadAllAssetsAtPath(path);
409
+ if (objects == null || objects.Length == 0 || objects[0] == null)
410
+ throw new UnityCliBridge.BridgeCommandException("E_PROJECT_SETTINGS_UNAVAILABLE", "Unity could not load the required settings asset: " + path, "Verify the project and Unity version before retrying.");
411
+ return objects[0];
412
+ }
413
+
414
+ private static ProjectSettingsFileIdentity ReadFileIdentity(string path)
415
+ {
416
+ var fullPath = Path.Combine(Directory.GetParent(Application.dataPath).FullName, path.Replace('/', Path.DirectorySeparatorChar));
417
+ if (!File.Exists(fullPath))
418
+ throw new UnityCliBridge.BridgeCommandException("E_PROJECT_SETTINGS_UNAVAILABLE", "The required settings file does not exist: " + path, "Verify the project and Unity version before retrying.");
419
+ using (var stream = File.Open(fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete))
420
+ using (var sha = SHA256.Create())
421
+ {
422
+ var hash = sha.ComputeHash(stream);
423
+ return new ProjectSettingsFileIdentity { Path = path, Sha256 = BitConverter.ToString(hash).Replace("-", string.Empty).ToLowerInvariant(), SizeBytes = stream.Length };
424
+ }
425
+ }
426
+
427
+ private static void ApplyAndSave(SerializedObject so, UnityEngine.Object target, string path)
428
+ {
429
+ if (!so.ApplyModifiedPropertiesWithoutUndo())
430
+ throw VerifyFailed(path, "Unity did not apply the frozen serialized ProjectSettings changes.");
431
+ SaveExact(target, path);
432
+ }
433
+
434
+ private static void SaveExact(UnityEngine.Object target, string path)
435
+ {
436
+ if (target == null)
437
+ throw VerifyFailed(path, "The frozen ProjectSettings asset is no longer available.");
438
+ EditorUtility.SetDirty(target);
439
+ // ProjectSettings singleton不会响应SaveAssetIfDirty;Unity的ProjectSettings持久化入口是SaveAssets。
440
+ AssetDatabase.SaveAssets();
441
+ }
442
+
443
+ private static NamedBuildTarget ActiveNamedBuildTarget()
444
+ {
445
+ var group = EditorUserBuildSettings.selectedBuildTargetGroup;
446
+ if (group == BuildTargetGroup.Unknown)
447
+ throw VersionUnavailable("The active build target group is unknown.");
448
+ return NamedBuildTarget.FromBuildTargetGroup(group);
449
+ }
450
+
451
+ private static T? ParseEnum<T>(string value, string field) where T : struct
452
+ {
453
+ if (value == null) return null;
454
+ T parsed;
455
+ if (!Enum.TryParse(value, false, out parsed) || !Enum.IsDefined(typeof(T), parsed))
456
+ throw Invalid(field, field + " must exactly match one value supported by Unity " + Application.unityVersion + ": " + string.Join(", ", Enum.GetNames(typeof(T))) + ".");
457
+ return parsed;
458
+ }
459
+
460
+ private static float? NormalizeOptional(double? value, string field, float minimum, float maximum, bool exclusiveMinimum)
461
+ {
462
+ if (!value.HasValue) return null;
463
+ if (double.IsNaN(value.Value) || double.IsInfinity(value.Value) || value.Value < -float.MaxValue || value.Value > float.MaxValue)
464
+ throw Invalid(field, field + " must be a finite Unity float.");
465
+ var normalized = (float)value.Value;
466
+ if ((exclusiveMinimum && normalized <= minimum) || (!exclusiveMinimum && normalized < minimum) || normalized > maximum)
467
+ throw Invalid(field, field + " is outside the supported range " + (exclusiveMinimum ? "(" : "[") + minimum.ToString(CultureInfo.InvariantCulture) + ", " + maximum.ToString(CultureInfo.InvariantCulture) + "].");
468
+ return normalized;
469
+ }
470
+
471
+ private static SerializedProperty RequireArray(SerializedObject so, string path)
472
+ {
473
+ var property = so.FindProperty(path);
474
+ if (property == null || !property.isArray)
475
+ throw VersionUnavailable("Required serialized array '" + path + "' is unavailable in Unity " + Application.unityVersion + ".");
476
+ return property;
477
+ }
478
+
479
+ private static SerializedProperty RequireFloat(SerializedObject so, string path)
480
+ {
481
+ var property = so.FindProperty(path);
482
+ if (property == null || property.propertyType != SerializedPropertyType.Float)
483
+ throw VersionUnavailable("Required serialized float '" + path + "' is unavailable in Unity " + Application.unityVersion + ".");
484
+ return property;
485
+ }
486
+
487
+ private static SerializedProperty RequireFloat(SerializedProperty parent, string path)
488
+ {
489
+ var property = parent.FindPropertyRelative(path);
490
+ if (property == null || property.propertyType != SerializedPropertyType.Float)
491
+ throw VersionUnavailable("Required serialized float '" + path + "' is unavailable in Unity " + Application.unityVersion + ".");
492
+ return property;
493
+ }
494
+
495
+ private static double ReadFloat(SerializedObject so, string path) { return RequireFloat(so, path).floatValue; }
496
+ private static double ReadFloat(SerializedProperty parent, string path) { return RequireFloat(parent, path).floatValue; }
497
+
498
+ private static string ReadString(SerializedProperty parent, string path)
499
+ {
500
+ var property = parent.FindPropertyRelative(path);
501
+ if (property == null || property.propertyType != SerializedPropertyType.String)
502
+ throw VersionUnavailable("Required serialized string '" + path + "' is unavailable in Unity " + Application.unityVersion + ".");
503
+ return property.stringValue;
504
+ }
505
+
506
+ private static ProjectInputAxisSnapshot ReadAxis(SerializedProperty axis, int index, VersionSurface surface)
507
+ {
508
+ return new ProjectInputAxisSnapshot
509
+ {
510
+ Index = index,
511
+ Name = ReadString(axis, surface.InputName),
512
+ Sensitivity = ReadFloat(axis, surface.InputSensitivity),
513
+ Gravity = ReadFloat(axis, surface.InputGravity),
514
+ Dead = ReadFloat(axis, surface.InputDead)
515
+ };
516
+ }
517
+
518
+ private static List<int> FindAxes(SerializedProperty axes, string name, VersionSurface surface)
519
+ {
520
+ EnsureAxisCountBounded(axes);
521
+ var result = new List<int>();
522
+ for (var index = 0; index < axes.arraySize; index++)
523
+ if (string.Equals(ReadString(axes.GetArrayElementAtIndex(index), surface.InputName), name, StringComparison.Ordinal)) result.Add(index);
524
+ return result;
525
+ }
526
+
527
+ private static void EnsureAxisCountBounded(SerializedProperty axes)
528
+ {
529
+ if (axes == null || axes.arraySize > MaxInputAxisScan)
530
+ throw new UnityCliBridge.BridgeCommandException("E_PROJECT_SETTINGS_LIMIT_EXCEEDED", "InputManager contains more than " + MaxInputAxisScan + " axis entries and cannot be scanned safely.", "Reduce the legacy Input Manager axis count before retrying.");
531
+ }
532
+
533
+ private static void SetFloat(SerializedProperty property, float? value) { if (value.HasValue) property.floatValue = value.Value; }
534
+
535
+ private static string Change(string field, double before, float? expected)
536
+ {
537
+ return expected.HasValue && (float)before != expected.Value ? field : null;
538
+ }
539
+
540
+ private static string Change(string field, string before, string expected)
541
+ {
542
+ return expected != null && !string.Equals(before, expected, StringComparison.Ordinal) ? field : null;
543
+ }
544
+
545
+ private static List<string> ChangedFields(params string[] fields) { return fields.Where(field => field != null).ToList(); }
546
+
547
+ private static List<ProjectSettingsPlannedEffect> Effects(string toolName, string path, List<string> fields, bool reload)
548
+ {
549
+ if (fields == null || fields.Count == 0) return new List<ProjectSettingsPlannedEffect>();
550
+ return new List<ProjectSettingsPlannedEffect>
551
+ {
552
+ new ProjectSettingsPlannedEffect { Type = toolName, AssetPath = path, Fields = new List<string>(fields), RequiresDomainReload = reload }
553
+ };
554
+ }
555
+
556
+ private static void VerifyFloat(string field, double actual, float? expected)
557
+ {
558
+ if (expected.HasValue && (float)actual != expected.Value)
559
+ throw VerifyFailed(field, "Fresh ProjectSettings readback does not equal the requested Unity float.");
560
+ }
561
+
562
+ private static void VerifyString(string field, string actual, string expected)
563
+ {
564
+ if (expected != null && !string.Equals(actual, expected, StringComparison.Ordinal))
565
+ throw VerifyFailed(field, "Fresh ProjectSettings readback does not equal the requested value.");
566
+ }
567
+
568
+ private static void VerifyFileChanged(ProjectSettingsFileIdentity before, ProjectSettingsFileIdentity after, string toolName)
569
+ {
570
+ if (before == null || after == null || string.IsNullOrEmpty(after.Sha256) || string.Equals(before.Sha256, after.Sha256, StringComparison.Ordinal))
571
+ throw VerifyFailed(toolName, "The exact ProjectSettings file did not retain a distinct persisted payload.");
572
+ }
573
+
574
+ private static UnityCliBridge.BridgeCommandException NoFields(string toolName)
575
+ {
576
+ return new UnityCliBridge.BridgeCommandException("E_PROJECT_SETTINGS_NO_FIELDS", toolName + " requires at least one approved setting field.", "Pass one or more fields shown by tools describe " + toolName + ".");
577
+ }
578
+
579
+ private static UnityCliBridge.BridgeCommandException Invalid(string field, string message)
580
+ {
581
+ return new UnityCliBridge.BridgeCommandException("E_PROJECT_SETTINGS_INVALID", "Invalid ProjectSettings field '" + field + "': " + message, "Correct the field using tools describe and retry.");
582
+ }
583
+
584
+ private static UnityCliBridge.BridgeCommandException VersionUnavailable(string message)
585
+ {
586
+ return new UnityCliBridge.BridgeCommandException("E_PROJECT_SETTINGS_VERSION_UNAVAILABLE", message, "Use a Unity version and field surface explicitly supported by this Tool descriptor.");
587
+ }
588
+
589
+ private static UnityCliBridge.BridgeCommandException VerifyFailed(string toolName, string message)
590
+ {
591
+ return new UnityCliBridge.BridgeCommandException("E_PROJECT_SETTINGS_VERIFY_FAILED", message, "Read the corresponding project.*-settings Tool before deciding whether to retry " + toolName + ".");
592
+ }
593
+
594
+ private static UnityCliBridge.BridgeCommandException TargetChanged(string toolName)
595
+ {
596
+ return new UnityCliBridge.BridgeCommandException("E_PROJECT_SETTINGS_TARGET_CHANGED", "The frozen ProjectSettings target changed before the effect barrier.", "Read the corresponding settings Tool and submit a new " + toolName + " request.");
597
+ }
598
+ }
599
+
600
+ public sealed class ProjectSettingsFileIdentity
601
+ {
602
+ public string Path { get; set; }
603
+ public string Sha256 { get; set; }
604
+ public long SizeBytes { get; set; }
605
+ }
606
+
607
+ public sealed class ProjectSettingsPlannedEffect
608
+ {
609
+ public string Type { get; set; }
610
+ public string AssetPath { get; set; }
611
+ public List<string> Fields { get; set; }
612
+ public bool RequiresDomainReload { get; set; }
613
+ }
614
+
615
+ public sealed class ProjectSettingsReadRequest { }
616
+
617
+ public sealed class ProjectAudioSettingsSnapshot
618
+ {
619
+ public string UnityVersion { get; set; }
620
+ public string VersionSurface { get; set; }
621
+ public ProjectSettingsFileIdentity Asset { get; set; }
622
+ public double Volume { get; set; }
623
+ public double RolloffScale { get; set; }
624
+ public double DopplerFactor { get; set; }
625
+ }
626
+
627
+ public sealed class ProjectAudioSettingsSetRequest
628
+ {
629
+ public double? Volume { get; set; }
630
+ public double? RolloffScale { get; set; }
631
+ public double? DopplerFactor { get; set; }
632
+ }
633
+
634
+ public sealed class ProjectAudioSettingsSetResult
635
+ {
636
+ public bool Applied { get; set; }
637
+ public bool WouldChange { get; set; }
638
+ public bool DryRun { get; set; }
639
+ public List<string> ChangedFields { get; set; }
640
+ public ProjectAudioSettingsSnapshot Before { get; set; }
641
+ public ProjectAudioSettingsSnapshot After { get; set; }
642
+ public List<ProjectSettingsPlannedEffect> PlannedEffects { get; set; }
643
+ }
644
+
645
+ public sealed class ProjectInputSettingsRequest
646
+ {
647
+ public string Axis { get; set; }
648
+ public long? Offset { get; set; }
649
+ public long? Limit { get; set; }
650
+ }
651
+
652
+ public sealed class ProjectInputAxisSnapshot
653
+ {
654
+ public long Index { get; set; }
655
+ public string Name { get; set; }
656
+ public double Sensitivity { get; set; }
657
+ public double Gravity { get; set; }
658
+ public double Dead { get; set; }
659
+ }
660
+
661
+ public sealed class ProjectInputSettingsResult
662
+ {
663
+ public string UnityVersion { get; set; }
664
+ public string VersionSurface { get; set; }
665
+ public ProjectSettingsFileIdentity Asset { get; set; }
666
+ public long TotalAxisCount { get; set; }
667
+ public long MatchedAxisCount { get; set; }
668
+ public long ReturnedCount { get; set; }
669
+ public bool HasMore { get; set; }
670
+ public List<ProjectInputAxisSnapshot> Axes { get; set; }
671
+ }
672
+
673
+ public sealed class ProjectInputSettingsSetRequest
674
+ {
675
+ [UnityCliRequired]
676
+ public string Axis { get; set; }
677
+ public double? Sensitivity { get; set; }
678
+ public double? Gravity { get; set; }
679
+ public double? Dead { get; set; }
680
+ }
681
+
682
+ public sealed class ProjectInputSettingsSetResult
683
+ {
684
+ public bool Applied { get; set; }
685
+ public bool WouldChange { get; set; }
686
+ public bool DryRun { get; set; }
687
+ public List<string> ChangedFields { get; set; }
688
+ public ProjectInputAxisSnapshot Before { get; set; }
689
+ public ProjectInputAxisSnapshot After { get; set; }
690
+ public ProjectSettingsFileIdentity AssetBefore { get; set; }
691
+ public ProjectSettingsFileIdentity AssetAfter { get; set; }
692
+ public List<ProjectSettingsPlannedEffect> PlannedEffects { get; set; }
693
+ }
694
+
695
+ public sealed class ProjectPlayerSettingsSnapshot
696
+ {
697
+ public string UnityVersion { get; set; }
698
+ public string VersionSurface { get; set; }
699
+ public ProjectSettingsFileIdentity Asset { get; set; }
700
+ public string BuildTarget { get; set; }
701
+ public string CompanyName { get; set; }
702
+ public string ProductName { get; set; }
703
+ public string BundleVersion { get; set; }
704
+ public string ScriptingBackend { get; set; }
705
+ public string ApiCompatibilityLevel { get; set; }
706
+ }
707
+
708
+ public sealed class ProjectPlayerSettingsSetRequest
709
+ {
710
+ public string CompanyName { get; set; }
711
+ public string ProductName { get; set; }
712
+ public string BundleVersion { get; set; }
713
+ public string ScriptingBackend { get; set; }
714
+ public string ApiCompatibilityLevel { get; set; }
715
+ }
716
+
717
+ public sealed class ProjectPlayerSettingsSetResult
718
+ {
719
+ public bool Applied { get; set; }
720
+ public bool WouldChange { get; set; }
721
+ public bool DryRun { get; set; }
722
+ public bool RequiresDomainReload { get; set; }
723
+ public List<string> ChangedFields { get; set; }
724
+ public ProjectPlayerSettingsSnapshot Before { get; set; }
725
+ public ProjectPlayerSettingsSnapshot After { get; set; }
726
+ public List<ProjectSettingsPlannedEffect> PlannedEffects { get; set; }
727
+ }
728
+
729
+ public sealed class ProjectTimeSettingsSnapshot
730
+ {
731
+ public string UnityVersion { get; set; }
732
+ public string VersionSurface { get; set; }
733
+ public ProjectSettingsFileIdentity Asset { get; set; }
734
+ public double FixedDeltaTime { get; set; }
735
+ public double MaximumDeltaTime { get; set; }
736
+ public double TimeScale { get; set; }
737
+ }
738
+
739
+ public sealed class ProjectTimeSettingsSetRequest
740
+ {
741
+ public double? FixedDeltaTime { get; set; }
742
+ public double? MaximumDeltaTime { get; set; }
743
+ public double? TimeScale { get; set; }
744
+ }
745
+
746
+ public sealed class ProjectTimeSettingsSetResult
747
+ {
748
+ public bool Applied { get; set; }
749
+ public bool WouldChange { get; set; }
750
+ public bool DryRun { get; set; }
751
+ public List<string> ChangedFields { get; set; }
752
+ public ProjectTimeSettingsSnapshot Before { get; set; }
753
+ public ProjectTimeSettingsSnapshot After { get; set; }
754
+ public List<ProjectSettingsPlannedEffect> PlannedEffects { get; set; }
755
+ }
756
+ }
757
+ #endif