@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,422 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using System.Globalization;
|
|
5
|
+
using System.IO;
|
|
6
|
+
using System.Linq;
|
|
7
|
+
using System.Security.Cryptography;
|
|
8
|
+
using System.Reflection;
|
|
9
|
+
using System.Text;
|
|
10
|
+
using UnityEditor;
|
|
11
|
+
using UnityEditor.SceneManagement;
|
|
12
|
+
using UnityEngine;
|
|
13
|
+
using UnityEngine.SceneManagement;
|
|
14
|
+
|
|
15
|
+
namespace UnityCli
|
|
16
|
+
{
|
|
17
|
+
/// <summary>Occlusion bake使用的effective settings readback。</summary>
|
|
18
|
+
public sealed class OcclusionBakeSettingsData
|
|
19
|
+
{
|
|
20
|
+
public double SmallestOccluder { get; set; }
|
|
21
|
+
public double SmallestHole { get; set; }
|
|
22
|
+
public double BackfaceThreshold { get; set; }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/// <summary>Occlusion业务终态的有界fresh snapshot。</summary>
|
|
26
|
+
public sealed class OcclusionBakeSnapshotData
|
|
27
|
+
{
|
|
28
|
+
public long UmbraDataSizeBytes { get; set; }
|
|
29
|
+
public bool DoesSceneHaveManualPortals { get; set; }
|
|
30
|
+
public OcclusionBakeSettingsData Settings { get; set; }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/// <summary>参与Occlusion持久化proof的scene文件身份。</summary>
|
|
34
|
+
public sealed class OcclusionSceneFileData
|
|
35
|
+
{
|
|
36
|
+
public string Path { get; set; }
|
|
37
|
+
public string Guid { get; set; }
|
|
38
|
+
public string Sha256 { get; set; }
|
|
39
|
+
public long SizeBytes { get; set; }
|
|
40
|
+
public bool Dirty { get; set; }
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
internal sealed class OcclusionSceneContentProofData
|
|
44
|
+
{
|
|
45
|
+
internal string Path;
|
|
46
|
+
internal string ContentSha256;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
public sealed class OcclusionPlannedEffect
|
|
50
|
+
{
|
|
51
|
+
public string Type { get; set; }
|
|
52
|
+
public string Target { get; set; }
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/// <summary>集中拥有Occlusion settings、scene identity和持久化proof。</summary>
|
|
56
|
+
internal static class OcclusionToolSupport
|
|
57
|
+
{
|
|
58
|
+
private static readonly PropertyInfo GradientValueProperty = typeof(SerializedProperty).GetProperty("gradientValue", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
|
|
59
|
+
|
|
60
|
+
internal static void EnsureEditorReady(string tool, bool requireEditMode)
|
|
61
|
+
{
|
|
62
|
+
if (EditorApplication.isCompiling || EditorApplication.isUpdating)
|
|
63
|
+
throw new UnityCliBridge.BridgeCommandException("E_EDITOR_BUSY", tool + " requires an idle Unity Editor.", "Wait for compilation/import to finish, then retry.");
|
|
64
|
+
if (requireEditMode && (EditorApplication.isPlaying || EditorApplication.isPlayingOrWillChangePlaymode))
|
|
65
|
+
throw new UnityCliBridge.BridgeCommandException("E_TOOL_PLAYMODE_UNAVAILABLE", tool + " is available only in Edit Mode.", "Exit Play Mode, then retry.");
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
internal static void EnsureNoActiveBake(string tool)
|
|
69
|
+
{
|
|
70
|
+
var status = UnityCliBridge.UnityCliOcclusionBakeCoordinator.PublicStatus();
|
|
71
|
+
if (StaticOcclusionCulling.isRunning || string.Equals(Convert.ToString(status["state"], CultureInfo.InvariantCulture), "running", StringComparison.Ordinal))
|
|
72
|
+
throw new UnityCliBridge.BridgeCommandException("E_OCCLUSION_BAKE_ACTIVE", tool + " cannot mutate occlusion data while a bake is running.", "Use occlusion.bake-status and occlusion.bake-cancel before retrying.");
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/// <summary>effect前解析并验证全部effective bake settings。</summary>
|
|
76
|
+
internal static OcclusionBakeSettingsData PrepareSettings(double? smallestOccluder, double? smallestHole, double? backfaceThreshold)
|
|
77
|
+
{
|
|
78
|
+
var current = ReadSettings();
|
|
79
|
+
var result = new OcclusionBakeSettingsData
|
|
80
|
+
{
|
|
81
|
+
SmallestOccluder = smallestOccluder ?? current.SmallestOccluder,
|
|
82
|
+
SmallestHole = smallestHole ?? current.SmallestHole,
|
|
83
|
+
BackfaceThreshold = backfaceThreshold ?? current.BackfaceThreshold
|
|
84
|
+
};
|
|
85
|
+
RequireFiniteRange("smallestOccluder", result.SmallestOccluder, 0.000001d, 1000000d);
|
|
86
|
+
RequireFiniteRange("smallestHole", result.SmallestHole, 0.000001d, 1000000d);
|
|
87
|
+
RequireFiniteRange("backfaceThreshold", result.BackfaceThreshold, 1d, 100d);
|
|
88
|
+
result.SmallestOccluder = (double)(float)result.SmallestOccluder;
|
|
89
|
+
result.SmallestHole = (double)(float)result.SmallestHole;
|
|
90
|
+
result.BackfaceThreshold = (double)(float)result.BackfaceThreshold;
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
internal static OcclusionBakeSettingsData ReadSettings()
|
|
95
|
+
{
|
|
96
|
+
return new OcclusionBakeSettingsData
|
|
97
|
+
{
|
|
98
|
+
SmallestOccluder = StaticOcclusionCulling.smallestOccluder,
|
|
99
|
+
SmallestHole = StaticOcclusionCulling.smallestHole,
|
|
100
|
+
BackfaceThreshold = StaticOcclusionCulling.backfaceThreshold
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/// <summary>一次写入冻结的effective settings;调用方必须先持久化durable effect边界。</summary>
|
|
105
|
+
internal static void ApplySettings(OcclusionBakeSettingsData settings)
|
|
106
|
+
{
|
|
107
|
+
if (settings == null) throw new UnityCliBridge.BridgeCommandException("E_SCHEMA_INVALID", "Occlusion bake settings are required.");
|
|
108
|
+
StaticOcclusionCulling.smallestOccluder = checked((float)settings.SmallestOccluder);
|
|
109
|
+
StaticOcclusionCulling.smallestHole = checked((float)settings.SmallestHole);
|
|
110
|
+
StaticOcclusionCulling.backfaceThreshold = checked((float)settings.BackfaceThreshold);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
internal static OcclusionBakeSnapshotData ReadSnapshot()
|
|
114
|
+
{
|
|
115
|
+
return new OcclusionBakeSnapshotData
|
|
116
|
+
{
|
|
117
|
+
UmbraDataSizeBytes = Math.Max(0L, Convert.ToInt64(StaticOcclusionCulling.umbraDataSize, CultureInfo.InvariantCulture)),
|
|
118
|
+
DoesSceneHaveManualPortals = StaticOcclusionCulling.doesSceneHaveManualPortals,
|
|
119
|
+
Settings = ReadSettings()
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
internal static bool SettingsEqual(OcclusionBakeSettingsData left, OcclusionBakeSettingsData right)
|
|
124
|
+
{
|
|
125
|
+
return left != null && right != null
|
|
126
|
+
&& Close(left.SmallestOccluder, right.SmallestOccluder)
|
|
127
|
+
&& Close(left.SmallestHole, right.SmallestHole)
|
|
128
|
+
&& Close(left.BackfaceThreshold, right.BackfaceThreshold);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/// <summary>effect前冻结全部loaded saved clean scenes,禁止顺带保存既存dirty状态。</summary>
|
|
132
|
+
internal static List<OcclusionSceneFileData> PrepareLoadedSceneFiles(string tool)
|
|
133
|
+
{
|
|
134
|
+
var result = new List<OcclusionSceneFileData>();
|
|
135
|
+
for (var index = 0; index < SceneManager.sceneCount; index++)
|
|
136
|
+
{
|
|
137
|
+
var scene = SceneManager.GetSceneAt(index);
|
|
138
|
+
if (!scene.IsValid() || !scene.isLoaded) continue;
|
|
139
|
+
if (string.IsNullOrEmpty(scene.path))
|
|
140
|
+
throw new UnityCliBridge.BridgeCommandException("E_OCCLUSION_SCENE_REQUIRED", tool + " requires every loaded target scene to be saved.", "Save or close untitled scenes, then retry.");
|
|
141
|
+
if (scene.isDirty)
|
|
142
|
+
throw new UnityCliBridge.BridgeCommandException("E_OCCLUSION_SCENE_DIRTY", tool + " will not save a target scene that already has unrelated dirty changes: " + scene.path + ".", "Save or discard that scene's changes, then retry.");
|
|
143
|
+
result.Add(ReadSceneFile(scene));
|
|
144
|
+
}
|
|
145
|
+
result = result.OrderBy(value => value.Path, StringComparer.Ordinal).ToList();
|
|
146
|
+
if (result.Count == 0)
|
|
147
|
+
throw new UnityCliBridge.BridgeCommandException("E_OCCLUSION_SCENE_REQUIRED", tool + " requires at least one loaded, saved scene.", "Save and load the target scene, then retry.");
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/// <summary>effect前重新解析全部loaded scene,确保冻结集合、GUID和文件内容没有漂移。</summary>
|
|
152
|
+
internal static void ValidateFrozenSceneFiles(IEnumerable<OcclusionSceneFileData> frozen, string tool)
|
|
153
|
+
{
|
|
154
|
+
var expected = (frozen ?? Array.Empty<OcclusionSceneFileData>()).OrderBy(value => value.Path, StringComparer.Ordinal).ToList();
|
|
155
|
+
var current = PrepareLoadedSceneFiles(tool);
|
|
156
|
+
if (current.Count != expected.Count)
|
|
157
|
+
throw TargetChanged(tool, "the loaded scene set changed before dispatch");
|
|
158
|
+
for (var index = 0; index < expected.Count; index++)
|
|
159
|
+
{
|
|
160
|
+
var left = expected[index];
|
|
161
|
+
var right = current[index];
|
|
162
|
+
if (!string.Equals(left.Path, right.Path, StringComparison.Ordinal)
|
|
163
|
+
|| !string.Equals(left.Guid, right.Guid, StringComparison.Ordinal)
|
|
164
|
+
|| !string.Equals(left.Sha256, right.Sha256, StringComparison.Ordinal)
|
|
165
|
+
|| left.SizeBytes != right.SizeBytes
|
|
166
|
+
|| right.Dirty)
|
|
167
|
+
throw TargetChanged(tool, "a frozen scene identity or file changed before dispatch");
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/// <summary>冻结scene中全部GameObject和Component的稳定serialized graph,不暴露到公开结果。</summary>
|
|
172
|
+
internal static List<OcclusionSceneContentProofData> CaptureSceneContentProofs(IEnumerable<OcclusionSceneFileData> scenes)
|
|
173
|
+
{
|
|
174
|
+
var result = new List<OcclusionSceneContentProofData>();
|
|
175
|
+
foreach (var frozen in (scenes ?? Array.Empty<OcclusionSceneFileData>()).OrderBy(value => value.Path, StringComparer.Ordinal))
|
|
176
|
+
{
|
|
177
|
+
var scene = SceneManager.GetSceneByPath(frozen.Path);
|
|
178
|
+
if (!scene.IsValid() || !scene.isLoaded || !string.Equals(AssetDatabase.AssetPathToGUID(frozen.Path), frozen.Guid, StringComparison.Ordinal))
|
|
179
|
+
throw new UnityCliBridge.BridgeCommandException("E_EXECUTION_TIMEOUT", "Occlusion target scene identity changed during content proof.", "Inspect the target scenes before deciding whether to retry.");
|
|
180
|
+
result.Add(new OcclusionSceneContentProofData { Path = frozen.Path, ContentSha256 = SceneContentSha256(scene) });
|
|
181
|
+
}
|
|
182
|
+
return result;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/// <summary>重算冻结scene graph;任意外部对象修改必须在持久化前失败。</summary>
|
|
186
|
+
internal static void ValidateFrozenSceneContentProofs(IEnumerable<OcclusionSceneContentProofData> frozen)
|
|
187
|
+
{
|
|
188
|
+
var expected = (frozen ?? Array.Empty<OcclusionSceneContentProofData>()).OrderBy(value => value.Path, StringComparer.Ordinal).ToList();
|
|
189
|
+
var files = expected.Select(value =>
|
|
190
|
+
{
|
|
191
|
+
var scene = SceneManager.GetSceneByPath(value.Path);
|
|
192
|
+
if (!scene.IsValid() || !scene.isLoaded)
|
|
193
|
+
throw new UnityCliBridge.BridgeCommandException("E_EXECUTION_TIMEOUT", "Occlusion target scene identity changed during content proof.", "Inspect the target scenes before deciding whether to retry.");
|
|
194
|
+
return ReadSceneFile(scene);
|
|
195
|
+
}).ToList();
|
|
196
|
+
var current = CaptureSceneContentProofs(files);
|
|
197
|
+
if (current.Count != expected.Count)
|
|
198
|
+
throw new UnityCliBridge.BridgeCommandException("E_EXECUTION_TIMEOUT", "Occlusion scene content proof set changed after the effect.", "Inspect the target scenes before deciding whether to retry.");
|
|
199
|
+
for (var index = 0; index < expected.Count; index++)
|
|
200
|
+
if (!string.Equals(expected[index].Path, current[index].Path, StringComparison.Ordinal)
|
|
201
|
+
|| !string.Equals(expected[index].ContentSha256, current[index].ContentSha256, StringComparison.Ordinal))
|
|
202
|
+
throw new UnityCliBridge.BridgeCommandException("E_EXECUTION_TIMEOUT", "Occlusion target scene content changed outside the tracked effect.", "Inspect the target scene and preserve or discard its unsaved changes before retrying.");
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/// <summary>effect后只保存冻结scene;serialized graph验证必须先于任何MarkSceneDirty或SaveScene。</summary>
|
|
206
|
+
internal static List<OcclusionSceneFileData> SaveAndProveSceneFiles(IEnumerable<OcclusionSceneFileData> before, IEnumerable<OcclusionSceneContentProofData> contentProofs, bool requireChangedHash)
|
|
207
|
+
{
|
|
208
|
+
var frozenFiles = (before ?? Array.Empty<OcclusionSceneFileData>()).OrderBy(value => value.Path, StringComparer.Ordinal).ToList();
|
|
209
|
+
var frozenContent = (contentProofs ?? Array.Empty<OcclusionSceneContentProofData>()).OrderBy(value => value.Path, StringComparer.Ordinal).ToList();
|
|
210
|
+
if (frozenFiles.Count != frozenContent.Count || frozenFiles.Where((value, index) => !string.Equals(value.Path, frozenContent[index].Path, StringComparison.Ordinal)).Any())
|
|
211
|
+
throw new UnityCliBridge.BridgeCommandException("E_EXECUTION_TIMEOUT", "Occlusion scene content proof does not match the frozen target set.", "Inspect the target scenes before deciding whether to retry.");
|
|
212
|
+
ValidateFrozenSceneContentProofs(contentProofs);
|
|
213
|
+
var result = new List<OcclusionSceneFileData>();
|
|
214
|
+
foreach (var frozen in frozenFiles)
|
|
215
|
+
{
|
|
216
|
+
var scene = SceneManager.GetSceneByPath(frozen.Path);
|
|
217
|
+
if (!scene.IsValid() || !scene.isLoaded || !string.Equals(AssetDatabase.AssetPathToGUID(frozen.Path), frozen.Guid, StringComparison.Ordinal))
|
|
218
|
+
throw new UnityCliBridge.BridgeCommandException("E_EXECUTION_TIMEOUT", "Occlusion target scene identity changed before persistence proof.", "Inspect the target scenes before deciding whether to retry.");
|
|
219
|
+
EditorSceneManager.MarkSceneDirty(scene);
|
|
220
|
+
if (!EditorSceneManager.SaveScene(scene))
|
|
221
|
+
throw new UnityCliBridge.BridgeCommandException("E_EXECUTION_TIMEOUT", "Occlusion target scene could not be saved after the effect.", "Inspect the target scene and Unity Console before deciding whether to retry.");
|
|
222
|
+
var observed = ReadSceneFile(scene);
|
|
223
|
+
if (observed.Dirty || (requireChangedHash && string.Equals(observed.Sha256, frozen.Sha256, StringComparison.Ordinal)))
|
|
224
|
+
throw new UnityCliBridge.BridgeCommandException("E_EXECUTION_TIMEOUT", "Occlusion scene persistence proof did not reach the required serialized terminal.", "Inspect the target scene file before deciding whether to retry.");
|
|
225
|
+
result.Add(observed);
|
|
226
|
+
}
|
|
227
|
+
return result;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
internal static Dictionary<string, object> SettingsDictionary(OcclusionBakeSettingsData value)
|
|
231
|
+
{
|
|
232
|
+
return new Dictionary<string, object>
|
|
233
|
+
{
|
|
234
|
+
{ "smallestOccluder", value.SmallestOccluder },
|
|
235
|
+
{ "smallestHole", value.SmallestHole },
|
|
236
|
+
{ "backfaceThreshold", value.BackfaceThreshold }
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
internal static Dictionary<string, object> SnapshotDictionary(OcclusionBakeSnapshotData value)
|
|
241
|
+
{
|
|
242
|
+
return new Dictionary<string, object>
|
|
243
|
+
{
|
|
244
|
+
{ "umbraDataSizeBytes", value.UmbraDataSizeBytes },
|
|
245
|
+
{ "doesSceneHaveManualPortals", value.DoesSceneHaveManualPortals },
|
|
246
|
+
{ "settings", SettingsDictionary(value.Settings) }
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
internal static Dictionary<string, object> SceneDictionary(OcclusionSceneFileData value)
|
|
251
|
+
{
|
|
252
|
+
return new Dictionary<string, object>
|
|
253
|
+
{
|
|
254
|
+
{ "path", value.Path }, { "guid", value.Guid }, { "sha256", value.Sha256 },
|
|
255
|
+
{ "sizeBytes", value.SizeBytes }, { "dirty", value.Dirty }
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
internal static Dictionary<string, object> SceneContentProofDictionary(OcclusionSceneContentProofData value)
|
|
260
|
+
{
|
|
261
|
+
return new Dictionary<string, object> { { "path", value.Path }, { "contentSha256", value.ContentSha256 } };
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
internal static string Sha256(byte[] value)
|
|
265
|
+
{
|
|
266
|
+
using (var hash = SHA256.Create())
|
|
267
|
+
return BitConverter.ToString(hash.ComputeHash(value ?? Array.Empty<byte>())).Replace("-", string.Empty).ToLowerInvariant();
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
private static OcclusionSceneFileData ReadSceneFile(Scene scene)
|
|
271
|
+
{
|
|
272
|
+
var root = Path.GetDirectoryName(Application.dataPath);
|
|
273
|
+
var fullPath = Path.Combine(root ?? string.Empty, scene.path.Replace('/', Path.DirectorySeparatorChar));
|
|
274
|
+
if (!File.Exists(fullPath)) throw new UnityCliBridge.BridgeCommandException("E_OCCLUSION_SCENE_REQUIRED", "Occlusion target scene file is missing: " + scene.path + ".");
|
|
275
|
+
var guid = AssetDatabase.AssetPathToGUID(scene.path);
|
|
276
|
+
if (string.IsNullOrEmpty(guid)) throw new UnityCliBridge.BridgeCommandException("E_OCCLUSION_SCENE_REQUIRED", "Occlusion target scene GUID is unavailable: " + scene.path + ".");
|
|
277
|
+
var bytes = File.ReadAllBytes(fullPath);
|
|
278
|
+
return new OcclusionSceneFileData { Path = scene.path, Guid = guid, Sha256 = Sha256(bytes), SizeBytes = bytes.LongLength, Dirty = scene.isDirty };
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/// <summary>按稳定hierarchy顺序和GlobalObjectId散列全部serialized property,排除bake私有scene payload。</summary>
|
|
282
|
+
private static string SceneContentSha256(Scene scene)
|
|
283
|
+
{
|
|
284
|
+
try
|
|
285
|
+
{
|
|
286
|
+
using (var hash = SHA256.Create())
|
|
287
|
+
{
|
|
288
|
+
Action<string> append = record =>
|
|
289
|
+
{
|
|
290
|
+
var bytes = Encoding.UTF8.GetBytes((record ?? string.Empty).Length.ToString(CultureInfo.InvariantCulture) + ":" + (record ?? string.Empty) + "\n");
|
|
291
|
+
hash.TransformBlock(bytes, 0, bytes.Length, bytes, 0);
|
|
292
|
+
};
|
|
293
|
+
Action<UnityEngine.Object, string> appendObject = (value, identity) =>
|
|
294
|
+
{
|
|
295
|
+
append("object|" + identity + "|" + ObjectIdentity(value) + "|" + value.GetType().AssemblyQualifiedName);
|
|
296
|
+
var serialized = new SerializedObject(value);
|
|
297
|
+
var property = serialized.GetIterator();
|
|
298
|
+
while (property.Next(true))
|
|
299
|
+
append("property|" + property.depth.ToString(CultureInfo.InvariantCulture) + "|" + property.propertyPath + "|" + property.propertyType + "|" + SerializedPropertyValue(property));
|
|
300
|
+
};
|
|
301
|
+
Action<GameObject, string> visit = null;
|
|
302
|
+
visit = (gameObject, hierarchy) =>
|
|
303
|
+
{
|
|
304
|
+
appendObject(gameObject, "gameObject|" + hierarchy);
|
|
305
|
+
var components = gameObject.GetComponents<Component>();
|
|
306
|
+
for (var index = 0; index < components.Length; index++)
|
|
307
|
+
{
|
|
308
|
+
var component = components[index];
|
|
309
|
+
if (component == null) append("missingComponent|" + hierarchy + "|" + index.ToString(CultureInfo.InvariantCulture));
|
|
310
|
+
else appendObject(component, "component|" + hierarchy + "|" + index.ToString(CultureInfo.InvariantCulture));
|
|
311
|
+
}
|
|
312
|
+
for (var index = 0; index < gameObject.transform.childCount; index++)
|
|
313
|
+
visit(gameObject.transform.GetChild(index).gameObject, hierarchy + "/" + index.ToString(CultureInfo.InvariantCulture));
|
|
314
|
+
};
|
|
315
|
+
var roots = scene.GetRootGameObjects().OrderBy(value => value.transform.GetSiblingIndex()).ThenBy(ObjectIdentity, StringComparer.Ordinal).ToArray();
|
|
316
|
+
for (var index = 0; index < roots.Length; index++) visit(roots[index], index.ToString(CultureInfo.InvariantCulture));
|
|
317
|
+
hash.TransformFinalBlock(Array.Empty<byte>(), 0, 0);
|
|
318
|
+
return BitConverter.ToString(hash.Hash).Replace("-", string.Empty).ToLowerInvariant();
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
catch (UnityCliBridge.BridgeCommandException) { throw; }
|
|
322
|
+
catch (Exception exception)
|
|
323
|
+
{
|
|
324
|
+
throw new UnityCliBridge.BridgeCommandException("E_EXECUTION_TIMEOUT", "Occlusion scene content proof could not be captured: " + exception.GetType().Name + ".", "Inspect the target scene and Unity Console before deciding whether to retry.");
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
private static string ObjectIdentity(UnityEngine.Object value)
|
|
329
|
+
{
|
|
330
|
+
return value == null ? "null" : GlobalObjectId.GetGlobalObjectIdSlow(value).ToString();
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
private static string SerializedPropertyValue(SerializedProperty property)
|
|
334
|
+
{
|
|
335
|
+
try
|
|
336
|
+
{
|
|
337
|
+
switch (property.propertyType)
|
|
338
|
+
{
|
|
339
|
+
case SerializedPropertyType.Integer: return property.longValue.ToString(CultureInfo.InvariantCulture);
|
|
340
|
+
case SerializedPropertyType.Boolean: return property.boolValue ? "true" : "false";
|
|
341
|
+
case SerializedPropertyType.Float: return property.doubleValue.ToString("R", CultureInfo.InvariantCulture);
|
|
342
|
+
case SerializedPropertyType.String: return property.stringValue ?? string.Empty;
|
|
343
|
+
case SerializedPropertyType.Color: return Float4(property.colorValue.r, property.colorValue.g, property.colorValue.b, property.colorValue.a);
|
|
344
|
+
case SerializedPropertyType.ObjectReference: return ObjectIdentity(property.objectReferenceValue);
|
|
345
|
+
case SerializedPropertyType.LayerMask: return property.intValue.ToString(CultureInfo.InvariantCulture);
|
|
346
|
+
case SerializedPropertyType.Enum: return property.enumValueIndex.ToString(CultureInfo.InvariantCulture);
|
|
347
|
+
case SerializedPropertyType.Vector2: return Float4(property.vector2Value.x, property.vector2Value.y, 0f, 0f);
|
|
348
|
+
case SerializedPropertyType.Vector3: return Float4(property.vector3Value.x, property.vector3Value.y, property.vector3Value.z, 0f);
|
|
349
|
+
case SerializedPropertyType.Vector4: return Float4(property.vector4Value.x, property.vector4Value.y, property.vector4Value.z, property.vector4Value.w);
|
|
350
|
+
case SerializedPropertyType.Rect: return Float4(property.rectValue.x, property.rectValue.y, property.rectValue.width, property.rectValue.height);
|
|
351
|
+
case SerializedPropertyType.ArraySize: return property.intValue.ToString(CultureInfo.InvariantCulture);
|
|
352
|
+
case SerializedPropertyType.Character: return property.intValue.ToString(CultureInfo.InvariantCulture);
|
|
353
|
+
case SerializedPropertyType.AnimationCurve: return AnimationCurveValue(property.animationCurveValue);
|
|
354
|
+
case SerializedPropertyType.Bounds: return Float4(property.boundsValue.center.x, property.boundsValue.center.y, property.boundsValue.center.z, 0f) + "|" + Float4(property.boundsValue.size.x, property.boundsValue.size.y, property.boundsValue.size.z, 0f);
|
|
355
|
+
case SerializedPropertyType.Gradient: return GradientValue(property);
|
|
356
|
+
case SerializedPropertyType.Quaternion: return Float4(property.quaternionValue.x, property.quaternionValue.y, property.quaternionValue.z, property.quaternionValue.w);
|
|
357
|
+
case SerializedPropertyType.ExposedReference: return ObjectIdentity(property.exposedReferenceValue);
|
|
358
|
+
case SerializedPropertyType.FixedBufferSize: return property.fixedBufferSize.ToString(CultureInfo.InvariantCulture);
|
|
359
|
+
case SerializedPropertyType.Vector2Int: return property.vector2IntValue.x.ToString(CultureInfo.InvariantCulture) + "," + property.vector2IntValue.y.ToString(CultureInfo.InvariantCulture);
|
|
360
|
+
case SerializedPropertyType.Vector3Int: return property.vector3IntValue.x.ToString(CultureInfo.InvariantCulture) + "," + property.vector3IntValue.y.ToString(CultureInfo.InvariantCulture) + "," + property.vector3IntValue.z.ToString(CultureInfo.InvariantCulture);
|
|
361
|
+
case SerializedPropertyType.RectInt: return property.rectIntValue.ToString();
|
|
362
|
+
case SerializedPropertyType.BoundsInt: return property.boundsIntValue.ToString();
|
|
363
|
+
case SerializedPropertyType.ManagedReference: return property.managedReferenceFullTypename + "|" + property.managedReferenceId.ToString(CultureInfo.InvariantCulture);
|
|
364
|
+
case SerializedPropertyType.Hash128: return property.hash128Value.ToString();
|
|
365
|
+
default: return property.type ?? string.Empty;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
catch (Exception exception) { return "unreadable:" + exception.GetType().Name; }
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/// <summary>完整编码曲线wrap与全部keyframe切线/权重。</summary>
|
|
372
|
+
private static string AnimationCurveValue(AnimationCurve curve)
|
|
373
|
+
{
|
|
374
|
+
if (curve == null) return "null";
|
|
375
|
+
var builder = new StringBuilder();
|
|
376
|
+
builder.Append(curve.preWrapMode).Append('|').Append(curve.postWrapMode);
|
|
377
|
+
foreach (var key in curve.keys)
|
|
378
|
+
{
|
|
379
|
+
builder.Append('|').Append(key.time.ToString("R", CultureInfo.InvariantCulture));
|
|
380
|
+
builder.Append(',').Append(key.value.ToString("R", CultureInfo.InvariantCulture));
|
|
381
|
+
builder.Append(',').Append(key.inTangent.ToString("R", CultureInfo.InvariantCulture));
|
|
382
|
+
builder.Append(',').Append(key.outTangent.ToString("R", CultureInfo.InvariantCulture));
|
|
383
|
+
builder.Append(',').Append(key.inWeight.ToString("R", CultureInfo.InvariantCulture));
|
|
384
|
+
builder.Append(',').Append(key.outWeight.ToString("R", CultureInfo.InvariantCulture));
|
|
385
|
+
builder.Append(',').Append(key.weightedMode);
|
|
386
|
+
}
|
|
387
|
+
return builder.ToString();
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
/// <summary>完整编码Gradient mode、color keys与alpha keys。</summary>
|
|
391
|
+
private static string GradientValue(SerializedProperty property)
|
|
392
|
+
{
|
|
393
|
+
var gradient = GradientValueProperty == null ? null : GradientValueProperty.GetValue(property, null) as Gradient;
|
|
394
|
+
if (gradient == null) return "null";
|
|
395
|
+
var builder = new StringBuilder(gradient.mode.ToString());
|
|
396
|
+
foreach (var key in gradient.colorKeys)
|
|
397
|
+
builder.Append('|').Append(key.time.ToString("R", CultureInfo.InvariantCulture)).Append(',').Append(Float4(key.color.r, key.color.g, key.color.b, key.color.a));
|
|
398
|
+
foreach (var key in gradient.alphaKeys)
|
|
399
|
+
builder.Append('|').Append(key.time.ToString("R", CultureInfo.InvariantCulture)).Append(',').Append(key.alpha.ToString("R", CultureInfo.InvariantCulture));
|
|
400
|
+
return builder.ToString();
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
private static string Float4(float x, float y, float z, float w)
|
|
404
|
+
{
|
|
405
|
+
return x.ToString("R", CultureInfo.InvariantCulture) + "," + y.ToString("R", CultureInfo.InvariantCulture) + "," + z.ToString("R", CultureInfo.InvariantCulture) + "," + w.ToString("R", CultureInfo.InvariantCulture);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
private static UnityCliBridge.BridgeCommandException TargetChanged(string tool, string reason)
|
|
409
|
+
{
|
|
410
|
+
return new UnityCliBridge.BridgeCommandException("E_OCCLUSION_TARGET_CHANGED", tool + " refused to dispatch because " + reason + ".", "Inspect the loaded scenes, then submit a new request with a fresh plan.");
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
private static void RequireFiniteRange(string field, double value, double minimum, double maximum)
|
|
414
|
+
{
|
|
415
|
+
if (double.IsNaN(value) || double.IsInfinity(value) || value < minimum || value > maximum)
|
|
416
|
+
throw new UnityCliBridge.BridgeCommandException("E_OCCLUSION_SETTINGS_VALUE_INVALID", field + " must be finite in [" + minimum.ToString("R", CultureInfo.InvariantCulture) + "," + maximum.ToString("R", CultureInfo.InvariantCulture) + "].", "Pass a value inside the documented range.");
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
private static bool Close(double left, double right) { return Math.Abs(left - right) <= 0.00001d; }
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
#endif
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
using System.Threading;
|
|
4
|
+
using System.Threading.Tasks;
|
|
5
|
+
using UnityEditor;
|
|
6
|
+
|
|
7
|
+
namespace UnityCli
|
|
8
|
+
{
|
|
9
|
+
/// <summary>清除loaded scenes的baked Occlusion数据,并证明Umbra数据为空和scene持久化。</summary>
|
|
10
|
+
public sealed class OcclusionBakeClearTool : IUnityCliTool<OcclusionBakeClearTool.Request, OcclusionBakeClearTool.Result>
|
|
11
|
+
{
|
|
12
|
+
public sealed class Request { }
|
|
13
|
+
public sealed class Result
|
|
14
|
+
{
|
|
15
|
+
public bool Cleared { get; set; }
|
|
16
|
+
public bool DryRun { get; set; }
|
|
17
|
+
public OcclusionBakeSnapshotData Before { get; set; }
|
|
18
|
+
public OcclusionBakeSnapshotData After { get; set; }
|
|
19
|
+
public List<OcclusionSceneFileData> Scenes { get; set; }
|
|
20
|
+
public List<OcclusionPlannedEffect> PlannedEffects { get; set; }
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
public ToolDescriptor Describe() => new()
|
|
24
|
+
{
|
|
25
|
+
Name = "occlusion.bake-clear",
|
|
26
|
+
Summary = "Clear baked Occlusion Culling data and prove the current Umbra payload is empty.",
|
|
27
|
+
Description = "Clears Unity StaticOcclusionCulling data for loaded saved scenes. Every target scene must be clean before the effect, so unrelated changes are never persisted. Framework dry-run returns the frozen scene and Umbra plan without clearing; an already empty payload is a verified no-op.",
|
|
28
|
+
Group = "occlusion",
|
|
29
|
+
DestructiveHint = true,
|
|
30
|
+
SupportsDryRun = true,
|
|
31
|
+
SideEffects = new[] { "occlusion-clear", "scene-modify" },
|
|
32
|
+
Permissions = new[] { "scene-modify" },
|
|
33
|
+
Target = "editor",
|
|
34
|
+
PlayModeSupport = "editor-only",
|
|
35
|
+
DefaultTimeoutMs = 30000,
|
|
36
|
+
MaxTimeoutMs = 600000,
|
|
37
|
+
Examples = new[]
|
|
38
|
+
{
|
|
39
|
+
new ToolExample { Description = "Preview clearing baked Occlusion data.", Input = new Request(), Execution = new ToolExampleExecution { DryRun = true } },
|
|
40
|
+
new ToolExample { Description = "Clear baked Occlusion data.", Input = new Request() }
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/// <summary>effect前冻结clean scene与Umbra snapshot,只跨一次barrier并以fresh zero readback完成。</summary>
|
|
45
|
+
public ValueTask<Result> ExecuteAsync(Request request, UnityCliProjectToolContext ctx, CancellationToken ct = default(CancellationToken))
|
|
46
|
+
{
|
|
47
|
+
OcclusionToolSupport.EnsureEditorReady("occlusion.bake-clear", true);
|
|
48
|
+
OcclusionToolSupport.EnsureNoActiveBake("occlusion.bake-clear");
|
|
49
|
+
ct.ThrowIfCancellationRequested();
|
|
50
|
+
var scenes = OcclusionToolSupport.PrepareLoadedSceneFiles("occlusion.bake-clear");
|
|
51
|
+
var before = OcclusionToolSupport.ReadSnapshot();
|
|
52
|
+
var effects = new List<OcclusionPlannedEffect> { new OcclusionPlannedEffect { Type = "occlusion.bake-clear", Target = "open-scenes" } };
|
|
53
|
+
if (ctx.DryRun || before.UmbraDataSizeBytes == 0)
|
|
54
|
+
return new ValueTask<Result>(new Result { Cleared = false, DryRun = ctx.DryRun, Before = before, After = before, Scenes = scenes, PlannedEffects = effects });
|
|
55
|
+
var contentProofs = OcclusionToolSupport.CaptureSceneContentProofs(scenes);
|
|
56
|
+
|
|
57
|
+
ctx.CommitEffect();
|
|
58
|
+
StaticOcclusionCulling.Clear();
|
|
59
|
+
var observedScenes = OcclusionToolSupport.SaveAndProveSceneFiles(scenes, contentProofs, true);
|
|
60
|
+
var after = OcclusionToolSupport.ReadSnapshot();
|
|
61
|
+
if (after.UmbraDataSizeBytes != 0)
|
|
62
|
+
throw new UnityCliBridge.BridgeCommandException("E_EXECUTION_TIMEOUT", "Occlusion clear did not produce an empty Umbra terminal readback.", "Run occlusion.bake-status and inspect the target scenes before deciding whether to retry.");
|
|
63
|
+
return new ValueTask<Result>(new Result { Cleared = true, DryRun = false, Before = before, After = after, Scenes = observedScenes, PlannedEffects = effects });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
#endif
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System.Collections.Generic; using System.Linq; using UnityEditor; using UnityEngine;
|
|
3
|
+
namespace UnityCli
|
|
4
|
+
{
|
|
5
|
+
public sealed class PhysicsJointResult { public bool DryRun { get; set; } public bool Exists { get; set; } public long Removed { get; set; } public List<PhysicsPlannedEffect> PlannedEffects { get; set; } }
|
|
6
|
+
public static class PhysicsJointToolSupport
|
|
7
|
+
{
|
|
8
|
+
public static (GameObject, System.Type) Resolve(string targetName, string typeName, string toolName) { var target = GameObjectToolSupport.ResolveUniqueTarget(targetName, toolName + " requires target."); var type = GameObjectToolSupport.ResolveComponentType((typeName ?? "FixedJoint").EndsWith("Joint") ? typeName ?? "FixedJoint" : typeName + "Joint"); if (!typeof(Joint).IsAssignableFrom(type)) throw new UnityCliBridge.BridgeCommandException("E_PHYSICS_JOINT_TYPE_INVALID", "Joint type must derive from UnityEngine.Joint: " + typeName, "Use FixedJoint, HingeJoint, SpringJoint, or CharacterJoint."); return (target, type); }
|
|
9
|
+
public static GameObjectTargetRef TargetRef(GameObject target) => new GameObjectTargetRef { Id = target.GetInstanceID(), Name = target.name, Path = GameObjectToolSupport.HierarchyPath(target) };
|
|
10
|
+
public static List<PhysicsPlannedEffect> Effects(string toolName, string operation, string typeName) => new List<PhysicsPlannedEffect> { new PhysicsPlannedEffect { Type = toolName, Property = operation, Value = typeName } };
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
#endif
|