@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,439 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System;
|
|
3
|
+
using System.Collections;
|
|
4
|
+
using System.Collections.Generic;
|
|
5
|
+
using System.Globalization;
|
|
6
|
+
using System.Reflection;
|
|
7
|
+
using System.Threading;
|
|
8
|
+
using UnityEditor;
|
|
9
|
+
using UnityEngine;
|
|
10
|
+
|
|
11
|
+
namespace UnityCli
|
|
12
|
+
{
|
|
13
|
+
/// <summary>Timeline structure 的 bounded traversal、stable sub-asset identity 与 package-optional 反射 owner。</summary>
|
|
14
|
+
internal static class TimelineReadToolSupport
|
|
15
|
+
{
|
|
16
|
+
private const int MaxPageSize = 200;
|
|
17
|
+
private const int MaxDepthLimit = 32;
|
|
18
|
+
private const int MaxClipsPerTrackLimit = 500;
|
|
19
|
+
private const int MaxScannedTracks = 10000;
|
|
20
|
+
private const int MaxScannedClipsPerTrack = 10000;
|
|
21
|
+
private const int MaxBindingsPerTrack = 64;
|
|
22
|
+
|
|
23
|
+
internal sealed class ReadPlan
|
|
24
|
+
{
|
|
25
|
+
internal UnityEngine.Object Asset;
|
|
26
|
+
internal Type TimelineType;
|
|
27
|
+
internal string Path;
|
|
28
|
+
internal string Guid;
|
|
29
|
+
internal int Cursor;
|
|
30
|
+
internal int PageSize;
|
|
31
|
+
internal int MaxDepth;
|
|
32
|
+
internal int MaxClipsPerTrack;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
private sealed class TrackNode
|
|
36
|
+
{
|
|
37
|
+
internal UnityEngine.Object Track;
|
|
38
|
+
internal UnityEngine.Object Parent;
|
|
39
|
+
internal int Depth;
|
|
40
|
+
internal int Index;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/// <summary>解析 path/GUID、分页上限和 Timeline type;只读取现有资产,不产生 import/refresh。</summary>
|
|
44
|
+
internal static ReadPlan Prepare(string reference, int? cursor, int? pageSize, int? maxDepth, int? maxClipsPerTrack)
|
|
45
|
+
{
|
|
46
|
+
var timelineType = TimelineToolSupport.RequireTimelineAssetType();
|
|
47
|
+
var path = ResolveTimelinePath(reference);
|
|
48
|
+
var asset = AssetDatabase.LoadMainAssetAtPath(path);
|
|
49
|
+
if (asset == null)
|
|
50
|
+
throw Error("E_TIMELINE_NOT_FOUND", "Timeline asset was not found.", path, null);
|
|
51
|
+
if (!timelineType.IsInstanceOfType(asset))
|
|
52
|
+
throw Error("E_TIMELINE_TYPE_INVALID", "The requested asset is not a TimelineAsset.", path, AssetDatabase.AssetPathToGUID(path));
|
|
53
|
+
|
|
54
|
+
var guid = AssetDatabase.AssetPathToGUID(path);
|
|
55
|
+
if (string.IsNullOrEmpty(guid) || !string.Equals(AssetDatabase.GUIDToAssetPath(guid), path, StringComparison.Ordinal))
|
|
56
|
+
throw Error("E_TIMELINE_IDENTITY_UNAVAILABLE", "Timeline path and GUID did not round-trip.", path, guid);
|
|
57
|
+
var resolvedCursor = cursor ?? 0;
|
|
58
|
+
var resolvedPageSize = pageSize ?? 50;
|
|
59
|
+
var resolvedDepth = maxDepth ?? 8;
|
|
60
|
+
var resolvedClips = maxClipsPerTrack ?? 100;
|
|
61
|
+
if (resolvedCursor < 0)
|
|
62
|
+
throw Error("E_TIMELINE_PAGE_INVALID", "cursor must be zero or greater.", path, guid);
|
|
63
|
+
if (resolvedPageSize < 1 || resolvedPageSize > MaxPageSize)
|
|
64
|
+
throw Error("E_TIMELINE_PAGE_INVALID", "pageSize must be within [1,200].", path, guid);
|
|
65
|
+
if (resolvedDepth < 0 || resolvedDepth > MaxDepthLimit)
|
|
66
|
+
throw Error("E_TIMELINE_PAGE_INVALID", "maxDepth must be within [0,32].", path, guid);
|
|
67
|
+
if (resolvedClips < 1 || resolvedClips > MaxClipsPerTrackLimit)
|
|
68
|
+
throw Error("E_TIMELINE_PAGE_INVALID", "maxClipsPerTrack must be within [1,500].", path, guid);
|
|
69
|
+
return new ReadPlan
|
|
70
|
+
{
|
|
71
|
+
Asset = asset,
|
|
72
|
+
TimelineType = timelineType,
|
|
73
|
+
Path = path,
|
|
74
|
+
Guid = guid,
|
|
75
|
+
Cursor = resolvedCursor,
|
|
76
|
+
PageSize = resolvedPageSize,
|
|
77
|
+
MaxDepth = resolvedDepth,
|
|
78
|
+
MaxClipsPerTrack = resolvedClips
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/// <summary>构造当前 AssetDatabase 对象的 bounded fresh snapshot;超过硬扫描上限时 fail closed。</summary>
|
|
83
|
+
internal static TimelineInfoResult Read(ReadPlan plan, CancellationToken ct)
|
|
84
|
+
{
|
|
85
|
+
ct.ThrowIfCancellationRequested();
|
|
86
|
+
var nodes = new List<TrackNode>();
|
|
87
|
+
var visited = new HashSet<int>();
|
|
88
|
+
var depthTruncated = false;
|
|
89
|
+
foreach (var root in InvokeEnumerable(plan.Asset, plan.TimelineType, "GetRootTracks"))
|
|
90
|
+
{
|
|
91
|
+
ct.ThrowIfCancellationRequested();
|
|
92
|
+
var track = root as UnityEngine.Object;
|
|
93
|
+
if (track == null) continue;
|
|
94
|
+
WalkTrack(track, null, 0, plan.MaxDepth, nodes, visited, ref depthTruncated, ct);
|
|
95
|
+
}
|
|
96
|
+
if (plan.Cursor > nodes.Count)
|
|
97
|
+
throw Error("E_TIMELINE_CURSOR_OUT_OF_RANGE", "cursor exceeds the bounded track count.", plan.Path, plan.Guid);
|
|
98
|
+
|
|
99
|
+
var end = Math.Min(nodes.Count, plan.Cursor + plan.PageSize);
|
|
100
|
+
var tracks = new List<TimelineTrackInfo>();
|
|
101
|
+
for (var i = plan.Cursor; i < end; i++)
|
|
102
|
+
{
|
|
103
|
+
ct.ThrowIfCancellationRequested();
|
|
104
|
+
tracks.Add(ReadTrack(nodes[i], plan.MaxClipsPerTrack, ct));
|
|
105
|
+
}
|
|
106
|
+
var timelineIdentity = RequirePersistentIdentity(plan.Asset, "Timeline asset");
|
|
107
|
+
return new TimelineInfoResult
|
|
108
|
+
{
|
|
109
|
+
Identity = timelineIdentity,
|
|
110
|
+
Tracks = tracks,
|
|
111
|
+
PageInfo = new PageInfo
|
|
112
|
+
{
|
|
113
|
+
Cursor = plan.Cursor,
|
|
114
|
+
PageSize = plan.PageSize,
|
|
115
|
+
Total = nodes.Count,
|
|
116
|
+
NextCursor = end < nodes.Count ? (long?)end : null
|
|
117
|
+
},
|
|
118
|
+
DepthTruncated = depthTruncated
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
private static void WalkTrack(UnityEngine.Object track, UnityEngine.Object parent, int depth, int maxDepth,
|
|
123
|
+
List<TrackNode> nodes, HashSet<int> visited, ref bool depthTruncated, CancellationToken ct)
|
|
124
|
+
{
|
|
125
|
+
ct.ThrowIfCancellationRequested();
|
|
126
|
+
if (!visited.Add(track.GetInstanceID()))
|
|
127
|
+
throw Error("E_TIMELINE_STRUCTURE_INVALID", "Timeline track hierarchy contains a duplicate or cycle.", AssetDatabase.GetAssetPath(track), null);
|
|
128
|
+
if (nodes.Count >= MaxScannedTracks)
|
|
129
|
+
throw Error("E_TIMELINE_STRUCTURE_LIMIT_EXCEEDED", "Timeline contains more than 10000 tracks within maxDepth.", AssetDatabase.GetAssetPath(track), null);
|
|
130
|
+
nodes.Add(new TrackNode { Track = track, Parent = parent, Depth = depth, Index = nodes.Count });
|
|
131
|
+
|
|
132
|
+
var children = InvokeEnumerable(track, track.GetType(), "GetChildTracks");
|
|
133
|
+
foreach (var value in children)
|
|
134
|
+
{
|
|
135
|
+
var child = value as UnityEngine.Object;
|
|
136
|
+
if (child == null) continue;
|
|
137
|
+
if (depth >= maxDepth)
|
|
138
|
+
{
|
|
139
|
+
depthTruncated = true;
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
WalkTrack(child, track, depth + 1, maxDepth, nodes, visited, ref depthTruncated, ct);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
private static TimelineTrackInfo ReadTrack(TrackNode node, int maxClips, CancellationToken ct)
|
|
147
|
+
{
|
|
148
|
+
var track = node.Track;
|
|
149
|
+
var type = track.GetType();
|
|
150
|
+
var allClips = new List<object>();
|
|
151
|
+
foreach (var value in InvokeEnumerable(track, type, "GetClips"))
|
|
152
|
+
{
|
|
153
|
+
ct.ThrowIfCancellationRequested();
|
|
154
|
+
if (value == null) continue;
|
|
155
|
+
if (allClips.Count >= MaxScannedClipsPerTrack)
|
|
156
|
+
throw Error("E_TIMELINE_STRUCTURE_LIMIT_EXCEEDED", "A Timeline track contains more than 10000 clips.", AssetDatabase.GetAssetPath(track), null);
|
|
157
|
+
allClips.Add(value);
|
|
158
|
+
}
|
|
159
|
+
var clips = new List<TimelineClipInfo>();
|
|
160
|
+
var returnedClipCount = Math.Min(allClips.Count, maxClips);
|
|
161
|
+
for (var i = 0; i < returnedClipCount; i++)
|
|
162
|
+
{
|
|
163
|
+
ct.ThrowIfCancellationRequested();
|
|
164
|
+
clips.Add(ReadClip(allClips[i], i));
|
|
165
|
+
}
|
|
166
|
+
return new TimelineTrackInfo
|
|
167
|
+
{
|
|
168
|
+
Index = node.Index,
|
|
169
|
+
Identity = RequirePersistentIdentity(track, "Timeline track"),
|
|
170
|
+
Parent = node.Parent == null ? null : RequirePersistentIdentity(node.Parent, "Timeline parent track"),
|
|
171
|
+
Depth = node.Depth,
|
|
172
|
+
Name = track.name,
|
|
173
|
+
TrackType = FriendlyTrackType(type),
|
|
174
|
+
TypeName = type.FullName,
|
|
175
|
+
Muted = ReadBool(track, "muted"),
|
|
176
|
+
MutedInHierarchy = ReadBool(track, "mutedInHierarchy"),
|
|
177
|
+
Locked = ReadBool(track, "locked"),
|
|
178
|
+
LockedInHierarchy = ReadBool(track, "lockedInHierarchy"),
|
|
179
|
+
Start = RequireFinite(ReadDouble(track, "start"), "Track start"),
|
|
180
|
+
Duration = RequireFinite(ReadDouble(track, "duration"), "Track duration"),
|
|
181
|
+
ClipCount = allClips.Count,
|
|
182
|
+
ClipsTruncated = allClips.Count > returnedClipCount,
|
|
183
|
+
Clips = clips,
|
|
184
|
+
Bindings = ReadBindings(track, ct)
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
private static TimelineClipInfo ReadClip(object clip, int index)
|
|
189
|
+
{
|
|
190
|
+
var asset = ReadRequiredMember(clip, "asset") as UnityEngine.Object;
|
|
191
|
+
var start = RequireFinite(ReadDouble(clip, "start"), "Clip start");
|
|
192
|
+
var duration = RequireFinite(ReadDouble(clip, "duration"), "Clip duration");
|
|
193
|
+
return new TimelineClipInfo
|
|
194
|
+
{
|
|
195
|
+
Index = index,
|
|
196
|
+
DisplayName = ReadString(clip, "displayName"),
|
|
197
|
+
Start = start,
|
|
198
|
+
Duration = duration,
|
|
199
|
+
End = RequireFinite(start + duration, "Clip end"),
|
|
200
|
+
ClipIn = RequireFinite(ReadDouble(clip, "clipIn"), "Clip clipIn"),
|
|
201
|
+
TimeScale = RequireFinite(ReadDouble(clip, "timeScale"), "Clip timeScale"),
|
|
202
|
+
EaseInDuration = RequireFinite(ReadDouble(clip, "easeInDuration"), "Clip easeInDuration"),
|
|
203
|
+
EaseOutDuration = RequireFinite(ReadDouble(clip, "easeOutDuration"), "Clip easeOutDuration"),
|
|
204
|
+
PlayableAsset = asset == null ? null : RequirePersistentIdentity(asset, "Timeline clip playable asset"),
|
|
205
|
+
SourceAsset = ResolveSourceAsset(asset)
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
private static List<TimelineTrackBindingInfo> ReadBindings(UnityEngine.Object track, CancellationToken ct)
|
|
210
|
+
{
|
|
211
|
+
var result = new List<TimelineTrackBindingInfo>();
|
|
212
|
+
var outputs = ReadRequiredMember(track, "outputs") as IEnumerable;
|
|
213
|
+
if (outputs == null)
|
|
214
|
+
throw Error("E_TIMELINE_API_UNAVAILABLE", "Timeline track outputs is not enumerable.", AssetDatabase.GetAssetPath(track), null);
|
|
215
|
+
foreach (var value in outputs)
|
|
216
|
+
{
|
|
217
|
+
ct.ThrowIfCancellationRequested();
|
|
218
|
+
if (value == null) continue;
|
|
219
|
+
if (result.Count >= MaxBindingsPerTrack)
|
|
220
|
+
throw Error("E_TIMELINE_STRUCTURE_LIMIT_EXCEEDED", "A Timeline track exposes more than 64 output bindings.", AssetDatabase.GetAssetPath(track), null);
|
|
221
|
+
var source = ReadRequiredMember(value, "sourceObject") as UnityEngine.Object;
|
|
222
|
+
var outputType = ReadRequiredMember(value, "outputTargetType") as Type;
|
|
223
|
+
result.Add(new TimelineTrackBindingInfo
|
|
224
|
+
{
|
|
225
|
+
StreamName = ReadString(value, "streamName"),
|
|
226
|
+
Source = source == null ? null : RequirePersistentIdentity(source, "Timeline output binding source"),
|
|
227
|
+
OutputTargetType = outputType == null ? null : outputType.FullName
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
return result;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
private static TimelineObjectIdentity ResolveSourceAsset(UnityEngine.Object playableAsset)
|
|
234
|
+
{
|
|
235
|
+
if (playableAsset == null) return null;
|
|
236
|
+
var candidates = new[] { "clip", "prefabGameObject" };
|
|
237
|
+
foreach (var name in candidates)
|
|
238
|
+
{
|
|
239
|
+
var value = ReadMember(playableAsset, name) as UnityEngine.Object;
|
|
240
|
+
if (value != null && value != playableAsset) return RequirePersistentIdentity(value, "Timeline clip source asset");
|
|
241
|
+
}
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
private static TimelineObjectIdentity RequirePersistentIdentity(UnityEngine.Object value, string label)
|
|
246
|
+
{
|
|
247
|
+
string guid = null;
|
|
248
|
+
long localId = 0L;
|
|
249
|
+
if (value == null || !AssetDatabase.TryGetGUIDAndLocalFileIdentifier(value, out guid, out localId) || string.IsNullOrEmpty(guid))
|
|
250
|
+
throw Error("E_TIMELINE_IDENTITY_UNAVAILABLE", label + " has no stable asset GUID/local file id.", value == null ? null : AssetDatabase.GetAssetPath(value), guid);
|
|
251
|
+
var path = AssetDatabase.GUIDToAssetPath(guid);
|
|
252
|
+
if (string.IsNullOrEmpty(path))
|
|
253
|
+
throw Error("E_TIMELINE_IDENTITY_UNAVAILABLE", label + " GUID does not resolve to an asset path.", null, guid);
|
|
254
|
+
return new TimelineObjectIdentity
|
|
255
|
+
{
|
|
256
|
+
Path = path,
|
|
257
|
+
Guid = guid,
|
|
258
|
+
LocalId = localId.ToString(CultureInfo.InvariantCulture),
|
|
259
|
+
Name = value.name,
|
|
260
|
+
Type = value.GetType().FullName
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
private static IEnumerable InvokeEnumerable(object target, Type type, string methodName)
|
|
265
|
+
{
|
|
266
|
+
var method = type.GetMethod(methodName, BindingFlags.Public | BindingFlags.Instance, null, Type.EmptyTypes, null);
|
|
267
|
+
var enumerable = method == null ? null : method.Invoke(target, null) as IEnumerable;
|
|
268
|
+
if (enumerable == null)
|
|
269
|
+
throw Error("E_TIMELINE_API_UNAVAILABLE", "The installed Timeline package does not expose " + methodName + "().", target is UnityEngine.Object ? AssetDatabase.GetAssetPath((UnityEngine.Object)target) : null, null);
|
|
270
|
+
return enumerable;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
private static object ReadMember(object target, string name)
|
|
274
|
+
{
|
|
275
|
+
if (target == null) return null;
|
|
276
|
+
object value;
|
|
277
|
+
return TryReadMember(target, name, out value) ? value : null;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
private static object ReadRequiredMember(object target, string name)
|
|
281
|
+
{
|
|
282
|
+
object value;
|
|
283
|
+
if (target == null || !TryReadMember(target, name, out value))
|
|
284
|
+
throw Error("E_TIMELINE_API_UNAVAILABLE", "The installed Timeline package does not expose required member " + name + ".", target is UnityEngine.Object ? AssetDatabase.GetAssetPath((UnityEngine.Object)target) : null, null);
|
|
285
|
+
return value;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
private static bool TryReadMember(object target, string name, out object value)
|
|
289
|
+
{
|
|
290
|
+
value = null;
|
|
291
|
+
if (target == null) return false;
|
|
292
|
+
var type = target.GetType();
|
|
293
|
+
var property = type.GetProperty(name, BindingFlags.Public | BindingFlags.Instance);
|
|
294
|
+
if (property != null && property.CanRead)
|
|
295
|
+
{
|
|
296
|
+
value = property.GetValue(target, null);
|
|
297
|
+
return true;
|
|
298
|
+
}
|
|
299
|
+
var field = type.GetField(name, BindingFlags.Public | BindingFlags.Instance);
|
|
300
|
+
if (field == null) return false;
|
|
301
|
+
value = field.GetValue(target);
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
private static double ReadFrameRate(UnityEngine.Object timeline)
|
|
306
|
+
{
|
|
307
|
+
var settings = ReadRequiredMember(timeline, "editorSettings");
|
|
308
|
+
return Convert.ToDouble(ReadRequiredMember(settings, "frameRate"), CultureInfo.InvariantCulture);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
private static double ReadDouble(object target, string name)
|
|
312
|
+
{
|
|
313
|
+
return Convert.ToDouble(ReadRequiredMember(target, name), CultureInfo.InvariantCulture);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
private static bool ReadBool(object target, string name)
|
|
317
|
+
{
|
|
318
|
+
return Convert.ToBoolean(ReadRequiredMember(target, name), CultureInfo.InvariantCulture);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
private static string ReadString(object target, string name)
|
|
322
|
+
{
|
|
323
|
+
var value = ReadRequiredMember(target, name);
|
|
324
|
+
return value == null ? null : Convert.ToString(value, CultureInfo.InvariantCulture);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
private static double RequireFinite(double value, string label)
|
|
328
|
+
{
|
|
329
|
+
if (double.IsNaN(value) || double.IsInfinity(value))
|
|
330
|
+
throw Error("E_TIMELINE_STRUCTURE_INVALID", label + " is not finite.", null, null);
|
|
331
|
+
return value;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
private static string FriendlyTrackType(Type type)
|
|
335
|
+
{
|
|
336
|
+
var name = type == null ? "Unknown" : type.Name;
|
|
337
|
+
return name.EndsWith("Track", StringComparison.Ordinal) ? name.Substring(0, name.Length - 5) : name;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
private static string ResolveTimelinePath(string reference)
|
|
341
|
+
{
|
|
342
|
+
if (string.IsNullOrWhiteSpace(reference))
|
|
343
|
+
throw Error("E_TIMELINE_REFERENCE_REQUIRED", "timeline path or GUID is required.", null, null);
|
|
344
|
+
var value = reference.Trim();
|
|
345
|
+
if (value.StartsWith("guid:", StringComparison.OrdinalIgnoreCase)) value = value.Substring(5);
|
|
346
|
+
string path;
|
|
347
|
+
if (IsGuid(value))
|
|
348
|
+
{
|
|
349
|
+
path = AssetDatabase.GUIDToAssetPath(value.ToLowerInvariant());
|
|
350
|
+
if (string.IsNullOrEmpty(path))
|
|
351
|
+
throw Error("E_TIMELINE_NOT_FOUND", "Timeline GUID did not resolve to an asset.", null, value);
|
|
352
|
+
}
|
|
353
|
+
else
|
|
354
|
+
{
|
|
355
|
+
path = AssetToolSupport.RequireAssetPath(value);
|
|
356
|
+
}
|
|
357
|
+
if (!path.EndsWith(".playable", StringComparison.OrdinalIgnoreCase))
|
|
358
|
+
throw Error("E_TIMELINE_PATH_INVALID", "Timeline asset path must end with .playable.", path, null);
|
|
359
|
+
return path;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
private static bool IsGuid(string value)
|
|
363
|
+
{
|
|
364
|
+
if (string.IsNullOrEmpty(value) || value.Length != 32) return false;
|
|
365
|
+
for (var i = 0; i < value.Length; i++) if (!Uri.IsHexDigit(value[i])) return false;
|
|
366
|
+
return true;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
private static UnityCliBridge.BridgeCommandException Error(string code, string message, string path, string guid)
|
|
370
|
+
{
|
|
371
|
+
return new UnityCliBridge.BridgeCommandException(
|
|
372
|
+
code,
|
|
373
|
+
message,
|
|
374
|
+
new Dictionary<string, object> { { "path", path }, { "guid", guid }, { "requiredPackage", TimelineToolSupport.PackageId } },
|
|
375
|
+
new[] { "Run tools describe timeline.info and use asset.search to obtain a current Timeline path or GUID." });
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
public sealed class TimelineInfoResult
|
|
380
|
+
{
|
|
381
|
+
public TimelineObjectIdentity Identity { get; set; }
|
|
382
|
+
public List<TimelineTrackInfo> Tracks { get; set; }
|
|
383
|
+
public PageInfo PageInfo { get; set; }
|
|
384
|
+
public bool DepthTruncated { get; set; }
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
public sealed class TimelineObjectIdentity
|
|
388
|
+
{
|
|
389
|
+
public string Path { get; set; }
|
|
390
|
+
public string Guid { get; set; }
|
|
391
|
+
public string LocalId { get; set; }
|
|
392
|
+
public string Name { get; set; }
|
|
393
|
+
public string Type { get; set; }
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
public sealed class TimelineTrackInfo
|
|
397
|
+
{
|
|
398
|
+
public long Index { get; set; }
|
|
399
|
+
public TimelineObjectIdentity Identity { get; set; }
|
|
400
|
+
public TimelineObjectIdentity Parent { get; set; }
|
|
401
|
+
public long Depth { get; set; }
|
|
402
|
+
public string Name { get; set; }
|
|
403
|
+
public string TrackType { get; set; }
|
|
404
|
+
public string TypeName { get; set; }
|
|
405
|
+
public bool Muted { get; set; }
|
|
406
|
+
public bool MutedInHierarchy { get; set; }
|
|
407
|
+
public bool Locked { get; set; }
|
|
408
|
+
public bool LockedInHierarchy { get; set; }
|
|
409
|
+
public double Start { get; set; }
|
|
410
|
+
public double Duration { get; set; }
|
|
411
|
+
public long ClipCount { get; set; }
|
|
412
|
+
public bool ClipsTruncated { get; set; }
|
|
413
|
+
public List<TimelineClipInfo> Clips { get; set; }
|
|
414
|
+
public List<TimelineTrackBindingInfo> Bindings { get; set; }
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
public sealed class TimelineClipInfo
|
|
418
|
+
{
|
|
419
|
+
public long Index { get; set; }
|
|
420
|
+
public string DisplayName { get; set; }
|
|
421
|
+
public double Start { get; set; }
|
|
422
|
+
public double Duration { get; set; }
|
|
423
|
+
public double End { get; set; }
|
|
424
|
+
public double ClipIn { get; set; }
|
|
425
|
+
public double TimeScale { get; set; }
|
|
426
|
+
public double EaseInDuration { get; set; }
|
|
427
|
+
public double EaseOutDuration { get; set; }
|
|
428
|
+
public TimelineObjectIdentity PlayableAsset { get; set; }
|
|
429
|
+
public TimelineObjectIdentity SourceAsset { get; set; }
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
public sealed class TimelineTrackBindingInfo
|
|
433
|
+
{
|
|
434
|
+
public string StreamName { get; set; }
|
|
435
|
+
public TimelineObjectIdentity Source { get; set; }
|
|
436
|
+
public string OutputTargetType { get; set; }
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
#endif
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
#if UNITY_EDITOR
|
|
2
|
+
using System;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using System.Globalization;
|
|
5
|
+
using System.IO;
|
|
6
|
+
using System.Reflection;
|
|
7
|
+
using UnityEditor;
|
|
8
|
+
using UnityEngine;
|
|
9
|
+
|
|
10
|
+
namespace UnityCli
|
|
11
|
+
{
|
|
12
|
+
/// <summary>Timeline Tool 的 package-optional 反射、路径、identity 与 fresh readback owner。</summary>
|
|
13
|
+
internal static class TimelineToolSupport
|
|
14
|
+
{
|
|
15
|
+
internal const string PackageId = "com.unity.timeline";
|
|
16
|
+
private const string TimelineAssetTypeName = "UnityEngine.Timeline.TimelineAsset, Unity.Timeline";
|
|
17
|
+
|
|
18
|
+
internal sealed class CreatePlan
|
|
19
|
+
{
|
|
20
|
+
internal string Path;
|
|
21
|
+
internal double FrameRate;
|
|
22
|
+
internal bool Overwrite;
|
|
23
|
+
internal bool Existing;
|
|
24
|
+
internal string ExistingGuid;
|
|
25
|
+
internal Type TimelineType;
|
|
26
|
+
internal PropertyInfo EditorSettingsProperty;
|
|
27
|
+
internal PropertyInfo FrameRateProperty;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/// <summary>effect 前解析 Timeline API、输出路径、frame-rate member 与现有 asset identity。</summary>
|
|
31
|
+
internal static CreatePlan PrepareCreate(string rawPath, double? requestedFrameRate, bool overwrite)
|
|
32
|
+
{
|
|
33
|
+
var timelineType = RequireTimelineAssetType();
|
|
34
|
+
var path = RequireTimelinePath(rawPath);
|
|
35
|
+
var frameRate = requestedFrameRate ?? 60d;
|
|
36
|
+
if (double.IsNaN(frameRate) || double.IsInfinity(frameRate) || frameRate < 0.000001d || frameRate > 1000d)
|
|
37
|
+
throw Error("E_TIMELINE_FRAME_RATE_INVALID", "Timeline frameRate must be finite and within [0.000001,1000].", path, null);
|
|
38
|
+
|
|
39
|
+
var settings = timelineType.GetProperty("editorSettings", BindingFlags.Public | BindingFlags.Instance);
|
|
40
|
+
var frameRateProperty = settings == null ? null : settings.PropertyType.GetProperty("frameRate", BindingFlags.Public | BindingFlags.Instance);
|
|
41
|
+
if (frameRateProperty == null || !frameRateProperty.CanRead || !frameRateProperty.CanWrite
|
|
42
|
+
|| !(frameRateProperty.PropertyType == typeof(double) || frameRateProperty.PropertyType == typeof(float)))
|
|
43
|
+
throw Error("E_TIMELINE_API_UNAVAILABLE", "The installed Timeline package does not expose a writable editorSettings.frameRate contract.", path, null);
|
|
44
|
+
|
|
45
|
+
var existing = AssetDatabase.LoadMainAssetAtPath(path);
|
|
46
|
+
var orphanMetaPath = AssetToolSupport.AssetFullPath(path) + ".meta";
|
|
47
|
+
if (existing == null && !AssetToolSupport.AssetExists(path) && File.Exists(orphanMetaPath))
|
|
48
|
+
throw Error("E_TIMELINE_OUTPUT_META_EXISTS", "Timeline output metadata exists without its asset file.", path, null);
|
|
49
|
+
if (existing == null && AssetToolSupport.AssetExists(path))
|
|
50
|
+
throw Error("E_TIMELINE_OUTPUT_TYPE_CONFLICT", "Timeline output exists but is not a readable main asset.", path, null);
|
|
51
|
+
if (existing != null && !timelineType.IsInstanceOfType(existing))
|
|
52
|
+
throw Error("E_TIMELINE_OUTPUT_TYPE_CONFLICT", "Timeline output path is occupied by a different asset type.", path, AssetDatabase.AssetPathToGUID(path));
|
|
53
|
+
if (existing != null && !overwrite)
|
|
54
|
+
throw Error("E_TIMELINE_OUTPUT_EXISTS", "Timeline output already exists.", path, AssetDatabase.AssetPathToGUID(path));
|
|
55
|
+
return new CreatePlan
|
|
56
|
+
{
|
|
57
|
+
Path = path,
|
|
58
|
+
FrameRate = frameRate,
|
|
59
|
+
Overwrite = overwrite,
|
|
60
|
+
Existing = existing != null,
|
|
61
|
+
ExistingGuid = existing == null ? null : AssetDatabase.AssetPathToGUID(path),
|
|
62
|
+
TimelineType = timelineType,
|
|
63
|
+
EditorSettingsProperty = settings,
|
|
64
|
+
FrameRateProperty = frameRateProperty
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/// <summary>在唯一 effect boundary 后创建或替换 TimelineAsset,并同步写入 asset database。</summary>
|
|
69
|
+
internal static void Create(CreatePlan plan)
|
|
70
|
+
{
|
|
71
|
+
var timeline = ScriptableObject.CreateInstance(plan.TimelineType);
|
|
72
|
+
var persistent = false;
|
|
73
|
+
try
|
|
74
|
+
{
|
|
75
|
+
var settings = plan.EditorSettingsProperty.GetValue(timeline, null);
|
|
76
|
+
if (settings == null)
|
|
77
|
+
throw Error("E_TIMELINE_CREATE_FAILED", "Timeline editor settings were unavailable after instance creation.", plan.Path, null);
|
|
78
|
+
plan.FrameRateProperty.SetValue(settings,
|
|
79
|
+
plan.FrameRateProperty.PropertyType == typeof(float) ? (object)(float)plan.FrameRate : plan.FrameRate,
|
|
80
|
+
null);
|
|
81
|
+
if (plan.Existing && !AssetDatabase.DeleteAsset(plan.Path))
|
|
82
|
+
throw Error("E_TIMELINE_CREATE_FAILED", "Unity could not replace the existing Timeline asset.", plan.Path, plan.ExistingGuid);
|
|
83
|
+
AssetToolSupport.CreateAssetDirectory(plan.Path);
|
|
84
|
+
AssetDatabase.CreateAsset(timeline, plan.Path);
|
|
85
|
+
persistent = true;
|
|
86
|
+
EditorUtility.SetDirty(timeline);
|
|
87
|
+
AssetDatabase.SaveAssets();
|
|
88
|
+
AssetDatabase.ImportAsset(plan.Path, ImportAssetOptions.ForceSynchronousImport);
|
|
89
|
+
}
|
|
90
|
+
finally
|
|
91
|
+
{
|
|
92
|
+
if (!persistent && timeline != null) UnityEngine.Object.DestroyImmediate(timeline);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/// <summary>fresh 加载 TimelineAsset,证明 path/GUID/type/frameRate 和 serialized file artifact。</summary>
|
|
97
|
+
internal static TimelineAssetInfo ProveCreate(CreatePlan plan)
|
|
98
|
+
{
|
|
99
|
+
var asset = AssetDatabase.LoadMainAssetAtPath(plan.Path);
|
|
100
|
+
var guid = AssetDatabase.AssetPathToGUID(plan.Path);
|
|
101
|
+
var resolvedPath = string.IsNullOrEmpty(guid) ? null : AssetDatabase.GUIDToAssetPath(guid);
|
|
102
|
+
var frameRate = asset == null ? 0d : ReadFrameRate(asset, plan.TimelineType);
|
|
103
|
+
var fullPath = AssetToolSupport.AssetFullPath(plan.Path);
|
|
104
|
+
var file = new FileInfo(fullPath);
|
|
105
|
+
if (asset == null || !plan.TimelineType.IsInstanceOfType(asset)
|
|
106
|
+
|| string.IsNullOrEmpty(guid)
|
|
107
|
+
|| !string.Equals(resolvedPath, plan.Path, StringComparison.Ordinal)
|
|
108
|
+
|| (plan.Existing && !string.Equals(guid, plan.ExistingGuid, StringComparison.Ordinal))
|
|
109
|
+
|| Math.Abs(frameRate - plan.FrameRate) > 0.000001d
|
|
110
|
+
|| !file.Exists || file.Length <= 0L)
|
|
111
|
+
throw Error("E_TIMELINE_CREATE_PROOF_FAILED", "The created Timeline asset did not match its frozen path, GUID, type, frame rate, or file artifact.", resolvedPath, guid);
|
|
112
|
+
return new TimelineAssetInfo
|
|
113
|
+
{
|
|
114
|
+
Path = resolvedPath,
|
|
115
|
+
Guid = guid,
|
|
116
|
+
Name = asset.name,
|
|
117
|
+
Type = asset.GetType().FullName,
|
|
118
|
+
FrameRate = frameRate,
|
|
119
|
+
Duration = ReadDoubleProperty(asset, plan.TimelineType, "duration"),
|
|
120
|
+
TrackCount = 0,
|
|
121
|
+
SizeBytes = file.Length
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
internal static TimelineAssetInfo Preview(CreatePlan plan)
|
|
126
|
+
{
|
|
127
|
+
return new TimelineAssetInfo
|
|
128
|
+
{
|
|
129
|
+
Path = plan.Path,
|
|
130
|
+
Guid = plan.ExistingGuid,
|
|
131
|
+
Name = Path.GetFileNameWithoutExtension(plan.Path),
|
|
132
|
+
Type = plan.TimelineType.FullName,
|
|
133
|
+
FrameRate = plan.FrameRate,
|
|
134
|
+
Duration = 0d,
|
|
135
|
+
TrackCount = 0,
|
|
136
|
+
SizeBytes = 0L
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
internal static Type RequireTimelineAssetType()
|
|
141
|
+
{
|
|
142
|
+
var type = Type.GetType(TimelineAssetTypeName, false);
|
|
143
|
+
if (type == null || !typeof(ScriptableObject).IsAssignableFrom(type))
|
|
144
|
+
throw Error("E_TIMELINE_PACKAGE_UNAVAILABLE", "The installed project does not expose the TimelineAsset runtime type.", null, null);
|
|
145
|
+
return type;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
internal static string RequireTimelinePath(string rawPath)
|
|
149
|
+
{
|
|
150
|
+
var path = AssetToolSupport.RequireAssetPath(rawPath);
|
|
151
|
+
if (!path.EndsWith(".playable", StringComparison.OrdinalIgnoreCase))
|
|
152
|
+
throw Error("E_TIMELINE_PATH_INVALID", "Timeline asset path must end with .playable.", path, null);
|
|
153
|
+
return path;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
internal static double ReadFrameRate(object timeline, Type timelineType)
|
|
157
|
+
{
|
|
158
|
+
var settingsProperty = timelineType.GetProperty("editorSettings", BindingFlags.Public | BindingFlags.Instance);
|
|
159
|
+
var settings = settingsProperty == null ? null : settingsProperty.GetValue(timeline, null);
|
|
160
|
+
if (settings == null) return 0d;
|
|
161
|
+
var property = settings.GetType().GetProperty("frameRate", BindingFlags.Public | BindingFlags.Instance);
|
|
162
|
+
if (property == null || !property.CanRead) return 0d;
|
|
163
|
+
return Convert.ToDouble(property.GetValue(settings, null), CultureInfo.InvariantCulture);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
internal static double ReadDoubleProperty(object target, Type type, string name)
|
|
167
|
+
{
|
|
168
|
+
var property = type.GetProperty(name, BindingFlags.Public | BindingFlags.Instance);
|
|
169
|
+
if (property == null || !property.CanRead) return 0d;
|
|
170
|
+
return Convert.ToDouble(property.GetValue(target, null), CultureInfo.InvariantCulture);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
private static UnityCliBridge.BridgeCommandException Error(string code, string message, string path, string guid)
|
|
174
|
+
{
|
|
175
|
+
return new UnityCliBridge.BridgeCommandException(
|
|
176
|
+
code,
|
|
177
|
+
message,
|
|
178
|
+
new Dictionary<string, object> { { "path", path }, { "guid", guid }, { "requiredPackage", PackageId } },
|
|
179
|
+
new[] { "Run tools describe timeline.create and verify com.unity.timeline is installed before retrying." });
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
public sealed class TimelineAssetInfo
|
|
184
|
+
{
|
|
185
|
+
public string Path { get; set; }
|
|
186
|
+
public string Guid { get; set; }
|
|
187
|
+
public string Name { get; set; }
|
|
188
|
+
public string Type { get; set; }
|
|
189
|
+
public double FrameRate { get; set; }
|
|
190
|
+
public double Duration { get; set; }
|
|
191
|
+
public long TrackCount { get; set; }
|
|
192
|
+
public long SizeBytes { get; set; }
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
public sealed class TimelinePlannedEffect
|
|
196
|
+
{
|
|
197
|
+
public string Type { get; set; }
|
|
198
|
+
public string Path { get; set; }
|
|
199
|
+
public string Target { get; set; }
|
|
200
|
+
public string SideEffects { get; set; }
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
#endif
|