com.wallstop-studios.dxmessaging 3.0.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/CHANGELOG.md +211 -2
  2. package/Editor/Analyzers/DxMessagingConsoleHarvester.cs +69 -62
  3. package/Editor/Analyzers/Microsoft.CodeAnalysis.CSharp.dll.meta +3 -3
  4. package/Editor/Analyzers/Microsoft.CodeAnalysis.dll.meta +3 -3
  5. package/Editor/Analyzers/System.Collections.Immutable.dll.meta +3 -3
  6. package/Editor/Analyzers/System.Reflection.Metadata.dll.meta +3 -3
  7. package/Editor/Analyzers/System.Runtime.CompilerServices.Unsafe.dll.meta +3 -3
  8. package/Editor/Analyzers/WallstopStudios.DxMessaging.Analyzer.dll +0 -0
  9. package/Editor/Analyzers/WallstopStudios.DxMessaging.Analyzer.dll.meta +15 -2
  10. package/Editor/Analyzers/WallstopStudios.DxMessaging.SourceGenerators.dll +0 -0
  11. package/Editor/Analyzers/WallstopStudios.DxMessaging.SourceGenerators.dll.meta +2 -2
  12. package/Editor/AssemblyInfo.cs.meta +9 -1
  13. package/Editor/CustomEditors/MessageAwareComponentInspectorOverlay.cs +24 -15
  14. package/Editor/CustomEditors/MessagingComponentEditor.cs.meta +9 -1
  15. package/Editor/DxMessagingEditorIdle.cs +62 -0
  16. package/{Runtime/Core/Internal/TypedDispatchLinkIndex.cs.meta → Editor/DxMessagingEditorIdle.cs.meta} +1 -1
  17. package/Editor/DxMessagingEditorInitializer.cs +112 -15
  18. package/Editor/DxMessagingEditorInitializer.cs.meta +9 -1
  19. package/Editor/DxMessagingEditorLog.cs +32 -0
  20. package/Editor/DxMessagingEditorLog.cs.meta +11 -0
  21. package/Editor/Settings/DxMessagingBaseCallIgnoreSync.cs +135 -12
  22. package/Editor/Settings/DxMessagingSettings.cs +92 -31
  23. package/Editor/Settings/DxMessagingSettings.cs.meta +9 -1
  24. package/Editor/Settings/DxMessagingSettingsProvider.cs.meta +9 -1
  25. package/Editor/SetupCscRsp.cs +339 -173
  26. package/Editor/SetupCscRsp.cs.meta +9 -1
  27. package/Editor/Testing/MessagingComponentEditorHarness.cs +1 -1
  28. package/Editor/Testing/MessagingComponentEditorHarness.cs.meta +9 -1
  29. package/README.md +17 -18
  30. package/Runtime/AssemblyInfo.cs.meta +9 -1
  31. package/Runtime/Core/Attributes/DxAutoConstructorAttribute.cs.meta +9 -1
  32. package/Runtime/Core/Attributes/DxBroadcastMessageAttribute.cs.meta +9 -1
  33. package/Runtime/Core/Attributes/DxOptionalParameterAttribute.cs +2 -4
  34. package/Runtime/Core/Attributes/DxOptionalParameterAttribute.cs.meta +9 -1
  35. package/Runtime/Core/Attributes/DxTargetedMessageAttribute.cs.meta +9 -1
  36. package/Runtime/Core/Attributes/DxUntargetedMessageAttribute.cs.meta +9 -1
  37. package/Runtime/Core/Attributes/Il2CppSetOptionAttribute.cs +56 -0
  38. package/Runtime/Core/Attributes/Il2CppSetOptionAttribute.cs.meta +11 -0
  39. package/Runtime/Core/DataStructure/CyclicBuffer.cs +44 -26
  40. package/Runtime/Core/DataStructure/CyclicBuffer.cs.meta +9 -1
  41. package/Runtime/Core/Diagnostics/MessageEmissionData.cs.meta +9 -1
  42. package/Runtime/Core/Diagnostics/MessageRegistrationData.cs.meta +9 -1
  43. package/Runtime/Core/Diagnostics/MessageRegistrationType.cs.meta +9 -1
  44. package/Runtime/Core/Extensions/EnumExtensions.cs +6 -5
  45. package/Runtime/Core/Extensions/EnumExtensions.cs.meta +9 -1
  46. package/Runtime/Core/Extensions/IListExtensions.cs.meta +9 -1
  47. package/Runtime/Core/Extensions/MessageExtensions.cs +0 -60
  48. package/Runtime/Core/Helper/MessageCache.cs.meta +9 -1
  49. package/Runtime/Core/Helper/MessageHelperIndexer.cs.meta +9 -1
  50. package/Runtime/Core/InstanceId.cs +25 -1
  51. package/Runtime/Core/Internal/DxUnsafe.cs +60 -0
  52. package/Runtime/Core/Internal/DxUnsafe.cs.meta +11 -0
  53. package/Runtime/Core/Internal/FlatDispatch.cs +198 -0
  54. package/Runtime/Core/Internal/FlatDispatch.cs.meta +11 -0
  55. package/Runtime/Core/Internal/TypedSlots.cs +5 -21
  56. package/Runtime/Core/MessageBus/IMessageBus.cs +12 -12
  57. package/Runtime/Core/MessageBus/IMessageRegistrationBuilder.cs +1 -0
  58. package/Runtime/Core/MessageBus/Internal/BusSlots.cs +7 -6
  59. package/Runtime/Core/MessageBus/MessageBus.cs +2313 -2936
  60. package/Runtime/Core/MessageBus/MessageRegistrationBuilder.cs +187 -14
  61. package/Runtime/Core/MessageHandler.cs +1023 -1143
  62. package/Runtime/Core/MessageRegistrationToken.cs +425 -47
  63. package/Runtime/Core/Messages/GlobalStringMessage.cs.meta +9 -1
  64. package/Runtime/Core/Messages/ReflexiveMessage.cs.meta +9 -1
  65. package/Runtime/Core/Messages/StringMessage.cs.meta +9 -1
  66. package/Runtime/Unity/Integrations/Reflex/AssemblyInfo.cs.meta +9 -1
  67. package/Runtime/Unity/Integrations/VContainer/AssemblyInfo.cs.meta +9 -1
  68. package/Runtime/Unity/Integrations/Zenject/AssemblyInfo.cs.meta +9 -1
  69. package/Runtime/Unity/MessageAwareComponent.cs +46 -1
  70. package/Runtime/Unity/MessagingComponent.cs +43 -10
  71. package/Runtime/WallstopStudios.DxMessaging.asmdef +1 -1
  72. package/Samples~/DI/README.md +7 -7
  73. package/SourceGenerators/Directory.Build.props +50 -3
  74. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxAutoConstructorGenerator.cs +96 -63
  75. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxMessageIdGenerator.cs +745 -87
  76. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/DxMessageIdGenerator.cs.meta +9 -1
  77. package/SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators.csproj +39 -46
  78. package/SourceGenerators/global.json +7 -0
  79. package/SourceGenerators/global.json.meta +7 -0
  80. package/package.json +27 -40
  81. package/Runtime/Core/Internal/TypedDispatchLinkIndex.cs +0 -51
@@ -1,3 +1,11 @@
1
1
  fileFormatVersion: 2
2
2
  guid: 8525b467bd2c430a90ccee97f321a845
3
- timeCreated: 1744403125
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,79 +1,72 @@
1
1
  <Project Sdk="Microsoft.NET.Sdk">
2
2
  <PropertyGroup>
3
3
  <TargetFramework>netstandard2.0</TargetFramework>
4
- <LangVersion>latest</LangVersion>
5
- <MicrosoftCodeAnalysisVersion>4.2.0</MicrosoftCodeAnalysisVersion>
6
- <SystemCollectionsImmutableVersion>5.0.0</SystemCollectionsImmutableVersion>
7
- <SystemReflectionMetadataVersion>9.0.0</SystemReflectionMetadataVersion>
8
- <SystemRuntimeCompilerServicesUnsafeVersion>6.0.0</SystemRuntimeCompilerServicesUnsafeVersion>
9
- <SystemTextEncodingsWebVersion>6.0.0</SystemTextEncodingsWebVersion>
4
+ <!-- DO NOT bump this without verifying Unity 2021 still loads the source
5
+ generators. Unity 2021's analyzer/source-generator loader runs on
6
+ Roslyn 3.8.x and fails to instantiate generators compiled against
7
+ Roslyn 4.x. No automated test pins this anymore; verify in Unity
8
+ before changing it. -->
9
+ <MicrosoftCodeAnalysisVersion>3.8.0</MicrosoftCodeAnalysisVersion>
10
+ <AssemblyInformationalVersion>$(Version)</AssemblyInformationalVersion>
10
11
  </PropertyGroup>
11
12
  <ItemGroup>
12
13
  <PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.3">
13
14
  <PrivateAssets>all</PrivateAssets>
14
15
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
15
16
  </PackageReference>
16
- <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.2.0">
17
+ <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="3.8.0">
17
18
  <PrivateAssets>all</PrivateAssets>
18
19
  </PackageReference>
19
20
  <PackageReference Include="System.Collections.Immutable" Version="5.0.0">
20
21
  <PrivateAssets>all</PrivateAssets>
21
22
  </PackageReference>
22
23
  </ItemGroup>
23
- <!-- Post-build copy of analyzer DLL/PDB into package Editor/Analyzers and, when building inside a Unity project Packages/, into Assets/Editor/Wallstop Studios -->
24
- <Target Name="PostBuildCopyAnalyzers" AfterTargets="Build">
24
+ <!-- Post-build copy of the source-generator DLL into the analyzer payload
25
+ directory selected by AnalyzerPayloadOutputDir.
26
+
27
+ This target copies ONLY the freshly-built source-generator DLL.
28
+ The Roslyn runtime deps that this package ships alongside it
29
+ (Microsoft.CodeAnalysis[.CSharp], System.Collections.Immutable,
30
+ System.Reflection.Metadata, System.Runtime.CompilerServices.Unsafe)
31
+ are committed in Editor/Analyzers/ as fixed bytes and are NOT
32
+ re-copied by this build: a normal (non-clean) rebuild therefore
33
+ leaves those committed dep DLLs untouched. Do NOT wipe
34
+ Editor/Analyzers/ wholesale; the committed dep bytes are the proven,
35
+ Unity-validated set and are not reproduced by this 3.8.0-pinned build
36
+ (the committed deps were built against Roslyn 4.2.0).
37
+
38
+ AnalyzerPayloadOutputDir defaults to Editor/Analyzers for local refresh
39
+ builds. CI freshness checks pass a temp directory so builds do not dirty
40
+ the worktree. CopyAnalyzerPayload=false disables this target for tests
41
+ that reference this project but do not validate the shipped payload.
42
+
43
+ The shipped Editor/Analyzers/*.dll.meta files for the two analyzer
44
+ assemblies carry the analyzer configuration directly, and SetupCscRsp
45
+ copies the analyzer DLLs into Assets/Plugins/Editor/ so the source
46
+ generator applies project-wide. -->
47
+ <Target
48
+ Name="PostBuildCopyAnalyzers"
49
+ AfterTargets="Build"
50
+ Condition="'$(CopyAnalyzerPayload)' == 'true'"
51
+ >
25
52
  <!-- Compute paths relative to this project directory -->
26
53
  <PropertyGroup>
27
54
  <!-- Repo/package root: two levels up from this project directory -->
28
55
  <PackageRootDir>$([System.IO.Path]::GetFullPath('$(MSBuildProjectDirectory)/../../'))</PackageRootDir>
29
- <EditorAnalyzersDir>$([System.IO.Path]::Combine('$(PackageRootDir)', 'Editor', 'Analyzers'))</EditorAnalyzersDir>
30
- <!-- Unity project root candidate when this package is inside Unity's Packages folder (4 levels up) -->
31
- <UnityRootCandidate1>$([System.IO.Path]::GetFullPath('$(MSBuildProjectDirectory)/../../../../'))</UnityRootCandidate1>
32
- <UnityAssetsDir>$([System.IO.Path]::Combine('$(UnityRootCandidate1)', 'Assets'))</UnityAssetsDir>
33
- <UnityAssetsEditorDir>$([System.IO.Path]::Combine('$(UnityAssetsDir)', 'Editor'))</UnityAssetsEditorDir>
34
- <UnityAssetsEditorWallstopStudiosDir>$([System.IO.Path]::Combine('$(UnityAssetsEditorDir)', 'Wallstop Studios'))</UnityAssetsEditorWallstopStudiosDir>
35
- <UnityAssetsPluginsEditorWallstopDir>$([System.IO.Path]::Combine('$(UnityAssetsDir)', 'Plugins', 'Editor', 'WallstopStudios.DxMessaging'))</UnityAssetsPluginsEditorWallstopDir>
36
56
  <AnalyzerDll>$(TargetPath)</AnalyzerDll>
37
57
  </PropertyGroup>
38
58
  <ItemGroup>
39
59
  <AnalyzerOutput Include="$(AnalyzerDll)" />
40
- <AnalyzerDependency Include="$(NuGetPackageRoot)microsoft.codeanalysis.common\$(MicrosoftCodeAnalysisVersion)\lib\netstandard2.0\Microsoft.CodeAnalysis.dll" />
41
- <AnalyzerDependency Include="$(NuGetPackageRoot)microsoft.codeanalysis.csharp\$(MicrosoftCodeAnalysisVersion)\lib\netstandard2.0\Microsoft.CodeAnalysis.CSharp.dll" />
42
- <AnalyzerDependency Include="$(NuGetPackageRoot)system.collections.immutable\$(SystemCollectionsImmutableVersion)\lib\netstandard2.0\System.Collections.Immutable.dll" />
43
- <AnalyzerDependency
44
- Include="$(NuGetPackageRoot)system.reflection.metadata\$(SystemReflectionMetadataVersion)\lib\net6.0\System.Reflection.Metadata.dll"
45
- Condition="Exists('$(NuGetPackageRoot)system.reflection.metadata\$(SystemReflectionMetadataVersion)\lib\net6.0\System.Reflection.Metadata.dll')"
46
- />
47
- <AnalyzerDependency
48
- Include="$(NuGetPackageRoot)system.reflection.metadata\$(SystemReflectionMetadataVersion)\lib\netstandard2.0\System.Reflection.Metadata.dll"
49
- Condition="Exists('$(NuGetPackageRoot)system.reflection.metadata\$(SystemReflectionMetadataVersion)\lib\netstandard2.0\System.Reflection.Metadata.dll')"
50
- />
51
- <AnalyzerDependency Include="$(NuGetPackageRoot)system.runtime.compilerservices.unsafe\$(SystemRuntimeCompilerServicesUnsafeVersion)\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll" />
52
60
  <AllAnalyzerFiles Include="@(AnalyzerOutput)" />
53
- <AllAnalyzerFiles
54
- Include="@(AnalyzerDependency)"
55
- Condition="Exists('%(AnalyzerDependency.Identity)')"
56
- />
57
61
  </ItemGroup>
58
- <!-- Copy into package Editor/Analyzers (used by SetupCscRsp and package consumers) -->
59
- <MakeDir Directories="$(EditorAnalyzersDir)" Condition="!Exists('$(EditorAnalyzersDir)')" />
60
- <Copy
61
- SourceFiles="@(AllAnalyzerFiles)"
62
- DestinationFolder="$(EditorAnalyzersDir)"
63
- SkipUnchangedFiles="true"
64
- />
65
- <!-- If building from inside a Unity project (Assets exists), also copy into Assets/Editor/Wallstop Studios -->
66
- <!-- Preferred legacy Plugins path used by SetupCscRsp -->
67
62
  <MakeDir
68
- Directories="$(UnityAssetsPluginsEditorWallstopDir)"
69
- Condition="Exists('$(UnityAssetsDir)') AND !Exists('$(UnityAssetsPluginsEditorWallstopDir)')"
63
+ Directories="$(AnalyzerPayloadOutputDir)"
64
+ Condition="!Exists('$(AnalyzerPayloadOutputDir)')"
70
65
  />
71
66
  <Copy
72
67
  SourceFiles="@(AllAnalyzerFiles)"
73
- DestinationFolder="$(UnityAssetsPluginsEditorWallstopDir)"
68
+ DestinationFolder="$(AnalyzerPayloadOutputDir)"
74
69
  SkipUnchangedFiles="true"
75
- Condition="Exists('$(UnityAssetsPluginsEditorWallstopDir)')"
76
70
  />
77
- <!-- Removed copy to Assets/Editor/Wallstop Studios as requested -->
78
71
  </Target>
79
72
  </Project>
@@ -0,0 +1,7 @@
1
+ {
2
+ "sdk": {
3
+ "version": "9.0.314",
4
+ "rollForward": "disable",
5
+ "allowPrerelease": false
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: e1b04a4e87df47fbb3cba7a0f6d2f921
3
+ DefaultImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "com.wallstop-studios.dxmessaging",
3
- "version": "3.0.1",
3
+ "version": "3.1.0",
4
4
  "displayName": "DxMessaging",
5
5
  "description": "Synchronous Event Bus for Unity",
6
6
  "unity": "2021.3",
7
- "documentationUrl": "https://wallstop.github.io/DxMessaging/",
8
- "changelogUrl": "https://raw.githubusercontent.com/wallstop/DxMessaging/master/CHANGELOG.md",
9
- "licensesUrl": "https://github.com/wallstop/DxMessaging/blob/master/LICENSE.md",
7
+ "documentationUrl": "https://ambiguous-interactive.github.io/DxMessaging/",
8
+ "changelogUrl": "https://raw.githubusercontent.com/Ambiguous-Interactive/DxMessaging/master/CHANGELOG.md",
9
+ "licensesUrl": "https://github.com/Ambiguous-Interactive/DxMessaging/blob/master/LICENSE.md",
10
10
  "keywords": [
11
11
  "messaging",
12
12
  "message",
@@ -22,13 +22,13 @@
22
22
  "license": "MIT",
23
23
  "repository": {
24
24
  "type": "git",
25
- "url": "git+https://github.com/wallstop/DxMessaging.git"
25
+ "url": "git+https://github.com/Ambiguous-Interactive/DxMessaging.git"
26
26
  },
27
27
  "bugs": {
28
- "url": "https://github.com/wallstop/DxMessaging/issues"
28
+ "url": "https://github.com/Ambiguous-Interactive/DxMessaging/issues"
29
29
  },
30
30
  "author": "wallstop studios <wallstop@wallstopstudios.com> (https://wallstopstudios.com)",
31
- "homepage": "https://wallstop.github.io/DxMessaging/",
31
+ "homepage": "https://ambiguous-interactive.github.io/DxMessaging/",
32
32
  "main": "README.md",
33
33
  "files": [
34
34
  "Editor/**",
@@ -36,6 +36,8 @@
36
36
  "Samples~/**",
37
37
  "SourceGenerators/Directory.Build.props",
38
38
  "SourceGenerators/Directory.Build.props.meta",
39
+ "SourceGenerators/global.json",
40
+ "SourceGenerators/global.json.meta",
39
41
  "SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/*.cs",
40
42
  "SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/*.cs.meta",
41
43
  "SourceGenerators/WallstopStudios.DxMessaging.SourceGenerators/*.csproj",
@@ -55,45 +57,30 @@
55
57
  "SourceGenerators.meta"
56
58
  ],
57
59
  "scripts": {
58
- "test": "node scripts/run-managed-jest.js",
59
- "test:scripts": "node scripts/run-managed-jest.js",
60
- "test:llms-txt": "node scripts/run-managed-jest.js --runTestsByPath scripts/__tests__/update-llms-txt.test.js",
61
- "test:unity-contracts": "node scripts/run-managed-jest.js --runTestsByPath scripts/__tests__/unity-test-harness-contract.test.js scripts/__tests__/unity-runner-script-contract.test.js scripts/__tests__/unity-perf-baseline-script-contract.test.js scripts/__tests__/devcontainer-cache-contract.test.js scripts/__tests__/unity-workflow-shape.test.js scripts/__tests__/unity-perf-isolation.test.js scripts/__tests__/claude-permissions-contract.test.js scripts/__tests__/llm-skills-unity-coverage.test.js",
62
- "test:watch": "node scripts/run-managed-jest.js --watch",
63
- "test:coverage": "node scripts/run-managed-jest.js --coverage",
64
- "format:md": "node scripts/run-managed-prettier.js --write \"**/*.{md,markdown}\"",
65
- "format:md:check": "node scripts/run-managed-prettier.js --check \"**/*.{md,markdown}\"",
66
- "format:json": "node scripts/run-managed-prettier.js --write \"**/*.{json,asmdef,asmref}\"",
67
- "format:json:check": "node scripts/run-managed-prettier.js --check \"**/*.{json,asmdef,asmref}\"",
68
- "format:yaml": "node scripts/run-managed-prettier.js --write \"**/*.{yml,yaml}\"",
69
- "format:yaml:check": "node scripts/run-managed-prettier.js --check \"**/*.{yml,yaml}\"",
70
- "check:package-json-format": "node scripts/run-managed-prettier.js --check package.json",
71
- "check:prettier:hooks": "node scripts/run-managed-prettier.js --check \"**/*.{md,markdown,json,asmdef,asmref,yml,yaml}\"",
72
- "check:cspell:scripts": "npx --yes cspell@10.0.0 --no-progress --no-summary \"scripts/**/*.js\"",
73
- "check:yaml": "npm run format:yaml:check && pre-commit run yamllint --all-files",
60
+ "test": "node --test scripts/",
61
+ "format": "prettier --write \"**/*.{md,markdown,json,asmdef,asmref,yml,yaml}\"",
62
+ "format:check": "prettier --check \"**/*.{md,markdown,json,asmdef,asmref,yml,yaml}\"",
74
63
  "lint:markdown": "markdownlint-cli2 \"**/*.md\" \"**/*.markdown\"",
64
+ "check:spelling": "cspell --no-progress --no-summary \"**/*.{md,markdown,cs,json,yml,yaml,ps1,js}\"",
65
+ "sync:banner": "node scripts/sync-banner-version.js",
75
66
  "update:llms-txt": "node scripts/update-llms-txt.js",
76
67
  "check:llms-txt": "node scripts/update-llms-txt.js --check",
77
- "validate:all": "npm run validate:node-tooling && npm run validate:pre-commit-tooling && npm run validate:npm-meta && npm run validate:changelog:coverage && npm run validate:runtime-settings-docs && npm run validate:no-plan-vocabulary && npm run validate:untracked-policy",
78
- "validate:changelog": "node scripts/validate-changelog.js",
79
- "validate:changelog:coverage": "node scripts/validate-changelog.js --check-coverage",
80
- "validate:hook-markdown": "pre-commit run --hook-stage pre-commit run-staged-md-pipeline --files README.md",
81
- "validate:llms-txt": "npm run test:llms-txt && npm run check:llms-txt",
82
- "validate:no-plan-vocabulary": "node scripts/validate-no-plan-vocabulary.js",
83
- "validate:node-tooling": "node scripts/validate-node-tooling.js",
84
- "validate:npm-meta": "node scripts/validate-npm-meta.js --check",
85
- "validate:pre-commit-tooling": "node scripts/validate-pre-commit-tooling.js",
86
- "validate:runtime-settings-docs": "node scripts/validate-runtime-settings-docs.js",
87
- "validate:untracked-policy": "node scripts/validate-untracked-policy.js",
88
- "validate:vscode-settings": "node scripts/validate-vscode-settings.js",
89
- "preflight:pre-commit": "npm run validate:node-tooling && npm run validate:hook-markdown && npm run check:package-json-format && npm run check:prettier:hooks && npm run validate:pre-commit-tooling && npm run check:cspell:scripts && npm run check:yaml && node scripts/generate-skills-index.js --check && npm run validate:npm-meta && npm run validate:changelog:coverage && pre-commit run --hook-stage pre-push script-parser-tests --all-files && npm run validate:runtime-settings-docs && npm run validate:no-plan-vocabulary && npm run validate:untracked-policy",
90
- "prepack": "node scripts/validate-npm-meta.js --check"
68
+ "update:skills-index": "node scripts/generate-skills-index.js && prettier --write .llm/skills/index.md",
69
+ "check:skills-index": "node scripts/generate-skills-index.js --check",
70
+ "refresh:analyzers": "node scripts/analyzers/verify-analyzer-payload.js --write",
71
+ "check:analyzers": "node scripts/analyzers/verify-analyzer-payload.js --check",
72
+ "fix:csharp-underscores": "node scripts/fix-csharp-underscore-methods.js",
73
+ "validate:asmdef-references": "node scripts/validate-asmdef-references.js",
74
+ "validate:unity-versions": "node scripts/validate-unity-versions.js",
75
+ "validate:js-loc-budget": "node scripts/validate-js-loc-budget.js",
76
+ "validate:npm-meta": "node scripts/validate-npm-meta.js",
77
+ "validate:docs:strict": "python3 -m venv .artifacts/docs-venv && .artifacts/docs-venv/bin/python -m pip install -r requirements-docs.txt && .artifacts/docs-venv/bin/mkdocs build --strict --site-dir _site",
78
+ "validate:all": "npm run validate:asmdef-references && npm run validate:unity-versions && npm run validate:js-loc-budget && npm run validate:npm-meta && npm run check:analyzers && npm run check:llms-txt && npm run check:skills-index"
91
79
  },
92
80
  "devDependencies": {
93
- "cspell": "10.0.0",
94
- "jest": "^30.3.0",
81
+ "cspell": "10.0.1",
95
82
  "markdownlint-cli2": "0.22.1",
96
- "prettier": "3.8.3"
83
+ "prettier": "3.8.4"
97
84
  },
98
85
  "samples": [
99
86
  {
@@ -1,51 +0,0 @@
1
- namespace DxMessaging.Core.Internal
2
- {
3
- /// <summary>
4
- /// Const-int positions into <c>TypedHandler&lt;T&gt;._dispatchLinks[]</c>.
5
- /// Indices are hand-written so call sites inline as immediate operands.
6
- /// Array length and per-index <c>null</c>-ness are validated in DEBUG
7
- /// builds via <c>TypedHandler&lt;T&gt;.ValidateSlotArrays()</c>.
8
- /// </summary>
9
- /// <remarks>
10
- /// Positions are laid out in lex-(<c>Kind</c>, <c>Phase</c>, <c>Variant</c>) order:
11
- /// Untargeted -&gt; Targeted -&gt; Broadcast within Kind, Handle before
12
- /// PostProcess within Phase, and with-context before WithoutContext
13
- /// within Variant. The xmldoc on each constant names the legacy
14
- /// <c>TypedHandler&lt;T&gt;</c> dispatch-link field whose storage role
15
- /// the slot assumes in typed dispatch storage.
16
- /// </remarks>
17
- internal static class TypedDispatchLinkIndex
18
- {
19
- /// <summary>Legacy field: <c>_untargetedLink</c>.</summary>
20
- public const int UntargetedHandle = 0;
21
-
22
- /// <summary>Legacy field: <c>_untargetedPostLink</c>.</summary>
23
- public const int UntargetedPostProcess = 1;
24
-
25
- /// <summary>Legacy field: <c>_targetedLink</c>.</summary>
26
- public const int TargetedHandle = 2;
27
-
28
- /// <summary>Legacy field: <c>_targetedWithoutTargetingLink</c>.</summary>
29
- public const int TargetedHandleWithoutContext = 3;
30
-
31
- /// <summary>Legacy field: <c>_targetedPostLink</c>.</summary>
32
- public const int TargetedPostProcess = 4;
33
-
34
- /// <summary>Legacy field: <c>_targetedWithoutTargetingPostLink</c>.</summary>
35
- public const int TargetedPostProcessWithoutContext = 5;
36
-
37
- /// <summary>Legacy field: <c>_broadcastLink</c>.</summary>
38
- public const int BroadcastHandle = 6;
39
-
40
- /// <summary>Legacy field: <c>_broadcastWithoutSourceLink</c>.</summary>
41
- public const int BroadcastHandleWithoutContext = 7;
42
-
43
- /// <summary>Legacy field: <c>_broadcastPostLink</c>.</summary>
44
- public const int BroadcastPostProcess = 8;
45
-
46
- /// <summary>Legacy field: <c>_broadcastWithoutSourcePostLink</c>.</summary>
47
- public const int BroadcastPostProcessWithoutContext = 9;
48
-
49
- public const int Length = 10;
50
- }
51
- }