@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,127 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using UnityEditor;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
namespace UnityCli
|
|
8
|
+
{
|
|
9
|
+
/// <summary>
|
|
10
|
+
/// physics.force — 对目标 Rigidbody 施加力/扭矩/爆炸力。
|
|
11
|
+
/// </summary>
|
|
12
|
+
public class PhysicsForceTool : IUnityCliTool<PhysicsForceTool.Request, PhysicsForceTool.Result>
|
|
13
|
+
{
|
|
14
|
+
private enum ForceApplicationType { Normal, Explosion }
|
|
15
|
+
|
|
16
|
+
public sealed class Request
|
|
17
|
+
{
|
|
18
|
+
public string Target { get; set; }
|
|
19
|
+
public float X { get; set; }
|
|
20
|
+
public float Y { get; set; }
|
|
21
|
+
public float Z { get; set; }
|
|
22
|
+
public string Mode { get; set; }
|
|
23
|
+
public string ForceType { get; set; }
|
|
24
|
+
public float? TorqueX { get; set; }
|
|
25
|
+
public float TorqueY { get; set; }
|
|
26
|
+
public float TorqueZ { get; set; }
|
|
27
|
+
public float ExplosionX { get; set; }
|
|
28
|
+
public float ExplosionY { get; set; }
|
|
29
|
+
public float ExplosionZ { get; set; }
|
|
30
|
+
public float ExplosionRadius { get; set; } = 10f;
|
|
31
|
+
public float ExplosionForce { get; set; } = 500f;
|
|
32
|
+
public float UpwardsModifier { get; set; }
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public sealed class Result
|
|
36
|
+
{
|
|
37
|
+
public Vector3Data Force { get; set; }
|
|
38
|
+
public Vector3Data Velocity { get; set; }
|
|
39
|
+
public Vector3Data Position { get; set; }
|
|
40
|
+
public List<PhysicsPlannedEffect> PlannedEffects { get; set; }
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public ToolDescriptor Describe() => new()
|
|
44
|
+
{
|
|
45
|
+
Name = "physics.force",
|
|
46
|
+
Summary = "Apply force, torque, or explosion force to a target Rigidbody.",
|
|
47
|
+
Description = "Resolve a target GameObject with a Rigidbody, then apply force (x/y/z), torque, or explosion force (forceType=explosion). mode defaults to Force.",
|
|
48
|
+
Group = "physics",DestructiveHint = false, SideEffects = new[] { "scene-modify" },
|
|
49
|
+
Target = "editor", PlayModeSupport = "supported",
|
|
50
|
+
DefaultTimeoutMs = 30000, MaxTimeoutMs = 600000,
|
|
51
|
+
Examples = new[] { new ToolExample { Description = "Apply upward force", Input = new Request { Target = "Player", Y = 100f } } }
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
|
|
55
|
+
{
|
|
56
|
+
var target = GameObjectToolSupport.ResolveUniqueTarget(request.Target, "physics.force requires --target.");
|
|
57
|
+
var rigidbody = target.GetComponent<Rigidbody>();
|
|
58
|
+
if (rigidbody == null)
|
|
59
|
+
throw new UnityCliBridge.BridgeCommandException("E_RIGIDBODY_NOT_FOUND", "Target has no Rigidbody: " + target.name, "Run physics.rigidbody to add/configure a Rigidbody first.");
|
|
60
|
+
var force = new Vector3(request.X, request.Y, request.Z);
|
|
61
|
+
var torque = new Vector3(request.TorqueX.GetValueOrDefault(), request.TorqueY, request.TorqueZ);
|
|
62
|
+
var explosionPosition = new Vector3(request.ExplosionX, request.ExplosionY, request.ExplosionZ);
|
|
63
|
+
ValidateFinite(force, "force");
|
|
64
|
+
ValidateFinite(torque, "torque");
|
|
65
|
+
ValidateFinite(explosionPosition, "explosion position");
|
|
66
|
+
ValidateFinite(request.ExplosionRadius, "explosionRadius");
|
|
67
|
+
ValidateFinite(request.ExplosionForce, "explosionForce");
|
|
68
|
+
ValidateFinite(request.UpwardsModifier, "upwardsModifier");
|
|
69
|
+
if (request.ExplosionRadius < 0f)
|
|
70
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_FORCE_VALUE_INVALID", "explosionRadius must be non-negative.", "Pass an explosionRadius of zero or greater.");
|
|
71
|
+
ForceMode mode;
|
|
72
|
+
if (!Enum.TryParse(request.Mode ?? ForceMode.Force.ToString(), true, out mode) || !Enum.IsDefined(typeof(ForceMode), mode))
|
|
73
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_FORCE_MODE_INVALID", "mode must be a declared ForceMode value.", "Use Force, Acceleration, Impulse, or VelocityChange.");
|
|
74
|
+
ForceApplicationType forceType;
|
|
75
|
+
if (!Enum.TryParse(request.ForceType ?? ForceApplicationType.Normal.ToString(), true, out forceType) || !Enum.IsDefined(typeof(ForceApplicationType), forceType))
|
|
76
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_FORCE_TYPE_INVALID", "forceType must be normal or explosion.", "Pass forceType=normal or forceType=explosion.");
|
|
77
|
+
if (rigidbody.isKinematic)
|
|
78
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_FORCE_KINEMATIC", "Cannot prove force on a kinematic Rigidbody.", "Set isKinematic=false with physics.rigidbody before applying force.");
|
|
79
|
+
var requestedNonZero = forceType == ForceApplicationType.Explosion
|
|
80
|
+
? request.ExplosionForce != 0f || (request.TorqueX.HasValue && torque.sqrMagnitude > 0f)
|
|
81
|
+
: force.sqrMagnitude > 0f || (request.TorqueX.HasValue && torque.sqrMagnitude > 0f);
|
|
82
|
+
if (!requestedNonZero)
|
|
83
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_FORCE_VALUE_INVALID", "physics.force requires a non-zero force, explosion force, or torque.", "Pass at least one non-zero force component.");
|
|
84
|
+
var targetId = target.GetInstanceID();
|
|
85
|
+
var rigidbodyId = rigidbody.GetInstanceID();
|
|
86
|
+
ctx.CommitEffect();
|
|
87
|
+
// AddForce 的速度积分发生在后续 physics step;先强制 sleep,再以同步 wake 状态证明 API 已接受非零请求。
|
|
88
|
+
rigidbody.Sleep();
|
|
89
|
+
if (!rigidbody.IsSleeping())
|
|
90
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_FORCE_STATE_UNPROVABLE", "Rigidbody did not enter the proof sleep state before applying force.", "Inspect the target Rigidbody and retry after the Editor is idle.");
|
|
91
|
+
if (forceType == ForceApplicationType.Explosion)
|
|
92
|
+
rigidbody.AddExplosionForce(request.ExplosionForce, explosionPosition, request.ExplosionRadius, request.UpwardsModifier, mode);
|
|
93
|
+
else rigidbody.AddForce(force, mode);
|
|
94
|
+
if (request.TorqueX.HasValue) rigidbody.AddTorque(torque, mode);
|
|
95
|
+
UnityCliSceneMutation.MarkSceneDirty(target.scene);
|
|
96
|
+
var observedTarget = EditorUtility.InstanceIDToObject(targetId) as GameObject;
|
|
97
|
+
Rigidbody observedRigidbody = null;
|
|
98
|
+
if (observedTarget != null)
|
|
99
|
+
foreach (var candidate in observedTarget.GetComponents<Rigidbody>())
|
|
100
|
+
if (candidate != null && candidate.GetInstanceID() == rigidbodyId) { observedRigidbody = candidate; break; }
|
|
101
|
+
if (observedRigidbody == null)
|
|
102
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_FORCE_STATE_UNPROVABLE", "Rigidbody could not be freshly resolved after applying force.", "Inspect the target Rigidbody and retry after the Editor is idle.");
|
|
103
|
+
var observedVelocity = observedRigidbody.velocity;
|
|
104
|
+
var observedPosition = observedRigidbody.position;
|
|
105
|
+
if (observedRigidbody.IsSleeping())
|
|
106
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_FORCE_STATE_UNPROVABLE", "The non-zero force request did not wake the freshly resolved Rigidbody.", "Inspect the target Rigidbody before submitting a new force request.");
|
|
107
|
+
target = observedTarget;
|
|
108
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result
|
|
109
|
+
{
|
|
110
|
+
Force = new Vector3Data(force), Velocity = new Vector3Data(observedVelocity), Position = new Vector3Data(observedPosition),
|
|
111
|
+
PlannedEffects = new List<PhysicsPlannedEffect> { new PhysicsPlannedEffect { Type = "physics.force", Target = GameObjectToolSupport.HierarchyPath(target) } }
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
private static void ValidateFinite(Vector3 value, string name)
|
|
116
|
+
{
|
|
117
|
+
ValidateFinite(value.x, name + ".x"); ValidateFinite(value.y, name + ".y"); ValidateFinite(value.z, name + ".z");
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
private static void ValidateFinite(float value, string name)
|
|
121
|
+
{
|
|
122
|
+
if (float.IsNaN(value) || float.IsInfinity(value))
|
|
123
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_FORCE_VALUE_INVALID", name + " must be finite.", "Pass a finite float value.");
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
#endif
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Threading;
|
|
3
|
+
using System.Threading.Tasks;
|
|
4
|
+
using UnityEditor;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
namespace UnityCli
|
|
8
|
+
{
|
|
9
|
+
public class PhysicsJointAddTool : IUnityCliTool<PhysicsJointAddTool.Request, PhysicsJointResult>
|
|
10
|
+
{
|
|
11
|
+
public sealed class Request
|
|
12
|
+
{
|
|
13
|
+
[UnityCliRequired] public string Target { get; set; }
|
|
14
|
+
public string Type { get; set; }
|
|
15
|
+
public string ConnectedBody { get; set; }
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// 返回单一动作的公开 descriptor。
|
|
19
|
+
public ToolDescriptor Describe() => new()
|
|
20
|
+
{
|
|
21
|
+
Name = "physics.joint.add",
|
|
22
|
+
Summary = "Add or configure a Joint component on a scene GameObject.",
|
|
23
|
+
Description = "Adds the requested Joint type to target, or configures its existing first component with connectedBody. This changes scene memory only, supports dryRun=true, and is available in Edit and Play mode.",
|
|
24
|
+
Group = "physics",
|
|
25
|
+
SupportsDryRun = true,
|
|
26
|
+
SideEffects = new[] { "scene-modify" },
|
|
27
|
+
Target = "editor",
|
|
28
|
+
PlayModeSupport = "supported",
|
|
29
|
+
DefaultTimeoutMs = 30000,
|
|
30
|
+
MaxTimeoutMs = 600000,
|
|
31
|
+
Examples = new[]
|
|
32
|
+
{
|
|
33
|
+
new ToolExample { Description = "Add fixed joint", Input = new Request { Target = "Player", Type = "FixedJoint" } },
|
|
34
|
+
new ToolExample { Description = "Connect fixed joint", Input = new Request { Target = "Player", Type = "FixedJoint", ConnectedBody = "Enemy" } }
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/// <summary>添加或配置 Joint;添加后重新解析组件,避免 Undo 返回的临时引用失效。</summary>
|
|
39
|
+
public ValueTask<PhysicsJointResult> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, CancellationToken ct = default)
|
|
40
|
+
{
|
|
41
|
+
var resolved = PhysicsJointToolSupport.Resolve(request.Target, request.Type, "physics.joint.add");
|
|
42
|
+
var target = resolved.Item1;
|
|
43
|
+
var targetId = target.GetInstanceID();
|
|
44
|
+
var type = resolved.Item2;
|
|
45
|
+
var existing = target.GetComponent(type) as Joint;
|
|
46
|
+
Rigidbody connectedBody = null;
|
|
47
|
+
var connectedBodyId = 0;
|
|
48
|
+
if (!string.IsNullOrEmpty(request.ConnectedBody))
|
|
49
|
+
{
|
|
50
|
+
var connectedTarget = GameObjectToolSupport.ResolveUniqueTarget(request.ConnectedBody, "Connected body target not found.");
|
|
51
|
+
connectedBody = connectedTarget.GetComponent<Rigidbody>();
|
|
52
|
+
if (connectedBody == null)
|
|
53
|
+
throw new UnityCliBridge.BridgeCommandException("E_RIGIDBODY_NOT_FOUND", "Connected body target has no Rigidbody: " + connectedTarget.name, "Add a Rigidbody to the connected body before adding this joint.");
|
|
54
|
+
connectedBodyId = connectedBody.GetInstanceID();
|
|
55
|
+
}
|
|
56
|
+
if (ctx.DryRun)
|
|
57
|
+
{
|
|
58
|
+
return new ValueTask<PhysicsJointResult>(new PhysicsJointResult
|
|
59
|
+
{
|
|
60
|
+
DryRun = true,
|
|
61
|
+
Exists = existing != null,
|
|
62
|
+
PlannedEffects = PhysicsJointToolSupport.Effects("physics.joint.add", existing == null ? "add" : "configure", type.Name)
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
ct.ThrowIfCancellationRequested();
|
|
67
|
+
ctx.CommitEffect();
|
|
68
|
+
if (existing == null) UnityCliSceneMutation.AddComponent(target, type);
|
|
69
|
+
var joint = target.GetComponent(type) as Joint;
|
|
70
|
+
if (joint == null)
|
|
71
|
+
{
|
|
72
|
+
throw new UnityCliBridge.BridgeCommandException(
|
|
73
|
+
"E_PHYSICS_JOINT_ADD_FAILED",
|
|
74
|
+
"Unity did not attach the requested Joint component: " + type.Name,
|
|
75
|
+
"Confirm the requested joint type is compatible with the target GameObject and retry.");
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (connectedBody != null)
|
|
79
|
+
{
|
|
80
|
+
joint.connectedBody = connectedBody;
|
|
81
|
+
if (joint.connectedBody != connectedBody)
|
|
82
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_JOINT_ADD_STATE_MISMATCH", "Joint connectedBody did not match the requested Rigidbody.", "Inspect the Joint component and retry after the Editor is idle.");
|
|
83
|
+
}
|
|
84
|
+
UnityCliSceneMutation.MarkSceneDirty(target.scene);
|
|
85
|
+
// proof 必须从 instance ID 重解析目标、Joint 及 connectedBody,不能复用写前引用。
|
|
86
|
+
var observedTarget = EditorUtility.InstanceIDToObject(targetId) as GameObject;
|
|
87
|
+
var observedJoint = observedTarget == null ? null : observedTarget.GetComponent(type) as Joint;
|
|
88
|
+
var observedConnectedBody = connectedBodyId == 0 ? null : EditorUtility.InstanceIDToObject(connectedBodyId) as Rigidbody;
|
|
89
|
+
if (observedJoint == null || (connectedBodyId != 0 && (observedConnectedBody == null || observedJoint.connectedBody != observedConnectedBody)))
|
|
90
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_JOINT_ADD_STATE_MISMATCH", "Requested Joint component state was not present after mutation.", "Inspect the target GameObject and retry.");
|
|
91
|
+
return new ValueTask<PhysicsJointResult>(new PhysicsJointResult
|
|
92
|
+
{
|
|
93
|
+
Exists = true,
|
|
94
|
+
PlannedEffects = PhysicsJointToolSupport.Effects("physics.joint.add", existing == null ? "add" : "configure", type.Name)
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
#endif
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Linq; using UnityEditor; using UnityEngine;
|
|
3
|
+
namespace UnityCli { public class PhysicsJointRemoveTool : IUnityCliTool<PhysicsJointRemoveTool.Request, PhysicsJointResult> { public sealed class Request { [UnityCliRequired] public string Target { get; set; } public string Type { get; set; } public int? ComponentIndex { get; set; } } public ToolDescriptor Describe() => new() { Name = "physics.joint.remove", Summary = "Remove Joint components from a scene GameObject.", Description = "Removes all matching Joint components from target, or one selected by componentIndex. This changes scene memory only, supports dryRun=true, and is available in Edit and Play mode.", Group = "physics",SupportsDryRun = true, SideEffects = new[] { "scene-modify" }, Target = "editor", PlayModeSupport = "supported", DefaultTimeoutMs = 30000, MaxTimeoutMs = 600000, Examples = new[] { new ToolExample { Description = "Preview fixed joint removal", Input = new Request { Target = "Player", Type = "FixedJoint", ComponentIndex = 0 }, Execution = new ToolExampleExecution { DryRun = true } }, new ToolExample { Description = "Remove fixed joint", Input = new Request { Target = "Player", Type = "FixedJoint", ComponentIndex = 0 } } } }; public System.Threading.Tasks.ValueTask<PhysicsJointResult> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default) { var (target, type) = PhysicsJointToolSupport.Resolve(request.Target, request.Type, "physics.joint.remove"); var joints = target.GetComponents(type).Cast<Joint>().ToArray(); if (joints.Length == 0) throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_JOINT_NOT_FOUND", "No matching Joint component found on target: " + type.Name, "Check target and type, or add one with physics.joint.add."); var index = request.ComponentIndex ?? -1; if (index < -1 || index >= joints.Length) throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_JOINT_INDEX_INVALID", "componentIndex is outside the matching Joint component range.", "Pass a componentIndex from 0 to " + (joints.Length - 1) + "."); var targetId = target.GetInstanceID(); var requestedJointIds = (index >= 0 ? new[] { joints[index] } : joints).Select(joint => joint.GetInstanceID()).ToArray(); if (!ctx.DryRun) { ctx.CommitEffect(); foreach (var joint in index >= 0 ? new[] { joints[index] } : joints) UnityCliSceneMutation.DestroyObject(joint); UnityCliSceneMutation.MarkSceneDirty(target.scene); var observedTarget = EditorUtility.InstanceIDToObject(targetId) as GameObject; var remainingIds = observedTarget == null ? new int[0] : observedTarget.GetComponents(type).Cast<Joint>().Select(joint => joint.GetInstanceID()).ToArray(); if (observedTarget == null || requestedJointIds.Any(id => remainingIds.Contains(id))) throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_JOINT_REMOVE_STATE_MISMATCH", "A requested Joint component still exists after removal.", "Inspect the target Joint components and retry after the Editor is idle."); target = observedTarget; } return new(new PhysicsJointResult { DryRun = ctx.DryRun, Removed = requestedJointIds.Length, PlannedEffects = PhysicsJointToolSupport.Effects("physics.joint.remove", "remove", type.Name) }); } } }
|
|
4
|
+
#endif
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
namespace UnityCli
|
|
7
|
+
{
|
|
8
|
+
/// <summary>
|
|
9
|
+
/// physics.linecast — 检测两点间是否有碰撞。
|
|
10
|
+
/// </summary>
|
|
11
|
+
public class PhysicsLinecastTool : IUnityCliTool<PhysicsLinecastTool.Request, PhysicsLinecastTool.Result>
|
|
12
|
+
{
|
|
13
|
+
public sealed class Request
|
|
14
|
+
{
|
|
15
|
+
public string Mode { get; set; }
|
|
16
|
+
public float StartX { get; set; }
|
|
17
|
+
public float StartY { get; set; }
|
|
18
|
+
public float StartZ { get; set; }
|
|
19
|
+
public float EndX { get; set; }
|
|
20
|
+
public float EndY { get; set; }
|
|
21
|
+
public float EndZ { get; set; }
|
|
22
|
+
public int? LayerMask { get; set; }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
public sealed class Result
|
|
26
|
+
{
|
|
27
|
+
public bool Hit { get; set; }
|
|
28
|
+
public RaycastHitInfo HitInfo { get; set; }
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public ToolDescriptor Describe() => new()
|
|
32
|
+
{
|
|
33
|
+
Name = "physics.linecast",
|
|
34
|
+
Summary = "Check if a 3D or 2D line segment between two points is blocked by a collider.",
|
|
35
|
+
Description = "Cast a line from start to end and report whether any collider blocks the path. mode=3d (default) or 2d.",
|
|
36
|
+
Group = "physics",DestructiveHint = false,
|
|
37
|
+
Target = "editor", PlayModeSupport = "supported",
|
|
38
|
+
DefaultTimeoutMs = 30000, MaxTimeoutMs = 600000,
|
|
39
|
+
Examples = new[] { new ToolExample { Description = "Linecast between two points", Input = new Request { StartX = 0, EndX = 10 } } }
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
|
|
43
|
+
{
|
|
44
|
+
var mode = PhysicsToolSupport.NormalizeMode(request.Mode);
|
|
45
|
+
var layerMask = request.LayerMask ?? Physics.DefaultRaycastLayers;
|
|
46
|
+
var start = new Vector3(request.StartX, request.StartY, request.StartZ);
|
|
47
|
+
var end = new Vector3(request.EndX, request.EndY, request.EndZ);
|
|
48
|
+
if (mode == "2d")
|
|
49
|
+
{
|
|
50
|
+
var hit = Physics2D.Linecast(new Vector2(start.x, start.y), new Vector2(end.x, end.y), layerMask);
|
|
51
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result { Hit = hit.collider != null });
|
|
52
|
+
}
|
|
53
|
+
RaycastHit hit3d;
|
|
54
|
+
var found = Physics.Linecast(start, end, out hit3d, layerMask);
|
|
55
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result { Hit = found, HitInfo = found ? PhysicsToolSupport.BuildRaycast3DHit(hit3d) : null });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
#endif
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
using System.IO;
|
|
4
|
+
using UnityEditor;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
namespace UnityCli
|
|
8
|
+
{
|
|
9
|
+
/// <summary>
|
|
10
|
+
/// physics.material — 创建/修改 PhysicMaterial 资产(.physicMaterial/.asset)。
|
|
11
|
+
/// </summary>
|
|
12
|
+
public class PhysicsMaterialTool : IUnityCliTool<PhysicsMaterialTool.Request, PhysicsMaterialTool.Result>
|
|
13
|
+
{
|
|
14
|
+
public sealed class Request
|
|
15
|
+
{
|
|
16
|
+
public string Path { get; set; }
|
|
17
|
+
public float? DynamicFriction { get; set; }
|
|
18
|
+
public float? StaticFriction { get; set; }
|
|
19
|
+
public float? Bounciness { get; set; }
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public sealed class Result
|
|
23
|
+
{
|
|
24
|
+
public PhysicMaterialInfo Material { get; set; }
|
|
25
|
+
public List<PhysicsPlannedEffect> PlannedEffects { get; set; }
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public ToolDescriptor Describe() => new()
|
|
29
|
+
{
|
|
30
|
+
Name = "physics.material",
|
|
31
|
+
Summary = "Create or update a PhysicMaterial asset at an Assets/*.physicMaterial path.",
|
|
32
|
+
Description = "Create a new PhysicMaterial asset or update an existing one. Path must be under Assets/ and end with .physicMaterial or .asset. Supports dynamicFriction, staticFriction, bounciness.",
|
|
33
|
+
Group = "physics",DestructiveHint = true, SideEffects = new[] { "asset-write" },
|
|
34
|
+
Target = "editor", PlayModeSupport = "editor-only",
|
|
35
|
+
DefaultTimeoutMs = 30000, MaxTimeoutMs = 600000,
|
|
36
|
+
Examples = new[] { new ToolExample { Description = "Create bouncy material", Input = new Request { Path = "Assets/Physics/Bouncy.physicMaterial", Bounciness = 0.8f } } }
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
|
|
40
|
+
{
|
|
41
|
+
var path = SceneToolSupport.NormalizeAssetPath(request.Path);
|
|
42
|
+
if (string.IsNullOrEmpty(path) || !path.StartsWith("Assets/", System.StringComparison.OrdinalIgnoreCase) || (!path.EndsWith(".physicMaterial", System.StringComparison.OrdinalIgnoreCase) && !path.EndsWith(".asset", System.StringComparison.OrdinalIgnoreCase)))
|
|
43
|
+
{
|
|
44
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_MATERIAL_PATH_INVALID", "Physics material path must be under Assets/ and end with .physicMaterial or .asset.", "Pass Assets/Physics/Bouncy.physicMaterial.");
|
|
45
|
+
}
|
|
46
|
+
var material = AssetDatabase.LoadAssetAtPath<PhysicMaterial>(path);
|
|
47
|
+
ctx.CommitEffect();
|
|
48
|
+
if (material == null)
|
|
49
|
+
{
|
|
50
|
+
SceneToolSupport.CreateAssetDirectory(path);
|
|
51
|
+
material = new PhysicMaterial(Path.GetFileNameWithoutExtension(path));
|
|
52
|
+
AssetDatabase.CreateAsset(material, path);
|
|
53
|
+
}
|
|
54
|
+
if (request.DynamicFriction.HasValue) material.dynamicFriction = request.DynamicFriction.Value;
|
|
55
|
+
if (request.StaticFriction.HasValue) material.staticFriction = request.StaticFriction.Value;
|
|
56
|
+
if (request.Bounciness.HasValue) material.bounciness = request.Bounciness.Value;
|
|
57
|
+
EditorUtility.SetDirty(material);
|
|
58
|
+
AssetDatabase.SaveAssets();
|
|
59
|
+
var observedMaterial = AssetDatabase.LoadAssetAtPath<PhysicMaterial>(path);
|
|
60
|
+
if (observedMaterial == null ||
|
|
61
|
+
(request.DynamicFriction.HasValue && !Mathf.Approximately(observedMaterial.dynamicFriction, request.DynamicFriction.Value)) ||
|
|
62
|
+
(request.StaticFriction.HasValue && !Mathf.Approximately(observedMaterial.staticFriction, request.StaticFriction.Value)) ||
|
|
63
|
+
(request.Bounciness.HasValue && !Mathf.Approximately(observedMaterial.bounciness, request.Bounciness.Value)))
|
|
64
|
+
throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_MATERIAL_STATE_MISMATCH", "PhysicMaterial asset readback did not match the requested values.", "Inspect the asset and retry after Unity finishes importing.");
|
|
65
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result
|
|
66
|
+
{
|
|
67
|
+
Material = new PhysicMaterialInfo { Path = path, Name = observedMaterial.name, DynamicFriction = observedMaterial.dynamicFriction, StaticFriction = observedMaterial.staticFriction, Bounciness = observedMaterial.bounciness },
|
|
68
|
+
PlannedEffects = new List<PhysicsPlannedEffect> { new PhysicsPlannedEffect { Type = "physics.material", Property = "path", Value = path } }
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
#endif
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
namespace UnityCli
|
|
7
|
+
{
|
|
8
|
+
/// <summary>
|
|
9
|
+
/// physics.overlap — 球体/盒子重叠查询(3D/2D)。
|
|
10
|
+
/// </summary>
|
|
11
|
+
public class PhysicsOverlapTool : IUnityCliTool<PhysicsOverlapTool.Request, PhysicsOverlapTool.Result>
|
|
12
|
+
{
|
|
13
|
+
public sealed class Request
|
|
14
|
+
{
|
|
15
|
+
public string Mode { get; set; }
|
|
16
|
+
public string Shape { get; set; }
|
|
17
|
+
public float OriginX { get; set; }
|
|
18
|
+
public float OriginY { get; set; }
|
|
19
|
+
public float OriginZ { get; set; }
|
|
20
|
+
public float Radius { get; set; } = 1f;
|
|
21
|
+
public float SizeX { get; set; } = 1f;
|
|
22
|
+
public float SizeY { get; set; } = 1f;
|
|
23
|
+
public float SizeZ { get; set; } = 1f;
|
|
24
|
+
public float Angle { get; set; }
|
|
25
|
+
public int? LayerMask { get; set; }
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public sealed class Result
|
|
29
|
+
{
|
|
30
|
+
public Vector3Data Origin { get; set; }
|
|
31
|
+
public long HitCount { get; set; }
|
|
32
|
+
public List<ColliderRef> Hits { get; set; }
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public ToolDescriptor Describe() => new()
|
|
36
|
+
{
|
|
37
|
+
Name = "physics.overlap",
|
|
38
|
+
Summary = "Find colliders overlapping a sphere or box volume in 3D or 2D.",
|
|
39
|
+
Description = "Overlap query: sphere (default) or box. mode=3d (default) or 2d. 2D supports circle (default) and box shapes.",
|
|
40
|
+
Group = "physics",DestructiveHint = false,
|
|
41
|
+
Target = "editor", PlayModeSupport = "supported",
|
|
42
|
+
DefaultTimeoutMs = 30000, MaxTimeoutMs = 600000,
|
|
43
|
+
Examples = new[] { new ToolExample { Description = "Overlap sphere at origin", Input = new Request { Radius = 5f } } }
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
|
|
47
|
+
{
|
|
48
|
+
var mode = PhysicsToolSupport.NormalizeMode(request.Mode);
|
|
49
|
+
var origin = new Vector3(request.OriginX, request.OriginY, request.OriginZ);
|
|
50
|
+
var layerMask = request.LayerMask ?? Physics.DefaultRaycastLayers;
|
|
51
|
+
if (mode == "2d")
|
|
52
|
+
{
|
|
53
|
+
var origin2d = new Vector2(origin.x, origin.y);
|
|
54
|
+
Collider2D[] colliders2d;
|
|
55
|
+
if (string.Equals(request.Shape, "box", StringComparison.OrdinalIgnoreCase))
|
|
56
|
+
{
|
|
57
|
+
var size = new Vector2(request.SizeX, request.SizeY);
|
|
58
|
+
colliders2d = Physics2D.OverlapBoxAll(origin2d, size, request.Angle, layerMask);
|
|
59
|
+
}
|
|
60
|
+
else
|
|
61
|
+
{
|
|
62
|
+
colliders2d = Physics2D.OverlapCircleAll(origin2d, Math.Max(0.0001f, request.Radius), layerMask);
|
|
63
|
+
}
|
|
64
|
+
var hits = new List<ColliderRef>();
|
|
65
|
+
foreach (var c in colliders2d) hits.Add(PhysicsToolSupport.BuildColliderRef(c.gameObject, c.GetType().Name));
|
|
66
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result { Origin = new Vector3Data(new Vector3(origin2d.x, origin2d.y, 0)), HitCount = colliders2d.Length, Hits = hits });
|
|
67
|
+
}
|
|
68
|
+
Collider[] colliders;
|
|
69
|
+
if (string.Equals(request.Shape, "box", StringComparison.OrdinalIgnoreCase))
|
|
70
|
+
{
|
|
71
|
+
var halfExtents = new Vector3(request.SizeX, request.SizeY, request.SizeZ) * 0.5f;
|
|
72
|
+
colliders = Physics.OverlapBox(origin, halfExtents, Quaternion.identity, layerMask);
|
|
73
|
+
}
|
|
74
|
+
else
|
|
75
|
+
{
|
|
76
|
+
colliders = Physics.OverlapSphere(origin, Math.Max(0.0001f, request.Radius), layerMask);
|
|
77
|
+
}
|
|
78
|
+
var hits3d = new List<ColliderRef>();
|
|
79
|
+
foreach (var c in colliders) hits3d.Add(PhysicsToolSupport.BuildColliderRef(c.gameObject, c.GetType().Name));
|
|
80
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result { Origin = new Vector3Data(origin), HitCount = colliders.Length, Hits = hits3d });
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
#endif
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
namespace UnityCli
|
|
7
|
+
{
|
|
8
|
+
/// <summary>
|
|
9
|
+
/// physics.raycast-all — 3D/2D 射线查询,返回所有命中。
|
|
10
|
+
/// </summary>
|
|
11
|
+
public class PhysicsRaycastAllTool : IUnityCliTool<PhysicsRaycastAllTool.Request, PhysicsRaycastAllTool.Result>
|
|
12
|
+
{
|
|
13
|
+
public sealed class Request
|
|
14
|
+
{
|
|
15
|
+
public string Mode { get; set; }
|
|
16
|
+
public float OriginX { get; set; }
|
|
17
|
+
public float OriginY { get; set; }
|
|
18
|
+
public float OriginZ { get; set; }
|
|
19
|
+
public float DirectionX { get; set; }
|
|
20
|
+
public float DirectionY { get; set; }
|
|
21
|
+
public float DirectionZ { get; set; } = 1f;
|
|
22
|
+
public float Distance { get; set; } = 100f;
|
|
23
|
+
public int? LayerMask { get; set; }
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public sealed class Result
|
|
27
|
+
{
|
|
28
|
+
public long HitCount { get; set; }
|
|
29
|
+
public List<RaycastHitInfo> Hits { get; set; }
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
public ToolDescriptor Describe() => new()
|
|
33
|
+
{
|
|
34
|
+
Name = "physics.raycast-all",
|
|
35
|
+
Summary = "Cast a 3D or 2D ray and return all hits along the path.",
|
|
36
|
+
Description = "Cast a ray and return all collider hits, sorted by distance (3D). mode=3d (default) or 2d.",
|
|
37
|
+
Group = "physics",DestructiveHint = false,
|
|
38
|
+
Target = "editor", PlayModeSupport = "supported",
|
|
39
|
+
DefaultTimeoutMs = 30000, MaxTimeoutMs = 600000,
|
|
40
|
+
Examples = new[] { new ToolExample { Description = "All hits forward", Input = new Request { OriginY = 1f, DirectionZ = 1f } } }
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
|
|
44
|
+
{
|
|
45
|
+
var mode = PhysicsToolSupport.NormalizeMode(request.Mode);
|
|
46
|
+
var distance = Math.Max(0f, request.Distance);
|
|
47
|
+
var layerMask = request.LayerMask ?? Physics.DefaultRaycastLayers;
|
|
48
|
+
if (mode == "2d")
|
|
49
|
+
{
|
|
50
|
+
var origin = new Vector2(request.OriginX, request.OriginY);
|
|
51
|
+
var direction = PhysicsToolSupport.NormalizeVector2(new Vector2(request.DirectionX, request.DirectionY));
|
|
52
|
+
var hits = Physics2D.RaycastAll(origin, direction, distance, layerMask);
|
|
53
|
+
var hitList = new List<RaycastHitInfo>();
|
|
54
|
+
foreach (var h in hits) hitList.Add(PhysicsToolSupport.BuildRaycast2DHit(h));
|
|
55
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result { HitCount = hits.Length, Hits = hitList });
|
|
56
|
+
}
|
|
57
|
+
var origin3d = new Vector3(request.OriginX, request.OriginY, request.OriginZ);
|
|
58
|
+
var direction3d = PhysicsToolSupport.NormalizeVector3(new Vector3(request.DirectionX, request.DirectionY, request.DirectionZ));
|
|
59
|
+
var hits3d = Physics.RaycastAll(origin3d, direction3d, distance, layerMask);
|
|
60
|
+
Array.Sort(hits3d, (a, b) => a.distance.CompareTo(b.distance));
|
|
61
|
+
var list = new List<RaycastHitInfo>();
|
|
62
|
+
foreach (var h in hits3d) list.Add(PhysicsToolSupport.BuildRaycast3DHit(h));
|
|
63
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result { HitCount = hits3d.Length, Hits = list });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
#endif
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
namespace UnityCli
|
|
7
|
+
{
|
|
8
|
+
/// <summary>
|
|
9
|
+
/// physics.raycast — 3D/2D 射线查询,返回首个命中或全部命中。
|
|
10
|
+
/// </summary>
|
|
11
|
+
public class PhysicsRaycastTool : IUnityCliTool<PhysicsRaycastTool.Request, PhysicsRaycastTool.Result>
|
|
12
|
+
{
|
|
13
|
+
public sealed class Request
|
|
14
|
+
{
|
|
15
|
+
public string Mode { get; set; }
|
|
16
|
+
public float OriginX { get; set; }
|
|
17
|
+
public float OriginY { get; set; }
|
|
18
|
+
public float OriginZ { get; set; }
|
|
19
|
+
public float DirectionX { get; set; }
|
|
20
|
+
public float DirectionY { get; set; }
|
|
21
|
+
public float DirectionZ { get; set; } = 1f;
|
|
22
|
+
public float Distance { get; set; } = 100f;
|
|
23
|
+
public int? LayerMask { get; set; }
|
|
24
|
+
public bool All { get; set; }
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public sealed class Result
|
|
28
|
+
{
|
|
29
|
+
public RaycastQuery Query { get; set; }
|
|
30
|
+
public bool Hit { get; set; }
|
|
31
|
+
public long HitCount { get; set; }
|
|
32
|
+
public List<RaycastHitInfo> Hits { get; set; }
|
|
33
|
+
public List<string> NextActions { get; set; }
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public ToolDescriptor Describe() => new()
|
|
37
|
+
{
|
|
38
|
+
Name = "physics.raycast",
|
|
39
|
+
Summary = "Cast a 3D or 2D ray and return the first hit, or all hits with all=true.",
|
|
40
|
+
Description = "Cast a ray from origin along direction up to distance. mode=3d (default) or 2d. all=true returns all hits sorted by distance. layerMask defaults to DefaultRaycastLayers.",
|
|
41
|
+
Group = "physics",DestructiveHint = false,
|
|
42
|
+
Target = "editor", PlayModeSupport = "supported",
|
|
43
|
+
DefaultTimeoutMs = 30000, MaxTimeoutMs = 600000,
|
|
44
|
+
Examples = new[] { new ToolExample { Description = "3D raycast forward", Input = new Request { OriginY = 1f, DirectionZ = 1f } } }
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
public System.Threading.Tasks.ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, System.Threading.CancellationToken ct = default)
|
|
48
|
+
{
|
|
49
|
+
var mode = PhysicsToolSupport.NormalizeMode(request.Mode);
|
|
50
|
+
var distance = Math.Max(0f, request.Distance);
|
|
51
|
+
var layerMask = request.LayerMask ?? Physics.DefaultRaycastLayers;
|
|
52
|
+
if (mode == "2d")
|
|
53
|
+
{
|
|
54
|
+
var origin = new Vector2(request.OriginX, request.OriginY);
|
|
55
|
+
var direction = PhysicsToolSupport.NormalizeVector2(new Vector2(request.DirectionX, request.DirectionY));
|
|
56
|
+
if (request.All)
|
|
57
|
+
{
|
|
58
|
+
var hits = Physics2D.RaycastAll(origin, direction, distance, layerMask);
|
|
59
|
+
var hitList = new List<RaycastHitInfo>();
|
|
60
|
+
foreach (var h in hits) hitList.Add(PhysicsToolSupport.BuildRaycast2DHit(h));
|
|
61
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result { Query = PhysicsToolSupport.BuildRaycast2DQuery(origin, direction, distance, layerMask), HitCount = hits.Length, Hits = hitList });
|
|
62
|
+
}
|
|
63
|
+
var hit = Physics2D.Raycast(origin, direction, distance, layerMask);
|
|
64
|
+
var list = new List<RaycastHitInfo>();
|
|
65
|
+
if (hit.collider != null) list.Add(PhysicsToolSupport.BuildRaycast2DHit(hit));
|
|
66
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result
|
|
67
|
+
{
|
|
68
|
+
Query = PhysicsToolSupport.BuildRaycast2DQuery(origin, direction, distance, layerMask),
|
|
69
|
+
Hit = hit.collider != null, HitCount = hit.collider != null ? 1 : 0, Hits = list,
|
|
70
|
+
NextActions = hit.collider != null ? new List<string>() : new List<string> { "No Physics collider matched the ray); adjust origin, direction, distance or layer mask." }
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
var origin3d = new Vector3(request.OriginX, request.OriginY, request.OriginZ);
|
|
74
|
+
var direction3d = PhysicsToolSupport.NormalizeVector3(new Vector3(request.DirectionX, request.DirectionY, request.DirectionZ));
|
|
75
|
+
if (request.All)
|
|
76
|
+
{
|
|
77
|
+
var hits = Physics.RaycastAll(origin3d, direction3d, distance, layerMask);
|
|
78
|
+
Array.Sort(hits, (a, b) => a.distance.CompareTo(b.distance));
|
|
79
|
+
var hitList = new List<RaycastHitInfo>();
|
|
80
|
+
foreach (var h in hits) hitList.Add(PhysicsToolSupport.BuildRaycast3DHit(h));
|
|
81
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result { Query = PhysicsToolSupport.BuildRaycast3DQuery(origin3d, direction3d, distance, layerMask), HitCount = hits.Length, Hits = hitList });
|
|
82
|
+
}
|
|
83
|
+
RaycastHit hit3d;
|
|
84
|
+
var didHit = Physics.Raycast(origin3d, direction3d, out hit3d, distance, layerMask);
|
|
85
|
+
var list3d = new List<RaycastHitInfo>();
|
|
86
|
+
if (didHit) list3d.Add(PhysicsToolSupport.BuildRaycast3DHit(hit3d));
|
|
87
|
+
return new System.Threading.Tasks.ValueTask<Result>(new Result
|
|
88
|
+
{
|
|
89
|
+
Query = PhysicsToolSupport.BuildRaycast3DQuery(origin3d, direction3d, distance, layerMask),
|
|
90
|
+
Hit = didHit, HitCount = didHit ? 1 : 0, Hits = list3d,
|
|
91
|
+
NextActions = didHit ? new List<string>() : new List<string> { "No Physics collider matched the ray); adjust origin, direction, distance or layer mask." }
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
#endif
|