gewuyou
|
a7a3eca40d
|
fix(pr-review): 收敛PR建议并修复构建验证
- 修复 PR #288 中经本地复核后仍成立的 Core、Game 与测试建议
- 更新 WSL 标准 dotnet build 验证路径并确认 Release 构建可通过
- 补充 analyzer-warning-reduction 跟踪文档记录本轮结论与恢复点
|
2026-04-25 14:26:49 +08:00 |
|
gewuyou
|
4740d30fb7
|
fix(core): 修复 PR 评审指出的编译与样式问题
- 修复 AsyncExtensionsTests 中错误返回 ConfiguredTaskAwaitable 导致的测试编译失败
- 收敛多处测试中的冗余 async/await 与 ValueTask 断言包装,减少 PR review 指出的告警
- 更新 StoreSelection 的 net9+ 锁实现与 analyzer-warning-reduction 跟踪文档,记录 PR #288 与当前 MSB4018 环境阻塞
|
2026-04-25 13:03:17 +08:00 |
|
gewuyou
|
9ce1fa630c
|
refactor(core): 收敛 Core 扩展与测试的机械 warning
- 更新 ContextAware、Store 与通用扩展中的参数空校验写法以满足 analyzer 约束
- 简化 coroutine、pause、log 与 async 测试中的等待和断言包装并保持测试语义不变
- 调整测试替身异常类型与 Result 系列断言样例以减少低风险 warning 噪音
|
2026-04-25 10:38:48 +08:00 |
|
GeWuYou
|
12f15961af
|
fix(pr269): 收口评审兼容性与生成器修复
- 恢复 EasyEvents、CollectionExtensions 与 logging 配置模型的公共 API 兼容形状
- 修复 ContextAwareGenerator 字段命名冲突、锁内读取路径与相关快照回归测试
- 更新 Cqrs 与 schema generator 的 null/cancellation 契约,并同步 ai-plan 跟踪与验证记录
|
2026-04-23 09:58:32 +08:00 |
|
GeWuYou
|
97573be2e1
|
fix(core): 清零低风险分析器警告
- 更新 Core 配置与集合扩展的集合抽象契约
- 修复 CoroutineScheduler 字符串字典 comparer 与 EasyEvents 重复注册异常类型
- 补充 Option<T> 相等性接口并更新 analyzer recovery 记录
|
2026-04-23 09:49:21 +08:00 |
|
GeWuYou
|
e3652db030
|
fix/review-followups: 修复审查反馈并补充提交流程规则
- 修复 Core、Cqrs、Godot 与 Game 模块中的异常契约、空值校验和线程亲和性问题
- 更新 Settings API 为 ApplyAsync 并同步实现、调用点、测试与中文文档
- 补充 AGENTS.md 中的构建校验、自动提交与分支创建规则
- 整理 Logging、WeakCache 与 Resource 相关实现的行为与文档一致性
|
2026-04-18 19:37:25 +08:00 |
|
GeWuYou
|
23489570bf
|
fix(analyzers): 降低 Core、Cqrs、Godot 与生成器的构建警告
- 清理 GFramework.Core 与 GFramework.Cqrs 中的大量低风险 Meziantou 警告
- 修复 GFramework.Godot 运行时中的 ConfigureAwait、StringComparison 与参数校验告警
- 调整 Core SourceGenerators 中的字符串比较、文件命名与局部长方法问题
- 拆分部分配置与缓存辅助类型文件以消除 file/type mismatch 告警
- 更新 warning reduction 跟踪与执行记录,保留下一批结构性告警的恢复点
|
2026-04-18 16:47:44 +08:00 |
|
GeWuYou
|
09f751a4f7
|
docs: 添加 CQRS 架构模式和游戏配置系统文档
- 新增 CQRS 核心概念、命令查询处理器实现指南
- 添加 CQRS 高级用法包括通知发布、管道行为和流式处理
- 提供 CQRS 最佳实践和常见问题解决方案
- 添加游戏配置系统完整接入模板和运行时读取示例
- 包含 YAML 配置文件和 JSON Schema 结构定义说明
- 提供 Godot 引擎配置桥接和热重载功能使用指南
- 添加架构模块集成和生成查询辅助功能文档
|
2026-04-16 20:36:15 +08:00 |
|
GeWuYou
|
005c32d84f
|
feat(cqrs): 添加CQRS扩展方法兼容层和日志工厂解析器
- 新增ContextAwareMediatorCommandExtensions提供命令扩展方法兼容性支持
- 新增ContextAwareMediatorQueryExtensions提供查询扩展方法兼容性支持
- 添加LoggerFactoryResolver实现全局日志工厂访问入口
- 实现TypeForwarders将核心类型转发到正确程序集
- 添加MediatorCompatibilityDeprecationTests验证弃用策略
- 扩展LoggerFactoryTests覆盖并发初始化和回退逻辑
- 迁移CommandBase到Core.Cqrs.Command命名空间
- 移动LoggingBehavior到GFramework.Cqrs.Cqrs.Behaviors
- 添加AbstractStreamQueryHandler支持流式查询处理
- 创建NotificationBase提供通知基类实现
|
2026-04-15 22:27:09 +08:00 |
|
GeWuYou
|
a80ff59631
|
feat(cqrs): 添加CQRS运行时模块和兼容性扩展
- 新增ContextAwareMediatorCommandExtensions提供命令扩展方法的兼容性别名
- 新增ContextAwareMediatorExtensions提供CQRS统一接口扩展方法的兼容性别名
- 新增ContextAwareMediatorQueryExtensions提供查询扩展方法的兼容性别名
- 添加CqrsRuntimeModule用于注册CQRS运行时和处理器注册器到依赖注入容器
- 更新IArchitectureContext接口添加新版CQRS请求、命令、查询和通知的统一入口
- 添加架构上下文的CQRS处理器注册相关单元测试
- 配置项目文件以支持多目标框架和包引用管理
|
2026-04-15 19:42:08 +08:00 |
|
GeWuYou
|
81897ce2ac
|
docs(source-generators): 添加源码生成器文档
- 新增 AutoRegisterExportedCollections 生成器文档
- 新增 AutoScene 生成器文档
- 新增 AutoUiPage 生成器文档
- 新增完整的源码生成器索引文档
- 详细介绍各生成器的使用方法和参数说明
- 提供生成代码示例和诊断信息说明
- 包含性能优势和使用示例章节
|
2026-04-15 17:00:49 +08:00 |
|
GeWuYou
|
ede8a8faa4
|
fix(namespace): 修正命名空间
- 修正Core模块命名空间
- 修正Godot模块命名空间
|
2026-04-15 15:34:14 +08:00 |
|
GeWuYou
|
295496e90f
|
docs(core): 添加 CQRS 文档并实现架构模块管理
- 添加完整的 CQRS 中文文档,涵盖命令、查询、处理器、管道行为等核心概念
- 实现 ArchitectureModules 类用于管理架构模块安装和 CQRS 行为注册
- 重构 Architecture 类为协调器模式,委托给专门的管理器组件
- 添加 RegisterCqrsPipelineBehavior 方法替代旧的 RegisterMediatorBehavior
- 标记旧的扩展方法为 Obsolete 并提供新的兼容性别名
- 实现模块化架构组件注册和生命周期管理功能
|
2026-04-15 09:49:26 +08:00 |
|
GeWuYou
|
5a2981a557
|
feat(cqrs): 添加 CQRS 命令协程扩展功能
- 实现 CqrsCoroutineExtensions 扩展类,提供协程方式发送 CQRS 命令的功能
- 添加 SendCommandCoroutine 方法支持命令异步执行与异常处理
- 实现取消操作的特殊处理逻辑,区分取消、失败和成功状态
- 添加 ContextAwareCqrsCommandExtensions 扩展类,提供同步和异步命令发送方法
- 增加对 TaskCanceledException 的专门处理机制
- 完善相关单元测试,验证取消操作的异常处理行为
|
2026-04-15 08:18:27 +08:00 |
|
GeWuYou
|
088f02d586
|
docs(core): 添加 CQRS 文档并完善相关扩展方法
- 新增 CQRS 核心概念、命令查询处理器使用指南
- 添加管道行为、流式处理和最佳实践说明
- 实现 CQRS 协程扩展方法支持异步命令执行
- 添加 ContextAware 接口的 CQRS 命令查询扩展
- 集成 Microsoft DI 容器依赖注入支持
- 补充架构模块行为测试验证功能完整性
- 扩展 GameContext 测试用例提高代码覆盖率
|
2026-04-15 07:34:01 +08:00 |
|
GeWuYou
|
115fe65e88
|
docs(core): 添加 CQRS 和核心框架文档
- 新增 CQRS 模块详细文档,介绍命令查询职责分离模式
- 添加核心框架架构概述和五层架构设计说明
- 补充快速开始指南和最佳实践建议
- 完善包说明和组件联动机制介绍
- 添加架构生命周期管理和模块化设计说明
|
2026-04-14 22:54:27 +08:00 |
|
gewuyou
|
48e57c8547
|
Replace Mediator runtime with built-in CQRS
|
2026-04-14 20:46:59 +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
|
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
|
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
|
91246ff482
|
feat(state): 扩展状态管理功能支持历史记录撤销重做和批处理
- 新增 RunInBatch() 方法支持批处理通知折叠
- 添加 Undo()/Redo() 基于历史缓冲区的状态回退前进功能
- 实现 TimeTravelTo() 跳转到指定历史索引的能力
- 提供 ClearHistory() 以当前状态重置历史锚点的功能
- 支持可选历史缓冲区、撤销/重做和时间旅行功能
- 添加可选批处理通知折叠机制
- 实现多态 action 匹配(基类/接口)支持
- 在诊断信息中增加历史游标和批处理状态
- StoreBuilder 新增 WithHistoryCapacity() 和 WithActionMatching() 配置方法
- 优化 reducer 注册支持全局序号以实现稳定排序
- 实现多态匹配时的类型继承距离计算
- 添加批处理嵌套支持和状态通知延迟机制
|
2026-03-24 19:08:03 +08:00 |
|
GeWuYou
|
2b4b87baba
|
feat(state): 添加状态管理框架核心功能
- 实现 Store 类作为集中式状态容器,默认支持状态归约和订阅通知
- 添加 IReadonlyStore、IStore、IReducer 等状态管理相关抽象接口
- 实现 StoreExtensions 扩展方法,提供 Select 和 ToBindableProperty 选择器功能
- 添加 StoreSelection 类,支持从完整状态树中投影局部状态视图
- 实现 StoreDispatchContext 和 StoreDispatchRecord 用于分发过程诊断
- 添加 IStoreMiddleware 中间件接口,支持在分发过程中插入日志和审计逻辑
- 实现完整的状态选择器和绑定属性桥接功能,便于现有 UI 代码复用
- 添加 Store 相关单元测试,覆盖状态归约、订阅通知和选择器桥接场景
|
2026-03-23 19:34:28 +08:00 |
|
GeWuYou
|
53edd13f8f
|
feat(localization): 添加本地化格式化器和数值显示功能
- 在LocalizationManager中注册内置格式化器包括条件、复数和紧凑数值格式化器
- 实现CompactNumberLocalizationFormatter支持{value:compact}格式化语法
- 添加数值显示扩展方法ToDisplayString和ToCompactString
- 实现NumericDisplayFormatter和NumericSuffixFormatRule数值格式化核心逻辑
- 添加数值格式化选项配置包括小数位数、四舍五入策略等参数
- 为紧凑数值格式化功能添加完整的单元测试覆盖各种数值类型和边界情况
|
2026-03-21 14:43:42 +08:00 |
|
GeWuYou
|
b6c13088cd
|
refactor(GFramework.Core): 移除ScopedArray的IDisposable接口实现
- 从ScopedArray结构体中移除IDisposable接口
- 保留数组池管理和自动释放功能
- 简化类型定义以提高性能表现
|
2026-03-11 12:44:32 +08:00 |
|
GeWuYou
|
ea79df232b
|
refactor(GFramework.Core): 优化ScopedArray实现并添加资源清理功能
- 为ScopedArray<T>实现IDisposable接口以支持资源清理
- 修改Array属性访问方式,通过GetArray方法确保对象未被释放
- 更新Length属性实现,依赖Array属性而非直接访问私有字段
- 调整AsSpan方法实现,统一通过Array属性获取数组实例
- 重写索引器实现,使用Array属性替代直接字段访问
- 新增GetArray私有方法,用于检查对象状态并返回内部数组
- 添加ObjectDisposedException异常处理,防止访问已释放对象
|
2026-03-11 12:34:08 +08:00 |
|
GeWuYou
|
ffda10be86
|
refactor(core): 优化ScopedArray结构体实现
- 将ScopedArray从readonly struct改为ref struct以提高性能
- 添加_array字段存储数组引用并移除公共Array属性
- 在Dispose方法中添加空值检查避免重复释放
- 添加Span属性和索引器支持直接访问数组元素
- 使用#pragma warning禁用CA1819警告并优化代码风格
|
2026-03-11 08:58:33 +08:00 |
|
GeWuYou
|
027a214479
|
refactor(core): 将System命名空间重命名为Systems
- 更新所有GFramework.Core.Abstractions.System引用为GFramework.Core.Abstractions.Systems
- 重命名GFramework.Core/System目录为GFramework.Core/Systems
- 重命名GFramework.Core.Tests/System目录为GFramework.Core.Tests/Systems
- 更新所有相关using语句和命名空间声明
- 修复测试文件中的命名空间引用
- 添加全局using引用GFramework.Core.Systems
|
2026-03-10 08:42:53 +08:00 |
|
GeWuYou
|
fb14d7122c
|
docs(style): 更新文档中的命名空间导入格式
- 将所有小写的命名空间导入更正为首字母大写格式
- 统一 GFramework 框架的命名空间引用规范
- 修复 core、ecs、godot 等模块的命名空间导入错误
- 标准化文档示例代码中的 using 语句格式
- 确保所有文档中的命名空间引用保持一致性
- 更新 global using 语句以匹配正确的命名空间格式
|
2026-03-10 07:18:49 +08:00 |
|