GeWuYou
|
6fa4580893
|
feat(generator): 添加 BindNodeSignal 和 GetNode 源代码生成器
- 实现 BindNodeSignalGenerator 用于生成节点信号绑定与解绑逻辑
- 实现 GetNodeGenerator 用于生成 Godot 节点获取注入逻辑
- 添加 BindNodeSignalDiagnostics 提供详细的诊断错误信息
- 集成到 AnalyzerReleases.Unshipped.md 追踪新的分析规则
- 支持 [BindNodeSignal] 属性的方法自动生成事件绑定代码
- 支持 [GetNode] 属性的字段自动生成节点获取代码
- 提供生命周期方法集成的智能提示和验证功能
|
2026-03-31 11:11:23 +08:00 |
|
GeWuYou
|
2dfd6e044f
|
feat(Godot.SourceGenerators): 添加 BindNodeSignal 源代码生成器
- 实现 BindNodeSignalGenerator 源代码生成器,用于自动化节点信号绑定
- 添加完整的诊断系统,包含 11 种不同的错误和警告场景检测
- 生成对称的绑定和解绑方法,确保资源正确释放
- 支持一个处理方法通过多个特性绑定到多个节点事件
- 实现生命周期钩子调用检查,确保在 _Ready 和 _ExitTree 中正确调用生成的方法
- 提供详细的单元测试覆盖各种使用场景和边界条件
- 生成器与现有的 GetNode 声明完全兼容并可共存
- 包含命名冲突检测和构造参数验证等安全检查机制
|
2026-03-31 10:26:44 +08:00 |
|
GeWuYou
|
9cca190aff
|
docs(generator): 添加源码生成器文档和分析器规则清单
- 新增 AnalyzerReleases.Unshipped.md 文件记录代码分析规则
- 添加 GF_Godot_GetNode 系列规则定义(001-006)
- 添加 GF_Godot_BindNodeSignal 系列规则定义(001-009)
- 创建 README.md 文件详述源码生成器使用方法
- 文档化 GetNode 和 BindNodeSignal 特性用法示例
- 说明 Godot 场景相关的编译期生成能力
|
2026-03-31 10:03:31 +08:00 |
|
GeWuYou
|
5b996d8618
|
feat(generator): 添加 BindNodeSignal 源生成器实现
- 实现 BindNodeSignalGenerator 源生成器,用于自动生成 Godot 节点事件绑定与解绑逻辑
- 添加 BindNodeSignalAttribute 特性,标记需要生成绑定逻辑的事件处理方法
- 实现完整的诊断系统,包括嵌套类型、静态方法、字段类型等错误检查
- 添加生命周期方法调用检查,在 _Ready 和 _ExitTree 中验证生成方法的调用
- 支持方法签名与事件委托的兼容性验证
- 实现单元测试覆盖各种使用场景和错误情况
|
2026-03-31 09:39:06 +08:00 |
|
gewuyou
|
a628ade28e
|
Merge pull request #151 from GeWuYou/feat/generator-skip-static-readonly-fields
feat(generator): 添加对 [GetAll] 特性的静态和只读字段跳过支持
v0.0.211
|
2026-03-30 09:27:34 +08:00 |
|
GeWuYou
|
9590bf1dd9
|
chore(generator): 更新代码生成器依赖引入
- 在 ContextGetGenerator 中添加 System.Text 和 Extensions 引入
- 在测试文件中添加 Microsoft.CodeAnalysis.Text 引入
|
2026-03-30 09:22:59 +08:00 |
|
GeWuYou
|
da34b2fa2a
|
feat(generator): 添加对 const 字段的显式跳过支持
- 在 ContextGetGenerator 中添加对 const 字段的显式检查和跳过逻辑
- 更新文档说明 const、static 和 readonly 字段的处理方式
- 重构测试代码使用 MarkupTestSource 解析器进行更精确的诊断测试
- 添加新的 MarkupTestSource 类用于源码标记解析和诊断定位
|
2026-03-30 09:13:45 +08:00 |
|
GeWuYou
|
2ae16b22eb
|
docs(constants): 更新源代码生成器命名空间注释
- 将GFramework源代码生成器抽象层命名空间注释更正为GFramework源代码生成器根命名空间
|
2026-03-30 08:44:36 +08:00 |
|
GeWuYou
|
2ae783c127
|
feat(generator): 添加对 [GetAll] 特性的静态和只读字段跳过支持
- 添加了新的诊断规则 GF_ContextGet_007 和 GF_ContextGet_08
- 实现了对静态字段和只读字段的跳过逻辑
- 为 [GetAll] 特性添加了跳过字段的警告提示
- 更新了测试用例验证跳过逻辑的正确性
- 修改了代码生成顺序以确保正确的绑定推断
- 在 README 中添加了关于字段跳过的文档说明
|
2026-03-30 08:40:57 +08:00 |
|
gewuyou
|
63cb6b5e17
|
Merge pull request #150 from GeWuYou/feat/array-extensions-2d-helper-methods-
Feat/array extensions 2d helper methods
|
2026-03-30 08:25:50 +08:00 |
|
GeWuYou
|
fa82c33992
|
perf(ArrayExtensions): 优化二维数组扩展方法性能并添加单元测试
- 在 IsInBounds 和 Enumerate 方法中缓存数组维度长度,避免重复读取元数据
- 为 TryGet 方法添加 MaybeNullWhen 特性注解以改善空值检查
- 更新 TryGet 方法文档说明其在失败时返回默认值的行为
- 新增 ArrayExtensionsTests 类,包含 TryGet 和 Enumerate 方法的完整测试用例
- 添加 using System.Diagnostics.CodeAnalysis 引入空值相关特性支持
|
2026-03-30 08:18:07 +08:00 |
|
GeWuYou
|
dfbd6a69c5
|
feat(ArrayExtensions): 添加二维数组扩展方法
- 添加 GetOrDefault 方法用于获取越界时返回默认值的元素
- 添加 GetOr 方法用于获取越界时返回指定回退值的元素
- 添加 TryGet 方法用于尝试获取指定位置的元素
- 添加 GetNeighbors4 方法用于获取四个方向的邻居坐标
- 添加 GetNeighbors8 方法用于获取八个方向的邻居坐标
- 添加 Enumerate 方法用于枚举数组中所有元素及坐标
- 添加 Width 和 Height 方法分别获取数组宽高维度
- 在文件头注释中修复版权年份格式问题
|
2026-03-29 22:54:15 +08:00 |
|
GeWuYou
|
6908c74efc
|
feat(extensions): 添加数组扩展方法支持二维数组边界检查
- 实现 IsInBounds 扩展方法用于检查二维数组坐标边界
- 提供泛型支持以适配不同类型的二维数组
- 包含完整的 XML 文档注释说明方法用途和参数
- 遵循 Apache 2.0 开源协议规范添加版权头文件
|
2026-03-29 22:04:14 +08:00 |
|
gewuyou
|
76a1406346
|
Merge pull request #149 from GeWuYou/docs/generators-priority-context-injection
docs(generators): 添加 Priority 和 Context Get 生成器文档
|
2026-03-29 20:30:09 +08:00 |
|
GeWuYou
|
c9423702a2
|
docs(context-get): 更新上下文注入生成器文档
- 在多个示例中添加 __InjectContextBindings_Generated() 调用
- 重写推荐调用时机与模式章节,强调在生命周期入口统一调用
- 添加 Godot 节点和测试场景的具体使用模式
- 重构诊断信息表格,整合 Priority 和 Context Get 相关诊断
- 更新 FAQ 部分关于构造函数使用的建议
|
2026-03-29 20:23:45 +08:00 |
|
GeWuYou
|
159578ab90
|
feat(docs): 添加泛型安全转义插件并增加源代码生成器文档
- 实现 safeGenericEscapePlugin 插件保护 Markdown 中的泛型语法
- 配置 Vite 构建选项提高代码块大小警告阈值至 1000
- 添加 Priority 生成器和 Context Get 注入文档链接
- 重构配置文件结构将插件函数移至顶部定义
- 确保代码块和 HTML 标签在转义过程中得到正确保护
|
2026-03-29 20:08:20 +08:00 |
|
GeWuYou
|
010ab70b7f
|
docs(generators): 添加 Priority 和 Context Get 生成器文档
- 新增 Priority 生成器文档,介绍自动实现 IPrioritized 接口的功能
- 新增 Context Get 注入生成器文档,说明自动注入架构组件的特性
- 更新索引页面,添加新生成器的导航链接和功能描述
- 补充 EnumGenerator 配置选项说明,列出已实现和未实现的选项
- 添加完整的诊断信息说明,涵盖新生成器的所有错误场景
|
2026-03-29 19:54:26 +08:00 |
|
gewuyou
|
428b932f66
|
Merge pull request #148 from GeWuYou/fix/context-get-generator-service-binding-
Fix/context get generator service binding
v0.0.210
|
2026-03-28 19:54:40 +08:00 |
|
GeWuYou
|
2f4ba63d32
|
chore(generators): 添加全局引用和依赖项
- 在 GFramework.Godot.SourceGenerators.Tests 中添加 Microsoft.CodeAnalysis 相关引用
- 在 GFramework.SourceGenerators 中添加 ImmutableCollections 和 StringBuilder 引用
- 在 GFramework.SourceGenerators 中添加 Common.Extensions 引用
- 在 GFramework.SourceGenerators.Tests 中添加测试框架相关引用
- 统一全局引用的组织结构
|
2026-03-28 19:49:46 +08:00 |
|
GeWuYou
|
535743e824
|
fix(generator): 解决源代码生成器中的换行符兼容性和集合类型候选检测问题
- 在测试中添加换行符标准化功能,确保跨平台测试一致性
- 修复ContextGetGenerator中集合类型候选检测逻辑,跳过无效类型参数
- 添加针对可空服务字段的单元测试用例
- 优化生成器对不同系统换行符的处理机制
|
2026-03-28 19:45:14 +08:00 |
|
GeWuYou
|
4fb1da2da6
|
refactor(GFramework.SourceGenerators): 优化集合类型候选枚举逻辑
- 将嵌套循环重构为使用 SelectMany 扁平化集合类型参数
- 简化了候选元素类型的遍历逻辑
- 提高了代码可读性和性能
- 移除了不必要的 continue 语句
- 保持了原有的类型匹配功能不变
|
2026-03-28 19:40:02 +08:00 |
|
GeWuYou
|
d72d4ab0bd
|
refactor(GFramework.SourceGenerators): 优化ContextGetGenerator中的集合类型遍历逻辑
- 重构了EnumerateCollectionTypeCandidates方法的调用方式
- 使用模式匹配简化了类型参数的提取逻辑
- 移除了不必要的SelectMany操作提高代码可读性
- 添加了空值检查增强代码健壮性
- 在方法末尾添加了必要的换行符保持代码格式一致
|
2026-03-28 19:32:23 +08:00 |
|
GeWuYou
|
d1eafe2c9b
|
fix(generator): 修复ContextGetGenerator中的服务绑定推断逻辑
- 移除了对引用类型的自动服务绑定推断,避免将非上下文服务字段误判为服务依赖
- 更新了GetAll特性的行为描述,明确Service和Services绑定不会自动推断
- 添加了显式GetService特性的测试用例验证正确的绑定行为
- 从测试代码中移除了未使用的GetService扩展方法声明
- 为BattlePanel测试类添加了IStrategy服务集合字段以完善测试覆盖
|
2026-03-28 19:30:24 +08:00 |
|
gewuyou
|
e692c721e9
|
Merge pull request #147 from GeWuYou/feat/context-aware-injection-generator
Feat/context aware injection generator
v0.0.209
|
2026-03-28 13:11:57 +08:00 |
|
GeWuYou
|
6e3954eb3e
|
docs(GFramework.Core): 更新 ContextAwareServiceExtensions 文档注释
- 为 GetSystem 方法添加 InvalidOperationException 异常文档说明
- 为 GetModel 方法添加 InvalidOperationException 异常文档说明
- 为 GetUtility 方法添加 InvalidOperationException 异常文档说明
- 清理文件末尾多余空行
|
2026-03-28 13:06:01 +08:00 |
|
GeWuYou
|
b5ac8b2c34
|
refactor(core): 重构上下文感知服务扩展以改进组件获取逻辑
- 引入通用的 GetRequiredComponent 方法来统一服务、系统、模型和工具的获取逻辑
- 添加对架构上下文组件的空值检查和异常处理
- 实现更清晰的错误消息以指示未注册的组件类型
- 为所有组件类型(服务、系统、模型、工具)添加缺失的单元测试
- 测试验证当上下文返回空组件时抛出正确的 InvalidOperationException
- 改进代码可维护性并减少重复的获取组件逻辑
|
2026-03-28 13:03:56 +08:00 |
|
GeWuYou
|
796408539e
|
refactor(generators): 优化ContextGetGenerator代码结构并改进异常处理
- 修改GetService方法文档,将返回值描述从"返回null"改为"抛出异常"
- 为GetService方法添加InvalidOperationException异常说明
- 删除冗余的IsExternalInit类文件
- 重构属性匹配逻辑,使用预定义集合进行候选属性名称验证
- 添加辅助方法HasCandidateAttribute、TryGetAttributeSimpleName等提升代码可读性
- 改进集合类型推断逻辑,支持接口类型的遍历匹配
- 更新单元测试以验证完全限定名属性和只读列表类型的支持
- 修正诊断错误位置信息的准确性
|
2026-03-28 12:54:17 +08:00 |
|
GeWuYou
|
ee2936e0a2
|
refactor(generator): 重构上下文获取生成器的代码结构
- 将 ContextSymbols 的创建提取为独立方法 CreateContextSymbols
- 将源码生成逻辑提取为独立方法 GenerateSources
- 将绑定收集逻辑提取为独立方法 CollectBindings
- 将显式绑定添加逻辑提取为独立方法 AddExplicitBindings
- 将推断绑定添加逻辑提取为独立方法 AddInferredBindings
- 将绑定推断检查逻辑提取为独立方法 CanInferBinding
- 优化了代码组织结构和可读性
|
2026-03-28 11:47:59 +08:00 |
|
GeWuYou
|
78af119f38
|
feat(generator): 添加上下文感知注入源码生成器
- 移除ContextAwareServiceExtensions中GetService/GetSystem/GetModel/GetUtility方法的可空返回值
- 添加ContextGetGenerator源码生成器,支持通过特性自动生成上下文注入代码
- 新增GetService/GetServices/GetSystem/GetSystems/GetModel/GetModels/GetUtility/GetUtilities/GetAll特性
- 添加ContextGetDiagnostics提供注入相关的编译时诊断检查
- 实现INamedTypeSymbol扩展方法AreAllDeclarationsPartial用于检查partial类声明
- 添加ITypeSymbol扩展方法IsAssignableTo用于类型兼容性判断
- 创建FieldCandidateInfo和TypeCandidateInfo记录类型用于存储生成器候选信息
- 添加IsExternalInit内部类型支持低版本.NET框架的init-only setter功能
- 更新AnalyzerReleases.Unshipped.md添加新的诊断规则条目
- 创建完整的单元测试验证生成器功能和各种边界情况
|
2026-03-28 11:29:40 +08:00 |
|
GeWuYou
|
c681c4861f
|
chore(deps): 更新 Mediator.Abstractions 包版本
- 将 Mediator.Abstractions 从 3.0.1 升级到 3.0.2 版本
|
2026-03-27 15:31:32 +08:00 |
|
dependabot[bot]
|
2531235276
|
Bump Mediator.Abstractions from 3.0.1 to 3.0.2
---
updated-dependencies:
- dependency-name: Mediator.Abstractions
dependency-version: 3.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Mediator.Abstractions
dependency-version: 3.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
2026-03-27 15:19:01 +08:00 |
|
dependabot[bot]
|
f51e2cf741
|
chore(deps): bump actions/deploy-pages from 4 to 5
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 4 to 5.
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](https://github.com/actions/deploy-pages/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/deploy-pages
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
|
2026-03-27 15:18:06 +08:00 |
|
dependabot[bot]
|
346d2aa2ec
|
chore(deps): bump dorny/test-reporter from 2 to 3
Bumps [dorny/test-reporter](https://github.com/dorny/test-reporter) from 2 to 3.
- [Release notes](https://github.com/dorny/test-reporter/releases)
- [Changelog](https://github.com/dorny/test-reporter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dorny/test-reporter/compare/v2...v3)
---
updated-dependencies:
- dependency-name: dorny/test-reporter
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
|
2026-03-27 15:17:51 +08:00 |
|
dependabot[bot]
|
66edb1da96
|
chore(deps): bump trufflesecurity/trufflehog from 3.93.8 to 3.94.1
Bumps [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog) from 3.93.8 to 3.94.1.
- [Release notes](https://github.com/trufflesecurity/trufflehog/releases)
- [Commits](https://github.com/trufflesecurity/trufflehog/compare/v3.93.8...v3.94.1)
---
updated-dependencies:
- dependency-name: trufflesecurity/trufflehog
dependency-version: 3.94.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
2026-03-27 15:08:42 +08:00 |
|
dependabot[bot]
|
f4c7b349ea
|
chore(deps): bump anistark/feluda from 1.11.1 to 1.12.0
Bumps [anistark/feluda](https://github.com/anistark/feluda) from 1.11.1 to 1.12.0.
- [Release notes](https://github.com/anistark/feluda/releases)
- [Commits](https://github.com/anistark/feluda/compare/v1.11.1...v1.12.0)
---
updated-dependencies:
- dependency-name: anistark/feluda
dependency-version: 1.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
2026-03-27 15:08:13 +08:00 |
|
dependabot[bot]
|
9bf7226c0b
|
Bump Mediator.SourceGenerator from 3.0.1 to 3.0.2
---
updated-dependencies:
- dependency-name: Mediator.SourceGenerator
dependency-version: 3.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
2026-03-27 15:07:25 +08:00 |
|
dependabot[bot]
|
3ba85ec297
|
Bump Meziantou.Analyzer from 3.0.25 to 3.0.27
---
updated-dependencies:
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.27
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.27
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.27
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.27
dependency-type: direct:production
update-type: version-update:semver-patch
- dependency-name: Meziantou.Analyzer
dependency-version: 3.0.27
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
2026-03-27 15:07:12 +08:00 |
|
dependabot[bot]
|
3a56dfb12d
|
Bump NUnit3TestAdapter from 6.1.0 to 6.2.0
---
updated-dependencies:
- dependency-name: NUnit3TestAdapter
dependency-version: 6.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: NUnit3TestAdapter
dependency-version: 6.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: NUnit3TestAdapter
dependency-version: 6.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: NUnit3TestAdapter
dependency-version: 6.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: NUnit3TestAdapter
dependency-version: 6.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
2026-03-27 15:06:56 +08:00 |
|
dependabot[bot]
|
173973e0a6
|
Bump Scriban from 7.0.0 to 7.0.5
---
updated-dependencies:
- dependency-name: Scriban
dependency-version: 7.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
2026-03-27 15:06:25 +08:00 |
|
dependabot[bot]
|
1d81c4de58
|
Bump the nuget group with 1 update
Bumps Scriban from 6.6.0 to 7.0.0
---
updated-dependencies:
- dependency-name: Scriban
dependency-version: 7.0.0
dependency-type: direct:production
dependency-group: nuget
...
Signed-off-by: dependabot[bot] <support@github.com>
|
2026-03-25 16:37:50 +08:00 |
|
gewuyou
|
b3d52a0865
|
Merge pull request #135 from GeWuYou/feat/build-modular-global-usings
Feat/build modular global usings
v0.0.208
|
2026-03-24 23:27:17 +08:00 |
|
GeWuYou
|
20f1c987eb
|
refactor(tests): 优化全局引用测试的命名空间发现机制
- 添加基于真实类型的命名空间常量定义,避免硬编码字符串
- 引入 Architecture、Extensions 和 CoroutineExtensions 命名空间自动发现
- 将 FindRepositoryRoot 方法重构为 ResolveRepositoryRoot 并使用 CallerFilePath
- 更新断言逻辑以使用动态命名空间变量而非字面量字符串
- 移除对解决方案文件扫描的依赖,改用相对路径计算仓库根目录
- 添加方法参数验证和异常处理增强代码健壮性
|
2026-03-24 22:29:45 +08:00 |
|
GeWuYou
|
2d1d1a43b6
|
chore(build): 移除静态全局using配置并实现自动化生成
- 删除所有手动维护的 buildTransitive props 文件
- 从项目文件中移除静态的 global usings 配置
- 删除废弃的 global-usings.modules.json 清单文件
- 移除旧的 TransitiveGlobalUsingsGenerationTests 测试
- 添加新的 TransitiveGlobalUsingsPackagingTests 验证自动化生成
- 在 Directory.Build.targets 中集成 MSBuild 自动化生成任务
- 实现基于源码扫描的动态命名空间发现机制
|
2026-03-24 22:24:52 +08:00 |
|
GeWuYou
|
b80f46b6fa
|
feat(build): 添加 GFramework 模块化全局命名空间导入功能
- 在 NuGet 包中实现可选的 transitive global usings 功能
- 添加 XML 配置方式启用模块级自动命名空间导入
- 支持通过 GFrameworkExcludedUsing 排除特定命名空间
- 为所有运行时模块生成对应的 buildTransitive props 文件
- 添加 Python 脚本自动生成和验证命名空间配置
- 在文档中添加新的安装配置说明
- 创建单元测试验证生成脚本的同步状态
|
2026-03-24 21:46:31 +08:00 |
|
gewuyou
|
a9ac8a927c
|
Merge pull request #134 from GeWuYou/feat/state-history-undo-redo
feat(state): 扩展状态管理功能支持历史记录撤销重做和批处理
|
2026-03-24 19:52:01 +08:00 |
|
GeWuYou
|
e5da5aa801
|
refactor(state): 将历史快照属性改为方法并优化批处理逻辑
- 将 HistoryEntries 属性替换为 GetHistoryEntriesSnapshot() 方法,明确表达会返回集合副本
- 在批处理清理逻辑中添加 else 条件避免无效操作
- 更新测试代码使用新的快照获取方法
- 添加 System.Diagnostics 命名空间引用
- 修复批处理深度为零时的异常处理逻辑
|
2026-03-24 19:45:59 +08:00 |
|
GeWuYou
|
bd29475748
|
refactor(store): 添加调试断言确保线程安全
- 在 CreateMiddlewareSnapshotCore 方法中添加锁持有检查
- 在 CreateReducerSnapshotCore 方法中添加锁持有检查
- 确保并发安全性避免竞态条件
- 导入 System.Diagnostics 命名空间支持断言功能
|
2026-03-24 19:39:55 +08:00 |
|
GeWuYou
|
91246ff482
|
feat(state): 扩展状态管理功能支持历史记录撤销重做和批处理
- 新增 RunInBatch() 方法支持批处理通知折叠
- 添加 Undo()/Redo() 基于历史缓冲区的状态回退前进功能
- 实现 TimeTravelTo() 跳转到指定历史索引的能力
- 提供 ClearHistory() 以当前状态重置历史锚点的功能
- 支持可选历史缓冲区、撤销/重做和时间旅行功能
- 添加可选批处理通知折叠机制
- 实现多态 action 匹配(基类/接口)支持
- 在诊断信息中增加历史游标和批处理状态
- StoreBuilder 新增 WithHistoryCapacity() 和 WithActionMatching() 配置方法
- 优化 reducer 注册支持全局序号以实现稳定排序
- 实现多态匹配时的类型继承距离计算
- 添加批处理嵌套支持和状态通知延迟机制
|
2026-03-24 19:08:03 +08:00 |
|
gewuyou
|
b912e6aa4d
|
Merge pull request #133 from GeWuYou/feat/state-dynamic-registration
feat(state): 添加运行时临时注册与注销功能
|
2026-03-23 21:18:43 +08:00 |
|
GeWuYou
|
1f1aff5335
|
refactor(state): 优化状态管理存储的中间件和reducer快照创建
- 为CreateMiddlewareSnapshot方法添加状态锁保护
- 为CreateReducerSnapshot方法添加状态锁保护
- 更新方法注释说明锁的安全性保障机制
- 避免调用方需要了解锁顺序的隐式依赖关系
|
2026-03-23 20:58:03 +08:00 |
|