com.wallstop-studios.dxmessaging 2.1.5 → 2.1.7

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 (163) hide show
  1. package/.artifacts/SourceGenerators.Tests/obj/Debug/net9.0/WallstopStudios.DxMessaging.SourceGenerators.Tests.AssemblyInfo.cs +1 -1
  2. package/.cspell.json +4 -1
  3. package/.github/workflows/actionlint.yml +11 -1
  4. package/.github/workflows/csharpier-autofix.yml +34 -3
  5. package/.github/workflows/dotnet-tests.yml +13 -0
  6. package/.github/workflows/format-on-demand.yml +38 -44
  7. package/.github/workflows/json-format-check.yml +24 -0
  8. package/.github/workflows/lint-doc-links.yml +13 -0
  9. package/.github/workflows/markdown-json.yml +21 -4
  10. package/.github/workflows/markdown-link-text-check.yml +10 -0
  11. package/.github/workflows/markdown-link-validity.yml +10 -0
  12. package/.github/workflows/markdownlint.yml +7 -5
  13. package/.github/workflows/prettier-autofix.yml +67 -11
  14. package/.github/workflows/release-drafter.yml +2 -2
  15. package/.github/workflows/sync-wiki.yml +3 -3
  16. package/.github/workflows/yaml-format-lint.yml +26 -0
  17. package/.llm/context.md +113 -3
  18. package/.llm/skills/documentation/changelog-management.md +38 -0
  19. package/.llm/skills/documentation/documentation-style-guide.md +18 -0
  20. package/.llm/skills/documentation/documentation-update-workflow.md +2 -0
  21. package/.llm/skills/documentation/documentation-updates.md +2 -0
  22. package/.llm/skills/documentation/markdown-compatibility.md +476 -0
  23. package/.llm/skills/documentation/mermaid-theming.md +326 -0
  24. package/.llm/skills/documentation/mkdocs-navigation.md +290 -0
  25. package/.llm/skills/github-actions/git-renormalize-patterns.md +231 -0
  26. package/.llm/skills/github-actions/workflow-consistency.md +346 -0
  27. package/.llm/skills/index.md +53 -27
  28. package/.llm/skills/scripting/javascript-code-quality.md +417 -0
  29. package/.llm/skills/scripting/regex-documentation.md +461 -0
  30. package/.llm/skills/scripting/shell-best-practices.md +55 -4
  31. package/.llm/skills/scripting/validation-patterns.md +418 -0
  32. package/.llm/skills/specification.md +4 -1
  33. package/.llm/skills/testing/test-code-quality.md +243 -0
  34. package/.llm/skills/testing/test-production-code.md +348 -0
  35. package/CHANGELOG.md +24 -0
  36. package/README.md +113 -24
  37. package/Tests/Runtime/Benchmarks/WallstopStudios.DxMessaging.Tests.Runtime.Benchmarks.asmdef +1 -6
  38. package/Tests/Runtime/Integrations/Reflex/WallstopStudios.DxMessaging.Tests.Runtime.Reflex.asmdef +1 -1
  39. package/Tests/Runtime/Integrations/VContainer/WallstopStudios.DxMessaging.Tests.Runtime.VContainer.asmdef +1 -1
  40. package/Tests/Runtime/Integrations/Zenject/WallstopStudios.DxMessaging.Tests.Runtime.Zenject.asmdef +1 -1
  41. package/coverage/clover.xml +216 -3
  42. package/coverage/clover.xml.meta +7 -7
  43. package/coverage/coverage-final.json +2 -1
  44. package/coverage/coverage-final.json.meta +7 -7
  45. package/coverage/lcov-report/base.css.meta +1 -1
  46. package/coverage/lcov-report/block-navigation.js.meta +1 -1
  47. package/coverage/lcov-report/favicon.png.meta +1 -1
  48. package/coverage/lcov-report/index.html +25 -10
  49. package/coverage/lcov-report/index.html.meta +7 -7
  50. package/coverage/lcov-report/prettify.css.meta +1 -1
  51. package/coverage/lcov-report/prettify.js.meta +1 -1
  52. package/coverage/lcov-report/sort-arrow-sprite.png.meta +1 -1
  53. package/coverage/lcov-report/sorter.js.meta +1 -1
  54. package/coverage/lcov-report/transform-docs-to-wiki.js.html +1 -1
  55. package/coverage/lcov-report/transform-docs-to-wiki.js.html.meta +7 -7
  56. package/coverage/lcov-report/vendor.meta +1 -1
  57. package/coverage/lcov-report.meta +8 -8
  58. package/coverage/lcov.info +365 -0
  59. package/coverage/lcov.info.meta +7 -7
  60. package/docs/architecture/design-and-architecture.md +0 -1
  61. package/docs/concepts/index.md +37 -0
  62. package/docs/concepts/index.md.meta +7 -0
  63. package/docs/concepts/interceptors-and-ordering.md +0 -2
  64. package/docs/concepts/mental-model.md +390 -0
  65. package/docs/concepts/mental-model.md.meta +7 -0
  66. package/docs/concepts/message-types.md +0 -1
  67. package/docs/getting-started/getting-started.md +1 -0
  68. package/docs/getting-started/index.md +6 -5
  69. package/docs/getting-started/overview.md +1 -0
  70. package/docs/getting-started/quick-start.md +2 -1
  71. package/docs/getting-started/visual-guide.md +4 -10
  72. package/docs/hooks.py +10 -1
  73. package/docs/images/DxMessaging-banner.svg +1 -1
  74. package/docs/index.md +7 -7
  75. package/docs/javascripts/mermaid-config.js +44 -4
  76. package/docs/reference/helpers.md +130 -154
  77. package/docs/reference/quick-reference.md +5 -1
  78. package/docs/reference/reference.md +124 -130
  79. package/mkdocs.yml +2 -0
  80. package/package.json +7 -2
  81. package/scripts/__tests__/generate-skills-index.test.js +397 -0
  82. package/scripts/__tests__/generate-skills-index.test.js.meta +7 -0
  83. package/scripts/__tests__/mermaid-config.test.js +467 -0
  84. package/scripts/__tests__/mermaid-config.test.js.meta +7 -0
  85. package/scripts/__tests__/validate-skills-optional-fields.test.js +1474 -0
  86. package/scripts/__tests__/validate-skills-optional-fields.test.js.meta +7 -0
  87. package/scripts/__tests__/validate-skills-required-fields.test.js +188 -0
  88. package/scripts/__tests__/validate-skills-required-fields.test.js.meta +7 -0
  89. package/scripts/__tests__/validate-skills-tags.test.js +353 -0
  90. package/scripts/__tests__/validate-skills-tags.test.js.meta +7 -0
  91. package/scripts/__tests__/validate-workflows.test.js +188 -0
  92. package/scripts/__tests__/validate-workflows.test.js.meta +7 -0
  93. package/scripts/generate-skills-index.js +88 -3
  94. package/scripts/validate-skills.js +230 -30
  95. package/scripts/validate-workflows.js +272 -0
  96. package/scripts/validate-workflows.js.meta +7 -0
  97. package/scripts/wiki/generate-wiki-sidebar.js.meta +1 -8
  98. package/scripts/wiki/transform-docs-to-wiki.js.meta +1 -1
  99. package/site/404.html +1 -1
  100. package/site/advanced/emit-shorthands/index.html +2 -2
  101. package/site/advanced/message-bus-providers/index.html +2 -2
  102. package/site/advanced/registration-builders/index.html +2 -2
  103. package/site/advanced/runtime-configuration/index.html +2 -2
  104. package/site/advanced/string-messages/index.html +2 -2
  105. package/site/advanced.meta +1 -1
  106. package/site/architecture/comparisons/index.html +2 -2
  107. package/site/architecture/design-and-architecture/index.html +2 -2
  108. package/site/architecture/performance/index.html +1 -1
  109. package/site/architecture.meta +1 -1
  110. package/site/concepts/index.html +1 -0
  111. package/site/concepts/index.html.meta +7 -0
  112. package/site/concepts/interceptors-and-ordering/index.html +4 -4
  113. package/site/concepts/listening-patterns/index.html +2 -2
  114. package/site/concepts/mental-model/index.html +146 -0
  115. package/site/concepts/mental-model/index.html.meta +7 -0
  116. package/site/concepts/mental-model.meta +8 -0
  117. package/site/concepts/message-types/index.html +2 -2
  118. package/site/concepts/targeting-and-context/index.html +2 -2
  119. package/site/concepts.meta +1 -1
  120. package/site/examples/end-to-end/index.html +2 -2
  121. package/site/examples/end-to-end-scene-transitions/index.html +2 -2
  122. package/site/examples.meta +1 -1
  123. package/site/getting-started/getting-started/index.html +3 -3
  124. package/site/getting-started/index.html +4 -4
  125. package/site/getting-started/install/index.html +3 -3
  126. package/site/getting-started/overview/index.html +2 -2
  127. package/site/getting-started/quick-start/index.html +2 -2
  128. package/site/getting-started/visual-guide/index.html +11 -11
  129. package/site/getting-started.meta +1 -1
  130. package/site/guides/advanced/index.html +2 -2
  131. package/site/guides/diagnostics/index.html +2 -2
  132. package/site/guides/migration-guide/index.html +2 -2
  133. package/site/guides/patterns/index.html +2 -2
  134. package/site/guides/testing/index.html +2 -2
  135. package/site/guides/unity-integration/index.html +2 -2
  136. package/site/guides.meta +1 -1
  137. package/site/hooks.py.meta +1 -1
  138. package/site/images/DxMessaging-banner.svg +119 -0
  139. package/site/images/DxMessaging-banner.svg.meta +7 -0
  140. package/site/images.meta +8 -0
  141. package/site/index.html +2 -2
  142. package/site/integrations/index.html +2 -2
  143. package/site/integrations/reflex/index.html +2 -2
  144. package/site/integrations/vcontainer/index.html +2 -2
  145. package/site/integrations/zenject/index.html +2 -2
  146. package/site/integrations.meta +1 -1
  147. package/site/javascripts/csharp-highlight.js.meta +7 -7
  148. package/site/javascripts/mermaid-config.js +4 -1
  149. package/site/javascripts/mermaid-config.js.meta +1 -1
  150. package/site/javascripts.meta +1 -1
  151. package/site/reference/compatibility/index.html +1 -1
  152. package/site/reference/faq/index.html +1 -1
  153. package/site/reference/glossary/index.html +2 -2
  154. package/site/reference/helpers/index.html +15 -15
  155. package/site/reference/quick-reference/index.html +3 -3
  156. package/site/reference/reference/index.html +37 -37
  157. package/site/reference/troubleshooting/index.html +1 -1
  158. package/site/reference.meta +1 -1
  159. package/site/search/search_index.json +1 -1
  160. package/site/sitemap.xml +46 -38
  161. package/site/sitemap.xml.gz +0 -0
  162. package/site/stylesheets/extra.css.meta +1 -1
  163. package/site/stylesheets.meta +1 -1
@@ -50,117 +50,113 @@ MessageRegistrationHandle RegisterUntargetedPostProcessor<T>(
50
50
 
51
51
  Register handlers for messages directed at specific GameObjects, Components, or InstanceIds.
52
52
 
53
- <!-- markdownlint-disable MD046 -->
54
-
55
- === "Specific Target"
56
-
57
- ```csharp
58
- // GameObject target
59
- MessageRegistrationHandle RegisterGameObjectTargeted<T>(
60
- GameObject target,
61
- Action<T> handler,
62
- int priority = 0
63
- )
64
-
65
- // Component target
66
- MessageRegistrationHandle RegisterComponentTargeted<T>(
67
- Component target,
68
- Action<T> handler,
69
- int priority = 0
70
- )
71
-
72
- // InstanceId target (low-level)
73
- MessageRegistrationHandle RegisterTargeted<T>(
74
- InstanceId target,
75
- Action<T> handler,
76
- int priority = 0
77
- )
78
- ```
79
-
80
- === "All Targets"
81
-
82
- ```csharp
83
- // Receive all targeted messages regardless of target
84
- MessageRegistrationHandle RegisterTargetedWithoutTargeting<T>(
85
- FastHandlerWithContext<T> handler,
86
- int priority = 0
87
- )
88
- ```
89
-
90
- === "Post-Processors"
91
-
92
- ```csharp
93
- // Post-process for specific target
94
- MessageRegistrationHandle RegisterTargetedPostProcessor<T>(
95
- InstanceId target,
96
- FastHandler<T> handler,
97
- int priority = 0
98
- )
99
-
100
- // Post-process all targeted messages
101
- MessageRegistrationHandle RegisterTargetedWithoutTargetingPostProcessor<T>(
102
- FastHandlerWithContext<T> handler,
103
- int priority = 0
104
- )
105
- ```
53
+ #### Specific Target
54
+
55
+ ```csharp
56
+ // GameObject target
57
+ MessageRegistrationHandle RegisterGameObjectTargeted<T>(
58
+ GameObject target,
59
+ Action<T> handler,
60
+ int priority = 0
61
+ )
62
+
63
+ // Component target
64
+ MessageRegistrationHandle RegisterComponentTargeted<T>(
65
+ Component target,
66
+ Action<T> handler,
67
+ int priority = 0
68
+ )
69
+
70
+ // InstanceId target (low-level)
71
+ MessageRegistrationHandle RegisterTargeted<T>(
72
+ InstanceId target,
73
+ Action<T> handler,
74
+ int priority = 0
75
+ )
76
+ ```
77
+
78
+ #### All Targets
79
+
80
+ ```csharp
81
+ // Receive all targeted messages regardless of target
82
+ MessageRegistrationHandle RegisterTargetedWithoutTargeting<T>(
83
+ FastHandlerWithContext<T> handler,
84
+ int priority = 0
85
+ )
86
+ ```
87
+
88
+ #### Post-Processors
89
+
90
+ ```csharp
91
+ // Post-process for specific target
92
+ MessageRegistrationHandle RegisterTargetedPostProcessor<T>(
93
+ InstanceId target,
94
+ FastHandler<T> handler,
95
+ int priority = 0
96
+ )
97
+
98
+ // Post-process all targeted messages
99
+ MessageRegistrationHandle RegisterTargetedWithoutTargetingPostProcessor<T>(
100
+ FastHandlerWithContext<T> handler,
101
+ int priority = 0
102
+ )
103
+ ```
106
104
 
107
105
  ### Broadcast Message Registration
108
106
 
109
107
  Register handlers for messages broadcast from specific sources.
110
108
 
111
- === "Specific Source"
112
-
113
- ```csharp
114
- // From specific GameObject
115
- MessageRegistrationHandle RegisterGameObjectBroadcast<T>(
116
- GameObject source,
117
- Action<T> handler,
118
- int priority = 0
119
- )
120
-
121
- // From specific Component
122
- MessageRegistrationHandle RegisterComponentBroadcast<T>(
123
- Component source,
124
- Action<T> handler,
125
- int priority = 0
126
- )
127
-
128
- // From specific InstanceId
129
- MessageRegistrationHandle RegisterBroadcast<T>(
130
- InstanceId source,
131
- Action<T> handler,
132
- int priority = 0
133
- )
134
- ```
135
-
136
- === "All Sources"
137
-
138
- ```csharp
139
- // Receive broadcasts from any source
140
- MessageRegistrationHandle RegisterBroadcastWithoutSource<T>(
141
- FastHandlerWithContext<T> handler,
142
- int priority = 0
143
- )
144
- ```
145
-
146
- === "Post-Processors"
147
-
148
- ```csharp
149
- // Post-process for specific source
150
- MessageRegistrationHandle RegisterBroadcastPostProcessor<T>(
151
- InstanceId source,
152
- FastHandler<T> handler,
153
- int priority = 0
154
- )
155
-
156
- // Post-process all broadcasts
157
- MessageRegistrationHandle RegisterBroadcastWithoutSourcePostProcessor<T>(
158
- FastHandlerWithContext<T> handler,
159
- int priority = 0
160
- )
161
- ```
162
-
163
- <!-- markdownlint-enable MD046 -->
109
+ #### Specific Source
110
+
111
+ ```csharp
112
+ // From specific GameObject
113
+ MessageRegistrationHandle RegisterGameObjectBroadcast<T>(
114
+ GameObject source,
115
+ Action<T> handler,
116
+ int priority = 0
117
+ )
118
+
119
+ // From specific Component
120
+ MessageRegistrationHandle RegisterComponentBroadcast<T>(
121
+ Component source,
122
+ Action<T> handler,
123
+ int priority = 0
124
+ )
125
+
126
+ // From specific InstanceId
127
+ MessageRegistrationHandle RegisterBroadcast<T>(
128
+ InstanceId source,
129
+ Action<T> handler,
130
+ int priority = 0
131
+ )
132
+ ```
133
+
134
+ #### All Sources
135
+
136
+ ```csharp
137
+ // Receive broadcasts from any source
138
+ MessageRegistrationHandle RegisterBroadcastWithoutSource<T>(
139
+ FastHandlerWithContext<T> handler,
140
+ int priority = 0
141
+ )
142
+ ```
143
+
144
+ #### Post-Processors
145
+
146
+ ```csharp
147
+ // Post-process for specific source
148
+ MessageRegistrationHandle RegisterBroadcastPostProcessor<T>(
149
+ InstanceId source,
150
+ FastHandler<T> handler,
151
+ int priority = 0
152
+ )
153
+
154
+ // Post-process all broadcasts
155
+ MessageRegistrationHandle RegisterBroadcastWithoutSourcePostProcessor<T>(
156
+ FastHandlerWithContext<T> handler,
157
+ int priority = 0
158
+ )
159
+ ```
164
160
 
165
161
  ---
166
162
 
@@ -286,8 +282,9 @@ string logOutput = bus.Log.ToString();
286
282
  | `DxMessaging.Core.MessageBus.MessageBus` | Instanced bus; global instance at `MessageHandler.MessageBus` |
287
283
  | `DxMessaging.Core.Messages.*` | Untargeted/Targeted/Broadcast interfaces and built-in string messages |
288
284
 
289
- !!! tip "String Messages"
290
- For lightweight string-based messaging, see [String Messages](../advanced/string-messages.md).
285
+ > 💡 **Tip: String Messages**
286
+ >
287
+ > For lightweight string-based messaging, see [String Messages](../advanced/string-messages.md).
291
288
 
292
289
  ---
293
290
 
@@ -332,28 +329,25 @@ public abstract class MessageAwareComponent : MessagingComponent
332
329
  }
333
330
  ```
334
331
 
335
- <!-- markdownlint-disable MD046 -->
336
-
337
- !!! warning "Inheritance Tip"
338
- If you override any lifecycle hooks (`Awake`, `OnDestroy`, `OnEnable`, `OnDisable`) or `RegisterMessageHandlers`, always call the base method:
339
-
340
- ```csharp
341
- protected override void RegisterMessageHandlers()
342
- {
343
- base.RegisterMessageHandlers();
344
- // Your registrations here
345
- }
346
-
347
- protected override void OnEnable()
348
- {
349
- base.OnEnable();
350
- // Your logic here
351
- }
352
- ```
353
-
354
- Skipping base calls may prevent token setup and default string-message registrations.
355
-
356
- <!-- markdownlint-enable MD046 -->
332
+ > ⚠️ **Warning: Inheritance Tip**
333
+ >
334
+ > If you override any lifecycle hooks (`Awake`, `OnDestroy`, `OnEnable`, `OnDisable`) or `RegisterMessageHandlers`, always call the base method:
335
+ >
336
+ > ```csharp
337
+ > protected override void RegisterMessageHandlers()
338
+ > {
339
+ > base.RegisterMessageHandlers();
340
+ > // Your registrations here
341
+ > }
342
+ >
343
+ > protected override void OnEnable()
344
+ > {
345
+ > base.OnEnable();
346
+ > // Your logic here
347
+ > }
348
+ > ```
349
+ >
350
+ > Skipping base calls may prevent token setup and default string-message registrations.
357
351
 
358
352
  ---
359
353
 
package/mkdocs.yml CHANGED
@@ -159,6 +159,8 @@ nav:
159
159
  - Getting Started Guide: getting-started/getting-started.md
160
160
  - Visual Guide: getting-started/visual-guide.md
161
161
  - Concepts:
162
+ - concepts/index.md
163
+ - Mental Model: concepts/mental-model.md
162
164
  - Message Types: concepts/message-types.md
163
165
  - Listening Patterns: concepts/listening-patterns.md
164
166
  - Targeting & Context: concepts/targeting-and-context.md
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "com.wallstop-studios.dxmessaging",
3
- "version": "2.1.5",
3
+ "version": "2.1.7",
4
4
  "displayName": "DxMessaging",
5
5
  "description": "Synchronous Event Bus for Unity",
6
6
  "unity": "2021.3",
@@ -28,7 +28,7 @@
28
28
  "url": "https://github.com/wallstop/DxMessaging/issues"
29
29
  },
30
30
  "author": "wallstop studios <wallstop@wallstopstudios.com> (https://wallstopstudios.com)",
31
- "homepage": "https://github.com/wallstop/DxMessaging#readme",
31
+ "homepage": "https://wallstop.github.io/DxMessaging/",
32
32
  "main": "README.md",
33
33
  "scripts": {
34
34
  "test": "jest",
@@ -58,6 +58,11 @@
58
58
  "displayName": "UI Buttons + Inspector",
59
59
  "description": "UI-driven message emissions and a global observer demonstrating inspector diagnostics and RegisterGlobalAcceptAll.",
60
60
  "path": "Samples~/UI Buttons + Inspector"
61
+ },
62
+ {
63
+ "displayName": "Dependency Injection",
64
+ "description": "Integration samples for Zenject, VContainer, and Reflex showing IMessageRegistrationBuilder usage with container lifecycles.",
65
+ "path": "Samples~/DI"
61
66
  }
62
67
  ]
63
68
  }