@atelierai/uco 1.0.7 → 1.0.9

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.
Files changed (107) hide show
  1. package/CHANGELOG.md +29 -8
  2. package/package.json +2 -2
  3. package/vendor/plugin/com.atelierai.unity.copilot/CHANGELOG.md +4 -4
  4. package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetConfig.cs +132 -132
  5. package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetDependencyResolver.cs +237 -237
  6. package/vendor/plugin/com.atelierai.unity.copilot/Editor/DependencyResolver/NuGetDownloader.cs +82 -82
  7. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Resource/MenuItems.cs +247 -247
  8. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Resource/ToolGroups.cs +153 -153
  9. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/SystemTool/Skills.Create.SkillBody.cs +155 -155
  10. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Console.GetLogs.cs +95 -95
  11. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Docs.HttpFetcher.cs +139 -139
  12. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Instance.ListAll.cs +72 -72
  13. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/PathReadHelper.cs +106 -106
  14. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Script.Validate.cs +252 -252
  15. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Tests/TestResultCollector.cs +537 -537
  16. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/Tests.cs +400 -400
  17. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/ToolGroups.SetEnabled.cs +92 -92
  18. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Branding/ProductInfo.cs +62 -62
  19. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/CopilotServerManager.cs +887 -1034
  20. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Skills/Skill_InitialSetup.cs +197 -197
  21. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Startup.Editor.cs +201 -201
  22. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Startup.cs +67 -67
  23. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/CopilotListWindowBase.cs +393 -393
  24. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/CopilotWindowBase.cs +113 -113
  25. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.Connection.cs +3 -3
  26. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CopilotFeatures.cs +195 -195
  27. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CopilotServer.cs +22 -22
  28. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.CreateGUI.cs +354 -354
  29. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowEditor.cs +78 -78
  30. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/MainWindowInitializer.cs +47 -47
  31. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UI/Window/SerializationCheckWindow.cs +190 -190
  32. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Build.cs +91 -91
  33. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Config.cs +298 -298
  34. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.Static.cs +296 -296
  35. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/UnityCopilotPluginEditor.cs +69 -69
  36. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/PackageUtils.cs +168 -168
  37. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/PrefsKeyMigration.cs +119 -119
  38. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/SafeDefaultsGuard.cs +180 -180
  39. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/ScriptUtils.cs +229 -229
  40. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/ToolGroupRegistry.cs +461 -460
  41. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/ToolsManifestGenerator.cs +200 -200
  42. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityAuthoringAdapters.cs +1467 -1467
  43. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityAuthoringSafetyReloadGuard.cs +65 -65
  44. package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/Utils/UnityCopilotUpdateProjectSettings.cs +66 -66
  45. package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/CopilotPromptsWindow.uss +11 -11
  46. package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/CopilotResourcesWindow.uss +16 -16
  47. package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/CopilotToolsWindow.uss +36 -36
  48. package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/MainWindow.uss +183 -183
  49. package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/common/{_mcp-list-window.uss → _copilot-list-window.uss} +18 -18
  50. package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/common/_list-view.uss +77 -77
  51. package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uxml/CopilotPromptsWindow.uxml +18 -18
  52. package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uxml/CopilotResourcesWindow.uxml +18 -18
  53. package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uxml/CopilotToolsWindow.uxml +18 -18
  54. package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uxml/MainWindow.uxml +115 -115
  55. package/vendor/plugin/com.atelierai.unity.copilot/Plugins/ReflectorNet.dll +0 -0
  56. package/vendor/plugin/com.atelierai.unity.copilot/Plugins/Uco.Framework.Common.dll +0 -0
  57. package/vendor/plugin/com.atelierai.unity.copilot/Plugins/Uco.Framework.dll +0 -0
  58. package/vendor/plugin/com.atelierai.unity.copilot/README.md +88 -88
  59. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Converter/Json/Structures/EntityIdConverter.cs +120 -120
  60. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Data/GameObjectMetadata.cs +110 -110
  61. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Data/GameObjectMetadata.pre-Unity.6.5.cs +110 -110
  62. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Unity/Logs/FileLogStorage.cs +547 -547
  63. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.Build.cs +243 -243
  64. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.Config.cs +3 -3
  65. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPlugin.cs +295 -295
  66. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginBuilder.cs +105 -105
  67. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginRuntime.Static.cs +155 -155
  68. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/UnityCopilotPluginRuntime.cs +59 -59
  69. package/vendor/plugin/com.atelierai.unity.copilot/Runtime/Utils/EnvironmentUtils.cs +11 -11
  70. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AtomicApi/AtomicApiTestFixtures.cs +99 -99
  71. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AtomicApi/TryModifyAtTests.cs +227 -227
  72. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/AuthoringSafetyPilotTests.cs +1050 -1050
  73. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetExtractorDevelopmentDependencyTests.cs +148 -148
  74. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetExtractorFlatLayoutTests.cs +166 -166
  75. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetInstallManifestTests.cs +436 -436
  76. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetLegacyMigrationTests.cs +304 -304
  77. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/DependencyResolver/NuGetPackageInstallerStaleVersionCleanupTests.cs +200 -200
  78. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Environment/EnvironmentUtilsTests.cs +2 -2
  79. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/BlacklistTypeTests.cs +416 -416
  80. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataFieldScriptableObjectPopulationTests.cs +172 -172
  81. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataFieldScriptableObjectPopulationTests.pre-Unity.6.5.cs +169 -169
  82. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPopulationTests.cs +182 -182
  83. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPopulationTests.pre-Unity.6.5.cs +179 -179
  84. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyPopulationTests.cs +175 -175
  85. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyPopulationTests.pre-Unity.6.5.cs +174 -174
  86. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyScriptableObjectPopulationTests.cs +171 -171
  87. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ReflectionConverter/DataPropertyScriptableObjectPopulationTests.pre-Unity.6.5.cs +170 -170
  88. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsCreateFolderTests.cs +243 -243
  89. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsMaterialTests.cs +101 -101
  90. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs +348 -348
  91. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs +348 -348
  92. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Assets/AssetsShaderTests.cs +194 -194
  93. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/GameObject/TestJsonSchema.cs +199 -199
  94. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/PathBasedToolTests.cs +573 -573
  95. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/PathBasedToolTests.pre-Unity.6.5.cs +513 -513
  96. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotCameraTests.cs +154 -154
  97. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotCameraTests.pre-Unity.6.5.cs +154 -154
  98. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotGameViewTests.cs +164 -164
  99. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/Screenshot/ScreenshotSceneViewTests.cs +155 -155
  100. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolParameterTests.cs +56 -56
  101. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolThreadSafetyTests.cs +651 -651
  102. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/Tool/ToolThreadSafetyTests.pre-Unity.6.5.cs +651 -651
  103. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/ToolBatchExecutionIntegrationTests.cs +407 -407
  104. package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/{McpPluginTests.cs → UcoPluginTests.cs} +105 -105
  105. package/vendor/plugin/com.atelierai.unity.copilot/package.json +1 -1
  106. /package/vendor/plugin/com.atelierai.unity.copilot/Editor/UI/uss/common/{_mcp-list-window.uss.meta → _copilot-list-window.uss.meta} +0 -0
  107. /package/vendor/plugin/com.atelierai.unity.copilot/Tests/Editor/{McpPluginTests.cs.meta → UcoPluginTests.cs.meta} +0 -0
@@ -14,12 +14,12 @@ using System.Collections.Generic;
14
14
  using com.AtelierAI.Uco.Framework.Common.Utils;
15
15
  using com.AtelierAI.Unity.Copilot.Utils;
16
16
  using Microsoft.Extensions.Logging;
17
- using static com.AtelierAI.Uco.Framework.Common.Consts.MCP.Server;
17
+ using static com.AtelierAI.Uco.Framework.Common.Consts.Uco.Server;
18
18
 
19
19
  namespace com.AtelierAI.Unity.Copilot.Runtime.Utils
20
20
  {
21
21
  /// <summary>
22
- /// Loads MCP plugin configuration from layered sources and (optionally) applies
22
+ /// Loads Uco plugin configuration from layered sources and (optionally) applies
23
23
  /// runtime overrides from environment variables and process command-line arguments.
24
24
  ///
25
25
  /// Priority (highest wins):
@@ -39,7 +39,7 @@ namespace com.AtelierAI.Unity.Copilot.Runtime.Utils
39
39
  {
40
40
  static readonly ILogger _logger = UnityLoggerFactory.LoggerFactory.CreateLogger(nameof(EnvironmentUtils));
41
41
 
42
- // Environment variable names for MCP connection overrides.
42
+ // Environment variable names for Uco connection overrides.
43
43
  public const string EnvHost = "UNITY_COPILOT_HOST";
44
44
  public const string EnvKeepConnected = "UNITY_COPILOT_KEEP_CONNECTED";
45
45
  public const string EnvAuthOption = "UNITY_COPILOT_AUTH_OPTION";
@@ -187,7 +187,7 @@ namespace com.AtelierAI.Unity.Copilot.Runtime.Utils
187
187
  {
188
188
  record.Track(FieldHost, config.LocalHost, host);
189
189
  config.LocalHost = host;
190
- _logger.LogInformation("[MCP] Override: {Key}={Value}", FieldHost, host);
190
+ _logger.LogInformation("[Uco] Override: {Key}={Value}", FieldHost, host);
191
191
  }
192
192
  }
193
193
  }
@@ -208,7 +208,7 @@ namespace com.AtelierAI.Unity.Copilot.Runtime.Utils
208
208
  {
209
209
  record.Track(FieldConnectionMode, config.ConnectionMode, targetMode.Value);
210
210
  config.ConnectionMode = targetMode.Value;
211
- _logger.LogInformation("[MCP] Override: {Key}={Value}", FieldConnectionMode, targetMode.Value);
211
+ _logger.LogInformation("[Uco] Override: {Key}={Value}", FieldConnectionMode, targetMode.Value);
212
212
  }
213
213
 
214
214
  var rawKeep = Resolve(EnvKeepConnected, flagAlias: null);
@@ -216,7 +216,7 @@ namespace com.AtelierAI.Unity.Copilot.Runtime.Utils
216
216
  {
217
217
  record.Track(FieldKeepConnected, config.KeepConnected, keep);
218
218
  config.KeepConnected = keep;
219
- _logger.LogInformation("[MCP] Override: {Key}={Value}", EnvKeepConnected, keep);
219
+ _logger.LogInformation("[Uco] Override: {Key}={Value}", EnvKeepConnected, keep);
220
220
  }
221
221
 
222
222
  var rawAuth = Resolve(EnvAuthOption, FlagAuth);
@@ -226,7 +226,7 @@ namespace com.AtelierAI.Unity.Copilot.Runtime.Utils
226
226
  {
227
227
  record.Track(FieldAuthOption, config.AuthOption, ao);
228
228
  config.AuthOption = ao;
229
- _logger.LogInformation("[MCP] Override: {Key}={Value}", EnvAuthOption, ao);
229
+ _logger.LogInformation("[Uco] Override: {Key}={Value}", EnvAuthOption, ao);
230
230
  }
231
231
 
232
232
  // We track the specific
@@ -241,7 +241,7 @@ namespace com.AtelierAI.Unity.Copilot.Runtime.Utils
241
241
  {
242
242
  record.Track(FieldLocalToken, config.LocalToken, token);
243
243
  config.LocalToken = token;
244
- _logger.LogInformation("[MCP] Override: {Key}=*** (LocalToken)", EnvToken);
244
+ _logger.LogInformation("[Uco] Override: {Key}=*** (LocalToken)", EnvToken);
245
245
  }
246
246
  }
247
247
 
@@ -252,7 +252,7 @@ namespace com.AtelierAI.Unity.Copilot.Runtime.Utils
252
252
  {
253
253
  record.Track(FieldTransport, config.TransportMethod, tm);
254
254
  config.TransportMethod = tm;
255
- _logger.LogInformation("[MCP] Override: {Key}={Value}", EnvTransport, tm);
255
+ _logger.LogInformation("[Uco] Override: {Key}={Value}", EnvTransport, tm);
256
256
  }
257
257
 
258
258
  var rawStart = Resolve(EnvStartServer, flagAlias: null);
@@ -260,7 +260,7 @@ namespace com.AtelierAI.Unity.Copilot.Runtime.Utils
260
260
  {
261
261
  record.Track(FieldStartServer, config.KeepServerRunning, ss);
262
262
  config.KeepServerRunning = ss;
263
- _logger.LogInformation("[MCP] Override: {Key}={Value}", EnvStartServer, ss);
263
+ _logger.LogInformation("[Uco] Override: {Key}={Value}", EnvStartServer, ss);
264
264
  }
265
265
 
266
266
  // EnabledToolsOverride is [JsonIgnore] so it is never persisted regardless of the
@@ -279,7 +279,7 @@ namespace com.AtelierAI.Unity.Copilot.Runtime.Utils
279
279
  }
280
280
  record.Track(FieldTools, config.EnabledToolsOverride, trimmed);
281
281
  config.EnabledToolsOverride = trimmed;
282
- _logger.LogInformation("[MCP] Override: {Key}={Value}", EnvTools, rawTools.Trim());
282
+ _logger.LogInformation("[Uco] Override: {Key}={Value}", EnvTools, rawTools.Trim());
283
283
  }
284
284
 
285
285
  return record;
@@ -1,99 +1,99 @@
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 System.Text.Json.Serialization;
14
-
15
- namespace com.AtelierAI.Unity.Copilot.Editor.Tests.AtomicApi
16
- {
17
- /// <summary>
18
- /// Small POCO test fixtures used by the atomic-API EditMode tests
19
- /// (TryModifyAt / TryPatch / TryReadAt / View / Grep). The shape mirrors
20
- /// the SolarSystem fixture used by ReflectorNet.Tests but is defined here
21
- /// so it does not depend on ReflectorNet's own test assembly, which is not
22
- /// shipped to Unity. Naming and field types match
23
- /// <c>com.IvanMurzak.ReflectorNet.Tests.Model.SolarSystem.CelestialBody</c>
24
- /// closely so reviewers can correlate the assertions across the two repos.
25
- /// </summary>
26
- public class CelestialBody
27
- {
28
- [JsonInclude]
29
- public float orbitRadius = 10f;
30
-
31
- [JsonInclude]
32
- public float orbitSpeed = 1f;
33
-
34
- [JsonInclude]
35
- public float rotationSpeed = 1f;
36
-
37
- [JsonInclude]
38
- public string name = string.Empty;
39
- }
40
-
41
- /// <summary>
42
- /// A small POCO graph that mirrors the Unity-side shape of a celestial-body
43
- /// container used in real Unity-MCP tools (root field + array + dictionary).
44
- /// </summary>
45
- public class StarSystemPoco
46
- {
47
- [JsonInclude]
48
- public CelestialBody[]? celestialBodies;
49
-
50
- [JsonInclude]
51
- public Dictionary<string, int> config = new Dictionary<string, int>();
52
-
53
- [JsonInclude]
54
- public Dictionary<int, string> lookup = new Dictionary<int, string>();
55
-
56
- [JsonInclude]
57
- public float globalOrbitSpeedMultiplier = 1f;
58
-
59
- [JsonInclude]
60
- public float globalSizeMultiplier = 1f;
61
- }
62
-
63
- /// <summary>Polymorphism fixture for the TryPatch "$type" hint scenario.</summary>
64
- public class Animal
65
- {
66
- [JsonInclude]
67
- public string name = string.Empty;
68
- }
69
-
70
- /// <summary>Polymorphism fixture — subtype of Animal used by the "$type" hint test.</summary>
71
- public class Dog : Animal
72
- {
73
- [JsonInclude]
74
- public string breed = string.Empty;
75
- }
76
-
77
- /// <summary>Container that holds an Animal — used for polymorphism / type-replacement tests.</summary>
78
- public class AnimalContainer
79
- {
80
- [JsonInclude]
81
- public Animal? animal;
82
- }
83
-
84
- /// <summary>
85
- /// Graph with a self-reference, used to confirm View / Grep stop traversing
86
- /// when they hit a cycle and do not recurse infinitely.
87
- /// </summary>
88
- public class CyclicNode
89
- {
90
- [JsonInclude]
91
- public string label = string.Empty;
92
-
93
- [JsonInclude]
94
- public float weight = 0f;
95
-
96
- [JsonInclude]
97
- public CyclicNode? next;
98
- }
99
- }
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 System.Text.Json.Serialization;
14
+
15
+ namespace com.AtelierAI.Unity.Copilot.Editor.Tests.AtomicApi
16
+ {
17
+ /// <summary>
18
+ /// Small POCO test fixtures used by the atomic-API EditMode tests
19
+ /// (TryModifyAt / TryPatch / TryReadAt / View / Grep). The shape mirrors
20
+ /// the SolarSystem fixture used by ReflectorNet.Tests but is defined here
21
+ /// so it does not depend on ReflectorNet's own test assembly, which is not
22
+ /// shipped to Unity. Naming and field types match
23
+ /// <c>com.IvanMurzak.ReflectorNet.Tests.Model.SolarSystem.CelestialBody</c>
24
+ /// closely so reviewers can correlate the assertions across the two repos.
25
+ /// </summary>
26
+ public class CelestialBody
27
+ {
28
+ [JsonInclude]
29
+ public float orbitRadius = 10f;
30
+
31
+ [JsonInclude]
32
+ public float orbitSpeed = 1f;
33
+
34
+ [JsonInclude]
35
+ public float rotationSpeed = 1f;
36
+
37
+ [JsonInclude]
38
+ public string name = string.Empty;
39
+ }
40
+
41
+ /// <summary>
42
+ /// A small POCO graph that mirrors the Unity-side shape of a celestial-body
43
+ /// container used in real Unity-Uco tools (root field + array + dictionary).
44
+ /// </summary>
45
+ public class StarSystemPoco
46
+ {
47
+ [JsonInclude]
48
+ public CelestialBody[]? celestialBodies;
49
+
50
+ [JsonInclude]
51
+ public Dictionary<string, int> config = new Dictionary<string, int>();
52
+
53
+ [JsonInclude]
54
+ public Dictionary<int, string> lookup = new Dictionary<int, string>();
55
+
56
+ [JsonInclude]
57
+ public float globalOrbitSpeedMultiplier = 1f;
58
+
59
+ [JsonInclude]
60
+ public float globalSizeMultiplier = 1f;
61
+ }
62
+
63
+ /// <summary>Polymorphism fixture for the TryPatch "$type" hint scenario.</summary>
64
+ public class Animal
65
+ {
66
+ [JsonInclude]
67
+ public string name = string.Empty;
68
+ }
69
+
70
+ /// <summary>Polymorphism fixture — subtype of Animal used by the "$type" hint test.</summary>
71
+ public class Dog : Animal
72
+ {
73
+ [JsonInclude]
74
+ public string breed = string.Empty;
75
+ }
76
+
77
+ /// <summary>Container that holds an Animal — used for polymorphism / type-replacement tests.</summary>
78
+ public class AnimalContainer
79
+ {
80
+ [JsonInclude]
81
+ public Animal? animal;
82
+ }
83
+
84
+ /// <summary>
85
+ /// Graph with a self-reference, used to confirm View / Grep stop traversing
86
+ /// when they hit a cycle and do not recurse infinitely.
87
+ /// </summary>
88
+ public class CyclicNode
89
+ {
90
+ [JsonInclude]
91
+ public string label = string.Empty;
92
+
93
+ [JsonInclude]
94
+ public float weight = 0f;
95
+
96
+ [JsonInclude]
97
+ public CyclicNode? next;
98
+ }
99
+ }