com.wallstop-studios.dxmessaging 2.1.7 → 2.1.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 (1408) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/Runtime/Core/DxMessagingStaticState.cs +19 -13
  3. package/Runtime/Core/Helper/MessageHelperIndexer.cs +14 -77
  4. package/Runtime/Core/MessageBus/MessageRegistrationBuilder.cs +0 -5
  5. package/Runtime/Core/MessageRegistrationHandle.cs +0 -5
  6. package/package.json +25 -1
  7. package/.artifacts/SourceGenerators.Tests/TestResults/0e800bba-2376-4062-bb19-cf916d3083a1/coverage.cobertura.xml +0 -2624
  8. package/.artifacts/SourceGenerators.Tests/TestResults/260ab294-e640-4674-9ae9-29b5344c0540/coverage.cobertura.xml +0 -2624
  9. package/.artifacts/SourceGenerators.Tests/TestResults/31c02772-7d85-4466-a2c4-93742725076e/coverage.cobertura.xml +0 -2624
  10. package/.artifacts/SourceGenerators.Tests/TestResults/ca4d2ef2-0c53-49dc-91b5-039938571ed8/coverage.cobertura.xml +0 -2624
  11. package/.artifacts/SourceGenerators.Tests/TestResults/f6cadd7e-1bf5-44b0-9351-47426600fc69/coverage.cobertura.xml +0 -2624
  12. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  13. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  14. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.ApplicationInsights.dll +0 -0
  15. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  16. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.CodeAnalysis.dll +0 -0
  17. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
  18. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
  19. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
  20. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
  21. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
  22. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
  23. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
  24. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
  25. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
  26. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
  27. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.Testing.Platform.dll +0 -0
  28. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  29. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
  30. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
  31. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/NUnit3.TestAdapter.dll +0 -0
  32. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/Newtonsoft.Json.dll +0 -0
  33. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +0 -872
  34. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  35. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +0 -13
  36. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  37. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  38. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  39. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  40. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  41. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  42. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  43. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  44. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  45. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  46. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
  47. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  48. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  49. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  50. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  51. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  52. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  53. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  54. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  55. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  56. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  57. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  58. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
  59. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  60. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  61. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  62. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  63. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  64. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  65. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  66. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  67. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  68. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  69. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  70. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
  71. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  72. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  73. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  74. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  75. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  76. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  77. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  78. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  79. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  80. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  81. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  82. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
  83. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  84. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  85. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  86. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  87. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  88. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  89. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  90. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  91. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  92. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  93. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  94. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
  95. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  96. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  97. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  98. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  99. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  100. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  101. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  102. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  103. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  104. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  105. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  106. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
  107. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  108. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  109. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  110. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  111. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  112. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  113. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  114. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  115. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  116. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  117. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  118. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
  119. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  120. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  121. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.api.dll +0 -0
  122. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.core.dll +0 -0
  123. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.engine.dll +0 -0
  124. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.framework.dll +0 -0
  125. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/nunit.framework.legacy.dll +0 -0
  126. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  127. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  128. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  129. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  130. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  131. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  132. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  133. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  134. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  135. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
  136. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  137. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  138. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  139. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  140. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  141. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  142. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  143. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  144. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  145. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  146. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  147. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
  148. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  149. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  150. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  151. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  152. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  153. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  154. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  155. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  156. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  157. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  158. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  159. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
  160. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  161. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  162. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testcentric.engine.metadata.dll +0 -0
  163. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testhost.dll +0 -0
  164. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/testhost.exe +0 -0
  165. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  166. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  167. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  168. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  169. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  170. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  171. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  172. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  173. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  174. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
  175. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  176. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  177. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  178. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  179. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  180. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  181. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  182. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  183. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  184. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  185. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  186. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
  187. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  188. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  189. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  190. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  191. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  192. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  193. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  194. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  195. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  196. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  197. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  198. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
  199. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  200. package/.artifacts/SourceGenerators.Tests/bin/Debug/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  201. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  202. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  203. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.ApplicationInsights.dll +0 -0
  204. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  205. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.CodeAnalysis.dll +0 -0
  206. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Extensions.DependencyModel.dll +0 -0
  207. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
  208. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
  209. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
  210. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
  211. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
  212. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
  213. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
  214. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
  215. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
  216. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
  217. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.Testing.Platform.dll +0 -0
  218. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  219. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
  220. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
  221. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/NUnit3.TestAdapter.dll +0 -0
  222. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/Newtonsoft.Json.dll +0 -0
  223. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +0 -817
  224. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  225. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +0 -14
  226. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  227. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  228. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  229. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  230. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  231. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  232. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  233. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  234. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  235. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  236. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
  237. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  238. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  239. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  240. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  241. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  242. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  243. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  244. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  245. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  246. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  247. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  248. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
  249. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  250. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  251. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  252. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  253. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  254. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  255. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  256. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  257. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  258. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  259. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  260. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
  261. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  262. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  263. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  264. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  265. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  266. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  267. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  268. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  269. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  270. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  271. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  272. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
  273. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  274. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  275. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  276. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  277. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  278. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  279. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  280. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  281. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  282. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  283. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  284. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
  285. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  286. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  287. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  288. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  289. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  290. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  291. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  292. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  293. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  294. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  295. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  296. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
  297. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  298. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  299. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  300. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  301. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  302. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  303. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  304. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  305. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  306. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  307. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  308. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
  309. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  310. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  311. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.api.dll +0 -0
  312. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.core.dll +0 -0
  313. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.engine.dll +0 -0
  314. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.framework.dll +0 -0
  315. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/nunit.framework.legacy.dll +0 -0
  316. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  317. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  318. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  319. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  320. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  321. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  322. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  323. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  324. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  325. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
  326. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  327. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  328. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  329. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  330. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  331. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  332. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  333. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  334. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  335. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  336. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  337. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
  338. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  339. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  340. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  341. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  342. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  343. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  344. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  345. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  346. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  347. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  348. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  349. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
  350. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  351. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  352. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testcentric.engine.metadata.dll +0 -0
  353. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testhost.dll +0 -0
  354. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/testhost.exe +0 -0
  355. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  356. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  357. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  358. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  359. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  360. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  361. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  362. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  363. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  364. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
  365. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  366. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  367. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  368. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  369. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  370. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  371. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  372. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  373. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  374. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  375. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  376. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
  377. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  378. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  379. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  380. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  381. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  382. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  383. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  384. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  385. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  386. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  387. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  388. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
  389. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  390. package/.artifacts/SourceGenerators.Tests/bin/Release/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  391. package/.artifacts/SourceGenerators.Tests/bin/net9.0/.msCoverageSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  392. package/.artifacts/SourceGenerators.Tests/bin/net9.0/CoverletSourceRootsMapping_WallstopStudios.DxMessaging.SourceGenerators.Tests +0 -0
  393. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.ApplicationInsights.dll +0 -0
  394. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.CodeAnalysis.CSharp.dll +0 -0
  395. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.CodeAnalysis.dll +0 -0
  396. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Extensions.DependencyModel.dll +0 -0
  397. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.AdapterUtilities.dll +0 -0
  398. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CommunicationUtilities.dll +0 -0
  399. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CoreUtilities.dll +0 -0
  400. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.CrossPlatEngine.dll +0 -0
  401. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.PlatformAbstractions.dll +0 -0
  402. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.TestPlatform.Utilities.dll +0 -0
  403. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.MSBuild.dll +0 -0
  404. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.Telemetry.dll +0 -0
  405. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.TrxReport.Abstractions.dll +0 -0
  406. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Extensions.VSTestBridge.dll +0 -0
  407. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.Testing.Platform.dll +0 -0
  408. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.CodeCoverage.Shim.dll +0 -0
  409. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.TestPlatform.Common.dll +0 -0
  410. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll +0 -0
  411. package/.artifacts/SourceGenerators.Tests/bin/net9.0/NUnit3.TestAdapter.dll +0 -0
  412. package/.artifacts/SourceGenerators.Tests/bin/net9.0/Newtonsoft.Json.dll +0 -0
  413. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.deps.json +0 -872
  414. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  415. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.runtimeconfig.json +0 -13
  416. package/.artifacts/SourceGenerators.Tests/bin/net9.0/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  417. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  418. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
  419. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  420. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  421. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  422. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  423. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  424. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  425. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  426. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.Testing.Platform.resources.dll +0 -0
  427. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  428. package/.artifacts/SourceGenerators.Tests/bin/net9.0/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  429. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  430. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.CodeAnalysis.resources.dll +0 -0
  431. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  432. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  433. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  434. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  435. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  436. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  437. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  438. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.Testing.Platform.resources.dll +0 -0
  439. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  440. package/.artifacts/SourceGenerators.Tests/bin/net9.0/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  441. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  442. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.CodeAnalysis.resources.dll +0 -0
  443. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  444. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  445. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  446. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  447. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  448. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  449. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  450. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.Testing.Platform.resources.dll +0 -0
  451. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  452. package/.artifacts/SourceGenerators.Tests/bin/net9.0/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  453. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  454. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
  455. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  456. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  457. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  458. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  459. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  460. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  461. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  462. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.Testing.Platform.resources.dll +0 -0
  463. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  464. package/.artifacts/SourceGenerators.Tests/bin/net9.0/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  465. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  466. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.CodeAnalysis.resources.dll +0 -0
  467. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  468. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  469. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  470. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  471. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  472. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  473. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  474. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.Testing.Platform.resources.dll +0 -0
  475. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  476. package/.artifacts/SourceGenerators.Tests/bin/net9.0/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  477. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  478. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
  479. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  480. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  481. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  482. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  483. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  484. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  485. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  486. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.Testing.Platform.resources.dll +0 -0
  487. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  488. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  489. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  490. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
  491. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  492. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  493. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  494. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  495. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  496. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  497. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  498. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.Testing.Platform.resources.dll +0 -0
  499. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  500. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  501. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.api.dll +0 -0
  502. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.core.dll +0 -0
  503. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.engine.dll +0 -0
  504. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.framework.dll +0 -0
  505. package/.artifacts/SourceGenerators.Tests/bin/net9.0/nunit.framework.legacy.dll +0 -0
  506. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  507. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
  508. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  509. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  510. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  511. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  512. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  513. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  514. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  515. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.Testing.Platform.resources.dll +0 -0
  516. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  517. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  518. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  519. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
  520. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  521. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  522. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  523. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  524. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  525. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  526. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  527. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.Testing.Platform.resources.dll +0 -0
  528. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  529. package/.artifacts/SourceGenerators.Tests/bin/net9.0/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  530. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  531. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
  532. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  533. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  534. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  535. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  536. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  537. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  538. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  539. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.Testing.Platform.resources.dll +0 -0
  540. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  541. package/.artifacts/SourceGenerators.Tests/bin/net9.0/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  542. package/.artifacts/SourceGenerators.Tests/bin/net9.0/testcentric.engine.metadata.dll +0 -0
  543. package/.artifacts/SourceGenerators.Tests/bin/net9.0/testhost.dll +0 -0
  544. package/.artifacts/SourceGenerators.Tests/bin/net9.0/testhost.exe +0 -0
  545. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  546. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
  547. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  548. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  549. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  550. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  551. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  552. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  553. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  554. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.Testing.Platform.resources.dll +0 -0
  555. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  556. package/.artifacts/SourceGenerators.Tests/bin/net9.0/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  557. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  558. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
  559. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  560. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  561. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  562. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  563. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  564. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  565. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  566. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.Testing.Platform.resources.dll +0 -0
  567. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  568. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  569. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
  570. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
  571. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.AdapterUtilities.resources.dll +0 -0
  572. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll +0 -0
  573. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll +0 -0
  574. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll +0 -0
  575. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.MSBuild.resources.dll +0 -0
  576. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.Telemetry.resources.dll +0 -0
  577. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Extensions.VSTestBridge.resources.dll +0 -0
  578. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.Testing.Platform.resources.dll +0 -0
  579. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll +0 -0
  580. package/.artifacts/SourceGenerators.Tests/bin/net9.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll +0 -0
  581. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
  582. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
  583. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +0 -22
  584. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +0 -25
  585. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +0 -8
  586. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +0 -28
  587. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  588. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +0 -1
  589. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  590. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  591. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
  592. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
  593. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +0 -23
  594. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +0 -17
  595. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +0 -8
  596. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.BuildWithSkipAnalyzers +0 -0
  597. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +0 -84
  598. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  599. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +0 -1
  600. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  601. package/.artifacts/SourceGenerators.Tests/obj/Release/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  602. package/.artifacts/SourceGenerators.Tests/obj/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs +0 -4
  603. package/.artifacts/SourceGenerators.Tests/obj/net9.0/Wallstop.9ADB0525.Up2Date +0 -0
  604. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +0 -22
  605. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GeneratedMSBuildEditorConfig.editorconfig +0 -23
  606. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.GlobalUsings.g.cs +0 -8
  607. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.FileListAbsolute.txt +0 -55
  608. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  609. package/.artifacts/SourceGenerators.Tests/obj/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.sourcelink.json +0 -1
  610. package/.artifacts/SourceGenerators.Tests/obj/net9.0/ref/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  611. package/.artifacts/SourceGenerators.Tests/obj/net9.0/refint/WallstopStudios.DxMessaging.SourceGenerators.Tests.dll +0 -0
  612. package/.config/dotnet-tools.json +0 -10
  613. package/.csharpierignore +0 -1
  614. package/.csharpierrc.json +0 -3
  615. package/.cspell.json +0 -222
  616. package/.cursorrules +0 -3
  617. package/.devcontainer/.dockerignore +0 -92
  618. package/.devcontainer/Dockerfile +0 -475
  619. package/.devcontainer/devcontainer.json +0 -54
  620. package/.devcontainer/verify-tools.sh +0 -183
  621. package/.editorconfig +0 -190
  622. package/.gitattributes +0 -99
  623. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -95
  624. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  625. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -46
  626. package/.github/copilot-instructions.md +0 -3
  627. package/.github/dependabot.yml +0 -66
  628. package/.github/pull_request_template.md +0 -30
  629. package/.github/release-drafter.yml +0 -92
  630. package/.github/scripts/check-markdown-links.ps1 +0 -101
  631. package/.github/scripts/check_markdown_links.py +0 -187
  632. package/.github/scripts/check_markdown_url_encoding.py +0 -74
  633. package/.github/scripts/test_check_markdown_links.py +0 -545
  634. package/.github/scripts/validate_markdown_links.py +0 -194
  635. package/.github/workflows/actionlint.yml +0 -47
  636. package/.github/workflows/csharpier-autofix.yml +0 -192
  637. package/.github/workflows/deploy-docs.yml +0 -118
  638. package/.github/workflows/dotnet-tests.yml +0 -85
  639. package/.github/workflows/format-on-demand.yml +0 -309
  640. package/.github/workflows/json-format-check.yml +0 -59
  641. package/.github/workflows/lint-doc-links.yml +0 -44
  642. package/.github/workflows/markdown-json.yml +0 -63
  643. package/.github/workflows/markdown-link-text-check.yml +0 -32
  644. package/.github/workflows/markdown-link-validity.yml +0 -43
  645. package/.github/workflows/markdownlint.yml +0 -57
  646. package/.github/workflows/prettier-autofix.yml +0 -266
  647. package/.github/workflows/release-drafter.yml +0 -135
  648. package/.github/workflows/spellcheck.yml +0 -56
  649. package/.github/workflows/sync-wiki.yml +0 -139
  650. package/.github/workflows/update-dotnet-tools.yml +0 -84
  651. package/.github/workflows/validate-docs.yml +0 -196
  652. package/.github/workflows/validate-skills.yml +0 -46
  653. package/.github/workflows/yaml-format-lint.yml +0 -68
  654. package/.llm/context.md +0 -379
  655. package/.llm/skills/documentation/changelog-entry-writing.md +0 -277
  656. package/.llm/skills/documentation/changelog-management.md +0 -228
  657. package/.llm/skills/documentation/changelog-release-workflow.md +0 -249
  658. package/.llm/skills/documentation/documentation-code-samples.md +0 -262
  659. package/.llm/skills/documentation/documentation-style-guide.md +0 -203
  660. package/.llm/skills/documentation/documentation-update-workflow.md +0 -148
  661. package/.llm/skills/documentation/documentation-updates.md +0 -148
  662. package/.llm/skills/documentation/documentation-xml-docs.md +0 -190
  663. package/.llm/skills/documentation/external-url-fragment-validation.md +0 -181
  664. package/.llm/skills/documentation/github-actions-version-consistency.md +0 -203
  665. package/.llm/skills/documentation/link-quality-guidelines.md +0 -267
  666. package/.llm/skills/documentation/markdown-compatibility.md +0 -476
  667. package/.llm/skills/documentation/mermaid-theming.md +0 -326
  668. package/.llm/skills/documentation/mkdocs-navigation.md +0 -290
  669. package/.llm/skills/documentation/skill-file-sizing.md +0 -260
  670. package/.llm/skills/github-actions/git-renormalize-patterns.md +0 -231
  671. package/.llm/skills/github-actions/workflow-consistency.md +0 -346
  672. package/.llm/skills/index.md +0 -257
  673. package/.llm/skills/performance/aggressive-inlining-performance-notes.md +0 -94
  674. package/.llm/skills/performance/aggressive-inlining.md +0 -342
  675. package/.llm/skills/performance/array-pooling-usage-examples.md +0 -145
  676. package/.llm/skills/performance/array-pooling.md +0 -315
  677. package/.llm/skills/performance/cache-eviction-builder.md +0 -203
  678. package/.llm/skills/performance/cache-eviction-implementation.md +0 -340
  679. package/.llm/skills/performance/cache-eviction-policies.md +0 -176
  680. package/.llm/skills/performance/collection-pooling.md +0 -313
  681. package/.llm/skills/performance/object-pooling-anti-patterns.md +0 -144
  682. package/.llm/skills/performance/object-pooling-usage-examples.md +0 -114
  683. package/.llm/skills/performance/object-pooling-variations.md +0 -147
  684. package/.llm/skills/performance/object-pooling.md +0 -319
  685. package/.llm/skills/performance/readonly-struct-cached-hash-performance-notes.md +0 -91
  686. package/.llm/skills/performance/readonly-struct-cached-hash.md +0 -337
  687. package/.llm/skills/performance/serializable-dictionary-property-drawer.md +0 -147
  688. package/.llm/skills/performance/serializable-dictionary-usage-examples.md +0 -135
  689. package/.llm/skills/performance/serializable-dictionary.md +0 -281
  690. package/.llm/skills/performance/singleton-autoload.md +0 -111
  691. package/.llm/skills/performance/singleton-patterns.md +0 -165
  692. package/.llm/skills/performance/singleton-runtime.md +0 -187
  693. package/.llm/skills/performance/singleton-scriptableobject.md +0 -177
  694. package/.llm/skills/performance/singleton-usage-examples.md +0 -139
  695. package/.llm/skills/performance/stringbuilder-pooling.md +0 -319
  696. package/.llm/skills/performance/yield-instruction-pooling.md +0 -347
  697. package/.llm/skills/scripting/cross-platform-compatibility.md +0 -224
  698. package/.llm/skills/scripting/cross-platform-compatibility.md.meta +0 -7
  699. package/.llm/skills/scripting/javascript-code-quality.md +0 -417
  700. package/.llm/skills/scripting/powershell-best-practices.md +0 -386
  701. package/.llm/skills/scripting/regex-documentation.md +0 -461
  702. package/.llm/skills/scripting/shell-best-practices.md +0 -386
  703. package/.llm/skills/scripting/validation-patterns.md +0 -418
  704. package/.llm/skills/solid/collection-extensions-accessors.md +0 -229
  705. package/.llm/skills/solid/collection-extensions-shuffle.md +0 -144
  706. package/.llm/skills/solid/collection-extensions-type-specialization.md +0 -168
  707. package/.llm/skills/solid/collection-extensions.md +0 -144
  708. package/.llm/skills/solid/fluent-builder-pattern-templates.md +0 -117
  709. package/.llm/skills/solid/fluent-builder-pattern-usage-examples.md +0 -128
  710. package/.llm/skills/solid/fluent-builder-pattern.md +0 -322
  711. package/.llm/skills/solid/iequatable-implementation-usage.md +0 -111
  712. package/.llm/skills/solid/iequatable-implementation-variants.md +0 -201
  713. package/.llm/skills/solid/iequatable-implementation.md +0 -239
  714. package/.llm/skills/solid/try-pattern-apis-usage.md +0 -136
  715. package/.llm/skills/solid/try-pattern-apis-variants.md +0 -233
  716. package/.llm/skills/solid/try-pattern-apis.md +0 -220
  717. package/.llm/skills/specification.md +0 -468
  718. package/.llm/skills/templates/skill-template.md +0 -143
  719. package/.llm/skills/testing/comprehensive-test-coverage.md +0 -141
  720. package/.llm/skills/testing/data-driven-tests-sources.md +0 -255
  721. package/.llm/skills/testing/data-driven-tests-usage.md +0 -107
  722. package/.llm/skills/testing/data-driven-tests.md +0 -197
  723. package/.llm/skills/testing/git-workflow-robustness.md +0 -369
  724. package/.llm/skills/testing/script-test-coverage.md +0 -259
  725. package/.llm/skills/testing/script-test-coverage.md.meta +0 -7
  726. package/.llm/skills/testing/shared-test-fixtures-generic-base.md +0 -185
  727. package/.llm/skills/testing/shared-test-fixtures-reference-counting.md +0 -252
  728. package/.llm/skills/testing/shared-test-fixtures.md +0 -165
  729. package/.llm/skills/testing/test-base-class-cleanup-usage.md +0 -218
  730. package/.llm/skills/testing/test-base-class-cleanup.md +0 -323
  731. package/.llm/skills/testing/test-categories-execution.md +0 -142
  732. package/.llm/skills/testing/test-categories.md +0 -287
  733. package/.llm/skills/testing/test-code-quality.md +0 -243
  734. package/.llm/skills/testing/test-coverage-data-driven.md +0 -172
  735. package/.llm/skills/testing/test-coverage-organization-assertions.md +0 -171
  736. package/.llm/skills/testing/test-coverage-scenario-categories.md +0 -223
  737. package/.llm/skills/testing/test-coverage-unity-anti-patterns.md +0 -232
  738. package/.llm/skills/testing/test-diagnostics-patterns.md +0 -189
  739. package/.llm/skills/testing/test-diagnostics-usage.md +0 -196
  740. package/.llm/skills/testing/test-diagnostics.md +0 -247
  741. package/.llm/skills/testing/test-failure-investigation-procedure.md +0 -216
  742. package/.llm/skills/testing/test-failure-investigation-root-causes.md +0 -186
  743. package/.llm/skills/testing/test-failure-investigation.md +0 -119
  744. package/.llm/skills/testing/test-invalid-skill.md +0 -26
  745. package/.llm/skills/testing/test-production-code.md +0 -348
  746. package/.lychee.toml +0 -30
  747. package/.markdownlint-cli2.jsonc +0 -17
  748. package/.markdownlint.json +0 -23
  749. package/.markdownlint.jsonc +0 -23
  750. package/.markdownlintignore +0 -7
  751. package/.pre-commit-config.yaml +0 -165
  752. package/.prettierignore +0 -21
  753. package/.prettierrc.json +0 -20
  754. package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.metadata.v10.bin +0 -0
  755. package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.projects.v10.bin +0 -0
  756. package/.vs/ProjectEvaluation/com.wallstop-studios.dxmessaging.strings.v10.bin +0 -0
  757. package/.vs/ProjectSettings.json +0 -3
  758. package/.vs/VSWorkspaceState.json +0 -9
  759. package/.vs/com.wallstop-studios.dxmessaging/CopilotIndices/17.14.1347.20289/CodeChunks.db +0 -0
  760. package/.vs/com.wallstop-studios.dxmessaging/CopilotIndices/17.14.1347.20289/SemanticSymbols.db +0 -0
  761. package/.vs/com.wallstop-studios.dxmessaging/DesignTimeBuild/.dtbcache.v2 +0 -0
  762. package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/41b4588f-fa0f-484b-a29b-733b6ce84c26.vsidx +0 -0
  763. package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/9a73875f-5693-4296-95fd-0672bf61c5ac.vsidx +0 -0
  764. package/.vs/com.wallstop-studios.dxmessaging/FileContentIndex/fd44ab3e-7015-4c20-918a-a0a916be8934.vsidx +0 -0
  765. package/.vs/com.wallstop-studios.dxmessaging/v17/.futdcache.v2 +0 -0
  766. package/.vs/com.wallstop-studios.dxmessaging/v17/.wsuo +0 -0
  767. package/.vs/com.wallstop-studios.dxmessaging/v17/DocumentLayout.backup.json +0 -82
  768. package/.vs/com.wallstop-studios.dxmessaging/v17/DocumentLayout.json +0 -82
  769. package/.vs/com.wallstop-studios.dxmessaging/v17/TestStore/0/000.testlog +0 -0
  770. package/.vs/com.wallstop-studios.dxmessaging/v17/TestStore/0/testlog.manifest +0 -0
  771. package/.vs/com.wallstop-studios.dxmessaging/v17/csharpier.json +0 -1
  772. package/.vs/com.wallstop-studios.dxmessaging/v18/.futdcache.v2 +0 -0
  773. package/.vs/com.wallstop-studios.dxmessaging/v18/DocumentLayout.backup.json +0 -86
  774. package/.vs/com.wallstop-studios.dxmessaging/v18/DocumentLayout.json +0 -86
  775. package/.vs/slnx.sqlite +0 -0
  776. package/.yamllint.yaml +0 -31
  777. package/AGENTS.md +0 -3
  778. package/AGENTS.md.meta +0 -7
  779. package/CLAUDE.md +0 -3
  780. package/CLAUDE.md.meta +0 -7
  781. package/CONTRIBUTING.md +0 -43
  782. package/CONTRIBUTING.md.meta +0 -7
  783. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/CopilotIndices/17.14.1231.31060/CodeChunks.db +0 -0
  784. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/CopilotIndices/17.14.1231.31060/SemanticSymbols.db +0 -0
  785. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/DesignTimeBuild/.dtbcache.v2 +0 -0
  786. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/FileContentIndex/c90afd9b-d899-4546-bd92-ab874e448437.vsidx +0 -0
  787. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/.vs/WallstopStudios.DxMessaging.SourceGenerators/v17/.futdcache.v2 +0 -0
  788. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DocsSnippetCompilationTests.cs +0 -544
  789. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DocsSnippetCompilationTests.cs.meta +0 -11
  790. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DxAutoConstructorGeneratorDiagnosticsTests.cs +0 -69
  791. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DxAutoConstructorGeneratorDiagnosticsTests.cs.meta +0 -11
  792. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DxMessageIdGeneratorDiagnosticsTests.cs +0 -66
  793. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/DxMessageIdGeneratorDiagnosticsTests.cs.meta +0 -11
  794. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/GeneratorTestUtilities.cs +0 -155
  795. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/GeneratorTestUtilities.cs.meta +0 -11
  796. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj +0 -20
  797. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests/WallstopStudios.DxMessaging.SourceGenerators.Tests.csproj.meta +0 -7
  798. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.Tests.meta +0 -8
  799. package/Tests/Editor/MessagingComponentEditorHarnessTests.cs +0 -243
  800. package/Tests/Editor/MessagingComponentEditorHarnessTests.cs.meta +0 -3
  801. package/Tests/Editor/MessagingComponentSerializationTests.cs +0 -129
  802. package/Tests/Editor/MessagingComponentSerializationTests.cs.meta +0 -3
  803. package/Tests/Editor/WallstopStudios.DxMessaging.Tests.Editor.asmdef +0 -19
  804. package/Tests/Editor/WallstopStudios.DxMessaging.Tests.Editor.asmdef.meta +0 -3
  805. package/Tests/Editor.meta +0 -3
  806. package/Tests/Runtime/Benchmarks/BenchmarkSession.cs +0 -450
  807. package/Tests/Runtime/Benchmarks/BenchmarkSession.cs.meta +0 -11
  808. package/Tests/Runtime/Benchmarks/BenchmarkTestBase.cs +0 -97
  809. package/Tests/Runtime/Benchmarks/BenchmarkTestBase.cs.meta +0 -11
  810. package/Tests/Runtime/Benchmarks/ComparisonPerformanceTests.cs +0 -398
  811. package/Tests/Runtime/Benchmarks/ComparisonPerformanceTests.cs.meta +0 -11
  812. package/Tests/Runtime/Benchmarks/PerformanceTests.cs +0 -623
  813. package/Tests/Runtime/Benchmarks/PerformanceTests.cs.meta +0 -11
  814. package/Tests/Runtime/Benchmarks/ProviderResolutionBenchmarks.cs +0 -142
  815. package/Tests/Runtime/Benchmarks/ProviderResolutionBenchmarks.cs.meta +0 -12
  816. package/Tests/Runtime/Benchmarks/WallstopStudios.DxMessaging.Tests.Runtime.Benchmarks.asmdef +0 -45
  817. package/Tests/Runtime/Benchmarks/WallstopStudios.DxMessaging.Tests.Runtime.Benchmarks.asmdef.meta +0 -7
  818. package/Tests/Runtime/Benchmarks.meta +0 -8
  819. package/Tests/Runtime/Core/AlternateBusTests.cs +0 -85
  820. package/Tests/Runtime/Core/AlternateBusTests.cs.meta +0 -11
  821. package/Tests/Runtime/Core/BroadcastTests.cs +0 -914
  822. package/Tests/Runtime/Core/BroadcastTests.cs.meta +0 -11
  823. package/Tests/Runtime/Core/CyclicBufferTests.cs +0 -343
  824. package/Tests/Runtime/Core/CyclicBufferTests.cs.meta +0 -11
  825. package/Tests/Runtime/Core/DefaultBusFallbackTests.cs +0 -336
  826. package/Tests/Runtime/Core/DefaultBusFallbackTests.cs.meta +0 -11
  827. package/Tests/Runtime/Core/DiagnosticsTests.cs +0 -193
  828. package/Tests/Runtime/Core/DiagnosticsTests.cs.meta +0 -11
  829. package/Tests/Runtime/Core/DxMessagingStaticStateTests.cs +0 -69
  830. package/Tests/Runtime/Core/DxMessagingStaticStateTests.cs.meta +0 -11
  831. package/Tests/Runtime/Core/EdgeCaseTests.cs +0 -582
  832. package/Tests/Runtime/Core/EdgeCaseTests.cs.meta +0 -11
  833. package/Tests/Runtime/Core/EnablementTests.cs +0 -72
  834. package/Tests/Runtime/Core/EnablementTests.cs.meta +0 -3
  835. package/Tests/Runtime/Core/Extensions/MessageBusExtensionsTests.cs +0 -259
  836. package/Tests/Runtime/Core/Extensions/MessageBusExtensionsTests.cs.meta +0 -11
  837. package/Tests/Runtime/Core/Extensions/MessageExtensionsProviderTests.cs +0 -289
  838. package/Tests/Runtime/Core/Extensions/MessageExtensionsProviderTests.cs.meta +0 -11
  839. package/Tests/Runtime/Core/Extensions.meta +0 -8
  840. package/Tests/Runtime/Core/GenericMessageTests.cs +0 -50
  841. package/Tests/Runtime/Core/GenericMessageTests.cs.meta +0 -3
  842. package/Tests/Runtime/Core/GlobalAcceptAllTests.cs +0 -193
  843. package/Tests/Runtime/Core/GlobalAcceptAllTests.cs.meta +0 -11
  844. package/Tests/Runtime/Core/IntegrationShimSmokeTests.cs +0 -57
  845. package/Tests/Runtime/Core/IntegrationShimSmokeTests.cs.meta +0 -11
  846. package/Tests/Runtime/Core/InterceptorCancellationTests.cs +0 -173
  847. package/Tests/Runtime/Core/InterceptorCancellationTests.cs.meta +0 -11
  848. package/Tests/Runtime/Core/LifecycleTests.cs +0 -75
  849. package/Tests/Runtime/Core/LifecycleTests.cs.meta +0 -11
  850. package/Tests/Runtime/Core/MessageEmissionDataTests.cs +0 -70
  851. package/Tests/Runtime/Core/MessageEmissionDataTests.cs.meta +0 -11
  852. package/Tests/Runtime/Core/MessageHandlerGlobalBusTests.cs +0 -219
  853. package/Tests/Runtime/Core/MessageHandlerGlobalBusTests.cs.meta +0 -11
  854. package/Tests/Runtime/Core/MessageRegistrationBuilderTests.cs +0 -204
  855. package/Tests/Runtime/Core/MessageRegistrationBuilderTests.cs.meta +0 -11
  856. package/Tests/Runtime/Core/MessagingComponentLifecycleTests.cs +0 -92
  857. package/Tests/Runtime/Core/MessagingComponentLifecycleTests.cs.meta +0 -11
  858. package/Tests/Runtime/Core/MessagingTestBase.cs +0 -211
  859. package/Tests/Runtime/Core/MessagingTestBase.cs.meta +0 -11
  860. package/Tests/Runtime/Core/MutationDedupeTests.cs +0 -101
  861. package/Tests/Runtime/Core/MutationDedupeTests.cs.meta +0 -11
  862. package/Tests/Runtime/Core/MutationDestructionTests.cs +0 -437
  863. package/Tests/Runtime/Core/MutationDestructionTests.cs.meta +0 -11
  864. package/Tests/Runtime/Core/MutationDuringEmissionTests.cs +0 -2141
  865. package/Tests/Runtime/Core/MutationDuringEmissionTests.cs.meta +0 -11
  866. package/Tests/Runtime/Core/MutationGlobalAddTests.cs +0 -102
  867. package/Tests/Runtime/Core/MutationGlobalAddTests.cs.meta +0 -11
  868. package/Tests/Runtime/Core/MutationHighVolumeStressTests.cs +0 -512
  869. package/Tests/Runtime/Core/MutationHighVolumeStressTests.cs.meta +0 -11
  870. package/Tests/Runtime/Core/MutationInterceptorTests.cs +0 -190
  871. package/Tests/Runtime/Core/MutationInterceptorTests.cs.meta +0 -11
  872. package/Tests/Runtime/Core/MutationPostProcessorAcrossHandlersTests.cs +0 -109
  873. package/Tests/Runtime/Core/MutationPostProcessorAcrossHandlersTests.cs.meta +0 -11
  874. package/Tests/Runtime/Core/MutationPostProcessorMoreTests.cs +0 -117
  875. package/Tests/Runtime/Core/MutationPostProcessorMoreTests.cs.meta +0 -11
  876. package/Tests/Runtime/Core/MutationPriorityTests.cs +0 -119
  877. package/Tests/Runtime/Core/MutationPriorityTests.cs.meta +0 -11
  878. package/Tests/Runtime/Core/NominalTests.cs +0 -1738
  879. package/Tests/Runtime/Core/NominalTests.cs.meta +0 -11
  880. package/Tests/Runtime/Core/OrderingManyRegistrationsTests.cs +0 -683
  881. package/Tests/Runtime/Core/OrderingManyRegistrationsTests.cs.meta +0 -11
  882. package/Tests/Runtime/Core/OrderingTests.cs +0 -1932
  883. package/Tests/Runtime/Core/OrderingTests.cs.meta +0 -11
  884. package/Tests/Runtime/Core/OverDeregistrationTests.cs +0 -128
  885. package/Tests/Runtime/Core/OverDeregistrationTests.cs.meta +0 -11
  886. package/Tests/Runtime/Core/PostProcessorTests.cs +0 -1248
  887. package/Tests/Runtime/Core/PostProcessorTests.cs.meta +0 -11
  888. package/Tests/Runtime/Core/ReflexiveErrorTests.cs +0 -43
  889. package/Tests/Runtime/Core/ReflexiveErrorTests.cs.meta +0 -11
  890. package/Tests/Runtime/Core/ReflexiveMessageWarningTests.cs +0 -89
  891. package/Tests/Runtime/Core/ReflexiveMessageWarningTests.cs.meta +0 -11
  892. package/Tests/Runtime/Core/ReflexiveTests.cs +0 -173
  893. package/Tests/Runtime/Core/ReflexiveTests.cs.meta +0 -11
  894. package/Tests/Runtime/Core/RegistrationTests.cs +0 -1269
  895. package/Tests/Runtime/Core/RegistrationTests.cs.meta +0 -11
  896. package/Tests/Runtime/Core/SourceGeneratorNestedTests.cs +0 -116
  897. package/Tests/Runtime/Core/SourceGeneratorNestedTests.cs.meta +0 -11
  898. package/Tests/Runtime/Core/StringShorthandTests.cs +0 -101
  899. package/Tests/Runtime/Core/StringShorthandTests.cs.meta +0 -12
  900. package/Tests/Runtime/Core/TargetedTests.cs +0 -905
  901. package/Tests/Runtime/Core/TargetedTests.cs.meta +0 -11
  902. package/Tests/Runtime/Core/TypedShorthandTests.cs +0 -233
  903. package/Tests/Runtime/Core/TypedShorthandTests.cs.meta +0 -12
  904. package/Tests/Runtime/Core/UntargetedEquivalenceTests.cs +0 -173
  905. package/Tests/Runtime/Core/UntargetedEquivalenceTests.cs.meta +0 -12
  906. package/Tests/Runtime/Core/UntargetedPrefreezeTests.cs +0 -50
  907. package/Tests/Runtime/Core/UntargetedPrefreezeTests.cs.meta +0 -11
  908. package/Tests/Runtime/Core/UntargetedTests.cs +0 -280
  909. package/Tests/Runtime/Core/UntargetedTests.cs.meta +0 -11
  910. package/Tests/Runtime/Core.meta +0 -8
  911. package/Tests/Runtime/Integrations/Reflex/ReflexIntegrationTests.cs +0 -165
  912. package/Tests/Runtime/Integrations/Reflex/ReflexIntegrationTests.cs.meta +0 -11
  913. package/Tests/Runtime/Integrations/Reflex/Resources/ReflexSettings.asset +0 -16
  914. package/Tests/Runtime/Integrations/Reflex/Resources/ReflexSettings.asset.meta +0 -8
  915. package/Tests/Runtime/Integrations/Reflex/Resources.meta +0 -8
  916. package/Tests/Runtime/Integrations/Reflex/WallstopStudios.DxMessaging.Tests.Runtime.Reflex.asmdef +0 -27
  917. package/Tests/Runtime/Integrations/Reflex/WallstopStudios.DxMessaging.Tests.Runtime.Reflex.asmdef.meta +0 -7
  918. package/Tests/Runtime/Integrations/Reflex.meta +0 -8
  919. package/Tests/Runtime/Integrations/VContainer/VContainerIntegrationTests.cs +0 -143
  920. package/Tests/Runtime/Integrations/VContainer/VContainerIntegrationTests.cs.meta +0 -11
  921. package/Tests/Runtime/Integrations/VContainer/WallstopStudios.DxMessaging.Tests.Runtime.VContainer.asmdef +0 -37
  922. package/Tests/Runtime/Integrations/VContainer/WallstopStudios.DxMessaging.Tests.Runtime.VContainer.asmdef.meta +0 -7
  923. package/Tests/Runtime/Integrations/VContainer.meta +0 -8
  924. package/Tests/Runtime/Integrations/Zenject/WallstopStudios.DxMessaging.Tests.Runtime.Zenject.asmdef +0 -37
  925. package/Tests/Runtime/Integrations/Zenject/WallstopStudios.DxMessaging.Tests.Runtime.Zenject.asmdef.meta +0 -7
  926. package/Tests/Runtime/Integrations/Zenject/ZenjectIntegrationTests.cs +0 -142
  927. package/Tests/Runtime/Integrations/Zenject/ZenjectIntegrationTests.cs.meta +0 -11
  928. package/Tests/Runtime/Integrations/Zenject.meta +0 -8
  929. package/Tests/Runtime/Integrations.meta +0 -8
  930. package/Tests/Runtime/Scripts/Components/EmptyMessageAwareComponent.cs +0 -9
  931. package/Tests/Runtime/Scripts/Components/EmptyMessageAwareComponent.cs.meta +0 -11
  932. package/Tests/Runtime/Scripts/Components/GenericMessageAwareComponent.cs +0 -21
  933. package/Tests/Runtime/Scripts/Components/GenericMessageAwareComponent.cs.meta +0 -3
  934. package/Tests/Runtime/Scripts/Components/ManualListenerComponent.cs +0 -25
  935. package/Tests/Runtime/Scripts/Components/ManualListenerComponent.cs.meta +0 -11
  936. package/Tests/Runtime/Scripts/Components/ReflexiveReceiverComponent.cs +0 -17
  937. package/Tests/Runtime/Scripts/Components/ReflexiveReceiverComponent.cs.meta +0 -11
  938. package/Tests/Runtime/Scripts/Components/ShorthandTargetedBroadcastComponent.cs +0 -46
  939. package/Tests/Runtime/Scripts/Components/ShorthandTargetedBroadcastComponent.cs.meta +0 -12
  940. package/Tests/Runtime/Scripts/Components/SimpleMessageAwareComponent.cs +0 -198
  941. package/Tests/Runtime/Scripts/Components/SimpleMessageAwareComponent.cs.meta +0 -11
  942. package/Tests/Runtime/Scripts/Components/StringMessageAwareComponent.cs +0 -75
  943. package/Tests/Runtime/Scripts/Components/StringMessageAwareComponent.cs.meta +0 -12
  944. package/Tests/Runtime/Scripts/Components/UntargetedClassReceiverComponent.cs +0 -16
  945. package/Tests/Runtime/Scripts/Components/UntargetedClassReceiverComponent.cs.meta +0 -12
  946. package/Tests/Runtime/Scripts/Components/UntargetedReceiverComponent.cs +0 -16
  947. package/Tests/Runtime/Scripts/Components/UntargetedReceiverComponent.cs.meta +0 -12
  948. package/Tests/Runtime/Scripts/Components.meta +0 -8
  949. package/Tests/Runtime/Scripts/Messages/ClassUntargetedMessage.cs +0 -17
  950. package/Tests/Runtime/Scripts/Messages/ClassUntargetedMessage.cs.meta +0 -12
  951. package/Tests/Runtime/Scripts/Messages/ComplexTargetedMessage.cs +0 -29
  952. package/Tests/Runtime/Scripts/Messages/ComplexTargetedMessage.cs.meta +0 -11
  953. package/Tests/Runtime/Scripts/Messages/GenericUntargetedMessage.cs +0 -7
  954. package/Tests/Runtime/Scripts/Messages/GenericUntargetedMessage.cs.meta +0 -3
  955. package/Tests/Runtime/Scripts/Messages/SimpleBroadcastMessage.cs +0 -7
  956. package/Tests/Runtime/Scripts/Messages/SimpleBroadcastMessage.cs.meta +0 -11
  957. package/Tests/Runtime/Scripts/Messages/SimpleTargetedMessage.cs +0 -7
  958. package/Tests/Runtime/Scripts/Messages/SimpleTargetedMessage.cs.meta +0 -11
  959. package/Tests/Runtime/Scripts/Messages/SimpleUntargetedMessage.cs +0 -7
  960. package/Tests/Runtime/Scripts/Messages/SimpleUntargetedMessage.cs.meta +0 -11
  961. package/Tests/Runtime/Scripts/Messages.meta +0 -8
  962. package/Tests/Runtime/Scripts.meta +0 -8
  963. package/Tests/Runtime/TestUtilities/UnityFixtureBase.cs +0 -67
  964. package/Tests/Runtime/TestUtilities/UnityFixtureBase.cs.meta +0 -12
  965. package/Tests/Runtime/TestUtilities.meta +0 -9
  966. package/Tests/Runtime/Unity/MessageBusProviderAssetTests.cs +0 -60
  967. package/Tests/Runtime/Unity/MessageBusProviderAssetTests.cs.meta +0 -11
  968. package/Tests/Runtime/Unity/MessageBusProviderHandleTests.cs +0 -191
  969. package/Tests/Runtime/Unity/MessageBusProviderHandleTests.cs.meta +0 -12
  970. package/Tests/Runtime/Unity/MessagingComponentInstallerSceneTests.cs +0 -109
  971. package/Tests/Runtime/Unity/MessagingComponentInstallerSceneTests.cs.meta +0 -11
  972. package/Tests/Runtime/Unity/MessagingComponentProviderIntegrationTests.cs +0 -352
  973. package/Tests/Runtime/Unity/MessagingComponentProviderIntegrationTests.cs.meta +0 -12
  974. package/Tests/Runtime/Unity.meta +0 -9
  975. package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.asmdef +0 -21
  976. package/Tests/Runtime/WallstopStudios.DxMessaging.Tests.Runtime.asmdef.meta +0 -7
  977. package/Tests/Runtime.meta +0 -8
  978. package/Tests.meta +0 -8
  979. package/coverage/clover.xml +0 -219
  980. package/coverage/clover.xml.meta +0 -7
  981. package/coverage/coverage-final.json +0 -2
  982. package/coverage/coverage-final.json.meta +0 -7
  983. package/coverage/lcov-report/base.css +0 -224
  984. package/coverage/lcov-report/base.css.meta +0 -7
  985. package/coverage/lcov-report/block-navigation.js +0 -87
  986. package/coverage/lcov-report/block-navigation.js.meta +0 -7
  987. package/coverage/lcov-report/favicon.png +0 -0
  988. package/coverage/lcov-report/favicon.png.meta +0 -127
  989. package/coverage/lcov-report/index.html +0 -116
  990. package/coverage/lcov-report/index.html.meta +0 -7
  991. package/coverage/lcov-report/prettify.css +0 -1
  992. package/coverage/lcov-report/prettify.css.meta +0 -7
  993. package/coverage/lcov-report/prettify.js +0 -2
  994. package/coverage/lcov-report/prettify.js.meta +0 -7
  995. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  996. package/coverage/lcov-report/sort-arrow-sprite.png.meta +0 -127
  997. package/coverage/lcov-report/sorter.js +0 -210
  998. package/coverage/lcov-report/sorter.js.meta +0 -7
  999. package/coverage/lcov-report/transform-docs-to-wiki.js.html +0 -1312
  1000. package/coverage/lcov-report/transform-docs-to-wiki.js.html.meta +0 -7
  1001. package/coverage/lcov-report/vendor.meta +0 -8
  1002. package/coverage/lcov-report.meta +0 -8
  1003. package/coverage/lcov.info +0 -365
  1004. package/coverage/lcov.info.meta +0 -7
  1005. package/docs/advanced/emit-shorthands.md +0 -468
  1006. package/docs/advanced/emit-shorthands.md.meta +0 -7
  1007. package/docs/advanced/message-bus-providers.md +0 -497
  1008. package/docs/advanced/message-bus-providers.md.meta +0 -7
  1009. package/docs/advanced/registration-builders.md +0 -444
  1010. package/docs/advanced/registration-builders.md.meta +0 -7
  1011. package/docs/advanced/runtime-configuration.md +0 -408
  1012. package/docs/advanced/runtime-configuration.md.meta +0 -7
  1013. package/docs/advanced/string-messages.md +0 -71
  1014. package/docs/advanced/string-messages.md.meta +0 -7
  1015. package/docs/advanced.meta +0 -8
  1016. package/docs/architecture/comparisons.md +0 -1684
  1017. package/docs/architecture/comparisons.md.meta +0 -7
  1018. package/docs/architecture/design-and-architecture.md +0 -142
  1019. package/docs/architecture/design-and-architecture.md.meta +0 -7
  1020. package/docs/architecture/performance.md +0 -53
  1021. package/docs/architecture/performance.md.meta +0 -7
  1022. package/docs/architecture.meta +0 -8
  1023. package/docs/concepts/index.md +0 -37
  1024. package/docs/concepts/index.md.meta +0 -7
  1025. package/docs/concepts/interceptors-and-ordering.md +0 -522
  1026. package/docs/concepts/interceptors-and-ordering.md.meta +0 -7
  1027. package/docs/concepts/listening-patterns.md +0 -266
  1028. package/docs/concepts/listening-patterns.md.meta +0 -7
  1029. package/docs/concepts/mental-model.md +0 -390
  1030. package/docs/concepts/mental-model.md.meta +0 -7
  1031. package/docs/concepts/message-types.md +0 -218
  1032. package/docs/concepts/message-types.md.meta +0 -7
  1033. package/docs/concepts/targeting-and-context.md +0 -451
  1034. package/docs/concepts/targeting-and-context.md.meta +0 -7
  1035. package/docs/concepts.meta +0 -8
  1036. package/docs/examples/end-to-end-scene-transitions.md +0 -130
  1037. package/docs/examples/end-to-end-scene-transitions.md.meta +0 -7
  1038. package/docs/examples/end-to-end.md +0 -139
  1039. package/docs/examples/end-to-end.md.meta +0 -7
  1040. package/docs/examples.meta +0 -8
  1041. package/docs/getting-started/getting-started.md +0 -203
  1042. package/docs/getting-started/getting-started.md.meta +0 -7
  1043. package/docs/getting-started/index.md +0 -317
  1044. package/docs/getting-started/index.md.meta +0 -7
  1045. package/docs/getting-started/install.md +0 -89
  1046. package/docs/getting-started/install.md.meta +0 -7
  1047. package/docs/getting-started/overview.md +0 -159
  1048. package/docs/getting-started/overview.md.meta +0 -7
  1049. package/docs/getting-started/quick-start.md +0 -175
  1050. package/docs/getting-started/quick-start.md.meta +0 -7
  1051. package/docs/getting-started/visual-guide.md +0 -605
  1052. package/docs/getting-started/visual-guide.md.meta +0 -7
  1053. package/docs/getting-started.meta +0 -8
  1054. package/docs/guides/advanced.md +0 -261
  1055. package/docs/guides/advanced.md.meta +0 -7
  1056. package/docs/guides/diagnostics.md +0 -300
  1057. package/docs/guides/diagnostics.md.meta +0 -7
  1058. package/docs/guides/migration-guide.md +0 -513
  1059. package/docs/guides/migration-guide.md.meta +0 -7
  1060. package/docs/guides/patterns.md +0 -1080
  1061. package/docs/guides/patterns.md.meta +0 -7
  1062. package/docs/guides/testing.md +0 -243
  1063. package/docs/guides/testing.md.meta +0 -7
  1064. package/docs/guides/unity-integration.md +0 -139
  1065. package/docs/guides/unity-integration.md.meta +0 -7
  1066. package/docs/guides.meta +0 -8
  1067. package/docs/hooks.py +0 -177
  1068. package/docs/hooks.py.meta +0 -7
  1069. package/docs/images/DxMessaging-banner.svg +0 -119
  1070. package/docs/images/DxMessaging-banner.svg.meta +0 -7
  1071. package/docs/images.meta +0 -8
  1072. package/docs/index.md +0 -61
  1073. package/docs/index.md.meta +0 -7
  1074. package/docs/integrations/index.md +0 -66
  1075. package/docs/integrations/index.md.meta +0 -7
  1076. package/docs/integrations/reflex.md +0 -317
  1077. package/docs/integrations/reflex.md.meta +0 -7
  1078. package/docs/integrations/vcontainer.md +0 -333
  1079. package/docs/integrations/vcontainer.md.meta +0 -7
  1080. package/docs/integrations/zenject.md +0 -333
  1081. package/docs/integrations/zenject.md.meta +0 -7
  1082. package/docs/integrations.meta +0 -8
  1083. package/docs/javascripts/csharp-highlight.js +0 -246
  1084. package/docs/javascripts/csharp-highlight.js.meta +0 -7
  1085. package/docs/javascripts/mermaid-config.js +0 -387
  1086. package/docs/javascripts/mermaid-config.js.meta +0 -7
  1087. package/docs/javascripts.meta +0 -8
  1088. package/docs/reference/compatibility.md +0 -44
  1089. package/docs/reference/compatibility.md.meta +0 -7
  1090. package/docs/reference/faq.md +0 -57
  1091. package/docs/reference/faq.md.meta +0 -7
  1092. package/docs/reference/glossary.md +0 -267
  1093. package/docs/reference/glossary.md.meta +0 -7
  1094. package/docs/reference/helpers.md +0 -989
  1095. package/docs/reference/helpers.md.meta +0 -7
  1096. package/docs/reference/quick-reference.md +0 -269
  1097. package/docs/reference/quick-reference.md.meta +0 -7
  1098. package/docs/reference/reference.md +0 -365
  1099. package/docs/reference/reference.md.meta +0 -7
  1100. package/docs/reference/troubleshooting.md +0 -63
  1101. package/docs/reference/troubleshooting.md.meta +0 -7
  1102. package/docs/reference.meta +0 -8
  1103. package/docs/stylesheets/extra.css +0 -485
  1104. package/docs/stylesheets/extra.css.meta +0 -7
  1105. package/docs/stylesheets.meta +0 -8
  1106. package/docs.meta +0 -8
  1107. package/mkdocs.yml +0 -200
  1108. package/mkdocs.yml.meta +0 -7
  1109. package/requirements-docs.txt +0 -23
  1110. package/requirements-docs.txt.meta +0 -7
  1111. package/scripts/__tests__/generate-skills-index.test.js +0 -397
  1112. package/scripts/__tests__/generate-skills-index.test.js.meta +0 -7
  1113. package/scripts/__tests__/mermaid-config.test.js +0 -467
  1114. package/scripts/__tests__/mermaid-config.test.js.meta +0 -7
  1115. package/scripts/__tests__/sync-banner-version.test.js +0 -606
  1116. package/scripts/__tests__/sync-banner-version.test.js.meta +0 -7
  1117. package/scripts/__tests__/validate-skills-optional-fields.test.js +0 -1474
  1118. package/scripts/__tests__/validate-skills-optional-fields.test.js.meta +0 -7
  1119. package/scripts/__tests__/validate-skills-required-fields.test.js +0 -188
  1120. package/scripts/__tests__/validate-skills-required-fields.test.js.meta +0 -7
  1121. package/scripts/__tests__/validate-skills-tags.test.js +0 -353
  1122. package/scripts/__tests__/validate-skills-tags.test.js.meta +0 -7
  1123. package/scripts/__tests__/validate-workflows.test.js +0 -188
  1124. package/scripts/__tests__/validate-workflows.test.js.meta +0 -7
  1125. package/scripts/__tests__.meta +0 -8
  1126. package/scripts/check-eol.js +0 -365
  1127. package/scripts/check-eol.js.meta +0 -7
  1128. package/scripts/check-eol.ps1 +0 -179
  1129. package/scripts/check-eol.ps1.meta +0 -8
  1130. package/scripts/fix-eol.js +0 -164
  1131. package/scripts/fix-eol.js.meta +0 -7
  1132. package/scripts/fix-markdown-file.js +0 -64
  1133. package/scripts/fix-markdown-file.js.meta +0 -7
  1134. package/scripts/fix-md036-headings.js +0 -71
  1135. package/scripts/fix-md036-headings.js.meta +0 -7
  1136. package/scripts/generate-skills-index.js +0 -597
  1137. package/scripts/generate-skills-index.js.meta +0 -7
  1138. package/scripts/generate-skills-index.ps1 +0 -38
  1139. package/scripts/generate-skills-index.ps1.meta +0 -7
  1140. package/scripts/hooks/pre-commit +0 -59
  1141. package/scripts/hooks/pre-commit.meta +0 -7
  1142. package/scripts/hooks.meta +0 -8
  1143. package/scripts/lint-doc-links.ps1 +0 -25
  1144. package/scripts/lint-doc-links.ps1.meta +0 -7
  1145. package/scripts/sync-banner-version.ps1 +0 -133
  1146. package/scripts/sync-banner-version.ps1.meta +0 -7
  1147. package/scripts/sync-banner-version.sh +0 -16
  1148. package/scripts/sync-banner-version.sh.meta +0 -7
  1149. package/scripts/validate-skills.js +0 -757
  1150. package/scripts/validate-skills.js.meta +0 -7
  1151. package/scripts/validate-workflows.js +0 -272
  1152. package/scripts/validate-workflows.js.meta +0 -7
  1153. package/scripts/wiki/__tests__/transform.test.js +0 -380
  1154. package/scripts/wiki/__tests__/transform.test.js.meta +0 -7
  1155. package/scripts/wiki/__tests__.meta +0 -7
  1156. package/scripts/wiki/generate-wiki-sidebar.js +0 -122
  1157. package/scripts/wiki/generate-wiki-sidebar.js.meta +0 -7
  1158. package/scripts/wiki/transform-docs-to-wiki.js +0 -409
  1159. package/scripts/wiki/transform-docs-to-wiki.js.meta +0 -7
  1160. package/scripts/wiki.meta +0 -8
  1161. package/scripts.meta +0 -8
  1162. package/site/404.html +0 -1
  1163. package/site/404.html.meta +0 -7
  1164. package/site/advanced/emit-shorthands/index.html +0 -212
  1165. package/site/advanced/emit-shorthands/index.html.meta +0 -7
  1166. package/site/advanced/emit-shorthands.meta +0 -8
  1167. package/site/advanced/message-bus-providers/index.html +0 -241
  1168. package/site/advanced/message-bus-providers/index.html.meta +0 -7
  1169. package/site/advanced/message-bus-providers.meta +0 -8
  1170. package/site/advanced/registration-builders/index.html +0 -228
  1171. package/site/advanced/registration-builders/index.html.meta +0 -7
  1172. package/site/advanced/registration-builders.meta +0 -8
  1173. package/site/advanced/runtime-configuration/index.html +0 -196
  1174. package/site/advanced/runtime-configuration/index.html.meta +0 -7
  1175. package/site/advanced/runtime-configuration.meta +0 -8
  1176. package/site/advanced/string-messages/index.html +0 -29
  1177. package/site/advanced/string-messages/index.html.meta +0 -7
  1178. package/site/advanced/string-messages.meta +0 -8
  1179. package/site/advanced.meta +0 -8
  1180. package/site/architecture/comparisons/index.html +0 -356
  1181. package/site/architecture/comparisons/index.html.meta +0 -7
  1182. package/site/architecture/comparisons.meta +0 -8
  1183. package/site/architecture/design-and-architecture/index.html +0 -34
  1184. package/site/architecture/design-and-architecture/index.html.meta +0 -7
  1185. package/site/architecture/design-and-architecture.meta +0 -8
  1186. package/site/architecture/performance/index.html +0 -1
  1187. package/site/architecture/performance/index.html.meta +0 -7
  1188. package/site/architecture/performance.meta +0 -8
  1189. package/site/architecture.meta +0 -8
  1190. package/site/assets/images/favicon.png +0 -0
  1191. package/site/assets/images/favicon.png.meta +0 -127
  1192. package/site/assets/images.meta +0 -8
  1193. package/site/assets/javascripts/bundle.79ae519e.min.js +0 -16
  1194. package/site/assets/javascripts/bundle.79ae519e.min.js.map +0 -7
  1195. package/site/assets/javascripts/bundle.79ae519e.min.js.map.meta +0 -7
  1196. package/site/assets/javascripts/bundle.79ae519e.min.js.meta +0 -7
  1197. package/site/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
  1198. package/site/assets/javascripts/lunr/min/lunr.ar.min.js.meta +0 -7
  1199. package/site/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
  1200. package/site/assets/javascripts/lunr/min/lunr.da.min.js.meta +0 -7
  1201. package/site/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
  1202. package/site/assets/javascripts/lunr/min/lunr.de.min.js.meta +0 -7
  1203. package/site/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
  1204. package/site/assets/javascripts/lunr/min/lunr.du.min.js.meta +0 -7
  1205. package/site/assets/javascripts/lunr/min/lunr.el.min.js +0 -1
  1206. package/site/assets/javascripts/lunr/min/lunr.el.min.js.meta +0 -7
  1207. package/site/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
  1208. package/site/assets/javascripts/lunr/min/lunr.es.min.js.meta +0 -7
  1209. package/site/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
  1210. package/site/assets/javascripts/lunr/min/lunr.fi.min.js.meta +0 -7
  1211. package/site/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
  1212. package/site/assets/javascripts/lunr/min/lunr.fr.min.js.meta +0 -7
  1213. package/site/assets/javascripts/lunr/min/lunr.he.min.js +0 -1
  1214. package/site/assets/javascripts/lunr/min/lunr.he.min.js.meta +0 -7
  1215. package/site/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
  1216. package/site/assets/javascripts/lunr/min/lunr.hi.min.js.meta +0 -7
  1217. package/site/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
  1218. package/site/assets/javascripts/lunr/min/lunr.hu.min.js.meta +0 -7
  1219. package/site/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
  1220. package/site/assets/javascripts/lunr/min/lunr.hy.min.js.meta +0 -7
  1221. package/site/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
  1222. package/site/assets/javascripts/lunr/min/lunr.it.min.js.meta +0 -7
  1223. package/site/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
  1224. package/site/assets/javascripts/lunr/min/lunr.ja.min.js.meta +0 -7
  1225. package/site/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
  1226. package/site/assets/javascripts/lunr/min/lunr.jp.min.js.meta +0 -7
  1227. package/site/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
  1228. package/site/assets/javascripts/lunr/min/lunr.kn.min.js.meta +0 -7
  1229. package/site/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
  1230. package/site/assets/javascripts/lunr/min/lunr.ko.min.js.meta +0 -7
  1231. package/site/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
  1232. package/site/assets/javascripts/lunr/min/lunr.multi.min.js.meta +0 -7
  1233. package/site/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
  1234. package/site/assets/javascripts/lunr/min/lunr.nl.min.js.meta +0 -7
  1235. package/site/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
  1236. package/site/assets/javascripts/lunr/min/lunr.no.min.js.meta +0 -7
  1237. package/site/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
  1238. package/site/assets/javascripts/lunr/min/lunr.pt.min.js.meta +0 -7
  1239. package/site/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
  1240. package/site/assets/javascripts/lunr/min/lunr.ro.min.js.meta +0 -7
  1241. package/site/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
  1242. package/site/assets/javascripts/lunr/min/lunr.ru.min.js.meta +0 -7
  1243. package/site/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
  1244. package/site/assets/javascripts/lunr/min/lunr.sa.min.js.meta +0 -7
  1245. package/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
  1246. package/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js.meta +0 -7
  1247. package/site/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
  1248. package/site/assets/javascripts/lunr/min/lunr.sv.min.js.meta +0 -7
  1249. package/site/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
  1250. package/site/assets/javascripts/lunr/min/lunr.ta.min.js.meta +0 -7
  1251. package/site/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
  1252. package/site/assets/javascripts/lunr/min/lunr.te.min.js.meta +0 -7
  1253. package/site/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
  1254. package/site/assets/javascripts/lunr/min/lunr.th.min.js.meta +0 -7
  1255. package/site/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
  1256. package/site/assets/javascripts/lunr/min/lunr.tr.min.js.meta +0 -7
  1257. package/site/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
  1258. package/site/assets/javascripts/lunr/min/lunr.vi.min.js.meta +0 -7
  1259. package/site/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
  1260. package/site/assets/javascripts/lunr/min/lunr.zh.min.js.meta +0 -7
  1261. package/site/assets/javascripts/lunr/min.meta +0 -8
  1262. package/site/assets/javascripts/lunr/tinyseg.js +0 -206
  1263. package/site/assets/javascripts/lunr/tinyseg.js.meta +0 -7
  1264. package/site/assets/javascripts/lunr/wordcut.js +0 -6708
  1265. package/site/assets/javascripts/lunr/wordcut.js.meta +0 -7
  1266. package/site/assets/javascripts/lunr.meta +0 -8
  1267. package/site/assets/javascripts/workers/search.2c215733.min.js +0 -42
  1268. package/site/assets/javascripts/workers/search.2c215733.min.js.map +0 -7
  1269. package/site/assets/javascripts/workers/search.2c215733.min.js.map.meta +0 -7
  1270. package/site/assets/javascripts/workers/search.2c215733.min.js.meta +0 -7
  1271. package/site/assets/javascripts/workers.meta +0 -8
  1272. package/site/assets/javascripts.meta +0 -8
  1273. package/site/assets/stylesheets/main.484c7ddc.min.css +0 -1
  1274. package/site/assets/stylesheets/main.484c7ddc.min.css.map +0 -1
  1275. package/site/assets/stylesheets/main.484c7ddc.min.css.map.meta +0 -7
  1276. package/site/assets/stylesheets/main.484c7ddc.min.css.meta +0 -7
  1277. package/site/assets/stylesheets/palette.ab4e12ef.min.css +0 -1
  1278. package/site/assets/stylesheets/palette.ab4e12ef.min.css.map +0 -1
  1279. package/site/assets/stylesheets/palette.ab4e12ef.min.css.map.meta +0 -7
  1280. package/site/assets/stylesheets/palette.ab4e12ef.min.css.meta +0 -7
  1281. package/site/assets/stylesheets.meta +0 -8
  1282. package/site/assets.meta +0 -8
  1283. package/site/concepts/index.html +0 -1
  1284. package/site/concepts/index.html.meta +0 -7
  1285. package/site/concepts/interceptors-and-ordering/index.html +0 -352
  1286. package/site/concepts/interceptors-and-ordering/index.html.meta +0 -7
  1287. package/site/concepts/interceptors-and-ordering.meta +0 -8
  1288. package/site/concepts/listening-patterns/index.html +0 -193
  1289. package/site/concepts/listening-patterns/index.html.meta +0 -7
  1290. package/site/concepts/listening-patterns.meta +0 -8
  1291. package/site/concepts/mental-model/index.html +0 -146
  1292. package/site/concepts/mental-model/index.html.meta +0 -7
  1293. package/site/concepts/mental-model.meta +0 -8
  1294. package/site/concepts/message-types/index.html +0 -111
  1295. package/site/concepts/message-types/index.html.meta +0 -7
  1296. package/site/concepts/message-types.meta +0 -8
  1297. package/site/concepts/targeting-and-context/index.html +0 -201
  1298. package/site/concepts/targeting-and-context/index.html.meta +0 -7
  1299. package/site/concepts/targeting-and-context.meta +0 -8
  1300. package/site/concepts.meta +0 -8
  1301. package/site/css/timeago.css +0 -15
  1302. package/site/css/timeago.css.meta +0 -7
  1303. package/site/css.meta +0 -8
  1304. package/site/examples/end-to-end/index.html +0 -85
  1305. package/site/examples/end-to-end/index.html.meta +0 -7
  1306. package/site/examples/end-to-end-scene-transitions/index.html +0 -84
  1307. package/site/examples/end-to-end-scene-transitions/index.html.meta +0 -7
  1308. package/site/examples/end-to-end-scene-transitions.meta +0 -8
  1309. package/site/examples/end-to-end.meta +0 -8
  1310. package/site/examples.meta +0 -8
  1311. package/site/getting-started/getting-started/index.html +0 -66
  1312. package/site/getting-started/getting-started/index.html.meta +0 -7
  1313. package/site/getting-started/getting-started.meta +0 -8
  1314. package/site/getting-started/index.html +0 -29
  1315. package/site/getting-started/index.html.meta +0 -7
  1316. package/site/getting-started/install/index.html +0 -8
  1317. package/site/getting-started/install/index.html.meta +0 -7
  1318. package/site/getting-started/install.meta +0 -8
  1319. package/site/getting-started/overview/index.html +0 -33
  1320. package/site/getting-started/overview/index.html.meta +0 -7
  1321. package/site/getting-started/overview.meta +0 -8
  1322. package/site/getting-started/quick-start/index.html +0 -81
  1323. package/site/getting-started/quick-start/index.html.meta +0 -7
  1324. package/site/getting-started/quick-start.meta +0 -8
  1325. package/site/getting-started/visual-guide/index.html +0 -256
  1326. package/site/getting-started/visual-guide/index.html.meta +0 -7
  1327. package/site/getting-started/visual-guide.meta +0 -8
  1328. package/site/getting-started.meta +0 -8
  1329. package/site/guides/advanced/index.html +0 -119
  1330. package/site/guides/advanced/index.html.meta +0 -7
  1331. package/site/guides/advanced.meta +0 -8
  1332. package/site/guides/diagnostics/index.html +0 -110
  1333. package/site/guides/diagnostics/index.html.meta +0 -7
  1334. package/site/guides/diagnostics.meta +0 -8
  1335. package/site/guides/migration-guide/index.html +0 -199
  1336. package/site/guides/migration-guide/index.html.meta +0 -7
  1337. package/site/guides/migration-guide.meta +0 -8
  1338. package/site/guides/patterns/index.html +0 -545
  1339. package/site/guides/patterns/index.html.meta +0 -7
  1340. package/site/guides/patterns.meta +0 -8
  1341. package/site/guides/testing/index.html +0 -153
  1342. package/site/guides/testing/index.html.meta +0 -7
  1343. package/site/guides/testing.meta +0 -8
  1344. package/site/guides/unity-integration/index.html +0 -67
  1345. package/site/guides/unity-integration/index.html.meta +0 -7
  1346. package/site/guides/unity-integration.meta +0 -8
  1347. package/site/guides.meta +0 -8
  1348. package/site/hooks.py +0 -168
  1349. package/site/hooks.py.meta +0 -7
  1350. package/site/images/DxMessaging-banner.svg +0 -119
  1351. package/site/images/DxMessaging-banner.svg.meta +0 -7
  1352. package/site/images.meta +0 -8
  1353. package/site/index.html +0 -17
  1354. package/site/index.html.meta +0 -7
  1355. package/site/integrations/index.html +0 -8
  1356. package/site/integrations/index.html.meta +0 -7
  1357. package/site/integrations/reflex/index.html +0 -186
  1358. package/site/integrations/reflex/index.html.meta +0 -7
  1359. package/site/integrations/reflex.meta +0 -8
  1360. package/site/integrations/vcontainer/index.html +0 -192
  1361. package/site/integrations/vcontainer/index.html.meta +0 -7
  1362. package/site/integrations/vcontainer.meta +0 -8
  1363. package/site/integrations/zenject/index.html +0 -197
  1364. package/site/integrations/zenject/index.html.meta +0 -7
  1365. package/site/integrations/zenject.meta +0 -8
  1366. package/site/integrations.meta +0 -8
  1367. package/site/javascripts/csharp-highlight.js +0 -246
  1368. package/site/javascripts/csharp-highlight.js.meta +0 -7
  1369. package/site/javascripts/mermaid-config.js +0 -350
  1370. package/site/javascripts/mermaid-config.js.meta +0 -7
  1371. package/site/javascripts.meta +0 -8
  1372. package/site/js/timeago.min.js +0 -2
  1373. package/site/js/timeago.min.js.meta +0 -7
  1374. package/site/js/timeago_mkdocs_material.js +0 -33
  1375. package/site/js/timeago_mkdocs_material.js.meta +0 -7
  1376. package/site/js.meta +0 -8
  1377. package/site/reference/compatibility/index.html +0 -1
  1378. package/site/reference/compatibility/index.html.meta +0 -7
  1379. package/site/reference/compatibility.meta +0 -8
  1380. package/site/reference/faq/index.html +0 -1
  1381. package/site/reference/faq/index.html.meta +0 -7
  1382. package/site/reference/faq.meta +0 -8
  1383. package/site/reference/glossary/index.html +0 -55
  1384. package/site/reference/glossary/index.html.meta +0 -7
  1385. package/site/reference/glossary.meta +0 -8
  1386. package/site/reference/helpers/index.html +0 -475
  1387. package/site/reference/helpers/index.html.meta +0 -7
  1388. package/site/reference/helpers.meta +0 -8
  1389. package/site/reference/quick-reference/index.html +0 -138
  1390. package/site/reference/quick-reference/index.html.meta +0 -7
  1391. package/site/reference/quick-reference.meta +0 -8
  1392. package/site/reference/reference/index.html +0 -194
  1393. package/site/reference/reference/index.html.meta +0 -7
  1394. package/site/reference/reference.meta +0 -8
  1395. package/site/reference/troubleshooting/index.html +0 -1
  1396. package/site/reference/troubleshooting/index.html.meta +0 -7
  1397. package/site/reference/troubleshooting.meta +0 -8
  1398. package/site/reference.meta +0 -8
  1399. package/site/search/search_index.json +0 -1
  1400. package/site/search/search_index.json.meta +0 -7
  1401. package/site/search.meta +0 -8
  1402. package/site/sitemap.xml +0 -163
  1403. package/site/sitemap.xml.gz +0 -0
  1404. package/site/sitemap.xml.gz.meta +0 -7
  1405. package/site/sitemap.xml.meta +0 -7
  1406. package/site/stylesheets/extra.css +0 -485
  1407. package/site/stylesheets/extra.css.meta +0 -7
  1408. package/site/stylesheets.meta +0 -8
@@ -1,1684 +0,0 @@
1
- # Comparisons: DxMessaging and Alternatives
2
-
3
- **TL;DR:** This guide compares DxMessaging with other messaging approaches. Each has legitimate strengths and trade-offs. DxMessaging takes a different approach with its own trade-offs.
4
-
5
- ## This guide shows
6
-
7
- - Characteristics of each approach (with real code examples)
8
- - How DxMessaging takes a different approach (with real code examples)
9
- - Trade-offs for each option (what you give up, what you gain)
10
- - When to use each approach based on your needs
11
-
12
- ### Table of Contents
13
-
14
- - [Performance Benchmarks](#performance-benchmarks)
15
- - [Unity Messaging Frameworks](#unity-messaging-frameworks)
16
- - [UniRx](#unirx-reactive-extensions-for-unity)
17
- - [MessagePipe](#messagepipe-high-performance-messaging)
18
- - [Zenject Signals](#zenject-signals-di-based-messaging)
19
- - [Scriptable Object Architecture (SOA)](#scriptable-object-architecture-soa)
20
- - [Traditional Approaches](#traditional-approaches)
21
- - [C# Events/Delegates](#standard-c-eventsactions)
22
- - [UnityEvents](#unityevents-inspector-wiring)
23
- - [Unity SendMessage](#unity-sendmessage)
24
- - [Static Event Buses](#global-event-bus-singletons)
25
- - [Trade-offs](#honest-trade-offs-what-you-give-up-what-you-gain)
26
- - [Feature Matrix](#feature-by-feature-comparison-matrix)
27
- - [Decision Guide](#when-each-approach-actually-wins)
28
-
29
- ## Performance Benchmarks
30
-
31
- These sections are auto-updated by the PlayMode comparison benchmarks in the [Comparison Performance PlayMode tests](https://github.com/wallstop/DxMessaging/blob/master/Tests/Runtime/Benchmarks/ComparisonPerformanceTests.cs). Run the suite locally to refresh the tables.
32
-
33
- ### Comparisons (Windows)
34
-
35
- | Message Tech | Operations / Second | Allocations? |
36
- | ---------------------------------- | ------------------- | ------------ |
37
- | DxMessaging (Untargeted) - No-Copy | 19,886,000 | No |
38
- | UniRx MessageBroker | 18,002,000 | No |
39
- | MessagePipe (Global) | 97,748,000 | No |
40
- | Zenject SignalBus | 2,350,000 | Yes |
41
-
42
- ### Comparisons (macOS)
43
-
44
- Run the PlayMode comparison benchmarks on macOS to populate this section.
45
-
46
- ### Comparisons (Linux)
47
-
48
- Run the PlayMode comparison benchmarks on Linux to populate this section.
49
-
50
- ---
51
-
52
- ## Unity Messaging Frameworks
53
-
54
- This section compares DxMessaging with other popular Unity messaging/eventing libraries. Each offers different approaches to solving communication and decoupling problems in Unity.
55
-
56
- ### Quick Summary: Which Framework to Choose?
57
-
58
- #### TL;DR Decision Tree
59
-
60
- ```text
61
- Need absolute simplest pub/sub setup (zero boilerplate)?
62
- → Use UniRx MessageBroker (publish/receive in 2 lines)
63
-
64
- Need complex event stream transformations (debounce, throttle, combine)?
65
- → Use UniRx (reactive programming paradigm)
66
-
67
- Already using Dependency Injection (Zenject, VContainer, Reflex)?
68
- → Use MessagePipe (DI-first, best performance) or Zenject Signals (if on Zenject)
69
- → Or DxMessaging (integrates with DI, see Integrations guides for Zenject/VContainer/Reflex)
70
-
71
- Need Unity-specific features (GameObject targeting, Inspector debugging, global observers)?
72
- → Use DxMessaging (Unity-first design)
73
-
74
- Want plug-and-play with zero dependencies?
75
- → Use DxMessaging (no setup required)
76
-
77
- Maximum raw throughput is a top priority?
78
- → Use MessagePipe (highest ops/sec in benchmarks)
79
-
80
- Need message validation, interception, or ordered execution?
81
- → Use DxMessaging (interceptor pipeline, priority-based ordering)
82
-
83
- Simple pub/sub with automatic lifecycle management and debugging?
84
- → Use DxMessaging (automatic cleanup, priorities, validation, Inspector)
85
- ```
86
-
87
- ##### One-Line Summary for Each
88
-
89
- - **DxMessaging:** Unity-first pub/sub with automatic lifecycle and Inspector debugging
90
- - **UniRx:** Reactive programming with LINQ-style stream operators for complex event transformations
91
- - **MessagePipe:** DI-first, highest throughput for high-frequency messaging in DI architectures
92
- - **Zenject Signals:** Decoupled messaging integrated with Zenject dependency injection
93
-
94
- > **💡 Note:** DxMessaging works both standalone (zero dependencies) AND with DI frameworks. See [Integration Guides](../integrations/index.md) for Zenject, VContainer, and Reflex.
95
-
96
- ---
97
-
98
- ### UniRx (Reactive Extensions for Unity)
99
-
100
- **What It Is:** A reactive programming library that treats events as observable streams. Based on .NET Reactive Extensions (Rx), reimplemented for Unity with IL2CPP compatibility.
101
-
102
- **Core Philosophy:** Everything is a stream that can be observed, filtered, combined, and transformed using LINQ-style operators.
103
-
104
- #### Key Features
105
-
106
- - **Stream-based programming:** Transform events into observable sequences
107
- - **LINQ operators:** `Where`, `Select`, `Merge`, `CombineLatest`, `Buffer`, etc.
108
- - **Async operations:** Convert coroutines to observables with cancellation support
109
- - **Multithreading:** Thread-safe operations with main thread synchronization
110
- - **Time operators:** Frame-based and time-based event handling
111
- - **UI integration:** Observable extensions for Unity UI events
112
-
113
- #### Code Example
114
-
115
- #### Simple MessageBroker Setup (Pub/Sub)
116
-
117
- ```csharp
118
- using UniRx;
119
- using UnityEngine;
120
-
121
- public struct EnemySpawned
122
- {
123
- public int EnemyId;
124
- public Vector3 Position;
125
- }
126
-
127
- // Publisher - straightforward, no setup required
128
- public class EnemySpawner : MonoBehaviour
129
- {
130
- void SpawnEnemy(int id)
131
- {
132
- MessageBroker.Default.Publish(new EnemySpawned
133
- {
134
- EnemyId = id,
135
- Position = transform.position
136
- });
137
- }
138
- }
139
-
140
- // Subscriber - also straightforward
141
- public class AchievementSystem : MonoBehaviour
142
- {
143
- void Start()
144
- {
145
- MessageBroker.Default.Receive<EnemySpawned>()
146
- .Subscribe(msg => Debug.Log($"Enemy {msg.EnemyId} spawned!"))
147
- .AddTo(this); // Automatic cleanup on destroy
148
- }
149
- }
150
- ```
151
-
152
- #### Advanced Stream Transformations (Reactive Programming)
153
-
154
- ```csharp
155
- // Double-click detection using reactive operators
156
- Observable.EveryUpdate()
157
- .Where(_ => Input.GetMouseButtonDown(0))
158
- .Buffer(Observable.Timer(TimeSpan.FromMilliseconds(250)))
159
- .Where(xs => xs.Count >= 2)
160
- .Subscribe(_ => Debug.Log("Double Click!"));
161
-
162
- // Combine multiple input streams
163
- var leftClick = Observable.EveryUpdate().Where(_ => Input.GetMouseButtonDown(0));
164
- var rightClick = Observable.EveryUpdate().Where(_ => Input.GetMouseButtonDown(1));
165
- leftClick.Merge(rightClick).Subscribe(_ => Debug.Log("Any click!"));
166
- ```
167
-
168
- #### What Problems It Solves
169
-
170
- - ✅ **Complex event streams:** Chain, filter, combine, and transform events with operators
171
- - ✅ **Async operations:** Better async/await alternative with cancellation
172
- - ✅ **Temporal logic:** Time-based operations (throttle, debounce, sample)
173
- - ✅ **UI reactivity:** Bind UI elements to data streams reactively
174
- - ✅ **Memory management:** Disposable subscriptions prevent leaks
175
-
176
- #### What Problems It Doesn't Solve Well
177
-
178
- - ⚠️ **Simple pub/sub:** MessageBroker handles this well, but reactive operators may add complexity for simple use cases
179
- - ❌ **Execution order control:** No built-in priority system for handler ordering
180
- - ❌ **Message validation/interception:** No pre-processing pipeline to validate or transform messages before handlers
181
- - ❌ **Unity Inspector debugging:** No Inspector integration to visualize message flow
182
- - ❌ **GameObject/Component targeting:** Not designed for Unity-specific targeting patterns
183
- - ❌ **Global message observation:** Cannot easily listen to all instances of a message type across different sources
184
-
185
- #### Performance Characteristics
186
-
187
- - **Allocations:** MessageBroker is zero-allocation for basic operations. Stream operators (Select, Where, Buffer) may allocate. For simple pub/sub, UniRx matches DxMessaging's allocation profile.
188
- - **Overhead:** Higher than simple events due to observable infrastructure
189
- - **Use case:** Best for complex event transformations; overhead justified by functionality
190
-
191
- #### Learning Curve
192
-
193
- - **Simple MessageBroker (basic pub/sub):** Very easy - just `Publish()` and `Receive()`, similar to events
194
- - **Advanced stream operators:** Steep - requires understanding reactive programming paradigm
195
- - **Mental model shift:** For complex features, must think in streams, not events
196
- - **Documentation:** Extensive examples, but reactive concepts take time to master
197
- - **Estimated learning time:** 15 minutes for MessageBroker; 1-2 weeks for reactive stream mastery
198
-
199
- #### Ease of Understanding
200
-
201
- - ⭐⭐⭐⭐⭐ (Very easy) - MessageBroker pub/sub is intuitive and straightforward
202
- - ⭐⭐⭐ (Moderate to difficult) - Advanced reactive operators require learning
203
- - Stream operator code is concise but requires understanding of reactive patterns
204
- - Hard to debug complex observable chains without Rx knowledge
205
- - For advanced features: Team buy-in essential; not intuitive for traditional event-driven developers
206
-
207
- #### When UniRx Wins
208
-
209
- - ✅ Simple pub/sub with minimal setup (MessageBroker is straightforward)
210
- - ✅ Complex event transformations (e.g., double-click, gesture detection)
211
- - ✅ Combining multiple input sources
212
- - ✅ Time-based logic (debounce, throttle, sample)
213
- - ✅ UI data binding with reactive updates
214
- - ✅ Teams familiar with reactive programming
215
-
216
- #### When DxMessaging Wins
217
-
218
- - ✅ Need Unity-specific features (GameObject targeting, lifecycle management)
219
- - ✅ Execution order matters (priority-based ordering)
220
- - ✅ Message validation/interception needed (interceptor pipeline)
221
- - ✅ Inspector debugging required (message history, registration view)
222
- - ✅ Direct GameObject/Component targeting
223
- - ✅ Global message observation (listen to all instances of a message type)
224
- - ✅ Late-stage processing (post-processors after all handlers)
225
- - ✅ Automatic lifecycle management (prevents common memory leaks)
226
- - ✅ Teams unfamiliar with reactive programming (and don't need reactive features)
227
-
228
- #### Direct Comparison
229
-
230
- | Aspect | UniRx | DxMessaging |
231
- | ------------------------ | ---------------------- | ------------------------ |
232
- | **Primary Use Case** | Stream transformations | Pub/sub messaging |
233
- | **Unity Compatibility** | ✅ Built for Unity | ✅ Built for Unity |
234
- | **Dependencies** | ✅ Standalone | ✅ Standalone |
235
- | **Performance** | 18M ops/sec | 14M ops/sec |
236
- | **Allocations** | ⚠️ Can allocate | ✅ Zero (structs) |
237
- | **Learning Curve** | ⭐ Steep (Rx paradigm) | ⭐⭐⭐ Moderate |
238
- | **Setup Complexity** | ⭐⭐⭐⭐⭐ Low | ⭐⭐⭐⭐⭐ Plug-and-play |
239
- | **DI Integration** | ⚠️ Optional | ⚠️ Optional |
240
- | **Async/Await** | ✅ Observables | ⚠️ Manual |
241
- | **Type Safety** | ✅ Strong | ✅ Strong |
242
- | **Lifecycle Management** | ⚠️ Manual dispose | ✅ Automatic |
243
- | **Execution Order** | ❌ Not built-in | ✅ Priority-based |
244
- | **GameObject Targeting** | ❌ Not designed for | ✅ Built-in |
245
- | **Unity Integration** | ⭐⭐⭐⭐ Good (UI) | ⭐⭐⭐⭐⭐ Deep |
246
- | **Inspector Debugging** | ❌ No | ✅ History + stats |
247
- | **Interceptors** | ❌ Not built-in | ✅ Full pipeline |
248
- | **Global Observers** | ❌ Not built-in | ✅ Listen to all |
249
- | **Post-Processing** | ❌ Not built-in | ✅ Dedicated stage |
250
- | **Testability** | ⭐⭐⭐⭐ Good | ⭐⭐⭐⭐⭐ Excellent |
251
- | **Decoupling** | ⭐⭐⭐⭐⭐ Excellent | ⭐⭐⭐⭐⭐ Excellent |
252
- | **Temporal Operators** | ✅ Extensive (Rx) | ❌ Not built-in |
253
- | **Complex Stream Logic** | ✅ LINQ-style | ❌ Not designed for |
254
-
255
- **Bottom Line:** UniRx is well-suited for complex event stream transformations and reactive programming patterns, with MessageBroker providing straightforward pub/sub setup. DxMessaging focuses on straightforward pub/sub communication with control, validation, debugging, and Unity-specific features. Both are viable options depending on your needs: choose UniRx when you need stream operators, reactive patterns, or simple zero-setup pub/sub; choose DxMessaging when you need Unity-native lifecycle integration, execution control, and debugging tools.
256
-
257
- ---
258
-
259
- ### MessagePipe (High-Performance Messaging)
260
-
261
- **What It Is:** A high-performance, DI-first messaging library by Cysharp (creators of UniTask). Designed for in-memory and distributed messaging with zero-allocation focus.
262
-
263
- **Core Philosophy:** Maximum performance with dependency injection integration. Support all messaging patterns with a unified, generic interface.
264
-
265
- #### Key Features
266
-
267
- - **Multiple patterns:** Pub/Sub, Request/Response, Mediator patterns
268
- - **Sync and async:** Full async/await support with configurable strategies (sequential/parallel)
269
- - **Keyed messaging:** Type-based or key-based message routing
270
- - **DI-first design:** Deep integration with dependency injection containers
271
- - **Filters:** Pre/post execution customization (similar to interceptors)
272
- - **Zero allocation:** Struct messages with zero GC per publish
273
- - **Roslyn analyzer:** Detects subscription leaks at compile-time
274
- - **Global and scoped:** Support for global message bus or scoped instances
275
-
276
- #### Code Example
277
-
278
- ```csharp
279
- // Using MessagePipe with DI
280
- public class GameManager : MonoBehaviour
281
- {
282
- private IPublisher<EnemySpawned> _publisher;
283
- private IDisposable _subscription;
284
-
285
- void Start()
286
- {
287
- // Injected via DI container
288
- _publisher = GlobalMessagePipe.GetPublisher<EnemySpawned>();
289
- var subscriber = GlobalMessagePipe.GetSubscriber<EnemySpawned>();
290
-
291
- _subscription = subscriber.Subscribe(msg =>
292
- {
293
- Debug.Log($"Enemy spawned: {msg.EnemyId}");
294
- });
295
- }
296
-
297
- void SpawnEnemy(int id)
298
- {
299
- _publisher.Publish(new EnemySpawned { EnemyId = id });
300
- }
301
-
302
- void OnDestroy() => _subscription?.Dispose();
303
- }
304
-
305
- // Async handler with filters
306
- public class AchievementSystem
307
- {
308
- public AchievementSystem(IAsyncSubscriber<EnemyKilled> subscriber)
309
- {
310
- subscriber.Subscribe(async (msg, cancellationToken) =>
311
- {
312
- await SaveAchievementAsync(msg.EnemyType);
313
- });
314
- }
315
- }
316
- ```
317
-
318
- #### What Problems It Solves
319
-
320
- - ✅ **Performance:** Zero allocations with struct-based messages (see [benchmarks](https://github.com/wallstop/DxMessaging/tree/master/Tests/Runtime/Benchmarks) for comparison data)
321
- - ✅ **DI integration:** First-class support for dependency injection
322
- - ✅ **Async messaging:** Native async/await without blocking
323
- - ✅ **Leak detection:** Analyzer catches forgotten subscriptions at compile-time
324
- - ✅ **Flexibility:** Keyed, keyless, buffered, request/response patterns
325
- - ✅ **Cross-platform:** Works in Unity, .NET, Blazor, etc.
326
-
327
- #### What Problems It Doesn't Solve Well
328
-
329
- - ❌ **Unity-specific integration:** No built-in Unity MonoBehaviour lifecycle management or GameObject targeting
330
- - ❌ **Inspector debugging:** No visual debugging or message history in Unity Inspector
331
- - ❌ **Execution order control:** No priority system (handlers execute in subscription order)
332
- - ❌ **Setup complexity:** Requires DI container configuration (VContainer/Zenject setup needed)
333
- - ❌ **Global message observation:** No built-in way to listen to all instances of a message across different keys/sources
334
- - ❌ **Standalone use:** Designed for DI-first architecture (less suitable for non-DI projects)
335
-
336
- #### Performance Characteristics
337
-
338
- - **High throughput:** MessagePipe is optimized for high-frequency messaging scenarios
339
- - **Zero allocation:** Struct-based messages with no GC per publish
340
- - **Benchmark data:** See performance section above for actual numbers
341
- - **Use case:** Optimized for high-frequency messaging (thousands/frame)
342
-
343
- #### Learning Curve
344
-
345
- - **Moderate:** Requires understanding of dependency injection
346
- - **DI knowledge:** Must be comfortable with service provider pattern
347
- - **Generic interfaces:** Multiple generic types can be confusing initially
348
- - **Estimated learning time:** 2-3 days with DI experience; 1 week without
349
-
350
- #### Ease of Understanding
351
-
352
- - ⭐⭐⭐⭐ (Moderate)
353
- - Clean, generic interfaces once you understand DI
354
- - Code is straightforward for developers familiar with DI patterns
355
- - Harder for teams without DI experience
356
-
357
- #### When MessagePipe Wins
358
-
359
- - ✅ Performance-critical applications (high message throughput)
360
- - ✅ Projects already using DI (VContainer, Zenject, etc.)
361
- - ✅ Cross-platform .NET projects (not Unity-only)
362
- - ✅ Need async messaging with cancellation
363
- - ✅ Large-scale projects with DI architecture
364
- - ✅ Teams experienced with DI patterns
365
-
366
- #### When DxMessaging Wins
367
-
368
- - ✅ Unity-first projects (not cross-platform .NET)
369
- - ✅ Unity lifecycle management needed (automatic MonoBehaviour cleanup)
370
- - ✅ Inspector debugging essential (message history visualization)
371
- - ✅ Execution order control needed (priority-based handlers)
372
- - ✅ Message validation/interception required (interceptor pipeline)
373
- - ✅ Global message observation needed (listen to all message instances)
374
- - ✅ Post-processing stage needed (analytics, logging after handlers)
375
- - ✅ Teams without DI experience or projects not using DI
376
- - ✅ Plug-and-play simplicity preferred over DI configuration
377
-
378
- #### Direct Comparison
379
-
380
- | Aspect | MessagePipe | DxMessaging |
381
- | ------------------------ | --------------------------- | ------------------------ |
382
- | **Primary Use Case** | High-perf DI messaging | Pub/sub messaging |
383
- | **Unity Compatibility** | ✅ Built for Unity | ✅ Built for Unity |
384
- | **Dependencies** | ⚠️ DI container required | ✅ Standalone |
385
- | **Performance** | 97M ops/sec | 14M ops/sec |
386
- | **Allocations** | ✅ Zero (structs) | ✅ Zero (structs) |
387
- | **Learning Curve** | ⭐⭐⭐⭐ Moderate (DI) | ⭐⭐⭐ Moderate |
388
- | **Setup Complexity** | ⭐⭐⭐ DI setup required | ⭐⭐⭐⭐⭐ Plug-and-play |
389
- | **DI Integration** | ✅ First-class | ⚠️ Optional |
390
- | **Async/Await** | ✅ Native | ⚠️ Manual |
391
- | **Type Safety** | ✅ Strong | ✅ Strong |
392
- | **Lifecycle Management** | ⚠️ Manual dispose | ✅ Automatic |
393
- | **Execution Order** | ❌ Subscription order | ✅ Priority-based |
394
- | **GameObject Targeting** | ❌ Not built-in | ✅ Built-in |
395
- | **Unity Integration** | ⭐⭐⭐ Basic (no lifecycle) | ⭐⭐⭐⭐⭐ Deep |
396
- | **Inspector Debugging** | ❌ No | ✅ History + stats |
397
- | **Interceptors** | ⚠️ Filters | ✅ Full pipeline |
398
- | **Global Observers** | ❌ Not built-in | ✅ Listen to all |
399
- | **Post-Processing** | ⚠️ Via filters | ✅ Dedicated stage |
400
- | **Testability** | ⭐⭐⭐⭐⭐ DI mocking | ⭐⭐⭐⭐⭐ Local buses |
401
- | **Decoupling** | ⭐⭐⭐⭐⭐ Excellent | ⭐⭐⭐⭐⭐ Excellent |
402
- | **Leak Detection** | ✅ Roslyn analyzer | ✅ Automatic lifecycle |
403
-
404
- **Bottom Line:** MessagePipe is the performance king with DI-first design. DxMessaging is Unity-first with lifecycle awareness and debugging. Use MessagePipe if you have DI infrastructure and need maximum performance. Use DxMessaging if you want Unity-native messaging with automatic lifecycle management.
405
-
406
- **Note on Performance:** MessagePipe's ~95M ops/sec vs DxMessaging's ~20M ops/sec shows a significant throughput advantage. This matters primarily for high-frequency messaging scenarios (thousands of messages per frame). For typical gameplay events, both are fast enough that performance is not a distinguishing factor.
407
-
408
- > **💡 Want both?** DxMessaging integrates with DI frameworks! See [DI Integration Guides](../integrations/index.md) for Zenject, VContainer, and Reflex. Use DI for service construction, DxMessaging for event communication.
409
-
410
- ---
411
-
412
- ### Zenject Signals (DI-Based Messaging)
413
-
414
- **What It Is:** The built-in messaging system for Zenject (Extenject), a dependency injection framework for Unity. Signals are an optional extension that provides decoupled communication.
415
-
416
- **Core Philosophy:** Loosely coupled messaging integrated with dependency injection. Reduce direct dependencies between classes while maintaining testability.
417
-
418
- #### Key Features
419
-
420
- - **DI-integrated:** Signals declared and resolved via Zenject container
421
- - **Typed signals:** Strongly-typed signal classes with parameters
422
- - **Synchronous and async:** Sync (RunSync) and async (RunAsync) execution modes
423
- - **Subscription modes:** Require, optional, or optional-with-warning subscribers
424
- - **Installer-based setup:** Declare signals in installers for container binding
425
- - **Multiple subscription methods:** Direct binding, SignalBus subscription, stream-based (with UniRx)
426
- - **Testable:** Easy to mock and test with dependency injection
427
-
428
- #### Code Example
429
-
430
- ```csharp
431
- // 1. Define signal
432
- public class EnemyKilledSignal
433
- {
434
- public string EnemyType;
435
- public int Score;
436
- }
437
-
438
- // 2. Install and declare in installer
439
- public class GameInstaller : MonoInstaller
440
- {
441
- public override void InstallBindings()
442
- {
443
- SignalBusInstaller.Install(Container);
444
- Container.DeclareSignal<EnemyKilledSignal>();
445
- Container.BindSignal<EnemyKilledSignal>()
446
- .ToMethod<AchievementSystem>(x => x.OnEnemyKilled)
447
- .FromResolve();
448
- }
449
- }
450
-
451
- // 3. Fire signal
452
- public class Enemy : MonoBehaviour
453
- {
454
- [Inject] private SignalBus _signalBus;
455
-
456
- void Die()
457
- {
458
- _signalBus.Fire(new EnemyKilledSignal
459
- {
460
- EnemyType = "Orc",
461
- Score = 100
462
- });
463
- }
464
- }
465
-
466
- // 4. Subscribe to signal
467
- public class AchievementSystem
468
- {
469
- [Inject] private SignalBus _signalBus;
470
-
471
- public void Initialize()
472
- {
473
- _signalBus.Subscribe<EnemyKilledSignal>(OnEnemyKilled);
474
- }
475
-
476
- void OnEnemyKilled(EnemyKilledSignal signal)
477
- {
478
- Debug.Log($"Killed {signal.EnemyType} for {signal.Score} points!");
479
- }
480
- }
481
- ```
482
-
483
- #### What Problems It Solves
484
-
485
- - ✅ **Decoupling:** Classes communicate without direct references
486
- - ✅ **DI integration:** Seamless with Zenject dependency injection
487
- - ✅ **Testability:** Easy to mock SignalBus in tests
488
- - ✅ **Type safety:** Strongly-typed signal classes
489
- - ✅ **Subscriber validation:** Can enforce required subscribers
490
- - ✅ **Async support:** Fire signals synchronously or asynchronously
491
-
492
- #### What Problems It Doesn't Solve Well
493
-
494
- - ❌ **Zenject dependency:** Must use Zenject/Extenject framework; not standalone
495
- - ❌ **Performance overhead:** Higher than lightweight messaging (DI resolution cost)
496
- - ❌ **Execution order control:** No priority system for handler ordering
497
- - ❌ **Inspector debugging:** No visual message history or flow visualization
498
- - ❌ **Allocations:** Signal parameters can cause allocations depending on usage
499
- - ❌ **Validation pipeline:** No built-in interceptor or pre-processing stage
500
- - ❌ **Global observation:** Cannot easily listen to all signal fires across the system
501
- - ❌ **Post-processing:** No dedicated after-handler stage for analytics/logging
502
-
503
- #### Performance Characteristics
504
-
505
- - **Overhead:** Higher than lightweight messaging (DI resolution + boxing)
506
- - **Allocations:** Signal parameters can cause allocations (depends on implementation)
507
- - **Benchmark data:** See performance section above for actual numbers
508
- - **Use case:** Performance trade-off for testability and DI benefits
509
-
510
- #### Learning Curve
511
-
512
- - **Moderate to steep:** Requires understanding Zenject dependency injection
513
- - **Zenject knowledge:** Must learn Zenject before signals
514
- - **Setup overhead:** Installers, bindings, container configuration
515
- - **Estimated learning time:** 1 week for Zenject + signals together
516
-
517
- #### Ease of Understanding
518
-
519
- - ⭐⭐⭐ (Moderate)
520
- - Clear once you understand Zenject
521
- - Signal concept is straightforward
522
- - Setup (installers, bindings) adds complexity
523
-
524
- #### When Zenject Signals Win
525
-
526
- - ✅ Already using Zenject for dependency injection
527
- - ✅ Testability is critical (DI makes mocking easy)
528
- - ✅ Need subscriber validation (ensure handlers exist)
529
- - ✅ Team experienced with Zenject
530
- - ✅ Want DI-managed lifecycle
531
-
532
- #### When DxMessaging Wins
533
-
534
- - ✅ Not using Zenject/Extenject (or prefer standalone solution)
535
- - ✅ Performance critical (lower overhead than DI-based signals)
536
- - ✅ Execution order control needed (priority-based handlers)
537
- - ✅ Inspector debugging required (message history visualization)
538
- - ✅ Message validation/interception needed (interceptor pipeline)
539
- - ✅ Global message observation needed (listen to all signal fires)
540
- - ✅ Post-processing stage needed (analytics after handlers)
541
- - ✅ Zero-allocation messaging essential (struct-based)
542
- - ✅ GameObject/Component targeting needed (Unity-specific patterns)
543
- - ✅ Plug-and-play simplicity preferred over DI setup
544
-
545
- #### Direct Comparison
546
-
547
- | Aspect | Zenject Signals | DxMessaging |
548
- | ------------------------ | ---------------------------- | ------------------------ |
549
- | **Primary Use Case** | DI-integrated messaging | Pub/sub messaging |
550
- | **Unity Compatibility** | ✅ Built for Unity | ✅ Built for Unity |
551
- | **Dependencies** | ❌ Zenject required | ✅ Standalone |
552
- | **Performance** | 2.5M ops/sec | 14M ops/sec |
553
- | **Allocations** | ⚠️ Can allocate | ✅ Zero (structs) |
554
- | **Learning Curve** | ⭐⭐ Steep (Zenject+Signals) | ⭐⭐⭐ Moderate |
555
- | **Setup Complexity** | ⭐⭐ Installers required | ⭐⭐⭐⭐⭐ Plug-and-play |
556
- | **DI Integration** | ✅ Required (Zenject) | ⚠️ Optional |
557
- | **Async/Await** | ✅ RunAsync support | ⚠️ Manual |
558
- | **Type Safety** | ✅ Strong | ✅ Strong |
559
- | **Lifecycle Management** | ⚠️ DI-managed | ✅ Automatic |
560
- | **Execution Order** | ❌ Not built-in | ✅ Priority-based |
561
- | **GameObject Targeting** | ❌ Not built-in | ✅ Built-in |
562
- | **Unity Integration** | ⭐⭐⭐⭐ DI-managed | ⭐⭐⭐⭐⭐ Deep |
563
- | **Inspector Debugging** | ❌ No | ✅ History + stats |
564
- | **Interceptors** | ⚠️ Subscriber validation | ✅ Full pipeline |
565
- | **Global Observers** | ❌ Not built-in | ✅ Listen to all |
566
- | **Post-Processing** | ❌ Not built-in | ✅ Dedicated stage |
567
- | **Testability** | ⭐⭐⭐⭐⭐ DI mocking | ⭐⭐⭐⭐⭐ Local buses |
568
- | **Decoupling** | ⭐⭐⭐⭐⭐ Excellent | ⭐⭐⭐⭐⭐ Excellent |
569
-
570
- **Bottom Line:** Zenject Signals are well-suited if you're already invested in Zenject and value testability through DI. DxMessaging offers standalone messaging without requiring DI setup, and includes Unity-specific features.
571
-
572
- > **💡 Using Zenject?** DxMessaging integrates with Zenject! See [DxMessaging + Zenject Integration Guide](../integrations/zenject.md) for step-by-step setup. Get DxMessaging's features (priorities, interceptors, Inspector debugging) with Zenject's DI.
573
-
574
- ---
575
-
576
- ## Scriptable Object Architecture (SOA)
577
-
578
- **What It Is:** A Unity-specific pattern popularized by Ryan Hipple's [Unite 2017 talk](https://www.youtube.com/watch?v=raQ3iHhE_Kk) that uses ScriptableObject assets for runtime communication (GameEvent, FloatVariable, etc.).
579
-
580
- **Core Philosophy:** Designer-driven, asset-based communication where systems communicate through serialized SO assets instead of direct references.
581
-
582
- **⚠️ Contested Pattern:** SOA has both proponents and critics. Supporters value its designer-friendly workflow and Inspector-based event wiring. Critics raise concerns about scalability and maintainability at scale. See [Anti-ScriptableObject Architecture](https://github.com/cathei/AntiScriptableObjectArchitecture) for one perspective on the criticisms. Unity recommends ScriptableObjects for **immutable design data**, not mutable runtime state.
583
-
584
- ### Quick Comparison
585
-
586
- | Aspect | SOA (GameEvent/Variables) | DxMessaging |
587
- | -------------------- | ------------------------------------------------------------------------- | ----------------------------------- |
588
- | **Designer Control** | ✅ High (create events in Inspector) | ❌ Low (code-driven) |
589
- | **Type Safety** | ⚠️ Mixed (SO refs typed, but UnityEvent wiring loses compile-time safety) | ✅ Strong (compile-time validation) |
590
- | **Lifecycle** | ⚠️ Manual (assets persist) | ✅ Automatic (tokens clean up) |
591
- | **Performance** | ⚠️ List iteration, UnityAction overhead | ✅ Zero-allocation structs |
592
- | **Testability** | ⚠️ Requires SO asset cleanup | ✅ Isolated buses per test |
593
-
594
- ### When to Use Each
595
-
596
- #### Choose SOA when
597
-
598
- - Designers need to create and wire events in the Inspector without code
599
- - Your team is already deeply invested in SOA with existing assets
600
- - Designer empowerment is more important than code maintainability
601
-
602
- ##### Choose DxMessaging when
603
-
604
- - You need type-safe, code-driven messaging
605
- - Performance and zero-allocation are priorities
606
- - You want automatic lifecycle management
607
- - You need interceptors, priorities, or global observers
608
-
609
- ###### Use Both when
610
-
611
- - ScriptableObjects for **immutable config data** (weapon stats, level configs)
612
- - DxMessaging for **runtime events and communication**
613
- - This is the recommended approach - use each tool correctly
614
-
615
- ### Full Comparison Guide
616
-
617
- For detailed migration patterns, interoperability strategies, and code examples, see:
618
-
619
- #### → [SOA Compatibility Guide](../guides/patterns.md#14-compatibility-with-scriptable-object-architecture-soa)
620
-
621
- Includes:
622
-
623
- - Pattern A: Bridging SOA GameEvents to DxMessaging
624
- - Pattern B: Proper ScriptableObject usage (configs + messaging)
625
- - Migration path from SOA to DxMessaging
626
- - When to keep using ScriptableObjects
627
-
628
- ##### Resources
629
-
630
- - [Unite 2017 Talk](https://www.youtube.com/watch?v=raQ3iHhE_Kk) - Original SOA presentation
631
- - [Anti-SOA Critique](https://github.com/cathei/AntiScriptableObjectArchitecture) - Detailed criticisms
632
- - [Unity Official Guide](https://unity.com/how-to/architect-game-code-scriptable-objects) - Unity's perspective
633
-
634
- ---
635
-
636
- ## Traditional Approaches
637
-
638
- ### Standard C# Events/Actions
639
-
640
- **What It Is:** C#'s built-in event and delegate system. The default way to handle callbacks and notifications in .NET and Unity.
641
-
642
- **Core Philosophy:** Direct, type-safe callbacks between objects. Simple, familiar, and built into the language.
643
-
644
- #### Key Features
645
-
646
- - **Language-native:** Built into C#, no dependencies
647
- - **Type-safe:** Compile-time checking of event signatures
648
- - **Return values:** Events can return values and use `out` parameters
649
- - **Inline lambdas:** Subscribe with anonymous functions
650
- - **Multicast:** Multiple subscribers per event
651
- - **Fast:** Direct method invocation with minimal overhead
652
-
653
- #### Code Example
654
-
655
- ```csharp
656
- // Define and use C# events
657
- public class GameManager : MonoBehaviour
658
- {
659
- public event Action<int> OnScoreChanged;
660
-
661
- public void AddScore(int points)
662
- {
663
- OnScoreChanged?.Invoke(points);
664
- }
665
- }
666
-
667
- public class UI : MonoBehaviour
668
- {
669
- [SerializeField] private GameManager gameManager;
670
-
671
- void OnEnable()
672
- {
673
- gameManager.OnScoreChanged += UpdateScore;
674
- }
675
-
676
- void OnDisable()
677
- {
678
- gameManager.OnScoreChanged -= UpdateScore;
679
- }
680
-
681
- void UpdateScore(int points)
682
- {
683
- Debug.Log($"Score: {points}");
684
- }
685
- }
686
- ```
687
-
688
- #### What Problems It Solves
689
-
690
- - ✅ **Simple callbacks:** Straightforward notification pattern
691
- - ✅ **Type safety:** Compile-time checking prevents errors
692
- - ✅ **Return values:** Can get feedback from event handlers
693
- - ✅ **Performance:** Minimal overhead, direct invocation
694
- - ✅ **Familiarity:** Every C# developer knows events
695
- - ✅ **No dependencies:** Built into the language
696
-
697
- #### What Problems It Doesn't Solve Well
698
-
699
- - ❌ **Memory leaks:** Forgetting to unsubscribe causes leaks
700
- - ❌ **Tight coupling:** Subscribers need direct references to event sources
701
- - ❌ **Execution order:** Undefined handler invocation order
702
- - ❌ **Lifecycle management:** Manual subscribe/unsubscribe in OnEnable/OnDisable
703
- - ❌ **Debugging:** No visibility into who's subscribed or when events fire
704
- - ❌ **Validation/interception:** No pipeline to modify or validate before handlers
705
- - ❌ **Global observation:** Cannot listen to all events across the system
706
-
707
- #### Performance Characteristics
708
-
709
- - **Fastest option:** Direct method invocation (~50ns per call)
710
- - **Zero allocation:** No GC pressure for basic events
711
- - **Inline-able:** JIT can optimize simple event calls
712
- - **Use case:** Best raw performance for simple notifications
713
-
714
- #### Learning Curve
715
-
716
- - **Zero for C# developers:** Standard language feature
717
- - **Immediate productivity:** No new concepts to learn
718
- - **Estimated learning time:** Already know it
719
-
720
- #### Ease of Understanding
721
-
722
- - ⭐⭐⭐⭐⭐ (Very easy)
723
- - Familiar to all C# developers
724
- - Straightforward mental model
725
- - Easy to debug with breakpoints
726
-
727
- #### When C# Events Win
728
-
729
- - ✅ Small, stable scope (5-10 events max)
730
- - ✅ Need return values or `out` parameters
731
- - ✅ Writing a library (DxMessaging is Unity-specific)
732
- - ✅ Simple, local communication within a class or module
733
- - ✅ Team is C# experts, Unity beginners
734
- - ✅ Performance is absolutely critical (lowest overhead)
735
- - ✅ Quick prototypes or game jams
736
-
737
- #### When DxMessaging Wins
738
-
739
- - ✅ Memory leaks are a problem (automatic lifecycle management)
740
- - ✅ Need decoupling (systems don't reference each other)
741
- - ✅ Execution order matters (priority-based handlers)
742
- - ✅ Debugging "what fired when" (Inspector message history)
743
- - ✅ Message validation/interception needed (interceptor pipeline)
744
- - ✅ Global observation needed (listen to all message instances)
745
- - ✅ Cross-system communication (10+ systems)
746
- - ✅ Long-term maintenance (months/years)
747
- - ✅ GameObject/Component targeting needed
748
- - ✅ Post-processing stage needed (analytics after handlers)
749
-
750
- #### Direct Comparison
751
-
752
- | Aspect | C# Events | DxMessaging |
753
- | ------------------------ | --------------------- | ---------------------- |
754
- | **Primary Use Case** | Simple callbacks | Pub/sub messaging |
755
- | **Unity Compatibility** | ✅ Built into C# | ✅ Built for Unity |
756
- | **Dependencies** | ✅ None (language) | ✅ Standalone |
757
- | **Performance** | ~50ns/call (fastest) | ~60ns/call |
758
- | **Allocations** | ✅ Zero (basic) | ✅ Zero (structs) |
759
- | **Learning Curve** | ⭐⭐⭐⭐⭐ None | ⭐⭐⭐ Moderate |
760
- | **Setup Complexity** | ⭐⭐⭐⭐⭐ Minimal | ⭐⭐⭐ Moderate |
761
- | **DI Integration** | ⚠️ Manual | ⚠️ Optional |
762
- | **Async/Await** | ⚠️ Manual | ⚠️ Manual |
763
- | **Type Safety** | ✅ Strong | ✅ Strong |
764
- | **Lifecycle Management** | ❌ Manual unsubscribe | ✅ Automatic |
765
- | **Execution Order** | ❌ Undefined | ✅ Priority-based |
766
- | **GameObject Targeting** | ❌ Not built-in | ✅ Built-in |
767
- | **Unity Integration** | ⭐ None | ⭐⭐⭐⭐⭐ Deep |
768
- | **Inspector Debugging** | ❌ No | ✅ History + stats |
769
- | **Interceptors** | ❌ Not built-in | ✅ Full pipeline |
770
- | **Global Observers** | ❌ Not built-in | ✅ Listen to all |
771
- | **Post-Processing** | ❌ Not built-in | ✅ Dedicated stage |
772
- | **Testability** | ⭐⭐ Hard to isolate | ⭐⭐⭐⭐⭐ Local buses |
773
- | **Decoupling** | ⭐ Tight coupling | ⭐⭐⭐⭐⭐ Excellent |
774
- | **Return Values** | ✅ Yes | ❌ Fire-and-forget |
775
-
776
- **Bottom Line:** C# events are the fastest and simplest for basic callbacks. DxMessaging is better for complex, decoupled systems where lifecycle management, debugging, and execution control matter.
777
-
778
- ---
779
-
780
- ### UnityEvents (Inspector Wiring)
781
-
782
- **What It Is:** Unity's serializable event system that allows wiring callbacks in the Inspector. Designed for designer-friendly event hookups without code.
783
-
784
- **Core Philosophy:** Visual, Inspector-based event connections. Enable non-programmers to wire game logic through the editor.
785
-
786
- #### Key Features
787
-
788
- - **Inspector wiring:** Drag-and-drop connections in Unity Inspector
789
- - **Serializable:** Events saved with scenes and prefabs
790
- - **Designer-friendly:** Non-programmers can wire logic
791
- - **Persistent references:** Connections survive across sessions
792
- - **Dynamic parameters:** Pass values from Inspector to callbacks
793
- - **No code required:** Can wire entire behaviors without scripting
794
-
795
- #### Code Example
796
-
797
- ```csharp
798
- using UnityEngine;
799
- using UnityEngine.Events;
800
-
801
- public class Button : MonoBehaviour
802
- {
803
- public UnityEvent onClick;
804
-
805
- void OnMouseDown()
806
- {
807
- onClick?.Invoke();
808
- }
809
- }
810
-
811
- public class UI : MonoBehaviour
812
- {
813
- public void ShowMenu()
814
- {
815
- Debug.Log("Menu shown");
816
- }
817
-
818
- public void HideMenu()
819
- {
820
- Debug.Log("Menu hidden");
821
- }
822
- }
823
-
824
- // In Inspector: Drag UI component to Button's onClick event
825
- // Select ShowMenu from dropdown
826
- // No additional code needed
827
- ```
828
-
829
- #### What Problems It Solves
830
-
831
- - ✅ **Visual wiring:** See connections in Inspector
832
- - ✅ **No code required:** Designers can hook up events
833
- - ✅ **Persistence:** Connections saved with scenes/prefabs
834
- - ✅ **Rapid prototyping:** Quick iteration without scripting
835
- - ✅ **Prefab workflows:** Events work across prefab instances
836
-
837
- #### What Problems It Doesn't Solve Well
838
-
839
- - ❌ **Hidden dependencies:** Connections invisible in code, hard to find during refactoring
840
- - ❌ **Brittle at scale:** Renaming methods breaks wiring, no compile-time safety
841
- - ❌ **Execution order:** Undefined call order for multiple subscribers
842
- - ❌ **No validation:** No way to validate or intercept before invocation
843
- - ❌ **Performance:** Slower than C# events due to reflection and boxing
844
- - ❌ **Debugging:** Hard to trace "who called what" at runtime
845
- - ❌ **Merge conflicts:** Inspector changes cause git conflicts
846
- - ❌ **Refactoring challenges:** Renaming/moving methods silently breaks connections
847
-
848
- #### Performance Characteristics
849
-
850
- - **Slow compared to alternatives:** Reflection overhead, boxing for value types
851
- - **Allocations:** Parameters boxed as objects, causes GC pressure
852
- - **Use case:** Acceptable for UI and low-frequency events, avoid for high-frequency gameplay
853
-
854
- #### Learning Curve
855
-
856
- - **Very easy:** Point-and-click in Inspector
857
- - **No coding knowledge needed:** Accessible to designers
858
- - **Estimated learning time:** 5-10 minutes
859
-
860
- #### Ease of Understanding
861
-
862
- - ⭐⭐⭐⭐ (Easy for wiring, hard for debugging)
863
- - Simple to connect in Inspector
864
- - Difficult to understand flow when reading code
865
- - Hard to track down at scale (where is this method called from?)
866
-
867
- #### When UnityEvents Win
868
-
869
- - ✅ Designers need to wire logic without code
870
- - ✅ Rapid prototyping with prefabs
871
- - ✅ Very simple games (mobile casual, hyper-casual)
872
- - ✅ UI interactions with minimal logic
873
- - ✅ Small projects (<5 scripts)
874
- - ✅ One-off connections that rarely change
875
-
876
- #### When DxMessaging Wins
877
-
878
- - ✅ Code-first development (programmers prefer code visibility)
879
- - ✅ Refactoring frequently (compile-time safety)
880
- - ✅ Execution order matters (priority-based handlers)
881
- - ✅ Need validation/interception (interceptor pipeline)
882
- - ✅ Performance-sensitive (zero allocation required)
883
- - ✅ Debugging observability (message history)
884
- - ✅ Cross-system communication (10+ components)
885
- - ✅ Team collaboration (merge-friendly code over Inspector)
886
- - ✅ Long-term maintenance (find usages, refactor safely)
887
-
888
- #### Direct Comparison
889
-
890
- | Aspect | UnityEvents | DxMessaging |
891
- | ------------------------ | ---------------------- | ---------------------- |
892
- | **Primary Use Case** | Inspector wiring | Pub/sub messaging |
893
- | **Unity Compatibility** | ✅ Built into Unity | ✅ Built for Unity |
894
- | **Dependencies** | ✅ None (Unity) | ✅ Standalone |
895
- | **Performance** | Slow (serialization) | ~60ns/call |
896
- | **Allocations** | ❌ Boxing | ✅ Zero (structs) |
897
- | **Learning Curve** | ⭐⭐⭐⭐⭐ Minimal | ⭐⭐⭐ Moderate |
898
- | **Setup Complexity** | ⭐⭐⭐⭐⭐ Inspector | ⭐⭐⭐ Code-based |
899
- | **DI Integration** | ❌ No | ⚠️ Optional |
900
- | **Async/Await** | ❌ No | ⚠️ Manual |
901
- | **Type Safety** | ⭐⭐ Weak (serialized) | ✅ Strong |
902
- | **Lifecycle Management** | ⚠️ Unity-managed | ✅ Automatic |
903
- | **Execution Order** | ❌ Undefined | ✅ Priority-based |
904
- | **GameObject Targeting** | ⚠️ Manual references | ✅ Built-in |
905
- | **Unity Integration** | ⭐⭐⭐ Inspector-based | ⭐⭐⭐⭐⭐ Deep |
906
- | **Inspector Debugging** | ⭐⭐ Connections only | ✅ History + stats |
907
- | **Interceptors** | ❌ Not built-in | ✅ Full pipeline |
908
- | **Global Observers** | ❌ Not possible | ✅ Listen to all |
909
- | **Post-Processing** | ❌ Not built-in | ✅ Dedicated stage |
910
- | **Testability** | ⭐⭐ Scene setup | ⭐⭐⭐⭐⭐ Local buses |
911
- | **Decoupling** | ⭐⭐ Hidden refs | ⭐⭐⭐⭐⭐ Excellent |
912
- | **Refactoring Safety** | ❌ Silent breakage | ✅ Compile-time errors |
913
- | **Code Visibility** | ❌ Hidden in Inspector | ✅ Explicit in code |
914
-
915
- **Bottom Line:** UnityEvents are well-suited for simple Inspector-based wiring and designer workflows. DxMessaging is better for code-first development, refactoring safety, and complex messaging needs.
916
-
917
- ---
918
-
919
- ### Unity SendMessage
920
-
921
- **What It Is:** Unity's legacy reflection-based message system. Calls methods by name on GameObjects and their components.
922
-
923
- **Core Philosophy:** String-based, reflection-driven communication. Designed for simplicity and GameObject hierarchy traversal.
924
-
925
- #### Key Features
926
-
927
- - **String-based:** Call methods by name without references
928
- - **Hierarchy traversal:** SendMessageUpwards, BroadcastMessage for parent/child searching
929
- - **No dependencies:** Built into Unity GameObject
930
- - **Simple API:** One-line method calls
931
- - **GameObject-centric:** Works with Unity's component model
932
- - **Optional receivers:** Methods don't need to exist (SendMessageOptions.DontRequireReceiver)
933
-
934
- #### Code Example
935
-
936
- ```csharp
937
- using UnityEngine;
938
-
939
- public class Enemy : MonoBehaviour
940
- {
941
- void TakeDamage(int amount)
942
- {
943
- Debug.Log($"Took {amount} damage");
944
- }
945
- }
946
-
947
- public class Weapon : MonoBehaviour
948
- {
949
- void Attack(GameObject target)
950
- {
951
- // Call TakeDamage on target GameObject
952
- target.SendMessage("TakeDamage", 10);
953
- }
954
-
955
- void AttackUpwards()
956
- {
957
- // Call on this GameObject and all parents
958
- SendMessageUpwards("TakeDamage", 5, SendMessageOptions.DontRequireReceiver);
959
- }
960
-
961
- void AttackChildren()
962
- {
963
- // Call on this GameObject and all children
964
- BroadcastMessage("TakeDamage", 3);
965
- }
966
- }
967
- ```
968
-
969
- #### What Problems It Solves
970
-
971
- - ✅ **No references needed:** Call methods without GetComponent
972
- - ✅ **Hierarchy traversal:** Easy parent/child communication
973
- - ✅ **Simple API:** One-line method invocation
974
- - ✅ **Optional receivers:** Can call non-existent methods safely
975
- - ✅ **Built-in:** No setup or dependencies
976
-
977
- #### What Problems It Doesn't Solve Well
978
-
979
- - ❌ **No type safety:** String-based, typos cause silent failures
980
- - ❌ **Slow performance:** Reflection overhead on every call
981
- - ❌ **Limited parameters:** Only 0 or 1 parameter supported
982
- - ❌ **Boxing allocations:** Value types boxed to object, causes GC
983
- - ❌ **Hard to debug:** No compile-time checking, no IDE "Find Usages"
984
- - ❌ **Refactoring difficulty:** Renaming methods breaks string references
985
- - ❌ **No validation:** No way to validate or intercept messages
986
- - ❌ **Execution order:** Undefined call order for multiple receivers
987
-
988
- #### Performance Characteristics
989
-
990
- - **Very slow:** Reflection overhead much worse than events or messaging systems
991
- - **Allocations:** Boxing value type parameters causes GC pressure
992
- - **Use case:** Legacy code only; avoid for new development
993
-
994
- #### Learning Curve
995
-
996
- - **Very easy:** Simple one-line API
997
- - **Immediate productivity:** No setup required
998
- - **Estimated learning time:** 5 minutes
999
-
1000
- #### Ease of Understanding
1001
-
1002
- - ⭐⭐⭐ (Simple to use, hard to maintain)
1003
- - Easy to write initially
1004
- - Difficult to track method calls (no Find Usages)
1005
- - Refactoring breaks string references silently
1006
-
1007
- #### When Unity SendMessage Wins
1008
-
1009
- - ✅ Legacy code that already uses it
1010
- - ✅ Quick prototypes (throwaway code)
1011
- - ✅ Simple tutorials or learning examples
1012
- - ✅ Calling optional methods that may not exist
1013
- - ✅ GameObject hierarchies with optional components (DontRequireReceiver pattern)
1014
-
1015
- #### When DxMessaging Wins
1016
-
1017
- - ✅ Type safety required (compile-time checking)
1018
- - ✅ Performance matters (zero allocation, no reflection)
1019
- - ✅ Multiple parameters needed (struct fields)
1020
- - ✅ Refactoring frequently (find usages, rename safely)
1021
- - ✅ Debugging observability (message history)
1022
- - ✅ Execution order control (priority-based handlers)
1023
- - ✅ Message validation/interception (interceptor pipeline)
1024
- - ✅ Production code (maintainability over simplicity)
1025
- - ✅ Modern projects (avoid legacy patterns)
1026
-
1027
- #### Direct Comparison
1028
-
1029
- | Aspect | Unity SendMessage | DxMessaging |
1030
- | ------------------------ | ------------------------- | ---------------------------- |
1031
- | **Primary Use Case** | Legacy GameObject calls | Pub/sub messaging |
1032
- | **Unity Compatibility** | ✅ Built into Unity | ✅ Built for Unity |
1033
- | **Dependencies** | ✅ None (Unity) | ✅ Standalone |
1034
- | **Performance** | Very slow (reflection) | ~60ns/call |
1035
- | **Allocations** | ❌ Heavy boxing | ✅ Zero (structs) |
1036
- | **Learning Curve** | ⭐⭐⭐⭐⭐ Minimal | ⭐⭐⭐ Moderate |
1037
- | **Setup Complexity** | ⭐⭐⭐⭐⭐ None | ⭐⭐⭐ Moderate |
1038
- | **DI Integration** | ❌ No | ⚠️ Optional |
1039
- | **Async/Await** | ❌ No | ⚠️ Manual |
1040
- | **Type Safety** | ❌ String-based | ✅ Strong |
1041
- | **Lifecycle Management** | ❌ None | ✅ Automatic |
1042
- | **Execution Order** | ❌ Undefined | ✅ Priority-based |
1043
- | **GameObject Targeting** | ✅ Hierarchy traversal | ✅ Built-in (ID-based) |
1044
- | **Unity Integration** | ⭐⭐ Legacy API | ⭐⭐⭐⭐⭐ Deep |
1045
- | **Inspector Debugging** | ❌ No | ✅ History + stats |
1046
- | **Interceptors** | ❌ Not built-in | ✅ Full pipeline |
1047
- | **Global Observers** | ❌ Not possible | ✅ Listen to all |
1048
- | **Post-Processing** | ❌ Not built-in | ✅ Dedicated stage |
1049
- | **Testability** | ⭐⭐ Requires GameObjects | ⭐⭐⭐⭐⭐ Local buses |
1050
- | **Decoupling** | ⭐⭐ String-based | ⭐⭐⭐⭐⭐ Excellent |
1051
- | **Refactoring Safety** | ❌ Silent breakage | ✅ Compile-time errors |
1052
- | **Parameters** | ⚠️ 0 or 1 only | ✅ Unlimited (struct fields) |
1053
-
1054
- **Bottom Line:** SendMessage is legacy Unity API. Use only for maintaining old code. DxMessaging provides all the same capabilities with type safety, performance, and modern tooling.
1055
-
1056
- **Migration Path:** DxMessaging provides `ReflexiveMessage` to bridge legacy SendMessage behavior:
1057
-
1058
- ```csharp
1059
- using DxMessaging.Core;
1060
- using DxMessaging.Core.Messages;
1061
-
1062
- // Legacy SendMessage equivalent
1063
- InstanceId target = gameObject;
1064
- var msg = new ReflexiveMessage("OnHit", ReflexiveSendMode.Upwards, 10);
1065
- MessageHandler.MessageBus.TargetedBroadcast(ref target, ref msg);
1066
-
1067
- // Prefer typed messages for new code:
1068
- // - Multiple parameters via struct fields
1069
- // - By-ref handlers avoid boxing
1070
- // - Compile-time safety
1071
- ```
1072
-
1073
- ---
1074
-
1075
- ### Global Event Bus Singletons
1076
-
1077
- **What It Is:** A static/singleton class that centralizes all events in one global location. Common pattern for decoupling without dependency injection.
1078
-
1079
- **Core Philosophy:** Central event hub accessible from anywhere. Simplify communication through a single global entry point.
1080
-
1081
- #### Key Features
1082
-
1083
- - **Global access:** Static class available everywhere
1084
- - **No references needed:** No GetComponent or serialized fields
1085
- - **Simple pattern:** Easy to understand and implement
1086
- - **Decoupling:** Publishers and subscribers don't know about each other
1087
- - **Flexibility:** Can add events without changing existing code
1088
-
1089
- #### Code Example
1090
-
1091
- ```csharp
1092
- using System;
1093
- using UnityEngine;
1094
-
1095
- public static class EventHub
1096
- {
1097
- public static event Action<int> OnDamage;
1098
- public static event Action<string> OnEnemyKilled;
1099
- public static event Action OnGameOver;
1100
-
1101
- public static void RaiseDamage(int amount) => OnDamage?.Invoke(amount);
1102
- public static void RaiseEnemyKilled(string enemyType) => OnEnemyKilled?.Invoke(enemyType);
1103
- public static void RaiseGameOver() => OnGameOver?.Invoke();
1104
- }
1105
-
1106
- // Producer
1107
- public class Enemy : MonoBehaviour
1108
- {
1109
- void Die()
1110
- {
1111
- EventHub.RaiseEnemyKilled("Orc");
1112
- }
1113
- }
1114
-
1115
- // Consumer
1116
- public class UI : MonoBehaviour
1117
- {
1118
- void OnEnable()
1119
- {
1120
- EventHub.OnEnemyKilled += HandleEnemyKilled;
1121
- }
1122
-
1123
- void OnDisable()
1124
- {
1125
- EventHub.OnEnemyKilled -= HandleEnemyKilled;
1126
- }
1127
-
1128
- void HandleEnemyKilled(string enemyType)
1129
- {
1130
- Debug.Log($"Enemy killed: {enemyType}");
1131
- }
1132
- }
1133
- ```
1134
-
1135
- #### What Problems It Solves
1136
-
1137
- - ✅ **Global decoupling:** No direct references between systems
1138
- - ✅ **Easy to add events:** Just add to static class
1139
- - ✅ **Simple pattern:** Straightforward to implement and understand
1140
- - ✅ **No setup:** No DI container or framework needed
1141
-
1142
- #### What Problems It Doesn't Solve Well
1143
-
1144
- - ❌ **Memory leaks:** Still manual subscribe/unsubscribe (same as C# events)
1145
- - ❌ **Global state:** Everything in one bag, hard to organize at scale
1146
- - ❌ **Execution order:** Undefined handler invocation order
1147
- - ❌ **Testing difficulty:** Global state makes unit testing hard
1148
- - ❌ **Naming conflicts:** All events in same namespace, naming gets messy
1149
- - ❌ **No validation:** No way to intercept or validate messages
1150
- - ❌ **No observability:** Can't see who's subscribed or message history
1151
- - ❌ **Ownership unclear:** Who manages what events?
1152
- - ❌ **Lifecycle management:** Manual subscribe/unsubscribe required
1153
-
1154
- #### Performance Characteristics
1155
-
1156
- - **Good performance:** Similar to C# events (static overhead is minimal)
1157
- - **Zero allocation:** No GC pressure for basic events
1158
- - **Use case:** Acceptable for most scenarios
1159
-
1160
- #### Learning Curve
1161
-
1162
- - **Very easy:** Just a static class with events
1163
- - **Immediate productivity:** No new concepts
1164
- - **Estimated learning time:** 10 minutes
1165
-
1166
- #### Ease of Understanding
1167
-
1168
- - ⭐⭐⭐⭐ (Easy initially, hard at scale)
1169
- - Simple pattern to grasp
1170
- - Becomes messy with 20+ events
1171
- - Hard to track ownership and responsibilities
1172
-
1173
- #### When Static Event Bus Wins
1174
-
1175
- - ✅ You've already built one and it works
1176
- - ✅ Very simple use cases (just need globals)
1177
- - ✅ Small projects (<10 events)
1178
- - ✅ No framework dependencies desired
1179
- - ✅ Quick prototypes
1180
-
1181
- #### When DxMessaging Wins
1182
-
1183
- - ✅ More than 10-15 events (organization becomes important)
1184
- - ✅ Memory leaks are a concern (automatic lifecycle management)
1185
- - ✅ Execution order matters (priority-based handlers)
1186
- - ✅ Need message validation/interception (interceptor pipeline)
1187
- - ✅ Testing is important (local buses for isolation)
1188
- - ✅ Observability needed (Inspector debugging, message history)
1189
- - ✅ Multiple subsystems (namespacing and organization)
1190
- - ✅ GameObject/Component targeting needed
1191
- - ✅ Global observation needed (listen to all message instances)
1192
- - ✅ Post-processing needed (analytics after handlers)
1193
- - ✅ Long-term maintenance (structure prevents chaos)
1194
-
1195
- #### Direct Comparison
1196
-
1197
- | Aspect | Static Event Bus | DxMessaging |
1198
- | ------------------------ | --------------------- | ---------------------- |
1199
- | **Primary Use Case** | Global event hub | Pub/sub messaging |
1200
- | **Unity Compatibility** | ✅ Works in Unity | ✅ Built for Unity |
1201
- | **Dependencies** | ✅ None (custom) | ✅ Standalone |
1202
- | **Performance** | ~50ns/call (fast) | ~60ns/call |
1203
- | **Allocations** | ✅ Zero (basic) | ✅ Zero (structs) |
1204
- | **Learning Curve** | ⭐⭐⭐⭐⭐ Minimal | ⭐⭐⭐ Moderate |
1205
- | **Setup Complexity** | ⭐⭐⭐⭐⭐ Minimal | ⭐⭐⭐ Moderate |
1206
- | **DI Integration** | ⚠️ Manual | ⚠️ Optional |
1207
- | **Async/Await** | ⚠️ Manual | ⚠️ Manual |
1208
- | **Type Safety** | ✅ Strong | ✅ Strong |
1209
- | **Lifecycle Management** | ❌ Manual unsubscribe | ✅ Automatic |
1210
- | **Execution Order** | ❌ Undefined | ✅ Priority-based |
1211
- | **GameObject Targeting** | ❌ Not built-in | ✅ Built-in |
1212
- | **Unity Integration** | ⭐ None | ⭐⭐⭐⭐⭐ Deep |
1213
- | **Inspector Debugging** | ❌ No | ✅ History + stats |
1214
- | **Interceptors** | ❌ Not built-in | ✅ Full pipeline |
1215
- | **Global Observers** | ❌ Not built-in | ✅ Listen to all |
1216
- | **Post-Processing** | ❌ Not built-in | ✅ Dedicated stage |
1217
- | **Testability** | ⭐ Hard (global) | ⭐⭐⭐⭐⭐ Local buses |
1218
- | **Decoupling** | ⭐⭐⭐⭐ Good | ⭐⭐⭐⭐⭐ Excellent |
1219
- | **Organization** | ⭐⭐ One big class | ⭐⭐⭐⭐⭐ Structured |
1220
-
1221
- **Bottom Line:** Static event buses solve global access but inherit all the problems of C# events (leaks, undefined order, no observability). DxMessaging provides the same global access with lifecycle safety, structure, and debugging tools.
1222
-
1223
- **Migration Path:** DxMessaging can replace static event buses gradually:
1224
-
1225
- ```csharp
1226
- // Old static event bus
1227
- EventHub.RaiseDamage(5);
1228
-
1229
- // DxMessaging equivalent (global bus)
1230
- var damage = new TookDamage(5);
1231
- damage.Emit();
1232
-
1233
- // Or use local buses for subsystems
1234
- var combatBus = new MessageBus();
1235
- var combatDamage = new TookDamage(5);
1236
- combatDamage.Emit(combatBus);
1237
- ```
1238
-
1239
- ---
1240
-
1241
- ## Honest Trade-offs: What You Give Up, What You Gain
1242
-
1243
- DxMessaging involves trade-offs like any architectural choice. This section describes what you gain and what you sacrifice when adopting it.
1244
-
1245
- **Bottom line first:** For game jam prototypes, C# events are faster to write. For projects you'll maintain for months, DxMessaging becomes more valuable as project complexity increases.
1246
-
1247
- ### Learning Curve
1248
-
1249
- #### What You Give Up
1250
-
1251
- - ❌ **Immediate productivity** - ~1-2 days to feel comfortable (reading docs, trying examples)
1252
- - ❌ **Familiarity** - Your team knows C# events already; DxMessaging is new
1253
- - ❌ **"Just works" intuition** - You need to think: "Which message type? What priority?"
1254
-
1255
- Your first message will take 15 minutes. By the 10th message, you'll be faster than with events.
1256
-
1257
- #### What You Gain
1258
-
1259
- - ✅ **Long-term velocity** - Adding new features doesn't require touching 5 existing systems
1260
- - ✅ **Debugging is faster** - Inspector shows "what fired when" instantly
1261
- - ✅ **Onboarding is easier** - New devs see explicit message contracts, not hidden event chains
1262
-
1263
- **Example:** Junior dev asks "How does damage work?"
1264
-
1265
- - **C# events:** "Uh, Player has an OnDamaged event, and HealthBar subscribes in line 47, and..."
1266
- - **DxMessaging:** "Search for `TookDamage` message, see who emits it and who listens."
1267
-
1268
- ##### Verdict
1269
-
1270
- - Game jam (1 week project): Learning curve not worth it → Stick with C# events
1271
- - Mid-size game (1+ month): Pays off by week 2
1272
- - Large game (6+ months): Highly beneficial
1273
-
1274
- ### Boilerplate
1275
-
1276
- #### What You Give Up
1277
-
1278
- - ❌ "One-liners" - C# events can be `public event Action OnClick;` done
1279
- - ❌ Quick and dirty - Need to define message struct, attributes, handler registration
1280
-
1281
- #### What You Gain
1282
-
1283
- - ✅ Explicit contracts - Messages are discoverable types, not hidden delegates
1284
- - ✅ Auto-generated code - `[DxAutoConstructor]` reduces boilerplate
1285
- - ✅ Compile-time safety - Refactors update all usages
1286
-
1287
- #### Example Comparison
1288
-
1289
- ```csharp
1290
- // C# Event (minimal boilerplate)
1291
- public event Action<int> OnDamage;
1292
- OnDamage?.Invoke(5);
1293
-
1294
- // DxMessaging (more upfront definition)
1295
- [DxBroadcastMessage]
1296
- [DxAutoConstructor]
1297
- public readonly partial struct TookDamage { public readonly int amount; }
1298
-
1299
- var msg = new TookDamage(5);
1300
- msg.EmitGameObjectBroadcast(gameObject);
1301
- ```
1302
-
1303
- **Verdict:** For 1-3 simple events, C# events win on brevity. For 10+ events with complex flows, DxMessaging's structure pays dividends.
1304
-
1305
- ### Performance
1306
-
1307
- #### What You Give Up
1308
-
1309
- - ❌ Absolute minimal overhead - Raw C# events/delegates are faster (~10ns per call)
1310
- - ❌ Zero abstraction cost - Direct calls can be inlined by the compiler
1311
- - ❌ Simplicity in profiler - One extra layer in call stack
1312
-
1313
- #### What You Gain
1314
-
1315
- - ✅ Zero-allocation struct messages - No GC pressure from boxing
1316
- - ✅ Predictable performance - No hidden allocations from lambdas
1317
- - ✅ Scalable diagnostics - Built-in profiling/logging without custom instrumentation
1318
-
1319
- #### Hard Numbers
1320
-
1321
- - C# event invoke: ~50ns baseline
1322
- - DxMessaging handler: ~60ns (~10ns overhead)
1323
- - Memory: Zero allocations for struct messages
1324
-
1325
- **Verdict:** For UI, gameplay events, scene management → DxMessaging overhead is negligible. For ECS architectures processing millions of events per frame → consider raw delegates or native code, which are better suited for that specific use case.
1326
-
1327
- ### Flexibility
1328
-
1329
- #### What You Give Up
1330
-
1331
- - ❌ Return values - DxMessaging is fire-and-forget (no synchronous responses)
1332
- - ❌ Out parameters - Can't use `out` or `ref` for bidirectional communication
1333
- - ❌ Dynamic subscriptions - Can't easily pass lambdas inline
1334
-
1335
- #### What You Gain
1336
-
1337
- - ✅ Interception - Validate/transform messages before handlers
1338
- - ✅ Post-processing - Analytics/logging without polluting handlers
1339
- - ✅ Priority control - Explicit execution order
1340
- - ✅ Context - Always know who sent/received
1341
-
1342
- #### When Limitations Hurt
1343
-
1344
- ```csharp
1345
- // C# events can return values (DxMessaging can't)
1346
- public delegate bool DamageValidator(int amount);
1347
- public event DamageValidator OnValidateDamage;
1348
-
1349
- if (OnValidateDamage?.Invoke(damage) == true) {
1350
- // Allowed
1351
- }
1352
-
1353
- // DxMessaging workaround: Use interceptors or separate query pattern
1354
- ```
1355
-
1356
- **Verdict:** If you need synchronous request/response, C# delegates/events or direct method calls are better. DxMessaging is designed for notifications and commands.
1357
-
1358
- ### Debuggability
1359
-
1360
- #### What You Give Up
1361
-
1362
- - ❌ Simplicity - Stack traces show message bus internals
1363
- - ❌ Step-through - Can't F11 directly from emit to handler (need breakpoints)
1364
-
1365
- #### What You Gain
1366
-
1367
- - ✅ Message history - See last N messages in Inspector
1368
- - ✅ Registration view - Know exactly who's listening
1369
- - ✅ Global observability - Track all messages without instrumenting code
1370
- - ✅ Filtering - Intercept messages for debugging without changing code
1371
-
1372
- #### Example: Finding Who Fired a Message
1373
-
1374
- ```csharp
1375
- // C# events: Set breakpoint on every possible Invoke(), or add logging everywhere
1376
- OnDamage?.Invoke(5); // Where did this come from??
1377
-
1378
- // DxMessaging: Check Inspector message history or add global logger
1379
- _ = debugToken.RegisterBroadcastWithoutSource<TookDamage>(
1380
- (src, msg) => Debug.Log($"Damage from {src}: {msg.amount}")
1381
- );
1382
- ```
1383
-
1384
- **Verdict:** Initial debugging is slightly harder (extra layer), but systemic debugging is easier (observability tools).
1385
-
1386
- ### Coupling and Architecture
1387
-
1388
- #### What You Give Up
1389
-
1390
- - ❌ Quick hacks - Can't just `GetComponent<T>().DoThing()` anymore
1391
- - ❌ Direct inspector wiring - Can't drag-and-drop references to emit messages
1392
-
1393
- #### What You Gain
1394
-
1395
- - ✅ True decoupling - Systems don't know about each other
1396
- - ✅ Testability - Easy to isolate with local buses
1397
- - ✅ Refactorability - Move/rename components without breaking wiring
1398
-
1399
- #### Impact on Architecture
1400
-
1401
- Before (tight coupling):
1402
-
1403
- ```text
1404
- UI → References 15 systems
1405
- System A → References System B, C, D
1406
- Every change ripples through dependencies
1407
- ```
1408
-
1409
- After (loose coupling):
1410
-
1411
- ```text
1412
- All systems → Emit messages
1413
- All systems → Listen to messages
1414
- Add/remove systems without affecting others
1415
- ```
1416
-
1417
- **Verdict:** If your project is <5k lines, tight coupling is manageable. For larger projects, DxMessaging's decoupling significantly improves maintainability.
1418
-
1419
- ### Testing
1420
-
1421
- #### What You Give Up
1422
-
1423
- - ❌ Simplicity - Can't just mock an event subscription
1424
-
1425
- #### What You Gain
1426
-
1427
- - ✅ Isolation - Local buses per test, zero global state
1428
- - ✅ Observability - Count messages, inspect payloads easily
1429
- - ✅ Determinism - Priority-based ordering eliminates flakiness
1430
-
1431
- ##### Example
1432
-
1433
- ```csharp
1434
- // Test with isolated bus
1435
- [Test]
1436
- public void TestAchievementSystem() {
1437
- var testBus = new MessageBus();
1438
- var token = MessageRegistrationToken.Create(achievementHandler, testBus);
1439
-
1440
- var msg = new EnemyKilled("Boss", 10);
1441
- msg.EmitGameObjectBroadcast(enemy, testBus);
1442
-
1443
- Assert.IsTrue(achievementSystem.Unlocked("BossSlayer"));
1444
- }
1445
- ```
1446
-
1447
- **Verdict:** DxMessaging makes integration testing easier, unit testing slightly more verbose.
1448
-
1449
- ## Feature-by-Feature Comparison Matrix
1450
-
1451
- ### Unity Messaging Frameworks Comparison
1452
-
1453
- | Aspect | DxMessaging | UniRx | MessagePipe | Zenject Signals |
1454
- | ------------------------ | ---------------------------- | ------------------------ | --------------------------- | -------------------------- |
1455
- | **Primary Use Case** | Pub/sub messaging | Stream transformations | High-perf DI messaging | DI-integrated messaging |
1456
- | **Unity Compatibility** | ✅ Built for Unity | ✅ Built for Unity | ✅ Built for Unity | ✅ Built for Unity |
1457
- | **Performance** | ⭐⭐⭐⭐ Good (14M) | ⭐⭐⭐⭐ Good (18M) | ⭐⭐⭐⭐⭐ Best (97M) | ⭐⭐ Moderate (2.5M) |
1458
- | **Zero Allocations** | ✅ Yes (structs) | ⚠️ Can allocate | ✅ Yes (structs) | ⚠️ Can allocate |
1459
- | **Unity Integration** | ⭐⭐⭐⭐⭐ Deep (lifecycle) | ⭐⭐⭐⭐ Good (UI/async) | ⭐⭐⭐ Basic (no lifecycle) | ⭐⭐⭐⭐ Good (DI-managed) |
1460
- | **Inspector Debugging** | ✅ Yes (history + stats) | ❌ No | ❌ No | ❌ No |
1461
- | **Execution Order** | ✅ Priority-based | ❌ Not built-in | ❌ Subscription order | ❌ Not built-in |
1462
- | **Lifecycle Management** | ✅ Automatic (MonoBehaviour) | ⚠️ Manual dispose | ⚠️ Manual dispose | ⚠️ DI-managed |
1463
- | **Learning Curve** | ⭐⭐⭐ Moderate | ⭐⭐ Steep (Rx paradigm) | ⭐⭐⭐⭐ Moderate (DI) | ⭐⭐ Steep (DI+Signals) |
1464
- | **Setup Complexity** | ⭐⭐⭐⭐⭐ Plug-and-play | ⭐⭐⭐⭐⭐ Low | ⭐⭐⭐ DI setup required | ⭐⭐ Installers required |
1465
- | **DI Integration** | ⚠️ Optional | ⚠️ Optional | ✅ First-class | ✅ Required (Zenject) |
1466
- | **Async/Await** | ⚠️ Manual | ✅ Native (observables) | ✅ Native | ✅ Yes |
1467
- | **Message Validation** | ✅ Interceptor pipeline | ❌ Not built-in | ⚠️ Filters (middleware) | ❌ Not built-in |
1468
- | **GameObject Targeting** | ✅ Built-in | ❌ Not designed for | ❌ Not built-in | ❌ Not built-in |
1469
- | **Global Observers** | ✅ Listen to all sources | ❌ Not built-in | ❌ Not built-in | ❌ Not built-in |
1470
- | **Post-Processing** | ✅ Dedicated stage | ❌ Not built-in | ⚠️ Via filters | ❌ Not built-in |
1471
- | **Stream Operators** | ❌ Not built-in | ✅ Extensive (LINQ) | ❌ Not built-in | ⚠️ With UniRx |
1472
- | **Testability** | ⭐⭐⭐⭐⭐ Local buses | ⭐⭐⭐⭐ Good | ⭐⭐⭐⭐⭐ DI mocking | ⭐⭐⭐⭐⭐ DI mocking |
1473
- | **Decoupling** | ⭐⭐⭐⭐⭐ Excellent | ⭐⭐⭐⭐⭐ Excellent | ⭐⭐⭐⭐⭐ Excellent | ⭐⭐⭐⭐⭐ Excellent |
1474
- | **Type Safety** | ⭐⭐⭐⭐⭐ Strong | ⭐⭐⭐⭐⭐ Strong | ⭐⭐⭐⭐⭐ Strong | ⭐⭐⭐⭐⭐ Strong |
1475
- | **Dependencies** | ✅ None | ✅ None | ⚠️ MessagePipe package | ❌ Zenject required |
1476
-
1477
- ### Traditional Approaches Comparison
1478
-
1479
- | Aspect | C# Events | UnityEvents | SOA (GameEvent) | Static Bus | DxMessaging |
1480
- | -------------------- | ------------------ | -------------------- | ------------------- | --------------- | ------------------------- |
1481
- | **Setup Complexity** | ⭐⭐⭐⭐⭐ Minimal | ⭐⭐⭐⭐ Simple | ⭐⭐ Asset creation | ⭐⭐⭐ Moderate | ⭐⭐⭐ Moderate |
1482
- | **Boilerplate** | ⭐⭐⭐⭐⭐ Low | ⭐⭐⭐⭐⭐ Low | ⭐⭐ High | ⭐⭐⭐ Medium | ⭐⭐⭐ Medium |
1483
- | **Performance** | ⭐⭐⭐⭐⭐ Fastest | ⭐⭐ Slow (boxing) | ⭐⭐⭐ Moderate | ⭐⭐⭐⭐ Fast | ⭐⭐⭐⭐ Fast |
1484
- | **Decoupling** | ⭐ Tight | ⭐⭐ Hidden | ⭐⭐⭐⭐ Good | ⭐⭐⭐⭐ Good | ⭐⭐⭐⭐⭐ Excellent |
1485
- | **Designer Control** | ⭐ None | ⭐⭐⭐⭐⭐ High | ⭐⭐⭐⭐⭐ High | ⭐ None | ⭐ None |
1486
- | **Lifecycle Safety** | ⭐ Manual | ⭐⭐⭐ Unity-managed | ⭐⭐ Manual persist | ⭐ Manual | ⭐⭐⭐⭐⭐ Automatic |
1487
- | **Observability** | ⭐ None | ⭐ None | ⭐ Inspector only | ⭐ None | ⭐⭐⭐⭐⭐ Built-in |
1488
- | **Execution Order** | ⭐ Undefined | ⭐ Undefined | ⭐ Undefined | ⭐ Undefined | ⭐⭐⭐⭐⭐ Priority-based |
1489
- | **Type Safety** | ⭐⭐⭐⭐⭐ Strong | ⭐⭐ Weak | ⭐⭐⭐ Mixed | ⭐⭐⭐ Varies | ⭐⭐⭐⭐⭐ Strong |
1490
- | **Testability** | ⭐⭐ Hard | ⭐⭐ Hard | ⭐ Very Hard | ⭐ Very Hard | ⭐⭐⭐⭐⭐ Easy |
1491
- | **Learning Curve** | ⭐⭐⭐⭐⭐ Minimal | ⭐⭐⭐⭐⭐ Minimal | ⭐⭐⭐ Moderate | ⭐⭐⭐⭐ Low | ⭐⭐⭐ Moderate |
1492
- | **Memory Safety** | ⭐ Leak-prone | ⭐⭐⭐ Unity-managed | ⭐⭐ Asset persist | ⭐ Leak-prone | ⭐⭐⭐⭐⭐ Leak-free |
1493
- | **Debugging** | ⭐⭐ Hard at scale | ⭐⭐ Hard at scale | ⭐⭐ Inspector-only | ⭐ Very Hard | ⭐⭐⭐⭐⭐ Excellent |
1494
-
1495
- ### Overall Verdict by Use Case
1496
-
1497
- - **Small prototype/jam:** C# Events or UnityEvents win (simplicity > all)
1498
- - **Mid-size game (5-20k lines):** DxMessaging starts paying off (decoupling, debugging)
1499
- - **Large game (20k+ lines):** DxMessaging essential for maintainability
1500
- - **Designer-driven workflow:** SOA has value (Inspector wiring) but consider maintenance costs
1501
- - **Legacy SOA project:** Use Pattern B (keep SOs for configs, migrate events to DxMessaging)
1502
- - **Performance-critical (millions of messages/frame):** MessagePipe offers the highest throughput
1503
- - **Performance-critical (Unity-specific):** DxMessaging (strong performance + Unity integration)
1504
- - **UI-heavy:** DxMessaging provides decoupled updates and global observers for UI state
1505
- - **Complex event transformations:** UniRx provides reactive stream operators
1506
- - **DI-first architecture:** MessagePipe or Zenject Signals win (DI integration)
1507
- - **Analytics/diagnostics heavy:** DxMessaging provides built-in support (global observers, post-processors, Inspector)
1508
- - **Need execution control:** DxMessaging offers priorities, interceptors, and ordered stages
1509
-
1510
- ## When Each Approach ACTUALLY Wins
1511
-
1512
- ### DxMessaging Wins When
1513
-
1514
- - ✅ Unity-first projects (MonoBehaviour lifecycle integration)
1515
- - ✅ 10+ systems that communicate (pub/sub decoupling)
1516
- - ✅ Observability essential (Inspector debugging, message history)
1517
- - ✅ Memory leaks are a concern (automatic lifecycle management)
1518
- - ✅ Cross-team development (clear message contracts)
1519
- - ✅ Long-term maintenance (years, not weeks)
1520
- - ✅ GameObject/Component targeting needed (Unity-specific patterns)
1521
- - ✅ Execution order control essential (priority-based handlers)
1522
- - ✅ Message validation/transformation needed (interceptor pipeline)
1523
- - ✅ Global observation needed (listen to all message instances)
1524
- - ✅ Post-processing needed (analytics, logging after handlers)
1525
- - ✅ Late update semantics needed (timing-specific processing)
1526
- - ✅ Teams without DI experience (no framework dependencies)
1527
- - ✅ Want plug-and-play solution (zero dependencies, immediate use)
1528
-
1529
- ### UniRx Wins When
1530
-
1531
- - ✅ Simple pub/sub with minimal setup (MessageBroker is straightforward)
1532
- - ✅ Complex event stream transformations needed
1533
- - ✅ Time-based operations (throttle, debounce, buffer)
1534
- - ✅ Combining multiple input sources
1535
- - ✅ Reactive UI data binding
1536
- - ✅ Team familiar with reactive programming
1537
- - ✅ Need LINQ-style query operators on events
1538
- - ✅ Async operations with cancellation and composition
1539
-
1540
- ### MessagePipe Wins When
1541
-
1542
- - ✅ Performance is THE priority (highest throughput)
1543
- - ✅ Already using DI (VContainer, Zenject, etc.)
1544
- - ✅ Cross-platform .NET projects (not Unity-only)
1545
- - ✅ Need native async/await support
1546
- - ✅ Large-scale projects with DI architecture
1547
- - ✅ Want compile-time leak detection (Roslyn analyzer)
1548
- - ✅ High message frequency (thousands/frame)
1549
-
1550
- ### Zenject Signals Win When
1551
-
1552
- - ✅ Already using Zenject for dependency injection
1553
- - ✅ Testability through DI is critical
1554
- - ✅ Need subscriber validation (ensure handlers exist)
1555
- - ✅ Team experienced with Zenject
1556
- - ✅ Want DI-managed lifecycle
1557
- - ✅ Integration with existing Zenject architecture
1558
-
1559
- ### C# Events Win When
1560
-
1561
- - ✅ You need return values or out parameters
1562
- - ✅ Writing a library (DxMessaging is Unity-specific)
1563
- - ✅ Small, stable scope (5-10 events max)
1564
- - ✅ Team is C# experts, Unity beginners
1565
-
1566
- ### UnityEvents Win When
1567
-
1568
- - ✅ Designers need to wire logic without code
1569
- - ✅ Rapid prototyping with prefabs
1570
- - ✅ Very simple games (mobile casual, hyper-casual)
1571
-
1572
- ### SOA (GameEvent/Variables) Wins When
1573
-
1574
- - ✅ Designers must create and wire events without touching code
1575
- - ✅ Team is already heavily invested in SOA with many existing assets
1576
- - ✅ Designer empowerment is the absolute top priority
1577
- - ⚠️ **BUT:** Consider migration costs and maintainability issues (see [Anti-SOA critique](https://github.com/cathei/AntiScriptableObjectArchitecture))
1578
- - ⚠️ **Alternative:** Use ScriptableObjects for configs only + DxMessaging for events (Pattern B in [SOA Guide](../guides/patterns.md#14-compatibility-with-scriptable-object-architecture-soa))
1579
-
1580
- ### Static Event Bus Wins When
1581
-
1582
- - ✅ You've already built one and it works
1583
- - ✅ Very simple use cases (just need globals)
1584
-
1585
- ## Cost-Benefit Summary
1586
-
1587
- ### Costs
1588
-
1589
- 1. Learning curve (~1-2 days to feel comfortable)
1590
- 1. More upfront code (message definitions)
1591
- 1. Slightly slower than raw C# events (~10ns/call)
1592
- 1. Can't return values (fire-and-forget only)
1593
-
1594
- ### Benefits
1595
-
1596
- 1. Automatic lifecycle prevents common memory leaks
1597
- 1. Full decoupling (systems don't reference each other)
1598
- 1. Observability (Inspector diagnostics, message history)
1599
- 1. Predictable ordering (priority-based execution)
1600
- 1. Interception/validation (before handlers run)
1601
- 1. Testability (isolated buses)
1602
-
1603
- **Break-even point:** Usually around 10-20 hours into a project, when event management becomes painful.
1604
-
1605
- ## Making the Decision (Be Honest With Yourself)
1606
-
1607
- ### Answer these questions honestly
1608
-
1609
- ### 1. Project Lifespan?
1610
-
1611
- - **<1 week (game jam):** Skip DxMessaging → Use C# events or direct calls
1612
- - **1-4 weeks (prototype):** Maybe → If you plan to continue, use DxMessaging
1613
- - **1+ months (real project):** Yes → DxMessaging will save you time
1614
- - **6+ months (production):** Absolutely → You'll thank yourself later
1615
-
1616
- ### 2. Team Size?
1617
-
1618
- - **Solo dev:** Optional → Depends on project complexity
1619
- - **2-3 devs:** Valuable → Reduces communication overhead
1620
- - **4+ devs:** Highly recommended → Clear contracts between systems
1621
- - **Remote/distributed team:** Essential → Explicit message contracts prevent miscommunication
1622
-
1623
- ### 3. Codebase Size?
1624
-
1625
- - **<1k lines:** Skip it → Direct method calls are fine
1626
- - **1k-5k lines:** Consider it → If you're growing fast
1627
- - **5k-20k lines:** Recommended → Coupling becomes painful
1628
- - **20k+ lines:** Absolutely → Refactoring becomes significantly more challenging without it
1629
-
1630
- ### 4. How Many Systems Need to Communicate?
1631
-
1632
- - **1-2 systems:** Skip → Just call methods directly
1633
- - **3-5 systems:** Consider → If they don't share references
1634
- - **6-10 systems:** Recommended → Coupling becomes unmanageable
1635
- - **10+ systems:** Essential → Managing many SerializeField references becomes difficult
1636
-
1637
- ### 5. Have You Had Memory Leaks From Forgotten Unsubscribes?
1638
-
1639
- - **Never:** Optional → You may not need automatic lifecycle management
1640
- - **Once or twice:** Consider it → Prevention is cheaper than debugging
1641
- - **Multiple times:** Recommended → Automatic cleanup would help
1642
- - **Currently debugging one:** Strongly recommended → Consider adopting DxMessaging
1643
-
1644
- ### 6. How Often Do You Debug "What Fired When?"
1645
-
1646
- - **Never:** Likely not needed → Small projects may not require message debugging tools
1647
- - **Rarely:** Optional, but would help
1648
- - **Monthly:** Recommended → Inspector diagnostics will save hours
1649
- - **Weekly:** Strongly recommended → Debugging tools would provide significant time savings
1650
-
1651
- ### Quick Decision Matrix
1652
-
1653
- ```text
1654
- Game Jam → C# Events (speed over safety)
1655
- Prototype → DxMessaging IF continuing, else C# Events
1656
- Production → DxMessaging (unless <1k lines)
1657
- Legacy codebase → Migrate gradually (see Migration Guide)
1658
- ```
1659
-
1660
- ### The Real Question
1661
-
1662
- #### "Will this project still exist in 3 months?"
1663
-
1664
- - **No:** C# events are fine
1665
- - **Yes:** Use DxMessaging
1666
-
1667
- ##### "Will anyone else work on this code?"
1668
-
1669
- - **No:** C# events might be okay
1670
- - **Yes:** Use DxMessaging (future you counts as "someone else")
1671
-
1672
- ### Rule of Thumb
1673
-
1674
- If you're reading this and thinking:
1675
-
1676
- - **"I've experienced these pain points"** → DxMessaging will help
1677
- - **"This seems like overkill"** → You probably don't need it yet
1678
- - **"I need this yesterday"** → DxMessaging may be a good fit
1679
-
1680
- See also
1681
-
1682
- - [Message Types](../concepts/message-types.md)
1683
- - [Diagnostics (Editor inspector)](../guides/diagnostics.md)
1684
- - [Migration Guide](../guides/migration-guide.md) - How to adopt gradually