@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.
- package/README.md +389 -0
- package/contracts/command-contract.json +3972 -0
- package/contracts/stable-session/admission-acquire-v1.schema.json +16 -0
- package/contracts/stable-session/admission-response-v1.schema.json +30 -0
- package/contracts/stable-session/admission-revoke-v1.schema.json +15 -0
- package/contracts/stable-session/admission-transport-v1.json +36 -0
- package/contracts/stable-session/bridge-request-v2.schema.json +26 -0
- package/contracts/stable-session/canonical-path-v1-golden.json +23 -0
- package/contracts/stable-session/completion-contract.schema.json +46 -0
- package/contracts/stable-session/direct-call-semantics.json +102 -0
- package/contracts/stable-session/editor-state.schema.json +92 -0
- package/contracts/stable-session/health-v3.schema.json +47 -0
- package/contracts/stable-session/instance-registry-v3.schema.json +152 -0
- package/contracts/stable-session/removal-map.json +27 -0
- package/contracts/stable-session/request-digest-v1-golden.json +7 -0
- package/contracts/stable-session/runtime-config-v2.schema.json +27 -0
- package/contracts/static-capability-catalog.json +48226 -0
- package/contracts/tool-completion-contract.json +11322 -0
- package/dist/args.d.ts +27 -0
- package/dist/args.js +109 -0
- package/dist/args.js.map +1 -0
- package/dist/bridge/admission.d.ts +28 -0
- package/dist/bridge/admission.js +29 -0
- package/dist/bridge/admission.js.map +1 -0
- package/dist/bridge/args.d.ts +16 -0
- package/dist/bridge/args.js +123 -0
- package/dist/bridge/args.js.map +1 -0
- package/dist/bridge/domains/animation.d.ts +2 -0
- package/dist/bridge/domains/animation.js +199 -0
- package/dist/bridge/domains/animation.js.map +1 -0
- package/dist/bridge/domains/asset.d.ts +2 -0
- package/dist/bridge/domains/asset.js +85 -0
- package/dist/bridge/domains/asset.js.map +1 -0
- package/dist/bridge/domains/build.d.ts +2 -0
- package/dist/bridge/domains/build.js +35 -0
- package/dist/bridge/domains/build.js.map +1 -0
- package/dist/bridge/domains/camera.d.ts +2 -0
- package/dist/bridge/domains/camera.js +54 -0
- package/dist/bridge/domains/camera.js.map +1 -0
- package/dist/bridge/domains/code.d.ts +2 -0
- package/dist/bridge/domains/code.js +17 -0
- package/dist/bridge/domains/code.js.map +1 -0
- package/dist/bridge/domains/console.d.ts +2 -0
- package/dist/bridge/domains/console.js +34 -0
- package/dist/bridge/domains/console.js.map +1 -0
- package/dist/bridge/domains/diagnose.d.ts +2 -0
- package/dist/bridge/domains/diagnose.js +11 -0
- package/dist/bridge/domains/diagnose.js.map +1 -0
- package/dist/bridge/domains/editor.d.ts +2 -0
- package/dist/bridge/domains/editor.js +66 -0
- package/dist/bridge/domains/editor.js.map +1 -0
- package/dist/bridge/domains/extension.d.ts +8 -0
- package/dist/bridge/domains/extension.js +20 -0
- package/dist/bridge/domains/extension.js.map +1 -0
- package/dist/bridge/domains/game-object.d.ts +2 -0
- package/dist/bridge/domains/game-object.js +179 -0
- package/dist/bridge/domains/game-object.js.map +1 -0
- package/dist/bridge/domains/graphics.d.ts +2 -0
- package/dist/bridge/domains/graphics.js +185 -0
- package/dist/bridge/domains/graphics.js.map +1 -0
- package/dist/bridge/domains/material.d.ts +2 -0
- package/dist/bridge/domains/material.js +70 -0
- package/dist/bridge/domains/material.js.map +1 -0
- package/dist/bridge/domains/navmesh.d.ts +2 -0
- package/dist/bridge/domains/navmesh.js +34 -0
- package/dist/bridge/domains/navmesh.js.map +1 -0
- package/dist/bridge/domains/object.d.ts +2 -0
- package/dist/bridge/domains/object.js +43 -0
- package/dist/bridge/domains/object.js.map +1 -0
- package/dist/bridge/domains/occlusion.d.ts +2 -0
- package/dist/bridge/domains/occlusion.js +12 -0
- package/dist/bridge/domains/occlusion.js.map +1 -0
- package/dist/bridge/domains/package.d.ts +2 -0
- package/dist/bridge/domains/package.js +2 -0
- package/dist/bridge/domains/package.js.map +1 -0
- package/dist/bridge/domains/physics.d.ts +2 -0
- package/dist/bridge/domains/physics.js +139 -0
- package/dist/bridge/domains/physics.js.map +1 -0
- package/dist/bridge/domains/prefab.d.ts +2 -0
- package/dist/bridge/domains/prefab.js +104 -0
- package/dist/bridge/domains/prefab.js.map +1 -0
- package/dist/bridge/domains/profiler.d.ts +2 -0
- package/dist/bridge/domains/profiler.js +105 -0
- package/dist/bridge/domains/profiler.js.map +1 -0
- package/dist/bridge/domains/project-tool.d.ts +2 -0
- package/dist/bridge/domains/project-tool.js +46 -0
- package/dist/bridge/domains/project-tool.js.map +1 -0
- package/dist/bridge/domains/reflection.d.ts +2 -0
- package/dist/bridge/domains/reflection.js +48 -0
- package/dist/bridge/domains/reflection.js.map +1 -0
- package/dist/bridge/domains/runtime-tool.d.ts +2 -0
- package/dist/bridge/domains/runtime-tool.js +48 -0
- package/dist/bridge/domains/runtime-tool.js.map +1 -0
- package/dist/bridge/domains/scene.d.ts +2 -0
- package/dist/bridge/domains/scene.js +100 -0
- package/dist/bridge/domains/scene.js.map +1 -0
- package/dist/bridge/domains/screenshot.d.ts +2 -0
- package/dist/bridge/domains/screenshot.js +85 -0
- package/dist/bridge/domains/screenshot.js.map +1 -0
- package/dist/bridge/domains/scriptable-object.d.ts +2 -0
- package/dist/bridge/domains/scriptable-object.js +53 -0
- package/dist/bridge/domains/scriptable-object.js.map +1 -0
- package/dist/bridge/domains/shader.d.ts +2 -0
- package/dist/bridge/domains/shader.js +66 -0
- package/dist/bridge/domains/shader.js.map +1 -0
- package/dist/bridge/domains/texture.d.ts +2 -0
- package/dist/bridge/domains/texture.js +78 -0
- package/dist/bridge/domains/texture.js.map +1 -0
- package/dist/bridge/domains/timeline.d.ts +2 -0
- package/dist/bridge/domains/timeline.js +75 -0
- package/dist/bridge/domains/timeline.js.map +1 -0
- package/dist/bridge/domains/ui.d.ts +2 -0
- package/dist/bridge/domains/ui.js +193 -0
- package/dist/bridge/domains/ui.js.map +1 -0
- package/dist/bridge/index.d.ts +9 -0
- package/dist/bridge/index.js +124 -0
- package/dist/bridge/index.js.map +1 -0
- package/dist/bridge/registry.d.ts +19 -0
- package/dist/bridge/registry.js +114 -0
- package/dist/bridge/registry.js.map +1 -0
- package/dist/bridge/session-supervisor.d.ts +138 -0
- package/dist/bridge/session-supervisor.js +873 -0
- package/dist/bridge/session-supervisor.js.map +1 -0
- package/dist/bridge/types.d.ts +61 -0
- package/dist/bridge/types.js +17 -0
- package/dist/bridge/types.js.map +1 -0
- package/dist/capabilities.d.ts +5 -0
- package/dist/capabilities.js +84 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/cli-commands/command.d.ts +7 -0
- package/dist/cli-commands/command.js +513 -0
- package/dist/cli-commands/command.js.map +1 -0
- package/dist/cli-commands/extension-auto-detect.d.ts +62 -0
- package/dist/cli-commands/extension-auto-detect.js +119 -0
- package/dist/cli-commands/extension-auto-detect.js.map +1 -0
- package/dist/cli-commands/extensions.d.ts +24 -0
- package/dist/cli-commands/extensions.js +428 -0
- package/dist/cli-commands/extensions.js.map +1 -0
- package/dist/cli-commands/package.d.ts +4 -0
- package/dist/cli-commands/package.js +151 -0
- package/dist/cli-commands/package.js.map +1 -0
- package/dist/cli-commands/skill-installer.d.ts +83 -0
- package/dist/cli-commands/skill-installer.js +703 -0
- package/dist/cli-commands/skill-installer.js.map +1 -0
- package/dist/cli-commands/types.d.ts +17 -0
- package/dist/cli-commands/types.js +2 -0
- package/dist/cli-commands/types.js.map +1 -0
- package/dist/cli.d.ts +17 -0
- package/dist/cli.js +302 -0
- package/dist/cli.js.map +1 -0
- package/dist/contracts/command-contract.d.ts +21 -0
- package/dist/contracts/command-contract.js +143 -0
- package/dist/contracts/command-contract.js.map +1 -0
- package/dist/contracts/csharp-command-extractor.d.ts +1 -0
- package/dist/contracts/csharp-command-extractor.js +89 -0
- package/dist/contracts/csharp-command-extractor.js.map +1 -0
- package/dist/contracts/validate-command-contract.d.ts +1 -0
- package/dist/contracts/validate-command-contract.js +86 -0
- package/dist/contracts/validate-command-contract.js.map +1 -0
- package/dist/doctor.d.ts +22 -0
- package/dist/doctor.js +498 -0
- package/dist/doctor.js.map +1 -0
- package/dist/editor-blocker-observer.d.ts +45 -0
- package/dist/editor-blocker-observer.js +55 -0
- package/dist/editor-blocker-observer.js.map +1 -0
- package/dist/editor-dialogs.d.ts +53 -0
- package/dist/editor-dialogs.js +79 -0
- package/dist/editor-dialogs.js.map +1 -0
- package/dist/extension-availability.d.ts +30 -0
- package/dist/extension-availability.js +83 -0
- package/dist/extension-availability.js.map +1 -0
- package/dist/extensions/.generated-bridge-domains/cinemachine.d.ts +2 -0
- package/dist/extensions/.generated-bridge-domains/cinemachine.js +104 -0
- package/dist/extensions/.generated-bridge-domains/cinemachine.js.map +1 -0
- package/dist/extensions/.generated-bridge-domains/hdrp.d.ts +2 -0
- package/dist/extensions/.generated-bridge-domains/hdrp.js +35 -0
- package/dist/extensions/.generated-bridge-domains/hdrp.js.map +1 -0
- package/dist/extensions/.generated-bridge-domains/probuilder.d.ts +13 -0
- package/dist/extensions/.generated-bridge-domains/probuilder.js +342 -0
- package/dist/extensions/.generated-bridge-domains/probuilder.js.map +1 -0
- package/dist/extensions/.generated-bridge-domains/urp.d.ts +2 -0
- package/dist/extensions/.generated-bridge-domains/urp.js +52 -0
- package/dist/extensions/.generated-bridge-domains/urp.js.map +1 -0
- package/dist/extensions/.generated-bridge-domains/vfx.d.ts +2 -0
- package/dist/extensions/.generated-bridge-domains/vfx.js +312 -0
- package/dist/extensions/.generated-bridge-domains/vfx.js.map +1 -0
- package/dist/extensions/.generated-registry-data.d.ts +7 -0
- package/dist/extensions/.generated-registry-data.js +895 -0
- package/dist/extensions/.generated-registry-data.js.map +1 -0
- package/dist/extensions/contribution-loader.d.ts +27 -0
- package/dist/extensions/contribution-loader.js +60 -0
- package/dist/extensions/contribution-loader.js.map +1 -0
- package/dist/extensions/descriptor-loader.d.ts +73 -0
- package/dist/extensions/descriptor-loader.js +126 -0
- package/dist/extensions/descriptor-loader.js.map +1 -0
- package/dist/extensions/index.d.ts +19 -0
- package/dist/extensions/index.js +23 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/installer.d.ts +80 -0
- package/dist/extensions/installer.js +594 -0
- package/dist/extensions/installer.js.map +1 -0
- package/dist/extensions/metadata/index.d.ts +15 -0
- package/dist/extensions/metadata/index.js +41 -0
- package/dist/extensions/metadata/index.js.map +1 -0
- package/dist/extensions/metadata/types.d.ts +38 -0
- package/dist/extensions/metadata/types.js +11 -0
- package/dist/extensions/metadata/types.js.map +1 -0
- package/dist/extensions/project-resolver.d.ts +35 -0
- package/dist/extensions/project-resolver.js +61 -0
- package/dist/extensions/project-resolver.js.map +1 -0
- package/dist/extensions/registry.d.ts +86 -0
- package/dist/extensions/registry.js +262 -0
- package/dist/extensions/registry.js.map +1 -0
- package/dist/extensions/tool-manifest.d.ts +29 -0
- package/dist/extensions/tool-manifest.js +53 -0
- package/dist/extensions/tool-manifest.js.map +1 -0
- package/dist/extensions/types.d.ts +115 -0
- package/dist/extensions/types.js +12 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/instances.d.ts +163 -0
- package/dist/instances.js +1137 -0
- package/dist/instances.js.map +1 -0
- package/dist/output.d.ts +119 -0
- package/dist/output.js +204 -0
- package/dist/output.js.map +1 -0
- package/dist/package-manager.d.ts +280 -0
- package/dist/package-manager.js +1832 -0
- package/dist/package-manager.js.map +1 -0
- package/dist/platform.d.ts +3 -0
- package/dist/platform.js +19 -0
- package/dist/platform.js.map +1 -0
- package/dist/project-identity.d.ts +48 -0
- package/dist/project-identity.js +254 -0
- package/dist/project-identity.js.map +1 -0
- package/dist/project-tool-discovery.d.ts +23 -0
- package/dist/project-tool-discovery.js +292 -0
- package/dist/project-tool-discovery.js.map +1 -0
- package/dist/protocol/envelope.d.ts +64 -0
- package/dist/protocol/envelope.js +8 -0
- package/dist/protocol/envelope.js.map +1 -0
- package/dist/protocol/index.d.ts +7 -0
- package/dist/protocol/index.js +2 -0
- package/dist/protocol/index.js.map +1 -0
- package/dist/runtime-code.d.ts +20 -0
- package/dist/runtime-code.js +232 -0
- package/dist/runtime-code.js.map +1 -0
- package/dist/schema/any-json.d.ts +4 -0
- package/dist/schema/any-json.js +2 -0
- package/dist/schema/any-json.js.map +1 -0
- package/dist/schema/validator.d.ts +7 -0
- package/dist/schema/validator.js +135 -0
- package/dist/schema/validator.js.map +1 -0
- package/dist/services/docs-reflect-cache.d.ts +106 -0
- package/dist/services/docs-reflect-cache.js +301 -0
- package/dist/services/docs-reflect-cache.js.map +1 -0
- package/dist/services/docs-service.d.ts +16 -0
- package/dist/services/docs-service.js +208 -0
- package/dist/services/docs-service.js.map +1 -0
- package/dist/services/reflect-service.d.ts +12 -0
- package/dist/services/reflect-service.js +122 -0
- package/dist/services/reflect-service.js.map +1 -0
- package/dist/static-capability-catalog.d.ts +13 -0
- package/dist/static-capability-catalog.js +41 -0
- package/dist/static-capability-catalog.js.map +1 -0
- package/dist/test-results.d.ts +13 -0
- package/dist/test-results.js +44 -0
- package/dist/test-results.js.map +1 -0
- package/dist/tools/.generated-completion-registry.d.ts +17 -0
- package/dist/tools/.generated-completion-registry.js +5862 -0
- package/dist/tools/.generated-completion-registry.js.map +1 -0
- package/dist/tools/.generated-registry.d.ts +53 -0
- package/dist/tools/.generated-registry.js +55 -0
- package/dist/tools/.generated-registry.js.map +1 -0
- package/dist/tools/.generated-schemas.d.ts +1 -0
- package/dist/tools/.generated-schemas.js +56 -0
- package/dist/tools/.generated-schemas.js.map +1 -0
- package/dist/tools/asset/refresh.d.ts +26 -0
- package/dist/tools/asset/refresh.js +97 -0
- package/dist/tools/asset/refresh.js.map +1 -0
- package/dist/tools/build/run.d.ts +45 -0
- package/dist/tools/build/run.js +115 -0
- package/dist/tools/build/run.js.map +1 -0
- package/dist/tools/catalog.d.ts +33 -0
- package/dist/tools/catalog.js +202 -0
- package/dist/tools/catalog.js.map +1 -0
- package/dist/tools/code/exec.d.ts +53 -0
- package/dist/tools/code/exec.js +59 -0
- package/dist/tools/code/exec.js.map +1 -0
- package/dist/tools/commands.d.ts +5 -0
- package/dist/tools/commands.js +45 -0
- package/dist/tools/commands.js.map +1 -0
- package/dist/tools/completion-probe.d.ts +22 -0
- package/dist/tools/completion-probe.js +2 -0
- package/dist/tools/completion-probe.js.map +1 -0
- package/dist/tools/define.d.ts +77 -0
- package/dist/tools/define.js +58 -0
- package/dist/tools/define.js.map +1 -0
- package/dist/tools/diagnose/capabilities.d.ts +13 -0
- package/dist/tools/diagnose/capabilities.js +34 -0
- package/dist/tools/diagnose/capabilities.js.map +1 -0
- package/dist/tools/dispatcher.d.ts +27 -0
- package/dist/tools/dispatcher.js +971 -0
- package/dist/tools/dispatcher.js.map +1 -0
- package/dist/tools/docs/get.d.ts +22 -0
- package/dist/tools/docs/get.js +22 -0
- package/dist/tools/docs/get.js.map +1 -0
- package/dist/tools/docs/search.d.ts +31 -0
- package/dist/tools/docs/search.js +22 -0
- package/dist/tools/docs/search.js.map +1 -0
- package/dist/tools/editor/compile.d.ts +66 -0
- package/dist/tools/editor/compile.js +225 -0
- package/dist/tools/editor/compile.js.map +1 -0
- package/dist/tools/editor/dialog/click.d.ts +12 -0
- package/dist/tools/editor/dialog/click.js +71 -0
- package/dist/tools/editor/dialog/click.js.map +1 -0
- package/dist/tools/editor/dialogs.d.ts +12 -0
- package/dist/tools/editor/dialogs.js +58 -0
- package/dist/tools/editor/dialogs.js.map +1 -0
- package/dist/tools/editor/readiness.d.ts +13 -0
- package/dist/tools/editor/readiness.js +24 -0
- package/dist/tools/editor/readiness.js.map +1 -0
- package/dist/tools/editor/refresh.d.ts +25 -0
- package/dist/tools/editor/refresh.js +154 -0
- package/dist/tools/editor/refresh.js.map +1 -0
- package/dist/tools/editor/state.d.ts +63 -0
- package/dist/tools/editor/state.js +286 -0
- package/dist/tools/editor/state.js.map +1 -0
- package/dist/tools/errors.d.ts +30 -0
- package/dist/tools/errors.js +46 -0
- package/dist/tools/errors.js.map +1 -0
- package/dist/tools/metadata/derived.d.ts +34 -0
- package/dist/tools/metadata/derived.js +136 -0
- package/dist/tools/metadata/derived.js.map +1 -0
- package/dist/tools/metadata/index.d.ts +34 -0
- package/dist/tools/metadata/index.js +130 -0
- package/dist/tools/metadata/index.js.map +1 -0
- package/dist/tools/metadata/schemas.d.ts +3 -0
- package/dist/tools/metadata/schemas.js +19 -0
- package/dist/tools/metadata/schemas.js.map +1 -0
- package/dist/tools/metadata/status.d.ts +4 -0
- package/dist/tools/metadata/status.js +61 -0
- package/dist/tools/metadata/status.js.map +1 -0
- package/dist/tools/metadata/types.d.ts +79 -0
- package/dist/tools/metadata/types.js +2 -0
- package/dist/tools/metadata/types.js.map +1 -0
- package/dist/tools/navmesh/bake-cancel.d.ts +7 -0
- package/dist/tools/navmesh/bake-cancel.js +21 -0
- package/dist/tools/navmesh/bake-cancel.js.map +1 -0
- package/dist/tools/navmesh/bake-status.d.ts +5 -0
- package/dist/tools/navmesh/bake-status.js +18 -0
- package/dist/tools/navmesh/bake-status.js.map +1 -0
- package/dist/tools/navmesh/bake.d.ts +5 -0
- package/dist/tools/navmesh/bake.js +23 -0
- package/dist/tools/navmesh/bake.js.map +1 -0
- package/dist/tools/navmesh/live.d.ts +86 -0
- package/dist/tools/navmesh/live.js +206 -0
- package/dist/tools/navmesh/live.js.map +1 -0
- package/dist/tools/navmesh/surface-bake.d.ts +5 -0
- package/dist/tools/navmesh/surface-bake.js +24 -0
- package/dist/tools/navmesh/surface-bake.js.map +1 -0
- package/dist/tools/occlusion/bake-cancel.d.ts +7 -0
- package/dist/tools/occlusion/bake-cancel.js +21 -0
- package/dist/tools/occlusion/bake-cancel.js.map +1 -0
- package/dist/tools/occlusion/bake-status.d.ts +5 -0
- package/dist/tools/occlusion/bake-status.js +18 -0
- package/dist/tools/occlusion/bake-status.js.map +1 -0
- package/dist/tools/occlusion/bake.d.ts +11 -0
- package/dist/tools/occlusion/bake.js +23 -0
- package/dist/tools/occlusion/bake.js.map +1 -0
- package/dist/tools/occlusion/live.d.ts +74 -0
- package/dist/tools/occlusion/live.js +201 -0
- package/dist/tools/occlusion/live.js.map +1 -0
- package/dist/tools/package/bridge-remove.d.ts +26 -0
- package/dist/tools/package/bridge-remove.js +32 -0
- package/dist/tools/package/bridge-remove.js.map +1 -0
- package/dist/tools/package/deploy.d.ts +49 -0
- package/dist/tools/package/deploy.js +134 -0
- package/dist/tools/package/deploy.js.map +1 -0
- package/dist/tools/package/embed.d.ts +14 -0
- package/dist/tools/package/embed.js +93 -0
- package/dist/tools/package/embed.js.map +1 -0
- package/dist/tools/package/file-mutation-worker.d.ts +6 -0
- package/dist/tools/package/file-mutation-worker.js +154 -0
- package/dist/tools/package/file-mutation-worker.js.map +1 -0
- package/dist/tools/package/info.d.ts +19 -0
- package/dist/tools/package/info.js +27 -0
- package/dist/tools/package/info.js.map +1 -0
- package/dist/tools/package/install.d.ts +24 -0
- package/dist/tools/package/install.js +65 -0
- package/dist/tools/package/install.js.map +1 -0
- package/dist/tools/package/list.d.ts +27 -0
- package/dist/tools/package/list.js +21 -0
- package/dist/tools/package/list.js.map +1 -0
- package/dist/tools/package/live-resolve.d.ts +46 -0
- package/dist/tools/package/live-resolve.js +497 -0
- package/dist/tools/package/live-resolve.js.map +1 -0
- package/dist/tools/package/public-result.d.ts +4 -0
- package/dist/tools/package/public-result.js +25 -0
- package/dist/tools/package/public-result.js.map +1 -0
- package/dist/tools/package/registry-clear.d.ts +15 -0
- package/dist/tools/package/registry-clear.js +27 -0
- package/dist/tools/package/registry-clear.js.map +1 -0
- package/dist/tools/package/registry-get.d.ts +10 -0
- package/dist/tools/package/registry-get.js +22 -0
- package/dist/tools/package/registry-get.js.map +1 -0
- package/dist/tools/package/registry-set.d.ts +17 -0
- package/dist/tools/package/registry-set.js +28 -0
- package/dist/tools/package/registry-set.js.map +1 -0
- package/dist/tools/package/remove.d.ts +47 -0
- package/dist/tools/package/remove.js +67 -0
- package/dist/tools/package/remove.js.map +1 -0
- package/dist/tools/package/resolve.d.ts +6 -0
- package/dist/tools/package/resolve.js +14 -0
- package/dist/tools/package/resolve.js.map +1 -0
- package/dist/tools/package/restore.d.ts +42 -0
- package/dist/tools/package/restore.js +122 -0
- package/dist/tools/package/restore.js.map +1 -0
- package/dist/tools/package/scoped-registry-add.d.ts +25 -0
- package/dist/tools/package/scoped-registry-add.js +30 -0
- package/dist/tools/package/scoped-registry-add.js.map +1 -0
- package/dist/tools/package/scoped-registry-list.d.ts +14 -0
- package/dist/tools/package/scoped-registry-list.js +22 -0
- package/dist/tools/package/scoped-registry-list.js.map +1 -0
- package/dist/tools/package/scoped-registry-remove.d.ts +29 -0
- package/dist/tools/package/scoped-registry-remove.js +31 -0
- package/dist/tools/package/scoped-registry-remove.js.map +1 -0
- package/dist/tools/package/search.d.ts +17 -0
- package/dist/tools/package/search.js +39 -0
- package/dist/tools/package/search.js.map +1 -0
- package/dist/tools/package/status.d.ts +21 -0
- package/dist/tools/package/status.js +37 -0
- package/dist/tools/package/status.js.map +1 -0
- package/dist/tools/reflect/member.d.ts +22 -0
- package/dist/tools/reflect/member.js +22 -0
- package/dist/tools/reflect/member.js.map +1 -0
- package/dist/tools/reflect/search.d.ts +30 -0
- package/dist/tools/reflect/search.js +22 -0
- package/dist/tools/reflect/search.js.map +1 -0
- package/dist/tools/reflect/type.d.ts +21 -0
- package/dist/tools/reflect/type.js +22 -0
- package/dist/tools/reflect/type.js.map +1 -0
- package/dist/tools/runtime/console.d.ts +24 -0
- package/dist/tools/runtime/console.js +17 -0
- package/dist/tools/runtime/console.js.map +1 -0
- package/dist/tools/runtime/input/key.d.ts +23 -0
- package/dist/tools/runtime/input/key.js +18 -0
- package/dist/tools/runtime/input/key.js.map +1 -0
- package/dist/tools/runtime/input/pointer.d.ts +34 -0
- package/dist/tools/runtime/input/pointer.js +18 -0
- package/dist/tools/runtime/input/pointer.js.map +1 -0
- package/dist/tools/runtime/log.d.ts +20 -0
- package/dist/tools/runtime/log.js +17 -0
- package/dist/tools/runtime/log.js.map +1 -0
- package/dist/tools/runtime/state.d.ts +45 -0
- package/dist/tools/runtime/state.js +17 -0
- package/dist/tools/runtime/state.js.map +1 -0
- package/dist/tools/runtime/target-framerate/set.d.ts +16 -0
- package/dist/tools/runtime/target-framerate/set.js +17 -0
- package/dist/tools/runtime/target-framerate/set.js.map +1 -0
- package/dist/tools/runtime/time-scale/set.d.ts +16 -0
- package/dist/tools/runtime/time-scale/set.js +17 -0
- package/dist/tools/runtime/time-scale/set.js.map +1 -0
- package/dist/tools/runtime/ui/capture-element.d.ts +31 -0
- package/dist/tools/runtime/ui/capture-element.js +17 -0
- package/dist/tools/runtime/ui/capture-element.js.map +1 -0
- package/dist/tools/test/cancel.d.ts +19 -0
- package/dist/tools/test/cancel.js +94 -0
- package/dist/tools/test/cancel.js.map +1 -0
- package/dist/tools/test/run.d.ts +39 -0
- package/dist/tools/test/run.js +101 -0
- package/dist/tools/test/run.js.map +1 -0
- package/dist/tools/tools/describe.d.ts +27 -0
- package/dist/tools/tools/describe.js +35 -0
- package/dist/tools/tools/describe.js.map +1 -0
- package/dist/tools/tools/group-list.d.ts +20 -0
- package/dist/tools/tools/group-list.js +39 -0
- package/dist/tools/tools/group-list.js.map +1 -0
- package/dist/tools/tools/group-summaries.d.ts +3 -0
- package/dist/tools/tools/group-summaries.js +52 -0
- package/dist/tools/tools/group-summaries.js.map +1 -0
- package/dist/tools/tools/group.d.ts +13 -0
- package/dist/tools/tools/group.js +34 -0
- package/dist/tools/tools/group.js.map +1 -0
- package/dist/tools/tools/search.d.ts +17 -0
- package/dist/tools/tools/search.js +42 -0
- package/dist/tools/tools/search.js.map +1 -0
- package/dist/types.d.ts +5 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/unity-project-processes.d.ts +12 -0
- package/dist/unity-project-processes.js +59 -0
- package/dist/unity-project-processes.js.map +1 -0
- package/dist/util.d.ts +11 -0
- package/dist/util.js +22 -0
- package/dist/util.js.map +1 -0
- package/dist/windows-editor-state.d.ts +31 -0
- package/dist/windows-editor-state.js +98 -0
- package/dist/windows-editor-state.js.map +1 -0
- package/docs/README.md +43 -0
- package/docs/availability-differences.md +97 -0
- package/docs/command-execution.md +89 -0
- package/docs/error-codes.md +204 -0
- package/docs/extensions.md +132 -0
- package/docs/risk-and-side-effects.md +93 -0
- package/docs/safety-boundaries.md +103 -0
- package/docs/target-and-instance.md +83 -0
- package/docs/tool-discovery.md +104 -0
- package/docs/tool-execution.md +178 -0
- package/extensions/cinemachine/bridge/domains/cinemachine.ts +115 -0
- package/extensions/cinemachine/docs/cinemachine.md +50 -0
- package/extensions/cinemachine/extension.json +129 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/CinemachineExtensionToolSupport.cs +15 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/CinemachineToolSupport.cs +854 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/aim.cs +96 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/blend.cs +140 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/body.cs +96 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/brain-ensure.cs +16 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/brain-status.cs +12 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/create.cs +147 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/extension-add.cs +13 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/extension-list.cs +13 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/extension-remove.cs +13 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/lens.cs +142 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/noise.cs +126 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/ping.cs +43 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/priority.cs +113 -0
- package/extensions/cinemachine/unitypkg/Editor/Cinemachine/target.cs +84 -0
- package/extensions/cinemachine/unitypkg/UnityCli.Extensions.Cinemachine.Editor.asmdef +18 -0
- package/extensions/hdrp/bridge/domains/hdrp.ts +41 -0
- package/extensions/hdrp/docs/hdrp.md +15 -0
- package/extensions/hdrp/extension.json +31 -0
- package/extensions/hdrp/unitypkg/Editor/Hdrp/HdrpToolSupport.cs +607 -0
- package/extensions/hdrp/unitypkg/Editor/Hdrp/settings-get.cs +29 -0
- package/extensions/hdrp/unitypkg/Editor/Hdrp/settings-set.cs +47 -0
- package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-add-effect.cs +28 -0
- package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-create.cs +28 -0
- package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-info.cs +25 -0
- package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-list.cs +25 -0
- package/extensions/hdrp/unitypkg/Editor/Hdrp/volume-set.cs +28 -0
- package/extensions/hdrp/unitypkg/UnityCli.Extensions.Hdrp.Editor.asmdef +19 -0
- package/extensions/probuilder/bridge/domains/probuilder.ts +386 -0
- package/extensions/probuilder/docs/probuilder.md +125 -0
- package/extensions/probuilder/extension.json +291 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderAppendCompletionProof.cs +254 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderAtomicReadback.cs +293 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderBevelCompletionProof.cs +299 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderCanonicalMeshSnapshot.cs +951 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderConnectCompletionProof.cs +407 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderEdgeCompletionProof.cs +318 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderErrors.cs +83 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderFaceCompletionProof.cs +152 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderFaceExtrudeCompletionProof.cs +283 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderFlipCompletionProof.cs +170 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderInput.cs +85 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderInsertCompletionProof.cs +674 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderOperationProof.cs +137 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderReflection.cs +1064 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderRefreshUvProof.cs +53 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderSceneTool.cs +184 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderShapeTopologyRecords.g.cs +82 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ProBuilderVertexObjectCompletionProof.cs +346 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/append-vertices-to-edge.cs +118 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/auto-smooth.cs +104 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/bevel-edges.cs +119 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/bridge-edges.cs +113 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/center-pivot.cs +43 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/combine-meshes.cs +58 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/connect-elements.cs +128 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/convert-to-probuilder.cs +40 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/create-poly-shape.cs +55 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/create-polygon.cs +28 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/create-shape.cs +168 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/delete-faces.cs +42 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/detach-faces.cs +46 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/duplicate-and-flip.cs +100 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/extrude-edges.cs +118 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/extrude-faces.cs +110 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/flip-normals.cs +102 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/freeze-transform.cs +45 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/insert-vertex.cs +132 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/merge-faces.cs +44 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/merge-objects.cs +130 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/merge-vertices.cs +109 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/mesh-info.cs +117 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/move-vertices.cs +33 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/ping.cs +51 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/repair-mesh.cs +40 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/select-faces.cs +161 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-face-color.cs +24 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-face-material.cs +23 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-face-uvs.cs +28 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-pivot.cs +42 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/set-smoothing.cs +23 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/split-vertices.cs +64 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/subdivide.cs +111 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/validate-mesh.cs +75 -0
- package/extensions/probuilder/unitypkg/Editor/ProBuilder/weld-vertices.cs +112 -0
- package/extensions/probuilder/unitypkg/UnityCli.Extensions.ProBuilder.Editor.asmdef +25 -0
- package/extensions/urp/bridge/domains/urp.ts +62 -0
- package/extensions/urp/docs/urp.md +20 -0
- package/extensions/urp/extension.json +41 -0
- package/extensions/urp/unitypkg/Editor/Urp/UrpFeatureToolSupport.cs +336 -0
- package/extensions/urp/unitypkg/Editor/Urp/UrpToolSupport.cs +801 -0
- package/extensions/urp/unitypkg/Editor/Urp/feature-add.cs +12 -0
- package/extensions/urp/unitypkg/Editor/Urp/feature-configure.cs +12 -0
- package/extensions/urp/unitypkg/Editor/Urp/feature-list.cs +12 -0
- package/extensions/urp/unitypkg/Editor/Urp/feature-remove.cs +12 -0
- package/extensions/urp/unitypkg/Editor/Urp/feature-toggle.cs +12 -0
- package/extensions/urp/unitypkg/Editor/Urp/settings-get.cs +27 -0
- package/extensions/urp/unitypkg/Editor/Urp/settings-set.cs +47 -0
- package/extensions/urp/unitypkg/Editor/Urp/volume-add-effect.cs +33 -0
- package/extensions/urp/unitypkg/Editor/Urp/volume-create.cs +33 -0
- package/extensions/urp/unitypkg/Editor/Urp/volume-info.cs +31 -0
- package/extensions/urp/unitypkg/Editor/Urp/volume-list.cs +39 -0
- package/extensions/urp/unitypkg/Editor/Urp/volume-set.cs +33 -0
- package/extensions/urp/unitypkg/UnityCli.Extensions.Urp.Editor.asmdef +19 -0
- package/extensions/vfx-graph/bridge/domains/vfx.ts +337 -0
- package/extensions/vfx-graph/docs/vfx.md +28 -0
- package/extensions/vfx-graph/extension.json +72 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/VfxActionToolSupport.cs +248 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/VfxToolSupport.cs +1325 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-pause.cs +37 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-play.cs +40 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-reinitialize.cs +37 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-set-rate.cs +36 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-set-seed.cs +42 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/control-stop.cs +37 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/effect-add.cs +55 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/effect-assign.cs +44 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/effect-info.cs +30 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/graph-create.cs +62 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/graph-info.cs +32 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/line-create.cs +75 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/line-positions.cs +100 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/parameter.cs +216 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-clear.cs +39 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-create.cs +80 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-emission.cs +126 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-info.cs +55 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-main.cs +75 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-pause.cs +38 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-play.cs +38 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-shape.cs +148 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/particle-stop.cs +41 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/template-create.cs +58 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/template-list.cs +31 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/trail-create.cs +41 -0
- package/extensions/vfx-graph/unitypkg/Editor/Vfx/trail-set.cs +44 -0
- package/extensions/vfx-graph/unitypkg/UnityCli.Extensions.VfxGraph.Editor.asmdef +18 -0
- package/package.json +46 -0
- package/schemas/error-code.schema.json +70 -0
- package/schemas/extension-descriptor.schema.json +88 -0
- package/schemas/extension-manifest.schema.json +125 -0
- package/schemas/request-envelope.schema.json +34 -0
- package/schemas/response-envelope.schema.json +42 -0
- package/schemas/tool-metadata.schema.json +111 -0
- package/skills/unitycli/SKILL.md +61 -0
- package/skills/unitycli/agents/interface.yaml +30 -0
- package/skills/unitycli/evals/history/2026-08-05-governed-baseline.json +44 -0
- package/skills/unitycli/evals/output/cases.jsonl +5 -0
- package/skills/unitycli/evals/output/fixtures/feedback-scenario.json +27 -0
- package/skills/unitycli/evals/output/schema.json +32 -0
- package/skills/unitycli/evals/semantic_config.json +46 -0
- package/skills/unitycli/evals/trigger_cases.json +39 -0
- package/skills/unitycli/examples/feedback-event.input.json +8 -0
- package/skills/unitycli/examples/feedback-record.output.json +12 -0
- package/skills/unitycli/manifest.json +112 -0
- package/skills/unitycli/references/custom-tools.md +111 -0
- package/skills/unitycli/references/feedback.md +59 -0
- package/skills/unitycli/references/operation-protocol.md +83 -0
- package/skills/unitycli/reports/output_quality_scorecard.md +56 -0
- package/skills/unitycli/reports/trust-report.md +57 -0
- package/skills/unitycli/scripts/record-feedback.ps1 +210 -0
- package/skills/unitycli/security/network_policy.json +18 -0
- package/skills/unitycli/security/permission_policy.json +40 -0
- package/unitypkg/Editor/Bridge/BridgeCommandContext.cs +64 -0
- package/unitypkg/Editor/Bridge/BridgeCommandException.cs +39 -0
- package/unitypkg/Editor/Bridge/BridgeCommandRegistry.cs +172 -0
- package/unitypkg/Editor/Bridge/BridgeHttpServer.cs +534 -0
- package/unitypkg/Editor/Bridge/BridgeResponse.cs +58 -0
- package/unitypkg/Editor/Bridge/BridgeWorkQueue.cs +325 -0
- package/unitypkg/Editor/BridgeStartupStateMachine.cs +81 -0
- package/unitypkg/Editor/Commands/ProjectToolCommands.cs +43 -0
- package/unitypkg/Editor/Commands/RuntimeToolCommands.cs +43 -0
- package/unitypkg/Editor/Generated/UnityCliToolCompletionRegistry.g.cs +428 -0
- package/unitypkg/Editor/Infrastructure/CodeExecSupport.cs +664 -0
- package/unitypkg/Editor/Infrastructure/RegistryOwnershipResolver.cs +148 -0
- package/unitypkg/Editor/Infrastructure/UnityCliActiveOperation.cs +411 -0
- package/unitypkg/Editor/Infrastructure/UnityCliAdmission.cs +485 -0
- package/unitypkg/Editor/Infrastructure/UnityCliArtifacts.cs +110 -0
- package/unitypkg/Editor/Infrastructure/UnityCliAssetRefreshCoordinator.cs +106 -0
- package/unitypkg/Editor/Infrastructure/UnityCliBridgeHelpers.cs +155 -0
- package/unitypkg/Editor/Infrastructure/UnityCliCanonicalProjectPath.cs +325 -0
- package/unitypkg/Editor/Infrastructure/UnityCliCompilationEventBroker.cs +192 -0
- package/unitypkg/Editor/Infrastructure/UnityCliCompileCoordinator.cs +271 -0
- package/unitypkg/Editor/Infrastructure/UnityCliCompletionProbe.cs +515 -0
- package/unitypkg/Editor/Infrastructure/UnityCliEditorStateSnapshot.cs +84 -0
- package/unitypkg/Editor/Infrastructure/UnityCliInstanceRegistry.cs +558 -0
- package/unitypkg/Editor/Infrastructure/UnityCliJson.cs +155 -0
- package/unitypkg/Editor/Infrastructure/UnityCliLargeOutput.cs +128 -0
- package/unitypkg/Editor/Infrastructure/UnityCliLiveBuildCoordinator.cs +230 -0
- package/unitypkg/Editor/Infrastructure/UnityCliLiveRefreshCoordinator.cs +164 -0
- package/unitypkg/Editor/Infrastructure/UnityCliLog.cs +127 -0
- package/unitypkg/Editor/Infrastructure/UnityCliNavMeshBakeCoordinator.cs +2073 -0
- package/unitypkg/Editor/Infrastructure/UnityCliObjectPatch.cs +193 -0
- package/unitypkg/Editor/Infrastructure/UnityCliObjectRef.cs +278 -0
- package/unitypkg/Editor/Infrastructure/UnityCliObjectSerializer.cs +620 -0
- package/unitypkg/Editor/Infrastructure/UnityCliOcclusionBakeCoordinator.cs +1739 -0
- package/unitypkg/Editor/Infrastructure/UnityCliOperationCoordinator.cs +828 -0
- package/unitypkg/Editor/Infrastructure/UnityCliPackageEmbedCoordinator.cs +147 -0
- package/unitypkg/Editor/Infrastructure/UnityCliPackageResolveCoordinator.cs +454 -0
- package/unitypkg/Editor/Infrastructure/UnityCliPackageResolveState.cs +561 -0
- package/unitypkg/Editor/Infrastructure/UnityCliPipelineHandoff.cs +742 -0
- package/unitypkg/Editor/Infrastructure/UnityCliProjectSettings.cs +92 -0
- package/unitypkg/Editor/Infrastructure/UnityCliProtocolRequest.cs +116 -0
- package/unitypkg/Editor/Infrastructure/UnityCliReflection.cs +477 -0
- package/unitypkg/Editor/Infrastructure/UnityCliReloadOperation.cs +664 -0
- package/unitypkg/Editor/Infrastructure/UnityCliRequestDigest.cs +34 -0
- package/unitypkg/Editor/Infrastructure/UnityCliRuntimeBuildInjection.cs +121 -0
- package/unitypkg/Editor/Infrastructure/UnityCliRuntimeExecutor.cs +391 -0
- package/unitypkg/Editor/Infrastructure/UnityCliSceneMutation.cs +84 -0
- package/unitypkg/Editor/Infrastructure/UnityCliScriptableObjectHelpers.cs +235 -0
- package/unitypkg/Editor/Infrastructure/UnityCliSerializer.cs +580 -0
- package/unitypkg/Editor/Infrastructure/UnityCliSessionMutationLease.cs +568 -0
- package/unitypkg/Editor/Infrastructure/UnityCliStateIO.cs +73 -0
- package/unitypkg/Editor/Infrastructure/UnityCliTestRunCoordinator.cs +598 -0
- package/unitypkg/Editor/Infrastructure/UnityCliTransactionLog.cs +112 -0
- package/unitypkg/Editor/Infrastructure/UnityCliValueConverter.cs +146 -0
- package/unitypkg/Editor/Infrastructure/UnityCliWaiter.cs +716 -0
- package/unitypkg/Editor/ProjectTools/IUnityCliTool.cs +152 -0
- package/unitypkg/Editor/ProjectTools/OfficialAttributeToolRegistry.cs +992 -0
- package/unitypkg/Editor/ProjectTools/ProjectToolRegistry.cs +938 -0
- package/unitypkg/Editor/ProjectTools/ProjectToolSchemaValidator.cs +258 -0
- package/unitypkg/Editor/ProjectTools/RegisteredTool.cs +75 -0
- package/unitypkg/Editor/ProjectTools/UnityCliProjectToolContext.cs +68 -0
- package/unitypkg/Editor/ProjectTools/UnityCliSchemaDeriver.cs +297 -0
- package/unitypkg/Editor/Protocol/ProtocolEnvelopeFactory.cs +92 -0
- package/unitypkg/Editor/Protocol/envelope.cs +50 -0
- package/unitypkg/Editor/Roslyn/LICENSE.txt +23 -0
- package/unitypkg/Editor/Roslyn/Microsoft.CodeAnalysis.CSharp.dll +0 -0
- package/unitypkg/Editor/Roslyn/Microsoft.CodeAnalysis.dll +0 -0
- package/unitypkg/Editor/Roslyn/System.Collections.Immutable.dll +0 -0
- package/unitypkg/Editor/Roslyn/System.Reflection.Metadata.dll +0 -0
- package/unitypkg/Editor/Tools/animation/AnimationToolSupport.cs +335 -0
- package/unitypkg/Editor/Tools/animation/AnimatorRuntimeToolSupport.cs +24 -0
- package/unitypkg/Editor/Tools/animation/animator/crossfade.cs +117 -0
- package/unitypkg/Editor/Tools/animation/animator/get-info.cs +24 -0
- package/unitypkg/Editor/Tools/animation/animator/get-parameter.cs +36 -0
- package/unitypkg/Editor/Tools/animation/animator/set-enabled.cs +33 -0
- package/unitypkg/Editor/Tools/animation/animator/set-parameter.cs +71 -0
- package/unitypkg/Editor/Tools/animation/animator/set-speed.cs +33 -0
- package/unitypkg/Editor/Tools/animation/clip/create.cs +48 -0
- package/unitypkg/Editor/Tools/animation/clip/modify.cs +43 -0
- package/unitypkg/Editor/Tools/animation/clip.cs +23 -0
- package/unitypkg/Editor/Tools/animation/play.cs +41 -0
- package/unitypkg/Editor/Tools/animation/state.cs +25 -0
- package/unitypkg/Editor/Tools/animation/stop.cs +45 -0
- package/unitypkg/Editor/Tools/asset/AssetImportSettingsToolSupport.cs +633 -0
- package/unitypkg/Editor/Tools/asset/AssetToolSupport.cs +253 -0
- package/unitypkg/Editor/Tools/asset/create.cs +84 -0
- package/unitypkg/Editor/Tools/asset/delete.cs +88 -0
- package/unitypkg/Editor/Tools/asset/duplicate.cs +68 -0
- package/unitypkg/Editor/Tools/asset/get-components.cs +177 -0
- package/unitypkg/Editor/Tools/asset/get-data.cs +73 -0
- package/unitypkg/Editor/Tools/asset/import-settings/set.cs +127 -0
- package/unitypkg/Editor/Tools/asset/import-settings.cs +54 -0
- package/unitypkg/Editor/Tools/asset/import.cs +132 -0
- package/unitypkg/Editor/Tools/asset/info.cs +48 -0
- package/unitypkg/Editor/Tools/asset/modify.cs +69 -0
- package/unitypkg/Editor/Tools/asset/move.cs +70 -0
- package/unitypkg/Editor/Tools/asset/preview.cs +86 -0
- package/unitypkg/Editor/Tools/asset/rename.cs +84 -0
- package/unitypkg/Editor/Tools/asset/search-built-in.cs +90 -0
- package/unitypkg/Editor/Tools/asset/search.cs +83 -0
- package/unitypkg/Editor/Tools/build/BuildSceneStateTool.cs +37 -0
- package/unitypkg/Editor/Tools/build/BuildSettingsToolSupport.cs +4 -0
- package/unitypkg/Editor/Tools/build/BuildToolDtos.cs +15 -0
- package/unitypkg/Editor/Tools/build/BuildToolSupport.cs +111 -0
- package/unitypkg/Editor/Tools/build/platform/get.cs +12 -0
- package/unitypkg/Editor/Tools/build/platform/set.cs +45 -0
- package/unitypkg/Editor/Tools/build/profile/create.cs +44 -0
- package/unitypkg/Editor/Tools/build/profile/list.cs +12 -0
- package/unitypkg/Editor/Tools/build/profile/modify.cs +42 -0
- package/unitypkg/Editor/Tools/build/profile/switch.cs +30 -0
- package/unitypkg/Editor/Tools/build/scene/add.cs +45 -0
- package/unitypkg/Editor/Tools/build/scene/disable.cs +3 -0
- package/unitypkg/Editor/Tools/build/scene/enable.cs +4 -0
- package/unitypkg/Editor/Tools/build/scene/list.cs +4 -0
- package/unitypkg/Editor/Tools/build/scene/remove.cs +29 -0
- package/unitypkg/Editor/Tools/build/settings/get.cs +3 -0
- package/unitypkg/Editor/Tools/build/settings/set.cs +74 -0
- package/unitypkg/Editor/Tools/camera/CameraToolSupport.cs +292 -0
- package/unitypkg/Editor/Tools/camera/create.cs +114 -0
- package/unitypkg/Editor/Tools/camera/info.cs +49 -0
- package/unitypkg/Editor/Tools/camera/lens.cs +119 -0
- package/unitypkg/Editor/Tools/camera/list.cs +52 -0
- package/unitypkg/Editor/Tools/camera/multiview.cs +96 -0
- package/unitypkg/Editor/Tools/camera/screenshot.cs +65 -0
- package/unitypkg/Editor/Tools/camera/target.cs +94 -0
- package/unitypkg/Editor/Tools/component/add.cs +125 -0
- package/unitypkg/Editor/Tools/component/get.cs +73 -0
- package/unitypkg/Editor/Tools/component/list-types.cs +90 -0
- package/unitypkg/Editor/Tools/component/modify.cs +103 -0
- package/unitypkg/Editor/Tools/component/remove.cs +147 -0
- package/unitypkg/Editor/Tools/component/set.cs +93 -0
- package/unitypkg/Editor/Tools/console/clear.cs +38 -0
- package/unitypkg/Editor/Tools/console/get.cs +28 -0
- package/unitypkg/Editor/Tools/controller/add-blend-tree-child.cs +88 -0
- package/unitypkg/Editor/Tools/controller/add-layer.cs +43 -0
- package/unitypkg/Editor/Tools/controller/add-parameter.cs +51 -0
- package/unitypkg/Editor/Tools/controller/add-state.cs +44 -0
- package/unitypkg/Editor/Tools/controller/add-transition.cs +71 -0
- package/unitypkg/Editor/Tools/controller/assign.cs +38 -0
- package/unitypkg/Editor/Tools/controller/create-blend-tree-1d.cs +40 -0
- package/unitypkg/Editor/Tools/controller/create-blend-tree-2d.cs +42 -0
- package/unitypkg/Editor/Tools/controller/create.cs +31 -0
- package/unitypkg/Editor/Tools/controller/get-info.cs +27 -0
- package/unitypkg/Editor/Tools/controller/remove-layer.cs +57 -0
- package/unitypkg/Editor/Tools/controller/set-layer-weight.cs +42 -0
- package/unitypkg/Editor/Tools/diagnose/preflight.cs +269 -0
- package/unitypkg/Editor/Tools/editor/EditorActionToolSupport.cs +117 -0
- package/unitypkg/Editor/Tools/editor/EditorSearchToolSupport.cs +146 -0
- package/unitypkg/Editor/Tools/editor/EditorToolSupport.cs +132 -0
- package/unitypkg/Editor/Tools/editor/EditorWindowFocusToolSupport.cs +194 -0
- package/unitypkg/Editor/Tools/editor/active-tool/set.cs +33 -0
- package/unitypkg/Editor/Tools/editor/active-tool.cs +100 -0
- package/unitypkg/Editor/Tools/editor/autotick/set.cs +102 -0
- package/unitypkg/Editor/Tools/editor/console.cs +26 -0
- package/unitypkg/Editor/Tools/editor/focus.cs +80 -0
- package/unitypkg/Editor/Tools/editor/menu-items.cs +50 -0
- package/unitypkg/Editor/Tools/editor/menu.cs +53 -0
- package/unitypkg/Editor/Tools/editor/pause.cs +38 -0
- package/unitypkg/Editor/Tools/editor/play.cs +43 -0
- package/unitypkg/Editor/Tools/editor/redo.cs +56 -0
- package/unitypkg/Editor/Tools/editor/resolution.cs +34 -0
- package/unitypkg/Editor/Tools/editor/search.cs +55 -0
- package/unitypkg/Editor/Tools/editor/selection/set.cs +37 -0
- package/unitypkg/Editor/Tools/editor/selection.cs +153 -0
- package/unitypkg/Editor/Tools/editor/stop.cs +43 -0
- package/unitypkg/Editor/Tools/editor/tool-states.cs +140 -0
- package/unitypkg/Editor/Tools/editor/undo.cs +56 -0
- package/unitypkg/Editor/Tools/editor/windows.cs +87 -0
- package/unitypkg/Editor/Tools/extension/status.cs +87 -0
- package/unitypkg/Editor/Tools/go/GameObjectToolSupport.cs +524 -0
- package/unitypkg/Editor/Tools/go/create.cs +333 -0
- package/unitypkg/Editor/Tools/go/delete.cs +87 -0
- package/unitypkg/Editor/Tools/go/duplicate.cs +76 -0
- package/unitypkg/Editor/Tools/go/find.cs +152 -0
- package/unitypkg/Editor/Tools/go/inspect.cs +49 -0
- package/unitypkg/Editor/Tools/go/look-at.cs +76 -0
- package/unitypkg/Editor/Tools/go/modify.cs +156 -0
- package/unitypkg/Editor/Tools/go/move-relative.cs +74 -0
- package/unitypkg/Editor/Tools/go/set-parent.cs +84 -0
- package/unitypkg/Editor/Tools/graphics/GraphicsToolSupport.cs +396 -0
- package/unitypkg/Editor/Tools/graphics/bake-cancel.cs +27 -0
- package/unitypkg/Editor/Tools/graphics/bake-clear.cs +31 -0
- package/unitypkg/Editor/Tools/graphics/bake-reflection-probe.cs +35 -0
- package/unitypkg/Editor/Tools/graphics/bake-settings.cs +131 -0
- package/unitypkg/Editor/Tools/graphics/bake-start.cs +27 -0
- package/unitypkg/Editor/Tools/graphics/bake-status.cs +31 -0
- package/unitypkg/Editor/Tools/graphics/light-probe-group.cs +56 -0
- package/unitypkg/Editor/Tools/graphics/pipeline-info.cs +19 -0
- package/unitypkg/Editor/Tools/graphics/pipeline-quality.cs +24 -0
- package/unitypkg/Editor/Tools/graphics/pipeline-settings.cs +46 -0
- package/unitypkg/Editor/Tools/graphics/probe-positions.cs +58 -0
- package/unitypkg/Editor/Tools/graphics/quality.cs +85 -0
- package/unitypkg/Editor/Tools/graphics/reflection-probe.cs +73 -0
- package/unitypkg/Editor/Tools/graphics/scene-debug.cs +37 -0
- package/unitypkg/Editor/Tools/graphics/settings.cs +104 -0
- package/unitypkg/Editor/Tools/graphics/skybox-get.cs +33 -0
- package/unitypkg/Editor/Tools/graphics/skybox-set-ambient.cs +24 -0
- package/unitypkg/Editor/Tools/graphics/skybox-set-fog.cs +24 -0
- package/unitypkg/Editor/Tools/graphics/skybox-set-material.cs +33 -0
- package/unitypkg/Editor/Tools/graphics/skybox-set-properties.cs +51 -0
- package/unitypkg/Editor/Tools/graphics/skybox-set-reflection.cs +31 -0
- package/unitypkg/Editor/Tools/graphics/skybox-set-sun.cs +35 -0
- package/unitypkg/Editor/Tools/graphics/stats-counters.cs +28 -0
- package/unitypkg/Editor/Tools/graphics/stats-memory.cs +21 -0
- package/unitypkg/Editor/Tools/graphics/stats.cs +17 -0
- package/unitypkg/Editor/Tools/graphics/volume.cs +59 -0
- package/unitypkg/Editor/Tools/instances/list.cs +71 -0
- package/unitypkg/Editor/Tools/material/MaterialToolSupport.cs +401 -0
- package/unitypkg/Editor/Tools/material/assign.cs +124 -0
- package/unitypkg/Editor/Tools/material/create.cs +82 -0
- package/unitypkg/Editor/Tools/material/info.cs +55 -0
- package/unitypkg/Editor/Tools/material/set-renderer-color.cs +108 -0
- package/unitypkg/Editor/Tools/material/set.cs +114 -0
- package/unitypkg/Editor/Tools/navmesh/NavMeshToolSupport.cs +404 -0
- package/unitypkg/Editor/Tools/navmesh/bake-clear.cs +70 -0
- package/unitypkg/Editor/Tools/navmesh/settings/set.cs +73 -0
- package/unitypkg/Editor/Tools/navmesh/settings.cs +37 -0
- package/unitypkg/Editor/Tools/object/ObjectToolSupport.cs +99 -0
- package/unitypkg/Editor/Tools/object/get-data.cs +69 -0
- package/unitypkg/Editor/Tools/object/modify.cs +126 -0
- package/unitypkg/Editor/Tools/occlusion/OcclusionToolSupport.cs +422 -0
- package/unitypkg/Editor/Tools/occlusion/bake-clear.cs +67 -0
- package/unitypkg/Editor/Tools/physics/PhysicsJointToolSupport.cs +13 -0
- package/unitypkg/Editor/Tools/physics/PhysicsToolSupport.cs +389 -0
- package/unitypkg/Editor/Tools/physics/assign-material.cs +88 -0
- package/unitypkg/Editor/Tools/physics/collision-matrix.cs +90 -0
- package/unitypkg/Editor/Tools/physics/force.cs +127 -0
- package/unitypkg/Editor/Tools/physics/joint/add.cs +99 -0
- package/unitypkg/Editor/Tools/physics/joint/remove.cs +4 -0
- package/unitypkg/Editor/Tools/physics/linecast.cs +59 -0
- package/unitypkg/Editor/Tools/physics/material.cs +73 -0
- package/unitypkg/Editor/Tools/physics/overlap.cs +84 -0
- package/unitypkg/Editor/Tools/physics/raycast-all.cs +67 -0
- package/unitypkg/Editor/Tools/physics/raycast.cs +96 -0
- package/unitypkg/Editor/Tools/physics/rigidbody.cs +116 -0
- package/unitypkg/Editor/Tools/physics/settings.cs +116 -0
- package/unitypkg/Editor/Tools/physics/shapecast.cs +127 -0
- package/unitypkg/Editor/Tools/physics/simulation.cs +89 -0
- package/unitypkg/Editor/Tools/physics/validate.cs +67 -0
- package/unitypkg/Editor/Tools/prefab/PrefabOverrideToolSupport.cs +355 -0
- package/unitypkg/Editor/Tools/prefab/PrefabToolSupport.cs +446 -0
- package/unitypkg/Editor/Tools/prefab/create.cs +125 -0
- package/unitypkg/Editor/Tools/prefab/hierarchy.cs +157 -0
- package/unitypkg/Editor/Tools/prefab/info.cs +44 -0
- package/unitypkg/Editor/Tools/prefab/instantiate.cs +106 -0
- package/unitypkg/Editor/Tools/prefab/modify.cs +112 -0
- package/unitypkg/Editor/Tools/prefab/overrides/apply.cs +51 -0
- package/unitypkg/Editor/Tools/prefab/overrides/revert.cs +51 -0
- package/unitypkg/Editor/Tools/prefab/stage-close.cs +67 -0
- package/unitypkg/Editor/Tools/prefab/stage-open.cs +69 -0
- package/unitypkg/Editor/Tools/prefab/stage-save.cs +64 -0
- package/unitypkg/Editor/Tools/prefab/stage.cs +68 -0
- package/unitypkg/Editor/Tools/prefab/unpack.cs +80 -0
- package/unitypkg/Editor/Tools/prefab/variant/create.cs +53 -0
- package/unitypkg/Editor/Tools/profiler/ProfilerFrameDebuggerSupport.cs +68 -0
- package/unitypkg/Editor/Tools/profiler/ProfilerMemorySnapshotSupport.cs +30 -0
- package/unitypkg/Editor/Tools/profiler/ProfilerToolSupport.cs +515 -0
- package/unitypkg/Editor/Tools/profiler/areas.cs +36 -0
- package/unitypkg/Editor/Tools/profiler/capture.cs +188 -0
- package/unitypkg/Editor/Tools/profiler/clear.cs +57 -0
- package/unitypkg/Editor/Tools/profiler/counter.cs +34 -0
- package/unitypkg/Editor/Tools/profiler/deep.cs +48 -0
- package/unitypkg/Editor/Tools/profiler/export.cs +85 -0
- package/unitypkg/Editor/Tools/profiler/frame-debugger/disable.cs +53 -0
- package/unitypkg/Editor/Tools/profiler/frame-debugger/enable.cs +66 -0
- package/unitypkg/Editor/Tools/profiler/frame-debugger/events.cs +140 -0
- package/unitypkg/Editor/Tools/profiler/frame.cs +38 -0
- package/unitypkg/Editor/Tools/profiler/hierarchy.cs +183 -0
- package/unitypkg/Editor/Tools/profiler/load.cs +85 -0
- package/unitypkg/Editor/Tools/profiler/memory-snapshot/compare.cs +78 -0
- package/unitypkg/Editor/Tools/profiler/memory-snapshot/list.cs +73 -0
- package/unitypkg/Editor/Tools/profiler/memory-snapshot/take.cs +147 -0
- package/unitypkg/Editor/Tools/profiler/memory.cs +34 -0
- package/unitypkg/Editor/Tools/profiler/module-enable.cs +52 -0
- package/unitypkg/Editor/Tools/profiler/modules.cs +33 -0
- package/unitypkg/Editor/Tools/profiler/object-memory.cs +49 -0
- package/unitypkg/Editor/Tools/profiler/pause.cs +49 -0
- package/unitypkg/Editor/Tools/profiler/rendering-stats.cs +109 -0
- package/unitypkg/Editor/Tools/profiler/script-stats.cs +35 -0
- package/unitypkg/Editor/Tools/profiler/start.cs +55 -0
- package/unitypkg/Editor/Tools/profiler/status.cs +36 -0
- package/unitypkg/Editor/Tools/profiler/stop.cs +53 -0
- package/unitypkg/Editor/Tools/project/ProjectSettingsReader.cs +31 -0
- package/unitypkg/Editor/Tools/project/ProjectSettingsToolSupport.cs +757 -0
- package/unitypkg/Editor/Tools/project/ProjectTagLayerToolSupport.cs +23 -0
- package/unitypkg/Editor/Tools/project/audio-settings/set.cs +35 -0
- package/unitypkg/Editor/Tools/project/audio-settings.cs +31 -0
- package/unitypkg/Editor/Tools/project/info.cs +52 -0
- package/unitypkg/Editor/Tools/project/input-settings/set.cs +35 -0
- package/unitypkg/Editor/Tools/project/input-settings.cs +35 -0
- package/unitypkg/Editor/Tools/project/layer/add.cs +3 -0
- package/unitypkg/Editor/Tools/project/layer/remove.cs +3 -0
- package/unitypkg/Editor/Tools/project/layers.cs +61 -0
- package/unitypkg/Editor/Tools/project/player-settings/set.cs +35 -0
- package/unitypkg/Editor/Tools/project/player-settings.cs +31 -0
- package/unitypkg/Editor/Tools/project/tag/add.cs +3 -0
- package/unitypkg/Editor/Tools/project/tag/remove.cs +3 -0
- package/unitypkg/Editor/Tools/project/tags.cs +45 -0
- package/unitypkg/Editor/Tools/project/time-settings/set.cs +35 -0
- package/unitypkg/Editor/Tools/project/time-settings.cs +31 -0
- package/unitypkg/Editor/Tools/reflection/method/call.cs +114 -0
- package/unitypkg/Editor/Tools/reflection/method/find.cs +72 -0
- package/unitypkg/Editor/Tools/reflection/type/schema.cs +56 -0
- package/unitypkg/Editor/Tools/scene/SceneToolSupport.cs +181 -0
- package/unitypkg/Editor/Tools/scene/active.cs +62 -0
- package/unitypkg/Editor/Tools/scene/build-settings.cs +69 -0
- package/unitypkg/Editor/Tools/scene/create.cs +78 -0
- package/unitypkg/Editor/Tools/scene/data.cs +125 -0
- package/unitypkg/Editor/Tools/scene/gameobject/component.cs +63 -0
- package/unitypkg/Editor/Tools/scene/gameobject/components.cs +77 -0
- package/unitypkg/Editor/Tools/scene/gameobject-support.cs +101 -0
- package/unitypkg/Editor/Tools/scene/gameobject.cs +83 -0
- package/unitypkg/Editor/Tools/scene/hierarchy.cs +250 -0
- package/unitypkg/Editor/Tools/scene/list-opened.cs +77 -0
- package/unitypkg/Editor/Tools/scene/load.cs +68 -0
- package/unitypkg/Editor/Tools/scene/move-object.cs +122 -0
- package/unitypkg/Editor/Tools/scene/save.cs +231 -0
- package/unitypkg/Editor/Tools/scene/set-active.cs +76 -0
- package/unitypkg/Editor/Tools/scene/unload.cs +109 -0
- package/unitypkg/Editor/Tools/scene/validate.cs +115 -0
- package/unitypkg/Editor/Tools/scene/view-frame.cs +218 -0
- package/unitypkg/Editor/Tools/screenshot/EditorElementCaptureToolSupport.cs +181 -0
- package/unitypkg/Editor/Tools/screenshot/ScreenshotToolSupport.cs +196 -0
- package/unitypkg/Editor/Tools/screenshot/editor-element.cs +87 -0
- package/unitypkg/Editor/Tools/screenshot/game-view.cs +116 -0
- package/unitypkg/Editor/Tools/screenshot/isolated-object.cs +93 -0
- package/unitypkg/Editor/Tools/screenshot/orbit.cs +103 -0
- package/unitypkg/Editor/Tools/screenshot/scene-view.cs +99 -0
- package/unitypkg/Editor/Tools/screenshot/screen.cs +89 -0
- package/unitypkg/Editor/Tools/screenshot/surround.cs +181 -0
- package/unitypkg/Editor/Tools/scriptable-object/ScriptableObjectToolSupport.cs +196 -0
- package/unitypkg/Editor/Tools/scriptable-object/create.cs +79 -0
- package/unitypkg/Editor/Tools/scriptable-object/info.cs +49 -0
- package/unitypkg/Editor/Tools/scriptable-object/list-types.cs +103 -0
- package/unitypkg/Editor/Tools/scriptable-object/modify.cs +208 -0
- package/unitypkg/Editor/Tools/shader/ShaderToolSupport.cs +326 -0
- package/unitypkg/Editor/Tools/shader/create.cs +82 -0
- package/unitypkg/Editor/Tools/shader/delete.cs +90 -0
- package/unitypkg/Editor/Tools/shader/get-data.cs +125 -0
- package/unitypkg/Editor/Tools/shader/info.cs +48 -0
- package/unitypkg/Editor/Tools/shader/list.cs +82 -0
- package/unitypkg/Editor/Tools/shader/read.cs +84 -0
- package/unitypkg/Editor/Tools/shader/update.cs +71 -0
- package/unitypkg/Editor/Tools/tests/list.cs +98 -0
- package/unitypkg/Editor/Tools/texture/TextureToolSupport.cs +327 -0
- package/unitypkg/Editor/Tools/texture/create.cs +182 -0
- package/unitypkg/Editor/Tools/texture/delete.cs +89 -0
- package/unitypkg/Editor/Tools/texture/generate.cs +189 -0
- package/unitypkg/Editor/Tools/texture/import-settings.cs +104 -0
- package/unitypkg/Editor/Tools/texture/info.cs +50 -0
- package/unitypkg/Editor/Tools/texture/modify.cs +154 -0
- package/unitypkg/Editor/Tools/texture/sprite.cs +132 -0
- package/unitypkg/Editor/Tools/timeline/TimelineMutationToolSupport.cs +696 -0
- package/unitypkg/Editor/Tools/timeline/TimelineReadToolSupport.cs +439 -0
- package/unitypkg/Editor/Tools/timeline/TimelineToolSupport.cs +203 -0
- package/unitypkg/Editor/Tools/timeline/clip/add.cs +93 -0
- package/unitypkg/Editor/Tools/timeline/create.cs +88 -0
- package/unitypkg/Editor/Tools/timeline/info.cs +54 -0
- package/unitypkg/Editor/Tools/timeline/track/add.cs +91 -0
- package/unitypkg/Editor/Tools/ui/UiToolSupport.cs +162 -0
- package/unitypkg/Editor/Tools/ui/UiUguiToolSupport.cs +24 -0
- package/unitypkg/Editor/Tools/ui/attach-document.cs +46 -0
- package/unitypkg/Editor/Tools/ui/button/create.cs +58 -0
- package/unitypkg/Editor/Tools/ui/canvas/create.cs +40 -0
- package/unitypkg/Editor/Tools/ui/create-panel-settings.cs +44 -0
- package/unitypkg/Editor/Tools/ui/detach-document.cs +41 -0
- package/unitypkg/Editor/Tools/ui/document/create.cs +49 -0
- package/unitypkg/Editor/Tools/ui/document/delete.cs +33 -0
- package/unitypkg/Editor/Tools/ui/document/info.cs +33 -0
- package/unitypkg/Editor/Tools/ui/document/update.cs +36 -0
- package/unitypkg/Editor/Tools/ui/get-visual-tree.cs +34 -0
- package/unitypkg/Editor/Tools/ui/hierarchy.cs +27 -0
- package/unitypkg/Editor/Tools/ui/image/create.cs +47 -0
- package/unitypkg/Editor/Tools/ui/link-stylesheet.cs +54 -0
- package/unitypkg/Editor/Tools/ui/list-documents.cs +34 -0
- package/unitypkg/Editor/Tools/ui/modify-visual-element.cs +76 -0
- package/unitypkg/Editor/Tools/ui/render-preview.cs +128 -0
- package/unitypkg/Editor/Tools/ui/text/create.cs +45 -0
- package/unitypkg/Editor/Tools/ui/update-panel-settings.cs +49 -0
- package/unitypkg/Editor/UnityCliBridge.cs +431 -0
- package/unitypkg/Editor/UnityCliBridgeBuildInfo.cs +9 -0
- package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeBridge.cs +580 -0
- package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeJson.cs +232 -0
- package/unitypkg/Runtime/Infrastructure/UnityCliRuntimeRegistry.cs +297 -0
- package/unitypkg/Runtime/Tools/UnityCliRuntimeTools.cs +701 -0
- package/unitypkg/Runtime/UnityCli.Runtime.asmdef +14 -0
- package/unitypkg/Shared/UnityCli.Shared.asmdef +14 -0
- package/unitypkg/Shared/UnityCliAdmissionPool.cs +426 -0
- package/unitypkg/Tests/Editor/UnityCli.Editor.Tests.asmdef +15 -0
- package/unitypkg/Tests/Editor/UnityCliAdmissionPoolTests.cs +262 -0
- package/unitypkg/UnityCli.Editor.asmdef +26 -0
- package/unitypkg/package.json +11 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace UnityCli.Cinemachine
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
/// cinemachine.aim — 切换或配置 Aim 管线组件。
|
|
9
|
+
/// </summary>
|
|
10
|
+
public class AimTool : IUnityCliTool<AimTool.Request, AimTool.Result>
|
|
11
|
+
{
|
|
12
|
+
public sealed class Request
|
|
13
|
+
{
|
|
14
|
+
[UnityCliRequired] public string Target { get; set; }
|
|
15
|
+
public string Aim { get; set; }
|
|
16
|
+
public string Property { get; set; }
|
|
17
|
+
public string Value { get; set; }
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public sealed class Result
|
|
21
|
+
{
|
|
22
|
+
public CinemachinePackageStatus Cinemachine { get; set; }
|
|
23
|
+
public CinemachineObjectInfo Object { get; set; }
|
|
24
|
+
public List<CinemachinePlannedEffect> PlannedEffects { get; set; }
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public ToolDescriptor Describe() => new()
|
|
28
|
+
{
|
|
29
|
+
Name = "cinemachine.aim",
|
|
30
|
+
Summary = "Swap or configure the Cinemachine Aim pipeline component on a virtual camera.",
|
|
31
|
+
Description = "Swap the Aim pipeline component on a Cinemachine virtual camera, or configure a writable public/serialized member on the current Aim component. aim may be omitted when property and value target the existing Aim component.",
|
|
32
|
+
Group = "cinemachine",
|
|
33
|
+
DestructiveHint = false,
|
|
34
|
+
RequiresPackages = new[] { "com.unity.cinemachine" },
|
|
35
|
+
SideEffects = new[] { "scene-modify" },
|
|
36
|
+
Target = "editor",
|
|
37
|
+
PlayModeSupport = "session-affecting",
|
|
38
|
+
DefaultTimeoutMs = 30000,
|
|
39
|
+
MaxTimeoutMs = 60000,
|
|
40
|
+
Examples = new[]
|
|
41
|
+
{
|
|
42
|
+
new ToolExample { Description = "切换 Aim 组件", Input = new Request { Target = "PlayerCam", Aim = "CinemachineRotationComposer" } },
|
|
43
|
+
new ToolExample { Description = "配置现有 Aim 属性", Input = new Request { Target = "PlayerCam", Property = "m_HorizontalDamping", Value = "0.25" } }
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
|
|
48
|
+
{
|
|
49
|
+
CinemachineToolSupport.EnsureEditorReady("cinemachine.aim");
|
|
50
|
+
CinemachineToolSupport.EnsureCinemachineAvailable();
|
|
51
|
+
|
|
52
|
+
var gameObject = CinemachineToolSupport.ResolveRequiredTarget(request.Target, "cinemachine aim requires --target <go>.");
|
|
53
|
+
var camera = CinemachineToolSupport.RequireCameraComponent(gameObject);
|
|
54
|
+
var effects = new List<CinemachinePlannedEffect>();
|
|
55
|
+
if (string.IsNullOrWhiteSpace(request.Aim) && string.IsNullOrWhiteSpace(request.Property))
|
|
56
|
+
throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_AIM_INPUT_REQUIRED", "cinemachine.aim requires aim or property/value.", "Pass aim to swap the stage component, or property and value to configure the existing Aim component.");
|
|
57
|
+
if (string.IsNullOrWhiteSpace(request.Property) != string.IsNullOrWhiteSpace(request.Value))
|
|
58
|
+
throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_COMPONENT_PROPERTY_REQUIRED", "Configuring an Aim component requires both property and value.", "Pass property and value together.");
|
|
59
|
+
|
|
60
|
+
var existing = CinemachineToolSupport.GetPipelineComponent(camera, "Aim");
|
|
61
|
+
var aimType = string.IsNullOrWhiteSpace(request.Aim) ? existing?.GetType() : CinemachineToolSupport.RequireComponentType(request.Aim, "Aim");
|
|
62
|
+
if (aimType == null)
|
|
63
|
+
throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_AIM_COMPONENT_NOT_FOUND", "No Aim pipeline component is installed on target: " + GameObjectToolSupport.HierarchyPath(gameObject), "Provide aim to install an Aim component before configuring properties.");
|
|
64
|
+
CinemachineToolSupport.RequirePipelineComponentStage(aimType, "Aim");
|
|
65
|
+
var memberPlan = string.IsNullOrWhiteSpace(request.Property) ? null : CinemachineToolSupport.PrepareComponentMember(aimType, request.Property, request.Value);
|
|
66
|
+
|
|
67
|
+
ctx.CommitEffect();
|
|
68
|
+
if (!string.IsNullOrWhiteSpace(request.Aim))
|
|
69
|
+
{
|
|
70
|
+
CinemachineToolSupport.SwapPipelineComponent(gameObject, camera, "Aim", aimType);
|
|
71
|
+
effects.Add(new CinemachinePlannedEffect { Type = "cinemachine.aim", Target = GameObjectToolSupport.HierarchyPath(gameObject), AimType = aimType.Name });
|
|
72
|
+
}
|
|
73
|
+
var applied = CinemachineToolSupport.GetPipelineComponent(camera, "Aim");
|
|
74
|
+
if (memberPlan != null)
|
|
75
|
+
{
|
|
76
|
+
CinemachineToolSupport.ApplyComponentMember(applied, memberPlan);
|
|
77
|
+
effects.Add(new CinemachinePlannedEffect { Type = "cinemachine.aim", Target = GameObjectToolSupport.HierarchyPath(gameObject), Field = request.Property, Value = request.Value, AimType = aimType.Name });
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
var observedObject = CinemachineToolSupport.ResolveRequiredTarget(gameObject.GetInstanceID().ToString(), "Cinemachine Aim target could not be resolved after mutation.");
|
|
81
|
+
var observedCamera = CinemachineToolSupport.RequireCameraComponent(observedObject);
|
|
82
|
+
var observedAim = CinemachineToolSupport.GetPipelineComponent(observedCamera, "Aim");
|
|
83
|
+
if (observedAim == null || observedAim.GetType() != aimType)
|
|
84
|
+
throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_AIM_VERIFY_FAILED", "Cinemachine Aim component did not retain the requested type.", "Inspect the virtual camera before retrying.");
|
|
85
|
+
if (memberPlan != null) CinemachineToolSupport.VerifyComponentMember(observedAim, memberPlan, "E_CINEMACHINE_AIM_VERIFY_FAILED");
|
|
86
|
+
CinemachineToolSupport.MarkDirty(observedObject);
|
|
87
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result
|
|
88
|
+
{
|
|
89
|
+
Cinemachine = CinemachineToolSupport.BuildPackageStatus(),
|
|
90
|
+
Object = CinemachineToolSupport.BuildObjectInfo(gameObject),
|
|
91
|
+
PlannedEffects = effects
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
#endif
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
using UnityEditor;
|
|
4
|
+
|
|
5
|
+
namespace UnityCli.Cinemachine
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
/// cinemachine.blend — 修改 Brain 的默认切镜样式与时长。
|
|
9
|
+
/// </summary>
|
|
10
|
+
public class BlendTool : IUnityCliTool<BlendTool.Request, BlendTool.Result>
|
|
11
|
+
{
|
|
12
|
+
public sealed class Request
|
|
13
|
+
{
|
|
14
|
+
public string Target { get; set; }
|
|
15
|
+
public string Style { get; set; }
|
|
16
|
+
public double? Duration { get; set; }
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public sealed class Result
|
|
20
|
+
{
|
|
21
|
+
public CinemachinePackageStatus Cinemachine { get; set; }
|
|
22
|
+
public CinemachineObjectInfo Object { get; set; }
|
|
23
|
+
public CinemachineBrainInfo Brain { get; set; }
|
|
24
|
+
public List<CinemachinePlannedEffect> PlannedEffects { get; set; }
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public ToolDescriptor Describe() => new()
|
|
28
|
+
{
|
|
29
|
+
Name = "cinemachine.blend",
|
|
30
|
+
Summary = "Get or set the DefaultBlend style and duration on a CinemachineBrain.",
|
|
31
|
+
Description = "Set the DefaultBlend style and duration on a CinemachineBrain. target is optional; when omitted the first scene brain is used.",
|
|
32
|
+
Group = "cinemachine",
|
|
33
|
+
DestructiveHint = false,
|
|
34
|
+
RequiresPackages = new[] { "com.unity.cinemachine" },
|
|
35
|
+
SideEffects = new[] { "scene-modify" },
|
|
36
|
+
Target = "editor",
|
|
37
|
+
PlayModeSupport = "session-affecting",
|
|
38
|
+
DefaultTimeoutMs = 30000,
|
|
39
|
+
MaxTimeoutMs = 60000,
|
|
40
|
+
Examples = new[]
|
|
41
|
+
{
|
|
42
|
+
new ToolExample { Description = "设置默认混合", Input = new Request { Target = "Main Camera", Style = "ease_in_out", Duration = 2 } }
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
|
|
47
|
+
{
|
|
48
|
+
CinemachineToolSupport.EnsureEditorReady("cinemachine.blend");
|
|
49
|
+
CinemachineToolSupport.EnsureCinemachineAvailable();
|
|
50
|
+
|
|
51
|
+
var brainOwner = CinemachineToolSupport.ResolveBrainOwner(request.Target);
|
|
52
|
+
var brain = CinemachineToolSupport.RequireBrainComponent(brainOwner);
|
|
53
|
+
var effects = new List<CinemachinePlannedEffect>();
|
|
54
|
+
if (string.IsNullOrWhiteSpace(request.Style) && !request.Duration.HasValue) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_BLEND_INPUT_REQUIRED", "cinemachine.blend requires style or duration.", "Pass at least one blend field.");
|
|
55
|
+
if (request.Duration.HasValue) { CinemachineToolSupport.RequireFinite(request.Duration.Value, "duration"); if (request.Duration.Value < 0d) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_BLEND_RANGE_INVALID", "duration must be non-negative.", "Pass a duration greater than or equal to zero."); }
|
|
56
|
+
var requestedStyle = string.IsNullOrWhiteSpace(request.Style) ? (int?)null : CinemachineToolSupport.BlendStyleToEnumIndex(request.Style);
|
|
57
|
+
if (!string.IsNullOrWhiteSpace(request.Style) && !requestedStyle.HasValue) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_BLEND_STYLE_INVALID", "Unsupported Cinemachine blend style: " + request.Style, "Pass a supported blend style.");
|
|
58
|
+
using (var validate = new SerializedObject(brain))
|
|
59
|
+
{
|
|
60
|
+
var blend = validate.FindProperty("DefaultBlend") ?? validate.FindProperty("m_DefaultBlend");
|
|
61
|
+
if (blend == null || (requestedStyle.HasValue && (blend.FindPropertyRelative("Style") ?? blend.FindPropertyRelative("m_Style")) == null) || (request.Duration.HasValue && (blend.FindPropertyRelative("Time") ?? blend.FindPropertyRelative("m_Time")) == null)) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_BLEND_PROPERTY_NOT_FOUND", "DefaultBlend fields are not writable.", "Use a supported Cinemachine package version.");
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
ctx.CommitEffect();
|
|
65
|
+
using (var serializedObject = new SerializedObject(brain))
|
|
66
|
+
{
|
|
67
|
+
var blendProperty = serializedObject.FindProperty("DefaultBlend") ?? serializedObject.FindProperty("m_DefaultBlend");
|
|
68
|
+
if (blendProperty == null)
|
|
69
|
+
{
|
|
70
|
+
throw new UnityCliBridge.BridgeCommandException(
|
|
71
|
+
"E_CINEMACHINE_BLEND_PROPERTY_NOT_FOUND",
|
|
72
|
+
"DefaultBlend property not accessible on CinemachineBrain.",
|
|
73
|
+
"The Cinemachine package version may differ; inspect the Unity Console for details.");
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (!string.IsNullOrWhiteSpace(request.Style))
|
|
77
|
+
{
|
|
78
|
+
var enumIndex = requestedStyle;
|
|
79
|
+
if (enumIndex.HasValue)
|
|
80
|
+
{
|
|
81
|
+
var styleProperty = blendProperty.FindPropertyRelative("Style") ?? blendProperty.FindPropertyRelative("m_Style");
|
|
82
|
+
if (styleProperty != null)
|
|
83
|
+
{
|
|
84
|
+
styleProperty.enumValueIndex = enumIndex.Value;
|
|
85
|
+
effects.Add(new CinemachinePlannedEffect
|
|
86
|
+
{
|
|
87
|
+
Type = "cinemachine.blend",
|
|
88
|
+
Target = GameObjectToolSupport.HierarchyPath(brainOwner),
|
|
89
|
+
Field = "style",
|
|
90
|
+
Value = request.Style
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (request.Duration.HasValue)
|
|
97
|
+
{
|
|
98
|
+
var timeProperty = blendProperty.FindPropertyRelative("Time") ?? blendProperty.FindPropertyRelative("m_Time");
|
|
99
|
+
if (timeProperty != null)
|
|
100
|
+
{
|
|
101
|
+
timeProperty.floatValue = (float)request.Duration.Value;
|
|
102
|
+
effects.Add(new CinemachinePlannedEffect
|
|
103
|
+
{
|
|
104
|
+
Type = "cinemachine.blend",
|
|
105
|
+
Target = GameObjectToolSupport.HierarchyPath(brainOwner),
|
|
106
|
+
Field = "duration",
|
|
107
|
+
Value = request.Duration.Value.ToString()
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
serializedObject.ApplyModifiedProperties();
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
var observedBrain = CinemachineToolSupport.RequireBrainComponent(CinemachineToolSupport.ResolveRequiredTarget(brainOwner.GetInstanceID().ToString(), "CinemachineBrain could not be resolved after setting blend."));
|
|
116
|
+
using (var observed = new SerializedObject(observedBrain))
|
|
117
|
+
{
|
|
118
|
+
var blend = observed.FindProperty("DefaultBlend") ?? observed.FindProperty("m_DefaultBlend");
|
|
119
|
+
var style = blend?.FindPropertyRelative("Style") ?? blend?.FindPropertyRelative("m_Style");
|
|
120
|
+
var time = blend?.FindPropertyRelative("Time") ?? blend?.FindPropertyRelative("m_Time");
|
|
121
|
+
if (requestedStyle.HasValue && (style == null || style.enumValueIndex != requestedStyle.Value)) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_BLEND_VERIFY_FAILED", "Cinemachine blend style did not retain the requested value.", "Check the brain and retry.");
|
|
122
|
+
if (request.Duration.HasValue && (time == null || !UnityEngine.Mathf.Approximately(time.floatValue, (float)request.Duration.Value))) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_BLEND_VERIFY_FAILED", "Cinemachine blend duration did not retain the requested value.", "Check the brain and retry.");
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (effects.Count > 0)
|
|
126
|
+
{
|
|
127
|
+
CinemachineToolSupport.MarkDirty(brainOwner);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result
|
|
131
|
+
{
|
|
132
|
+
Cinemachine = CinemachineToolSupport.BuildPackageStatus(),
|
|
133
|
+
Object = CinemachineToolSupport.BuildObjectInfo(brainOwner),
|
|
134
|
+
Brain = CinemachineToolSupport.BuildBrainInfo(brain),
|
|
135
|
+
PlannedEffects = effects
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
#endif
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace UnityCli.Cinemachine
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
/// cinemachine.body — 切换或配置 Body 管线组件。
|
|
9
|
+
/// </summary>
|
|
10
|
+
public class BodyTool : IUnityCliTool<BodyTool.Request, BodyTool.Result>
|
|
11
|
+
{
|
|
12
|
+
public sealed class Request
|
|
13
|
+
{
|
|
14
|
+
[UnityCliRequired] public string Target { get; set; }
|
|
15
|
+
public string Body { get; set; }
|
|
16
|
+
public string Property { get; set; }
|
|
17
|
+
public string Value { get; set; }
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public sealed class Result
|
|
21
|
+
{
|
|
22
|
+
public CinemachinePackageStatus Cinemachine { get; set; }
|
|
23
|
+
public CinemachineObjectInfo Object { get; set; }
|
|
24
|
+
public List<CinemachinePlannedEffect> PlannedEffects { get; set; }
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public ToolDescriptor Describe() => new()
|
|
28
|
+
{
|
|
29
|
+
Name = "cinemachine.body",
|
|
30
|
+
Summary = "Swap or configure the Cinemachine Body pipeline component on a virtual camera.",
|
|
31
|
+
Description = "Swap the Body pipeline component on a Cinemachine virtual camera, or configure a writable public/serialized member on the current Body component. body may be omitted when property and value target the existing Body component.",
|
|
32
|
+
Group = "cinemachine",
|
|
33
|
+
DestructiveHint = false,
|
|
34
|
+
RequiresPackages = new[] { "com.unity.cinemachine" },
|
|
35
|
+
SideEffects = new[] { "scene-modify" },
|
|
36
|
+
Target = "editor",
|
|
37
|
+
PlayModeSupport = "session-affecting",
|
|
38
|
+
DefaultTimeoutMs = 30000,
|
|
39
|
+
MaxTimeoutMs = 60000,
|
|
40
|
+
Examples = new[]
|
|
41
|
+
{
|
|
42
|
+
new ToolExample { Description = "切换 Body 组件", Input = new Request { Target = "PlayerCam", Body = "CinemachineFollow" } },
|
|
43
|
+
new ToolExample { Description = "配置现有 Body 属性", Input = new Request { Target = "PlayerCam", Property = "m_XDamping", Value = "0.5" } }
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
|
|
48
|
+
{
|
|
49
|
+
CinemachineToolSupport.EnsureEditorReady("cinemachine.body");
|
|
50
|
+
CinemachineToolSupport.EnsureCinemachineAvailable();
|
|
51
|
+
|
|
52
|
+
var gameObject = CinemachineToolSupport.ResolveRequiredTarget(request.Target, "cinemachine body requires --target <go>.");
|
|
53
|
+
var camera = CinemachineToolSupport.RequireCameraComponent(gameObject);
|
|
54
|
+
var effects = new List<CinemachinePlannedEffect>();
|
|
55
|
+
if (string.IsNullOrWhiteSpace(request.Body) && string.IsNullOrWhiteSpace(request.Property))
|
|
56
|
+
throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_BODY_INPUT_REQUIRED", "cinemachine.body requires body or property/value.", "Pass body to swap the stage component, or property and value to configure the existing Body component.");
|
|
57
|
+
if (string.IsNullOrWhiteSpace(request.Property) != string.IsNullOrWhiteSpace(request.Value))
|
|
58
|
+
throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_COMPONENT_PROPERTY_REQUIRED", "Configuring a Body component requires both property and value.", "Pass property and value together.");
|
|
59
|
+
|
|
60
|
+
var existing = CinemachineToolSupport.GetPipelineComponent(camera, "Body");
|
|
61
|
+
var bodyType = string.IsNullOrWhiteSpace(request.Body) ? existing?.GetType() : CinemachineToolSupport.RequireComponentType(request.Body, "Body");
|
|
62
|
+
if (bodyType == null)
|
|
63
|
+
throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_BODY_COMPONENT_NOT_FOUND", "No Body pipeline component is installed on target: " + GameObjectToolSupport.HierarchyPath(gameObject), "Provide body to install a Body component before configuring properties.");
|
|
64
|
+
CinemachineToolSupport.RequirePipelineComponentStage(bodyType, "Body");
|
|
65
|
+
var memberPlan = string.IsNullOrWhiteSpace(request.Property) ? null : CinemachineToolSupport.PrepareComponentMember(bodyType, request.Property, request.Value);
|
|
66
|
+
|
|
67
|
+
ctx.CommitEffect();
|
|
68
|
+
if (!string.IsNullOrWhiteSpace(request.Body))
|
|
69
|
+
{
|
|
70
|
+
CinemachineToolSupport.SwapPipelineComponent(gameObject, camera, "Body", bodyType);
|
|
71
|
+
effects.Add(new CinemachinePlannedEffect { Type = "cinemachine.body", Target = GameObjectToolSupport.HierarchyPath(gameObject), BodyType = bodyType.Name });
|
|
72
|
+
}
|
|
73
|
+
var applied = CinemachineToolSupport.GetPipelineComponent(camera, "Body");
|
|
74
|
+
if (memberPlan != null)
|
|
75
|
+
{
|
|
76
|
+
CinemachineToolSupport.ApplyComponentMember(applied, memberPlan);
|
|
77
|
+
effects.Add(new CinemachinePlannedEffect { Type = "cinemachine.body", Target = GameObjectToolSupport.HierarchyPath(gameObject), Field = request.Property, Value = request.Value, BodyType = bodyType.Name });
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
var observedObject = CinemachineToolSupport.ResolveRequiredTarget(gameObject.GetInstanceID().ToString(), "Cinemachine Body target could not be resolved after mutation.");
|
|
81
|
+
var observedCamera = CinemachineToolSupport.RequireCameraComponent(observedObject);
|
|
82
|
+
var observedBody = CinemachineToolSupport.GetPipelineComponent(observedCamera, "Body");
|
|
83
|
+
if (observedBody == null || observedBody.GetType() != bodyType)
|
|
84
|
+
throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_BODY_VERIFY_FAILED", "Cinemachine Body component did not retain the requested type.", "Inspect the virtual camera before retrying.");
|
|
85
|
+
if (memberPlan != null) CinemachineToolSupport.VerifyComponentMember(observedBody, memberPlan, "E_CINEMACHINE_BODY_VERIFY_FAILED");
|
|
86
|
+
CinemachineToolSupport.MarkDirty(observedObject);
|
|
87
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result
|
|
88
|
+
{
|
|
89
|
+
Cinemachine = CinemachineToolSupport.BuildPackageStatus(),
|
|
90
|
+
Object = CinemachineToolSupport.BuildObjectInfo(gameObject),
|
|
91
|
+
PlannedEffects = effects
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
#endif
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
using UnityEditor;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
namespace UnityCli.Cinemachine
|
|
6
|
+
{
|
|
7
|
+
public sealed class BrainEnsureTool : IUnityCliTool<BrainEnsureTool.Request, BrainEnsureTool.Result>
|
|
8
|
+
{
|
|
9
|
+
public sealed class Request { public string Target { get; set; } }
|
|
10
|
+
public sealed class Result { public CinemachinePackageStatus Cinemachine { get; set; } public CinemachineBrainInfo Brain { get; set; } public List<CinemachinePlannedEffect> PlannedEffects { get; set; } }
|
|
11
|
+
public ToolDescriptor Describe() => new() { Name = "cinemachine.brain.ensure", Summary = "Ensure a CinemachineBrain exists.", Description = "Adds a CinemachineBrain to the target, current brain owner, or Main Camera; creates an owner when needed.", Group = "cinemachine",RequiresPackages = new[] { "com.unity.cinemachine" }, SideEffects = new[] { "scene-modify", "undo-stack" }, Target = "editor", PlayModeSupport = "session-affecting", DefaultTimeoutMs = 30000, MaxTimeoutMs = 60000, Examples = new[] { new ToolExample { Description = "Ensure Main Camera has a brain", Input = new Request { Target = "Main Camera" } } } };
|
|
12
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default) { CinemachineToolSupport.EnsureEditorReady("cinemachine.brain.ensure"); CinemachineToolSupport.EnsureCinemachineAvailable(); var owner = !string.IsNullOrWhiteSpace(request.Target) ? CinemachineToolSupport.ResolveRequiredTarget(request.Target, "Pass a GameObject name, hierarchy path or instance id.") : CinemachineToolSupport.FindOrCreateBrainOwnerCandidate(); ctx.CommitEffect();
|
|
13
|
+
if (owner == null) { owner = new GameObject("CinemachineBrain"); UnityCliSceneMutation.RegisterCreatedObject(owner, "UnityCli Cinemachine Brain Ensure"); } var brain = owner.GetComponent(CinemachineToolSupport.BrainType) ?? UnityCliSceneMutation.AddComponent(owner, CinemachineToolSupport.BrainType); var observedOwner = CinemachineToolSupport.ResolveRequiredTarget(owner.GetInstanceID().ToString(), "CinemachineBrain could not be resolved after ensure."); var observedBrain = CinemachineToolSupport.RequireBrainComponent(observedOwner); CinemachineToolSupport.MarkDirty(observedOwner); return new(new Result { Cinemachine = CinemachineToolSupport.BuildPackageStatus(), Brain = CinemachineToolSupport.BuildBrainInfo(observedBrain), PlannedEffects = new List<CinemachinePlannedEffect> { new CinemachinePlannedEffect { Type = "cinemachine.brain.ensure", Target = GameObjectToolSupport.HierarchyPath(observedOwner) } } }); }
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
#endif
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
namespace UnityCli.Cinemachine
|
|
3
|
+
{
|
|
4
|
+
public sealed class BrainStatusTool : IUnityCliTool<BrainStatusTool.Request, BrainStatusTool.Result>
|
|
5
|
+
{
|
|
6
|
+
public sealed class Request { public string Target { get; set; } }
|
|
7
|
+
public sealed class Result { public CinemachinePackageStatus Cinemachine { get; set; } public CinemachineBrainInfo Brain { get; set; } }
|
|
8
|
+
public ToolDescriptor Describe() => new() { Name = "cinemachine.brain.status", Summary = "Read CinemachineBrain status.", Description = "Reports the selected or current CinemachineBrain, active virtual camera, and blend state without modifying the scene.", Group = "cinemachine",RequiresPackages = new[] { "com.unity.cinemachine" }, SideEffects = new string[0], Target = "editor", PlayModeSupport = "supported", DefaultTimeoutMs = 30000, MaxTimeoutMs = 60000, Examples = new[] { new ToolExample { Description = "Read Main Camera brain state", Input = new Request { Target = "Main Camera" } } } };
|
|
9
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default) { CinemachineToolSupport.EnsureEditorReady("cinemachine.brain.status"); CinemachineToolSupport.EnsureCinemachineAvailable(); var brain = CinemachineToolSupport.RequireBrainComponent(CinemachineToolSupport.ResolveBrainOwner(request.Target)); return new(new Result { Cinemachine = CinemachineToolSupport.BuildPackageStatus(), Brain = CinemachineToolSupport.BuildBrainInfo(brain) }); }
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
#endif
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
using UnityEditor;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
namespace UnityCli.Cinemachine
|
|
7
|
+
{
|
|
8
|
+
/// <summary>
|
|
9
|
+
/// cinemachine.create — 创建虚拟相机,并按 preset 安装 Body/Aim 管线组件。
|
|
10
|
+
/// </summary>
|
|
11
|
+
public class CreateTool : IUnityCliTool<CreateTool.Request, CreateTool.Result>
|
|
12
|
+
{
|
|
13
|
+
public sealed class Request
|
|
14
|
+
{
|
|
15
|
+
public string Preset { get; set; }
|
|
16
|
+
public string Name { get; set; }
|
|
17
|
+
public string Parent { get; set; }
|
|
18
|
+
public string Follow { get; set; }
|
|
19
|
+
public string LookAt { get; set; }
|
|
20
|
+
public double? X { get; set; }
|
|
21
|
+
public double? Y { get; set; }
|
|
22
|
+
public double? Z { get; set; }
|
|
23
|
+
public int? Priority { get; set; }
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public sealed class Result
|
|
27
|
+
{
|
|
28
|
+
public CinemachinePackageStatus Cinemachine { get; set; }
|
|
29
|
+
public CinemachineObjectInfo Object { get; set; }
|
|
30
|
+
public List<CinemachinePlannedEffect> PlannedEffects { get; set; }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public ToolDescriptor Describe() => new()
|
|
34
|
+
{
|
|
35
|
+
Name = "cinemachine.create",
|
|
36
|
+
Summary = "Create a Cinemachine virtual camera with an optional preset that configures Body and Aim pipeline components.",
|
|
37
|
+
Description = "Create a Cinemachine virtual camera with an optional preset. preset supports follow, third_person, freelook, dolly, static, top_down, and side_scroller. The tool can also set parent, follow, lookAt, position, and priority during creation.",
|
|
38
|
+
Group = "cinemachine",
|
|
39
|
+
DestructiveHint = false,
|
|
40
|
+
RequiresPackages = new[] { "com.unity.cinemachine" },
|
|
41
|
+
SideEffects = new[] { "scene-modify", "undo-stack" },
|
|
42
|
+
Target = "editor",
|
|
43
|
+
PlayModeSupport = "session-affecting",
|
|
44
|
+
DefaultTimeoutMs = 30000,
|
|
45
|
+
MaxTimeoutMs = 600000,
|
|
46
|
+
Examples = new[]
|
|
47
|
+
{
|
|
48
|
+
new ToolExample { Description = "创建跟随相机", Input = new Request { Preset = "follow", Name = "MatrixCreatedCamera", Follow = "Player" } },
|
|
49
|
+
new ToolExample { Description = "创建 dolly 相机", Input = new Request { Preset = "dolly", Name = "DollyCam", LookAt = "Main Camera" } }
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/// <summary>先校验 preset,再创建并配置虚拟相机,保证非法输入不会留下场景对象。</summary>
|
|
54
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
|
|
55
|
+
{
|
|
56
|
+
CinemachineToolSupport.EnsureEditorReady("cinemachine.create");
|
|
57
|
+
CinemachineToolSupport.EnsureCinemachineAvailable();
|
|
58
|
+
|
|
59
|
+
request = request ?? new Request();
|
|
60
|
+
var preset = string.IsNullOrWhiteSpace(request.Preset) ? "follow" : request.Preset.Trim();
|
|
61
|
+
string[] presetParts;
|
|
62
|
+
if (!CinemachineToolSupport.Presets.TryGetValue(preset, out presetParts))
|
|
63
|
+
{
|
|
64
|
+
throw new UnityCliBridge.BridgeCommandException(
|
|
65
|
+
"E_CINEMACHINE_PRESET_INVALID",
|
|
66
|
+
"Unsupported Cinemachine preset: " + preset,
|
|
67
|
+
"Pass one of: follow, third_person, freelook, dolly, static, top_down, side_scroller.");
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
var cameraName = string.IsNullOrWhiteSpace(request.Name) ? "UnityCli_CM_" + preset : request.Name.Trim();
|
|
71
|
+
var parent = CinemachineToolSupport.ResolveOptionalTarget(request.Parent);
|
|
72
|
+
var follow = CinemachineToolSupport.ResolveOptionalTarget(request.Follow);
|
|
73
|
+
var lookAt = CinemachineToolSupport.ResolveOptionalTarget(request.LookAt);
|
|
74
|
+
if (request.X.HasValue) CinemachineToolSupport.RequireFinite(request.X.Value, "x");
|
|
75
|
+
if (request.Y.HasValue) CinemachineToolSupport.RequireFinite(request.Y.Value, "y");
|
|
76
|
+
if (request.Z.HasValue) CinemachineToolSupport.RequireFinite(request.Z.Value, "z");
|
|
77
|
+
var bodyType = string.IsNullOrWhiteSpace(presetParts[0]) ? null : CinemachineToolSupport.RequireComponentType(presetParts[0], "Body");
|
|
78
|
+
var aimType = string.IsNullOrWhiteSpace(presetParts[1]) ? null : CinemachineToolSupport.RequireComponentType(presetParts[1], "Aim");
|
|
79
|
+
if (bodyType != null) CinemachineToolSupport.RequirePipelineComponentStage(bodyType, "Body");
|
|
80
|
+
if (aimType != null) CinemachineToolSupport.RequirePipelineComponentStage(aimType, "Aim");
|
|
81
|
+
var followPlan = follow == null ? null : CinemachineToolSupport.PrepareFirstComponentObjectMember(CinemachineToolSupport.CameraType, follow.transform, "Follow", "m_Follow");
|
|
82
|
+
var lookAtPlan = lookAt == null ? null : CinemachineToolSupport.PrepareFirstComponentObjectMember(CinemachineToolSupport.CameraType, lookAt.transform, "LookAt", "m_LookAt");
|
|
83
|
+
if (request.Priority.HasValue) CinemachineToolSupport.RequirePriorityWritable(CinemachineToolSupport.CameraType);
|
|
84
|
+
ctx.CommitEffect();
|
|
85
|
+
var gameObject = new GameObject(cameraName);
|
|
86
|
+
var camera = gameObject.AddComponent(CinemachineToolSupport.CameraType);
|
|
87
|
+
UnityCliSceneMutation.RegisterCreatedObject(gameObject, "UnityCli Cinemachine Create");
|
|
88
|
+
|
|
89
|
+
if (parent != null) gameObject.transform.SetParent(parent.transform, false);
|
|
90
|
+
var expectedPosition = new Vector3((float)(request.X ?? 0d), (float)(request.Y ?? 0d), (float)(request.Z ?? 0d));
|
|
91
|
+
gameObject.transform.position = expectedPosition;
|
|
92
|
+
|
|
93
|
+
if (followPlan != null) CinemachineToolSupport.ApplyComponentMember(camera, followPlan);
|
|
94
|
+
if (lookAtPlan != null) CinemachineToolSupport.ApplyComponentMember(camera, lookAtPlan);
|
|
95
|
+
|
|
96
|
+
if (request.Priority.HasValue)
|
|
97
|
+
{
|
|
98
|
+
CinemachineToolSupport.SetPriority(camera, request.Priority.Value);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (!string.IsNullOrWhiteSpace(presetParts[0]))
|
|
102
|
+
{
|
|
103
|
+
CinemachineToolSupport.SwapPipelineComponent(gameObject, camera, "Body", bodyType);
|
|
104
|
+
}
|
|
105
|
+
if (!string.IsNullOrWhiteSpace(presetParts[1]))
|
|
106
|
+
{
|
|
107
|
+
CinemachineToolSupport.SwapPipelineComponent(gameObject, camera, "Aim", aimType);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// 从场景重新解析并读取组件,避免以刚写入的引用作为完成证明。
|
|
111
|
+
var observedObject = CinemachineToolSupport.ResolveRequiredTarget(gameObject.GetInstanceID().ToString(System.Globalization.CultureInfo.InvariantCulture), "Created Cinemachine camera could not be resolved.");
|
|
112
|
+
var observedCamera = CinemachineToolSupport.RequireCameraComponent(observedObject);
|
|
113
|
+
if (!string.Equals(observedObject.name, cameraName, System.StringComparison.Ordinal) || observedObject.transform.parent != (parent == null ? null : parent.transform) || (observedObject.transform.position - expectedPosition).sqrMagnitude > 0.0000001f) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_CREATE_VERIFY_FAILED", "Created camera identity, parent or position did not retain the request.", "Inspect the created object before retrying.");
|
|
114
|
+
if (followPlan != null) CinemachineToolSupport.VerifyComponentMember(observedCamera, followPlan, "E_CINEMACHINE_CREATE_VERIFY_FAILED");
|
|
115
|
+
if (lookAtPlan != null) CinemachineToolSupport.VerifyComponentMember(observedCamera, lookAtPlan, "E_CINEMACHINE_CREATE_VERIFY_FAILED");
|
|
116
|
+
if (bodyType != null && CinemachineToolSupport.GetPipelineComponent(observedCamera, "Body")?.GetType() != bodyType) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_CREATE_VERIFY_FAILED", "Created camera Body did not retain the preset.", "Check the preset and retry.");
|
|
117
|
+
if (aimType != null && CinemachineToolSupport.GetPipelineComponent(observedCamera, "Aim")?.GetType() != aimType) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_CREATE_VERIFY_FAILED", "Created camera Aim did not retain the preset.", "Check the preset and retry.");
|
|
118
|
+
if (request.Priority.HasValue)
|
|
119
|
+
{
|
|
120
|
+
using (var observedSerialized = new UnityEditor.SerializedObject(observedCamera))
|
|
121
|
+
{
|
|
122
|
+
var priorityRoot = observedSerialized.FindProperty("Priority") ?? observedSerialized.FindProperty("m_Priority");
|
|
123
|
+
var priorityValue = priorityRoot?.FindPropertyRelative("Value") ?? priorityRoot?.FindPropertyRelative("m_Value");
|
|
124
|
+
var directPriority = observedCamera.GetType().GetProperty("Priority", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
|
|
125
|
+
var actualPriority = priorityValue != null ? (int?)priorityValue.intValue : directPriority != null ? (int?)System.Convert.ToInt32(directPriority.GetValue(observedCamera, null)) : null;
|
|
126
|
+
if (!actualPriority.HasValue || actualPriority.Value != request.Priority.Value) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_CREATE_VERIFY_FAILED", "Created camera priority did not retain the request.", "Inspect the created object before retrying.");
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
CinemachineToolSupport.MarkDirty(observedObject);
|
|
130
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result
|
|
131
|
+
{
|
|
132
|
+
Cinemachine = CinemachineToolSupport.BuildPackageStatus(),
|
|
133
|
+
Object = CinemachineToolSupport.BuildObjectInfo(observedObject, preset),
|
|
134
|
+
PlannedEffects = new List<CinemachinePlannedEffect>
|
|
135
|
+
{
|
|
136
|
+
new CinemachinePlannedEffect
|
|
137
|
+
{
|
|
138
|
+
Type = "cinemachine.create",
|
|
139
|
+
Preset = preset,
|
|
140
|
+
Target = GameObjectToolSupport.HierarchyPath(observedObject)
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
#endif
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using UnityEditor;
|
|
3
|
+
namespace UnityCli.Cinemachine
|
|
4
|
+
{
|
|
5
|
+
public sealed class ExtensionAddTool : IUnityCliTool<ExtensionAddTool.Request, ExtensionAddTool.Result>
|
|
6
|
+
{
|
|
7
|
+
public sealed class Request { [UnityCliRequired] public string Target { get; set; } [UnityCliRequired] public string ExtensionType { get; set; } }
|
|
8
|
+
public sealed class Result { public bool Added { get; set; } }
|
|
9
|
+
public ToolDescriptor Describe() => new() { Name = "cinemachine.extension.add", Summary = "Add a CinemachineExtension component.", Description = "Adds one CinemachineExtension-derived component to a virtual camera, re-enumerates extensions to verify it exists, and marks the scene dirty without saving it.", Group = "cinemachine",RequiresPackages = new[] { "com.unity.cinemachine" }, SideEffects = new[] { "scene-modify", "undo-stack" }, Target = "editor", PlayModeSupport = "session-affecting", DefaultTimeoutMs = 30000, MaxTimeoutMs = 60000, Examples = new[] { new ToolExample { Description = "Add a collider extension", Input = new Request { Target = "PlayerCam", ExtensionType = "CinemachineCollider" } } } };
|
|
10
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default) { var target = CinemachineExtensionToolSupport.Target(request.Target, "cinemachine.extension.add"); var type = CinemachineExtensionToolSupport.Type(request.ExtensionType); if (target.GetComponent(type) != null) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_EXTENSION_EXISTS", "Extension already present: " + request.ExtensionType, "Use cinemachine.extension.remove before adding it again."); var targetId = target.GetInstanceID(); ctx.CommitEffect(); UnityCliSceneMutation.AddComponent(target, type); if (!CinemachineExtensionToolSupport.Contains(targetId, type, out var observedTarget)) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_EXTENSION_VERIFY_FAILED", "Extension was not present after adding: " + request.ExtensionType, "Check the target virtual camera and retry."); CinemachineToolSupport.MarkDirty(observedTarget); return new(new Result { Added = true }); }
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
#endif
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
namespace UnityCli.Cinemachine
|
|
4
|
+
{
|
|
5
|
+
public sealed class ExtensionListTool : IUnityCliTool<ExtensionListTool.Request, ExtensionListTool.Result>
|
|
6
|
+
{
|
|
7
|
+
public sealed class Request { [UnityCliRequired] public string Target { get; set; } }
|
|
8
|
+
public sealed class Result { public List<string> Extensions { get; set; } public long Count { get; set; } }
|
|
9
|
+
public ToolDescriptor Describe() => new() { Name = "cinemachine.extension.list", Summary = "List CinemachineExtension components.", Description = "Lists CinemachineExtension-derived components on a virtual camera without modifying the scene.", Group = "cinemachine",RequiresPackages = new[] { "com.unity.cinemachine" }, SideEffects = new string[0], Target = "editor", PlayModeSupport = "supported", DefaultTimeoutMs = 30000, MaxTimeoutMs = 60000, Examples = new[] { new ToolExample { Description = "List PlayerCam extensions", Input = new Request { Target = "PlayerCam" } } } };
|
|
10
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext context, System.Threading.CancellationToken ct = default) { var extensions = CinemachineExtensionToolSupport.List(CinemachineExtensionToolSupport.Target(request.Target, "cinemachine.extension.list")); return new(new Result { Extensions = extensions, Count = extensions.Count }); }
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
#endif
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using UnityEditor;
|
|
3
|
+
namespace UnityCli.Cinemachine
|
|
4
|
+
{
|
|
5
|
+
public sealed class ExtensionRemoveTool : IUnityCliTool<ExtensionRemoveTool.Request, ExtensionRemoveTool.Result>
|
|
6
|
+
{
|
|
7
|
+
public sealed class Request { [UnityCliRequired] public string Target { get; set; } [UnityCliRequired] public string ExtensionType { get; set; } }
|
|
8
|
+
public sealed class Result { public bool Removed { get; set; } }
|
|
9
|
+
public ToolDescriptor Describe() => new() { Name = "cinemachine.extension.remove", Summary = "Remove a CinemachineExtension component.", Description = "Removes one CinemachineExtension-derived component from scene memory, re-enumerates extensions to verify it is absent, records Undo, and marks the scene dirty without saving it.", Group = "cinemachine",RequiresPackages = new[] { "com.unity.cinemachine" }, SideEffects = new[] { "scene-modify", "undo-stack" }, Target = "editor", PlayModeSupport = "session-affecting", DefaultTimeoutMs = 30000, MaxTimeoutMs = 60000, Examples = new[] { new ToolExample { Description = "Remove a collider extension", Input = new Request { Target = "PlayerCam", ExtensionType = "CinemachineCollider" } } } };
|
|
10
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default) { var target = CinemachineExtensionToolSupport.Target(request.Target, "cinemachine.extension.remove"); var type = CinemachineExtensionToolSupport.Type(request.ExtensionType); var extension = target.GetComponent(type); if (extension == null) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_EXTENSION_NOT_FOUND", "Extension not found: " + request.ExtensionType, "Use cinemachine.extension.list to inspect installed extensions."); var targetId = target.GetInstanceID(); ctx.CommitEffect(); UnityCliSceneMutation.DestroyObject(extension); if (CinemachineExtensionToolSupport.Contains(targetId, type, out var observedTarget)) throw new UnityCliBridge.BridgeCommandException("E_CINEMACHINE_EXTENSION_VERIFY_FAILED", "Extension remained after removal: " + request.ExtensionType, "Check the target virtual camera and retry."); CinemachineToolSupport.MarkDirty(observedTarget); return new(new Result { Removed = true }); }
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
#endif
|