@atelierai/uco 1.0.6 → 1.0.8
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/CHANGELOG.md +32 -0
- package/README.md +7 -8
- package/bin/server.mjs +1 -1
- package/bin/stub-plugin.mjs +3 -3
- package/dist/codegen/coerce.js +1 -1
- package/dist/codegen/coerce.js.map +1 -1
- package/dist/codegen/emit.js +2 -2
- package/dist/codegen/emit.js.map +1 -1
- package/dist/codegen/refs.js +1 -1
- package/dist/codegen/refs.js.map +1 -1
- package/dist/codegen/types.js +1 -1
- package/dist/codegen/types.js.map +1 -1
- package/dist/commands/call.js +1 -1
- package/dist/commands/call.js.map +1 -1
- package/dist/commands/devops/configure.js +1 -1
- package/dist/commands/devops/configure.js.map +1 -1
- package/dist/commands/devops/index.js +0 -4
- package/dist/commands/devops/index.js.map +1 -1
- package/dist/commands/devops/install-plugin.js +1 -1
- package/dist/commands/devops/install-plugin.js.map +1 -1
- package/dist/commands/devops/open.js +7 -7
- package/dist/commands/devops/open.js.map +1 -1
- package/dist/commands/devops/status.js +3 -3
- package/dist/commands/devops/status.js.map +1 -1
- package/dist/commands/exec.js +1 -1
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/install.js +2 -2
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/prompt.js +2 -2
- package/dist/commands/prompt.js.map +1 -1
- package/dist/commands/resource.js +2 -2
- package/dist/commands/resource.js.map +1 -1
- package/dist/commands/update.js +1 -26
- package/dist/commands/update.js.map +1 -1
- package/dist/config/port.js +2 -2
- package/dist/config/port.js.map +1 -1
- package/dist/config/resolve.d.ts +1 -2
- package/dist/config/resolve.js +0 -12
- package/dist/config/resolve.js.map +1 -1
- package/dist/devops/lib/configure.d.ts +1 -1
- package/dist/devops/lib/configure.js +2 -2
- package/dist/devops/lib/configure.js.map +1 -1
- package/dist/devops/lib/install-plugin.d.ts +1 -1
- package/dist/devops/lib/install-plugin.js +1 -1
- package/dist/devops/lib/install-plugin.js.map +1 -1
- package/dist/devops/lib/install.d.ts +2 -2
- package/dist/devops/lib/install.js +5 -5
- package/dist/devops/lib/install.js.map +1 -1
- package/dist/devops/lib/open.js +11 -32
- package/dist/devops/lib/open.js.map +1 -1
- package/dist/devops/lib/remove-plugin.d.ts +1 -1
- package/dist/devops/lib/remove-plugin.js +3 -3
- package/dist/devops/lib/remove-plugin.js.map +1 -1
- package/dist/devops/lib/run-tool.d.ts +2 -2
- package/dist/devops/lib/run-tool.js +2 -2
- package/dist/devops/lib/types.d.ts +17 -54
- package/dist/devops/lib/types.js +2 -2
- package/dist/devops/lib/types.js.map +1 -1
- package/dist/devops/lib/update.d.ts +0 -15
- package/dist/devops/lib/update.js +2 -91
- package/dist/devops/lib/update.js.map +1 -1
- package/dist/devops/utils/agents.d.ts +0 -28
- package/dist/devops/utils/agents.js +0 -462
- package/dist/devops/utils/agents.js.map +1 -1
- package/dist/devops/utils/config.d.ts +9 -18
- package/dist/devops/utils/config.js +7 -20
- package/dist/devops/utils/config.js.map +1 -1
- package/dist/devops/utils/editor-cache.js +1 -1
- package/dist/devops/utils/editor-cache.js.map +1 -1
- package/dist/devops/utils/launch-error-dismiss.d.ts +2 -2
- package/dist/devops/utils/launch-error-dismiss.js +5 -5
- package/dist/devops/utils/manifest.d.ts +2 -2
- package/dist/devops/utils/manifest.js +3 -3
- package/dist/devops/utils/manifest.js.map +1 -1
- package/dist/devops/utils/port.d.ts +1 -1
- package/dist/devops/utils/port.js +1 -1
- package/dist/devops/utils/probe.d.ts +1 -1
- package/dist/devops/utils/probe.js +1 -1
- package/dist/devops/utils/ui.js +2 -2
- package/dist/devops/utils/ui.js.map +1 -1
- package/dist/devops/utils/unity-editor.js +4 -4
- package/dist/devops/utils/unity-editor.js.map +1 -1
- package/dist/devops/utils/unity-hub.js +1 -1
- package/dist/devops/utils/unity-hub.js.map +1 -1
- package/dist/devops/utils/unity-shutdown.d.ts +1 -1
- package/dist/devops/utils/unity-shutdown.js +1 -1
- package/dist/devops/utils/update-check.js +3 -3
- package/dist/devops/utils/update-check.js.map +1 -1
- package/dist/devops/utils/vendor.d.ts +2 -2
- package/dist/devops/utils/vendor.js +4 -4
- package/dist/devops/utils/vendor.js.map +1 -1
- package/dist/generated/tools.js +1 -1
- package/dist/generated/tools.js.map +1 -1
- package/dist/program.js +3 -3
- package/dist/program.js.map +1 -1
- package/dist/server/app.d.ts +5 -5
- package/dist/server/app.js +3 -3
- package/dist/server/app.js.map +1 -1
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/rest/auth.d.ts +1 -1
- package/dist/server/rest/auth.js +3 -3
- package/dist/server/rest/auth.js.map +1 -1
- package/dist/server/rest/context.d.ts +2 -2
- package/dist/server/rest/forward.d.ts +2 -2
- package/dist/server/session/store.d.ts +3 -3
- package/dist/server/session/store.js +4 -4
- package/dist/server/session/store.js.map +1 -1
- package/dist/server/stub-client/scenarios.js +8 -8
- package/dist/server/stub-client/scenarios.js.map +1 -1
- package/dist/server/types.d.ts +11 -11
- package/dist/server/types.js +9 -9
- package/dist/server/types.js.map +1 -1
- package/dist/server/ws/hub.d.ts +8 -8
- package/dist/server/ws/hub.js +13 -13
- package/dist/server/ws/hub.js.map +1 -1
- package/dist/server/ws/rpc.d.ts +3 -3
- package/dist/server/ws/rpc.js +4 -4
- package/dist/server/ws/rpc.js.map +1 -1
- package/dist/transport/index.d.ts +1 -1
- package/dist/transport/index.js +3 -3
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/rest.js +1 -1
- package/dist/transport/rest.js.map +1 -1
- package/docs/INSTALL.zh-CN.md +2 -3
- package/package.json +1 -1
- package/skills/uco-setup/SKILL.md +1 -1
- package/skills/unity-editor/references/diagnostics.md +24 -24
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetConfig.cs +132 -132
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetDependencyResolver.cs +237 -237
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetDownloader.cs +82 -82
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Resource/MenuItems.cs +247 -247
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Resource/ToolGroups.cs +153 -153
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/SystemTool/Skills.Create.SkillBody.cs +155 -155
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Console.GetLogs.cs +95 -95
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Docs.HttpFetcher.cs +139 -139
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Instance.ListAll.cs +72 -72
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/PathReadHelper.cs +106 -106
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Script.Validate.cs +252 -252
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Tests/TestResultCollector.cs +537 -537
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Tests.cs +400 -400
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Branding/ProductInfo.cs +62 -62
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/CopilotServerManager.cs +1034 -1034
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Skills/Skill_InitialSetup.cs +197 -197
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Startup.Editor.cs +201 -201
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Startup.cs +67 -67
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Components/ExtensionPanel.cs +379 -379
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/MenuItems.cs +72 -72
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/UnityCopilotProjectSettingsProvider.cs +64 -64
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/CopilotListWindowBase.cs +393 -393
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/CopilotWindowBase.cs +113 -113
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.Connection.cs +3 -3
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CopilotFeatures.cs +195 -195
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CopilotServer.cs +372 -372
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CreateGUI.cs +354 -354
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.cs +78 -78
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowInitializer.cs +47 -47
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/SerializationCheckWindow.cs +190 -190
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Build.cs +91 -91
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Config.cs +298 -298
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Static.cs +296 -296
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.cs +69 -69
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/PackageUtils.cs +168 -168
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/PrefsKeyMigration.cs +119 -119
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/SafeDefaultsGuard.cs +180 -180
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/ScriptUtils.cs +229 -229
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/ToolsManifestGenerator.cs +200 -200
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityAuthoringAdapters.cs +1467 -1467
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityAuthoringSafetyReloadGuard.cs +65 -65
- package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityCopilotUpdateProjectSettings.cs +66 -66
- package/vendor/plugin/com.atelierai.unity.copilot/Plugins/ReflectorNet.dll +0 -0
- package/vendor/plugin/com.atelierai.unity.copilot/Plugins/Uco.Framework.Common.dll +0 -0
- package/vendor/plugin/com.atelierai.unity.copilot/Plugins/Uco.Framework.dll +0 -0
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Converter/Json/Structures/EntityIdConverter.cs +120 -120
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Data/GameObjectMetadata.cs +110 -110
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Data/GameObjectMetadata.pre-Unity.6.5.cs +110 -110
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Unity/Logs/FileLogStorage.cs +547 -547
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.Build.cs +243 -243
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.Config.cs +175 -175
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.cs +295 -295
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginBuilder.cs +105 -105
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginRuntime.Static.cs +155 -155
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginRuntime.cs +59 -59
- package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Utils/EnvironmentUtils.cs +368 -368
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AtomicApi/AtomicApiTestFixtures.cs +99 -99
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AtomicApi/TryModifyAtTests.cs +227 -227
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AuthoringSafetyPilotTests.cs +1050 -1050
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetLegacyMigrationTests.cs +304 -304
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Environment/EnvironmentUtilsTests.cs +4 -4
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/BlacklistTypeTests.cs +416 -416
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataFieldScriptableObjectPopulationTests.cs +172 -172
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataFieldScriptableObjectPopulationTests.pre-Unity.6.5.cs +169 -169
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPopulationTests.cs +182 -182
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPopulationTests.pre-Unity.6.5.cs +179 -179
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyPopulationTests.cs +175 -175
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyPopulationTests.pre-Unity.6.5.cs +174 -174
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyScriptableObjectPopulationTests.cs +171 -171
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyScriptableObjectPopulationTests.pre-Unity.6.5.cs +170 -170
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsCreateFolderTests.cs +243 -243
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsMaterialTests.cs +101 -101
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs +348 -348
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs +348 -348
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsShaderTests.cs +194 -194
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/PathBasedToolTests.cs +573 -573
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/PathBasedToolTests.pre-Unity.6.5.cs +513 -513
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotCameraTests.cs +154 -154
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotCameraTests.pre-Unity.6.5.cs +154 -154
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotGameViewTests.cs +164 -164
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotSceneViewTests.cs +155 -155
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolParameterTests.cs +56 -56
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolThreadSafetyTests.cs +651 -651
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolThreadSafetyTests.pre-Unity.6.5.cs +651 -651
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ToolBatchExecutionIntegrationTests.cs +407 -407
- package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/{McpPluginTests.cs → UcoPluginTests.cs} +105 -105
- package/vendor/plugin/com.atelierai.unity.copilot/package.json +1 -1
- package/dist/commands/devops/login.d.ts +0 -2
- package/dist/commands/devops/login.js +0 -29
- package/dist/commands/devops/login.js.map +0 -1
- package/dist/commands/devops/setup-mcp.d.ts +0 -2
- package/dist/commands/devops/setup-mcp.js +0 -41
- package/dist/commands/devops/setup-mcp.js.map +0 -1
- package/dist/devops/commands-upstream/bootstrap-local.d.ts +0 -17
- package/dist/devops/commands-upstream/bootstrap-local.js +0 -87
- package/dist/devops/commands-upstream/bootstrap-local.js.map +0 -1
- package/dist/devops/commands-upstream/close.d.ts +0 -57
- package/dist/devops/commands-upstream/close.js +0 -188
- package/dist/devops/commands-upstream/close.js.map +0 -1
- package/dist/devops/commands-upstream/configure.d.ts +0 -2
- package/dist/devops/commands-upstream/configure.js +0 -87
- package/dist/devops/commands-upstream/configure.js.map +0 -1
- package/dist/devops/commands-upstream/create-project.d.ts +0 -2
- package/dist/devops/commands-upstream/create-project.js +0 -43
- package/dist/devops/commands-upstream/create-project.js.map +0 -1
- package/dist/devops/commands-upstream/install-plugin.d.ts +0 -2
- package/dist/devops/commands-upstream/install-plugin.js +0 -64
- package/dist/devops/commands-upstream/install-plugin.js.map +0 -1
- package/dist/devops/commands-upstream/install-unity.d.ts +0 -2
- package/dist/devops/commands-upstream/install-unity.js +0 -72
- package/dist/devops/commands-upstream/install-unity.js.map +0 -1
- package/dist/devops/commands-upstream/login.d.ts +0 -2
- package/dist/devops/commands-upstream/login.js +0 -33
- package/dist/devops/commands-upstream/login.js.map +0 -1
- package/dist/devops/commands-upstream/open.d.ts +0 -32
- package/dist/devops/commands-upstream/open.js +0 -282
- package/dist/devops/commands-upstream/open.js.map +0 -1
- package/dist/devops/commands-upstream/remove-plugin.d.ts +0 -2
- package/dist/devops/commands-upstream/remove-plugin.js +0 -41
- package/dist/devops/commands-upstream/remove-plugin.js.map +0 -1
- package/dist/devops/commands-upstream/run-system-tool.d.ts +0 -1
- package/dist/devops/commands-upstream/run-system-tool.js +0 -13
- package/dist/devops/commands-upstream/run-system-tool.js.map +0 -1
- package/dist/devops/commands-upstream/run-tool-builder.d.ts +0 -25
- package/dist/devops/commands-upstream/run-tool-builder.js +0 -125
- package/dist/devops/commands-upstream/run-tool-builder.js.map +0 -1
- package/dist/devops/commands-upstream/run-tool.d.ts +0 -1
- package/dist/devops/commands-upstream/run-tool.js +0 -13
- package/dist/devops/commands-upstream/run-tool.js.map +0 -1
- package/dist/devops/commands-upstream/setup-mcp.d.ts +0 -2
- package/dist/devops/commands-upstream/setup-mcp.js +0 -68
- package/dist/devops/commands-upstream/setup-mcp.js.map +0 -1
- package/dist/devops/commands-upstream/setup-skills.d.ts +0 -2
- package/dist/devops/commands-upstream/setup-skills.js +0 -167
- package/dist/devops/commands-upstream/setup-skills.js.map +0 -1
- package/dist/devops/commands-upstream/status.d.ts +0 -2
- package/dist/devops/commands-upstream/status.js +0 -87
- package/dist/devops/commands-upstream/status.js.map +0 -1
- package/dist/devops/commands-upstream/update.d.ts +0 -2
- package/dist/devops/commands-upstream/update.js +0 -77
- package/dist/devops/commands-upstream/update.js.map +0 -1
- package/dist/devops/commands-upstream/wait-for-ready.d.ts +0 -2
- package/dist/devops/commands-upstream/wait-for-ready.js +0 -93
- package/dist/devops/commands-upstream/wait-for-ready.js.map +0 -1
- package/dist/devops/lib/setup-mcp.d.ts +0 -35
- package/dist/devops/lib/setup-mcp.js +0 -177
- package/dist/devops/lib/setup-mcp.js.map +0 -1
- package/dist/devops/utils/cloud-login.d.ts +0 -7
- package/dist/devops/utils/cloud-login.js +0 -56
- package/dist/devops/utils/cloud-login.js.map +0 -1
- /package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/{McpPluginTests.cs.meta → UcoPluginTests.cs.meta} +0 -0
package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsShaderTests.cs
CHANGED
|
@@ -1,194 +1,194 @@
|
|
|
1
|
-
/*
|
|
2
|
-
┌──────────────────────────────────────────────────────────────────┐
|
|
3
|
-
│ Author: Ivan Murzak (https://github.com/IvanMurzak) │
|
|
4
|
-
│ Repository: GitHub (https://github.com/IvanMurzak/Unity-MCP) │
|
|
5
|
-
│ Copyright (c) 2025 Ivan Murzak │
|
|
6
|
-
│ Licensed under the Apache License, Version 2.0. │
|
|
7
|
-
│ See the LICENSE file in the project root for more information. │
|
|
8
|
-
└──────────────────────────────────────────────────────────────────┘
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
#nullable enable
|
|
12
|
-
using System.Collections.Generic;
|
|
13
|
-
using com.AtelierAI.Uco.Framework.Common.Model;
|
|
14
|
-
using com.IvanMurzak.ReflectorNet;
|
|
15
|
-
using com.AtelierAI.Unity.Copilot.Editor.API;
|
|
16
|
-
using com.AtelierAI.Unity.Copilot.Editor.Tests.Utils;
|
|
17
|
-
using NUnit.Framework;
|
|
18
|
-
using UnityEditor;
|
|
19
|
-
using UnityEngine;
|
|
20
|
-
using UnityEngine.TestTools;
|
|
21
|
-
|
|
22
|
-
namespace com.AtelierAI.Unity.Copilot.Editor.Tests
|
|
23
|
-
{
|
|
24
|
-
public partial class AssetsShaderTests : BaseTest
|
|
25
|
-
{
|
|
26
|
-
const string ValidShaderSource = @"
|
|
27
|
-
Shader ""Test/ValidShader""
|
|
28
|
-
{
|
|
29
|
-
Properties
|
|
30
|
-
{
|
|
31
|
-
_Color (""Main Color"", Color) = (1,1,1,1)
|
|
32
|
-
_MainTex (""Base (RGB)"", 2D) = ""white"" {}
|
|
33
|
-
_Glossiness (""Smoothness"", Range(0,1)) = 0.5
|
|
34
|
-
_Metallic (""Metallic"", Range(0,1)) = 0.0
|
|
35
|
-
}
|
|
36
|
-
SubShader
|
|
37
|
-
{
|
|
38
|
-
Tags { ""RenderType""=""Opaque"" }
|
|
39
|
-
LOD 200
|
|
40
|
-
|
|
41
|
-
CGPROGRAM
|
|
42
|
-
#pragma surface surf Standard fullforwardshadows
|
|
43
|
-
#pragma target 3.0
|
|
44
|
-
|
|
45
|
-
sampler2D _MainTex;
|
|
46
|
-
|
|
47
|
-
struct Input
|
|
48
|
-
{
|
|
49
|
-
float2 uv_MainTex;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
half _Glossiness;
|
|
53
|
-
half _Metallic;
|
|
54
|
-
fixed4 _Color;
|
|
55
|
-
|
|
56
|
-
void surf (Input IN, inout SurfaceOutputStandard o)
|
|
57
|
-
{
|
|
58
|
-
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
|
|
59
|
-
o.Albedo = c.rgb;
|
|
60
|
-
o.Metallic = _Metallic;
|
|
61
|
-
o.Smoothness = _Glossiness;
|
|
62
|
-
o.Alpha = c.a;
|
|
63
|
-
}
|
|
64
|
-
ENDCG
|
|
65
|
-
}
|
|
66
|
-
FallBack ""Diffuse""
|
|
67
|
-
}";
|
|
68
|
-
|
|
69
|
-
const string BrokenShaderSource = @"
|
|
70
|
-
Shader ""Test/BrokenShader""
|
|
71
|
-
{
|
|
72
|
-
Properties
|
|
73
|
-
{
|
|
74
|
-
_Color (""Main Color"", Color) = (1,1,1,1)
|
|
75
|
-
}
|
|
76
|
-
SubShader
|
|
77
|
-
{
|
|
78
|
-
Tags { ""RenderType""=""Opaque"" }
|
|
79
|
-
LOD 200
|
|
80
|
-
|
|
81
|
-
CGPROGRAM
|
|
82
|
-
#pragma surface surf Standard fullforwardshadows
|
|
83
|
-
#pragma target 3.0
|
|
84
|
-
|
|
85
|
-
struct Input
|
|
86
|
-
{
|
|
87
|
-
float2 uv_MainTex;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
fixed4 _Color;
|
|
91
|
-
|
|
92
|
-
void surf (Input IN, inout SurfaceOutputStandard o)
|
|
93
|
-
{
|
|
94
|
-
o.Albedo = undeclaredVariable;
|
|
95
|
-
o.Alpha = _Color.a;
|
|
96
|
-
}
|
|
97
|
-
ENDCG
|
|
98
|
-
}
|
|
99
|
-
FallBack ""Diffuse""
|
|
100
|
-
}";
|
|
101
|
-
|
|
102
|
-
[Test]
|
|
103
|
-
public void Shader_GetData_ValidShader()
|
|
104
|
-
{
|
|
105
|
-
var shaderEx = new CreateShaderExecutor(
|
|
106
|
-
shaderFileName: "TestValidShader__.shader",
|
|
107
|
-
shaderSource: ValidShaderSource,
|
|
108
|
-
"Assets", "Unity-
|
|
109
|
-
);
|
|
110
|
-
|
|
111
|
-
shaderEx
|
|
112
|
-
.AddChild(new CallToolExecutor(
|
|
113
|
-
toolMethod: typeof(Tool_Assets_Shader).GetMethod(nameof(Tool_Assets_Shader.GetData)),
|
|
114
|
-
json: JsonTestUtils.Fill(@"{
|
|
115
|
-
""assetRef"": {
|
|
116
|
-
""assetPath"": ""{assetPath}""
|
|
117
|
-
},
|
|
118
|
-
""includeProperties"": true
|
|
119
|
-
}",
|
|
120
|
-
new Dictionary<string, object?>
|
|
121
|
-
{
|
|
122
|
-
{ "{assetPath}", shaderEx.AssetPath }
|
|
123
|
-
}))
|
|
124
|
-
)
|
|
125
|
-
.AddChild(new ValidateToolResultExecutor())
|
|
126
|
-
.AddChild<ResponseData<ResponseCallTool>>(result =>
|
|
127
|
-
{
|
|
128
|
-
var reflector = UnityCopilotPluginEditor.Instance.Reflector;
|
|
129
|
-
var jsonResult = result.ToJson(reflector)!;
|
|
130
|
-
Assert.IsTrue(jsonResult.Contains("HasErrors"), "Response should contain 'HasErrors' field.");
|
|
131
|
-
Assert.IsTrue(jsonResult.Contains("false"), "Response should contain 'false' value (HasErrors) for valid shader.");
|
|
132
|
-
Assert.IsTrue(jsonResult.Contains("_Color"), "Response should contain '_Color' property from valid shader.");
|
|
133
|
-
Assert.IsTrue(jsonResult.Contains("_MainTex"), "Response should contain '_MainTex' property from valid shader.");
|
|
134
|
-
Assert.IsTrue(jsonResult.Contains("Opaque"), "Response should contain 'Opaque' RenderType from valid shader.");
|
|
135
|
-
})
|
|
136
|
-
.AddChild(() =>
|
|
137
|
-
{
|
|
138
|
-
var shader = AssetDatabase.LoadAssetAtPath<UnityEngine.Shader>(shaderEx.AssetPath);
|
|
139
|
-
Assert.IsNotNull(shader, $"Shader should exist at path: {shaderEx.AssetPath}");
|
|
140
|
-
Assert.IsFalse(ShaderUtil.ShaderHasError(shader), "Valid shader should have no errors.");
|
|
141
|
-
})
|
|
142
|
-
.Execute();
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
[Test]
|
|
146
|
-
public void Shader_GetData_BrokenShader()
|
|
147
|
-
{
|
|
148
|
-
var shaderEx = new CreateShaderExecutor(
|
|
149
|
-
shaderFileName: "TestBrokenShader__.shader",
|
|
150
|
-
shaderSource: BrokenShaderSource,
|
|
151
|
-
"Assets", "Unity-
|
|
152
|
-
);
|
|
153
|
-
|
|
154
|
-
// Expect the shader compilation error log that Unity emits during import
|
|
155
|
-
LogAssert.Expect(LogType.Error, new System.Text.RegularExpressions.Regex("Shader error in 'Test/BrokenShader'"));
|
|
156
|
-
|
|
157
|
-
shaderEx
|
|
158
|
-
.AddChild(new CallToolExecutor(
|
|
159
|
-
toolMethod: typeof(Tool_Assets_Shader).GetMethod(nameof(Tool_Assets_Shader.GetData)),
|
|
160
|
-
json: JsonTestUtils.Fill(@"{
|
|
161
|
-
""assetRef"": {
|
|
162
|
-
""assetPath"": ""{assetPath}""
|
|
163
|
-
}
|
|
164
|
-
}",
|
|
165
|
-
new Dictionary<string, object?>
|
|
166
|
-
{
|
|
167
|
-
{ "{assetPath}", shaderEx.AssetPath }
|
|
168
|
-
}))
|
|
169
|
-
)
|
|
170
|
-
.AddChild(new ValidateToolResultExecutor())
|
|
171
|
-
.AddChild<ResponseData<ResponseCallTool>>(result =>
|
|
172
|
-
{
|
|
173
|
-
var reflector = UnityCopilotPluginEditor.Instance.Reflector;
|
|
174
|
-
var jsonResult = result.ToJson(reflector)!;
|
|
175
|
-
Assert.IsTrue(jsonResult.Contains("HasErrors"), "Response should contain 'HasErrors' field.");
|
|
176
|
-
Assert.IsTrue(jsonResult.Contains("true"), "Response should contain 'true' value (HasErrors) for broken shader.");
|
|
177
|
-
Assert.IsTrue(jsonResult.Contains("Messages"), "Response should contain 'Messages' field for broken shader.");
|
|
178
|
-
Assert.IsTrue(jsonResult.Contains("Severity"), "Response should contain 'Severity' field in shader messages.");
|
|
179
|
-
Assert.IsTrue(jsonResult.Contains("Line"), "Response should contain 'Line' field in shader error messages.");
|
|
180
|
-
})
|
|
181
|
-
.AddChild(() =>
|
|
182
|
-
{
|
|
183
|
-
var shader = AssetDatabase.LoadAssetAtPath<UnityEngine.Shader>(shaderEx.AssetPath);
|
|
184
|
-
Assert.IsNotNull(shader, $"Shader should exist at path: {shaderEx.AssetPath}");
|
|
185
|
-
Assert.IsTrue(ShaderUtil.ShaderHasError(shader), "Broken shader should have errors.");
|
|
186
|
-
|
|
187
|
-
var messages = ShaderUtil.GetShaderMessages(shader);
|
|
188
|
-
Assert.IsNotNull(messages, "Broken shader should have error messages.");
|
|
189
|
-
Assert.Greater(messages.Length, 0, "Broken shader should have at least one error message.");
|
|
190
|
-
})
|
|
191
|
-
.Execute();
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
┌──────────────────────────────────────────────────────────────────┐
|
|
3
|
+
│ Author: Ivan Murzak (https://github.com/IvanMurzak) │
|
|
4
|
+
│ Repository: GitHub (https://github.com/IvanMurzak/Unity-MCP) │
|
|
5
|
+
│ Copyright (c) 2025 Ivan Murzak │
|
|
6
|
+
│ Licensed under the Apache License, Version 2.0. │
|
|
7
|
+
│ See the LICENSE file in the project root for more information. │
|
|
8
|
+
└──────────────────────────────────────────────────────────────────┘
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#nullable enable
|
|
12
|
+
using System.Collections.Generic;
|
|
13
|
+
using com.AtelierAI.Uco.Framework.Common.Model;
|
|
14
|
+
using com.IvanMurzak.ReflectorNet;
|
|
15
|
+
using com.AtelierAI.Unity.Copilot.Editor.API;
|
|
16
|
+
using com.AtelierAI.Unity.Copilot.Editor.Tests.Utils;
|
|
17
|
+
using NUnit.Framework;
|
|
18
|
+
using UnityEditor;
|
|
19
|
+
using UnityEngine;
|
|
20
|
+
using UnityEngine.TestTools;
|
|
21
|
+
|
|
22
|
+
namespace com.AtelierAI.Unity.Copilot.Editor.Tests
|
|
23
|
+
{
|
|
24
|
+
public partial class AssetsShaderTests : BaseTest
|
|
25
|
+
{
|
|
26
|
+
const string ValidShaderSource = @"
|
|
27
|
+
Shader ""Test/ValidShader""
|
|
28
|
+
{
|
|
29
|
+
Properties
|
|
30
|
+
{
|
|
31
|
+
_Color (""Main Color"", Color) = (1,1,1,1)
|
|
32
|
+
_MainTex (""Base (RGB)"", 2D) = ""white"" {}
|
|
33
|
+
_Glossiness (""Smoothness"", Range(0,1)) = 0.5
|
|
34
|
+
_Metallic (""Metallic"", Range(0,1)) = 0.0
|
|
35
|
+
}
|
|
36
|
+
SubShader
|
|
37
|
+
{
|
|
38
|
+
Tags { ""RenderType""=""Opaque"" }
|
|
39
|
+
LOD 200
|
|
40
|
+
|
|
41
|
+
CGPROGRAM
|
|
42
|
+
#pragma surface surf Standard fullforwardshadows
|
|
43
|
+
#pragma target 3.0
|
|
44
|
+
|
|
45
|
+
sampler2D _MainTex;
|
|
46
|
+
|
|
47
|
+
struct Input
|
|
48
|
+
{
|
|
49
|
+
float2 uv_MainTex;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
half _Glossiness;
|
|
53
|
+
half _Metallic;
|
|
54
|
+
fixed4 _Color;
|
|
55
|
+
|
|
56
|
+
void surf (Input IN, inout SurfaceOutputStandard o)
|
|
57
|
+
{
|
|
58
|
+
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
|
|
59
|
+
o.Albedo = c.rgb;
|
|
60
|
+
o.Metallic = _Metallic;
|
|
61
|
+
o.Smoothness = _Glossiness;
|
|
62
|
+
o.Alpha = c.a;
|
|
63
|
+
}
|
|
64
|
+
ENDCG
|
|
65
|
+
}
|
|
66
|
+
FallBack ""Diffuse""
|
|
67
|
+
}";
|
|
68
|
+
|
|
69
|
+
const string BrokenShaderSource = @"
|
|
70
|
+
Shader ""Test/BrokenShader""
|
|
71
|
+
{
|
|
72
|
+
Properties
|
|
73
|
+
{
|
|
74
|
+
_Color (""Main Color"", Color) = (1,1,1,1)
|
|
75
|
+
}
|
|
76
|
+
SubShader
|
|
77
|
+
{
|
|
78
|
+
Tags { ""RenderType""=""Opaque"" }
|
|
79
|
+
LOD 200
|
|
80
|
+
|
|
81
|
+
CGPROGRAM
|
|
82
|
+
#pragma surface surf Standard fullforwardshadows
|
|
83
|
+
#pragma target 3.0
|
|
84
|
+
|
|
85
|
+
struct Input
|
|
86
|
+
{
|
|
87
|
+
float2 uv_MainTex;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
fixed4 _Color;
|
|
91
|
+
|
|
92
|
+
void surf (Input IN, inout SurfaceOutputStandard o)
|
|
93
|
+
{
|
|
94
|
+
o.Albedo = undeclaredVariable;
|
|
95
|
+
o.Alpha = _Color.a;
|
|
96
|
+
}
|
|
97
|
+
ENDCG
|
|
98
|
+
}
|
|
99
|
+
FallBack ""Diffuse""
|
|
100
|
+
}";
|
|
101
|
+
|
|
102
|
+
[Test]
|
|
103
|
+
public void Shader_GetData_ValidShader()
|
|
104
|
+
{
|
|
105
|
+
var shaderEx = new CreateShaderExecutor(
|
|
106
|
+
shaderFileName: "TestValidShader__.shader",
|
|
107
|
+
shaderSource: ValidShaderSource,
|
|
108
|
+
"Assets", "Unity-Uco-Test", "Shaders"
|
|
109
|
+
);
|
|
110
|
+
|
|
111
|
+
shaderEx
|
|
112
|
+
.AddChild(new CallToolExecutor(
|
|
113
|
+
toolMethod: typeof(Tool_Assets_Shader).GetMethod(nameof(Tool_Assets_Shader.GetData)),
|
|
114
|
+
json: JsonTestUtils.Fill(@"{
|
|
115
|
+
""assetRef"": {
|
|
116
|
+
""assetPath"": ""{assetPath}""
|
|
117
|
+
},
|
|
118
|
+
""includeProperties"": true
|
|
119
|
+
}",
|
|
120
|
+
new Dictionary<string, object?>
|
|
121
|
+
{
|
|
122
|
+
{ "{assetPath}", shaderEx.AssetPath }
|
|
123
|
+
}))
|
|
124
|
+
)
|
|
125
|
+
.AddChild(new ValidateToolResultExecutor())
|
|
126
|
+
.AddChild<ResponseData<ResponseCallTool>>(result =>
|
|
127
|
+
{
|
|
128
|
+
var reflector = UnityCopilotPluginEditor.Instance.Reflector;
|
|
129
|
+
var jsonResult = result.ToJson(reflector)!;
|
|
130
|
+
Assert.IsTrue(jsonResult.Contains("HasErrors"), "Response should contain 'HasErrors' field.");
|
|
131
|
+
Assert.IsTrue(jsonResult.Contains("false"), "Response should contain 'false' value (HasErrors) for valid shader.");
|
|
132
|
+
Assert.IsTrue(jsonResult.Contains("_Color"), "Response should contain '_Color' property from valid shader.");
|
|
133
|
+
Assert.IsTrue(jsonResult.Contains("_MainTex"), "Response should contain '_MainTex' property from valid shader.");
|
|
134
|
+
Assert.IsTrue(jsonResult.Contains("Opaque"), "Response should contain 'Opaque' RenderType from valid shader.");
|
|
135
|
+
})
|
|
136
|
+
.AddChild(() =>
|
|
137
|
+
{
|
|
138
|
+
var shader = AssetDatabase.LoadAssetAtPath<UnityEngine.Shader>(shaderEx.AssetPath);
|
|
139
|
+
Assert.IsNotNull(shader, $"Shader should exist at path: {shaderEx.AssetPath}");
|
|
140
|
+
Assert.IsFalse(ShaderUtil.ShaderHasError(shader), "Valid shader should have no errors.");
|
|
141
|
+
})
|
|
142
|
+
.Execute();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
[Test]
|
|
146
|
+
public void Shader_GetData_BrokenShader()
|
|
147
|
+
{
|
|
148
|
+
var shaderEx = new CreateShaderExecutor(
|
|
149
|
+
shaderFileName: "TestBrokenShader__.shader",
|
|
150
|
+
shaderSource: BrokenShaderSource,
|
|
151
|
+
"Assets", "Unity-Uco-Test", "Shaders"
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
// Expect the shader compilation error log that Unity emits during import
|
|
155
|
+
LogAssert.Expect(LogType.Error, new System.Text.RegularExpressions.Regex("Shader error in 'Test/BrokenShader'"));
|
|
156
|
+
|
|
157
|
+
shaderEx
|
|
158
|
+
.AddChild(new CallToolExecutor(
|
|
159
|
+
toolMethod: typeof(Tool_Assets_Shader).GetMethod(nameof(Tool_Assets_Shader.GetData)),
|
|
160
|
+
json: JsonTestUtils.Fill(@"{
|
|
161
|
+
""assetRef"": {
|
|
162
|
+
""assetPath"": ""{assetPath}""
|
|
163
|
+
}
|
|
164
|
+
}",
|
|
165
|
+
new Dictionary<string, object?>
|
|
166
|
+
{
|
|
167
|
+
{ "{assetPath}", shaderEx.AssetPath }
|
|
168
|
+
}))
|
|
169
|
+
)
|
|
170
|
+
.AddChild(new ValidateToolResultExecutor())
|
|
171
|
+
.AddChild<ResponseData<ResponseCallTool>>(result =>
|
|
172
|
+
{
|
|
173
|
+
var reflector = UnityCopilotPluginEditor.Instance.Reflector;
|
|
174
|
+
var jsonResult = result.ToJson(reflector)!;
|
|
175
|
+
Assert.IsTrue(jsonResult.Contains("HasErrors"), "Response should contain 'HasErrors' field.");
|
|
176
|
+
Assert.IsTrue(jsonResult.Contains("true"), "Response should contain 'true' value (HasErrors) for broken shader.");
|
|
177
|
+
Assert.IsTrue(jsonResult.Contains("Messages"), "Response should contain 'Messages' field for broken shader.");
|
|
178
|
+
Assert.IsTrue(jsonResult.Contains("Severity"), "Response should contain 'Severity' field in shader messages.");
|
|
179
|
+
Assert.IsTrue(jsonResult.Contains("Line"), "Response should contain 'Line' field in shader error messages.");
|
|
180
|
+
})
|
|
181
|
+
.AddChild(() =>
|
|
182
|
+
{
|
|
183
|
+
var shader = AssetDatabase.LoadAssetAtPath<UnityEngine.Shader>(shaderEx.AssetPath);
|
|
184
|
+
Assert.IsNotNull(shader, $"Shader should exist at path: {shaderEx.AssetPath}");
|
|
185
|
+
Assert.IsTrue(ShaderUtil.ShaderHasError(shader), "Broken shader should have errors.");
|
|
186
|
+
|
|
187
|
+
var messages = ShaderUtil.GetShaderMessages(shader);
|
|
188
|
+
Assert.IsNotNull(messages, "Broken shader should have error messages.");
|
|
189
|
+
Assert.Greater(messages.Length, 0, "Broken shader should have at least one error message.");
|
|
190
|
+
})
|
|
191
|
+
.Execute();
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|