97 Commits

Author SHA1 Message Date
gewuyou
cb6dd8a510 fix(game-config): 收紧开放对象关键字边界
- 修复 Runtime、Generator 与 Tooling 对 patternProperties、propertyNames、unevaluatedProperties 的静默接受风险

- 补充三端对称回归测试与 reader-facing 文档边界说明

- 更新 ai-plan 恢复点、验证记录与下一步指针
2026-05-06 08:47:42 +08:00
gewuyou
ff553977e3 chore(license): 补齐 Apache-2.0 文件头治理
- 新增许可证文件头检查与修复脚本

- 补充维护者手动修复 PR 工作流和 CI 校验

- 更新贡献指南中的文件头说明

- 补齐仓库维护源码和配置文件的许可证声明
2026-05-03 19:39:49 +08:00
gewuyou
040bcb99e4 fix(ai-first-config): 收口当前 PR 审查遗留项
- 新增 anyOf 对称运行时回归测试,覆盖组合关键字拒绝分支

- 更新 Game Abstractions README 的配置系统链接显示名,避免暴露原始路径

- 精简 active tracking 的批次级验证细节并补充恢复指针

- 清理 trace 中重复日期标题,消除 MD024 风险
2026-04-30 15:03:47 +08:00
gewuyou
13b77eb3fe fix(game-config): 显式声明闭合对象字段边界
- 修复 Runtime 与 Source Generator 对 additionalProperties 的隐式闭合对象语义,统一接受 additionalProperties:false 并拒绝其它开放对象形状

- 补充 Release 回归测试,覆盖生成器诊断与运行时 additionalProperties 边界

- 更新配置工具元数据与 README 说明,使命令、设置和当前能力描述保持一致
2026-04-30 13:23:19 +08:00
gewuyou
d6a154726c fix(game-config): 显式拒绝 oneOf 与 anyOf 组合关键字
- 修复 Runtime、Source Generator 与 Tooling 对 oneOf/anyOf 的静默接受,统一改为显式报错

- 补充 JS 与 Release 测试回归,覆盖生成器诊断和运行时拒绝路径

- 更新 ai-plan 跟踪与中文文档,明确后续默认跳过会改变生成类型形状的组合关键字
2026-04-30 13:23:19 +08:00
gewuyou
0ad2ed1761 fix(game): 修复空对象配置比较键并归档 warning reduction 主题
- 修复 YamlConfigAllowedValue 与 YamlConfigConstantValue 对空对象 const 或 enum 比较键的误判,同时继续拒绝非空纯空白输入
- 补充 YamlConfigModelContractTests 对空比较键与纯空白比较键的回归覆盖,并验证空对象 const 场景
- 更新 ai-plan 公共索引并归档 analyzer-warning-reduction 主题,保留最终 PR review 结论与验证记录
2026-04-29 10:27:01 +08:00
gewuyou
f5f2c251e5 fix(pr-review): 修复当前评审中仍然成立的问题
- 修复 Mediator 集成测试中的阻塞等待、缓存竞态与共享状态原子性问题

- 补充 YamlConfig 运行时模型的构造期约束与 exception XML 文档

- 新增 模型契约回归测试并更新 analyzer warning reduction 恢复文档
2026-04-29 09:19:24 +08:00
gewuyou
1753778cae fix(game): 修复同步加载阶段的取消透传
- 修复 YAML 同步反序列化与构表阶段的取消处理,避免已取消会话被包装为配置加载失败
- 补充私有同步路径的回归测试,覆盖反序列化与构表阶段的 OperationCanceledException 透传语义
2026-04-27 16:50:44 +08:00
gewuyou
953a03b937 fix(game-tests): 修复取消读取测试的异步警告
- 修复取消读取回归测试的外层 async Task 签名,消除没有 await 的编译警告
- 优化异步异常断言,继续验证取消流程会保留 OperationCanceledException 语义
2026-04-27 16:06:51 +08:00
gewuyou
686647c06b fix(game): 修复 YAML 热重载取消语义
- 修复 ReadYamlAsync 在取消时错误包装异常的问题,并对齐 IntegerTryParseDelegate 的可空性签名

- 更新 Ioc 与 Query 测试辅助类型的 XML 文档,并让 IPrioritizedService 复用 IMixedService 的 Name 契约

- 补充 YamlConfigLoader 取消语义回归测试并同步 analyzer warning reduction 跟踪
2026-04-27 14:26:30 +08:00
gewuyou
be26640b58 test(game-tests): 收敛热重载长方法 warning
- 重构 YamlConfigLoaderTests 的热重载夹具与回调接线,消化 4 个 MA0051 长方法警告
- 更新 analyzer-warning-reduction active todo 与 trace,记录 652 条根构建 warning 的新基线
- 保持 GFramework.Game.Tests 的 Release build 为 0 Warning 和 0 Error
2026-04-25 15:13:22 +08:00
gewuyou
6a704f3aa7 fix(analyzer): 固化沙箱外验证并清理测试噪音
- 更新 AGENTS.md,要求沙箱内 .NET 验证异常时必须申请沙箱外重跑同一命令并以其结果为准
- 修复 4 个测试文件中的冗余 DoesNotThrow 包装,收敛低风险 warning 噪音
- 刷新 analyzer-warning-reduction active todo 与 trace,清理把沙箱噪音当成环境阻塞的恢复信息
2026-04-25 14:58:06 +08:00
gewuyou
2a9e9f26c7 test(game-tests): 简化架构配置集成测试异步断言
- 简化 ArchitectureConfigIntegrationTests 中的异步异常断言包装
- 保持重复初始化场景的测试语义与验证路径不变
2026-04-25 09:56:32 +08:00
gewuyou
9b20a07c0a refactor(game-tests): 简化异步异常断言包装
- 简化 YAML 配置加载测试中的 Assert.ThrowsAsync Task 包装

- 简化持久化测试中的异步异常断言包装并保持原有断言语义
2026-04-25 09:43:32 +08:00
gewuyou
09cbd16d3a test(game-tests): 简化 YAML 配置加载异常断言包装
- 优化 allOf、enum、not 测试中的 Assert.ThrowsAsync 委托写法,移除冗余 async/await 包装
- 保持 schema 用例语义、断言内容和异常路径不变
2026-04-25 09:43:10 +08:00
gewuyou
b27bcb5832 refactor(game-tests): 清理指定加载测试的 MA0051
- 重构四个纯加载测试的固定布置为文件内私有 helper,缩短方法体长度而不改变断言语义

- 保持 schema 内容、异常路径与 item/monster 注册顺序不变,并避免触碰热重载测试
2026-04-25 09:20:29 +08:00
gewuyou
1dae0b11a0 test(game-tests): 清理配置测试中的机械型 MA0004 包装
- 修复三个配置测试文件中 Assert.ThrowsAsync 与 Assert.DoesNotThrowAsync 的冗余 async/await 包装
- 调整文本校验异步异常测试签名以匹配去包装后的同步断言写法
2026-04-25 09:19:11 +08:00
gewuyou
b56e08adae fix(analyzer): 清理 YamlConfigLoaderTests 的异步等待 warning
- 修复 YamlConfigLoaderTests 中 Assert.ThrowsAsync 的冗余 async/await 写法

- 补充 WaitForTaskWithinAsync 的 ConfigureAwait(false) 以消除剩余 MA0004

- 更新 analyzer-warning-reduction 的 RP-059 跟踪与验证记录
2026-04-25 08:27:32 +08:00
gewuyou
56ed66976b fix(game-tests): 清理生成配置消费者测试告警
- 修复 GeneratedConfigConsumerIntegrationTests 的 raw string 缩进和方法边界,恢复编译通过\n- 重构生成配置消费者集成测试的断言辅助方法,清理该文件剩余 warning\n- 更新 analyzer warning reduction 的 tracking 与 trace,记录 RP-056 验证结果和当前分支体积
2026-04-24 19:31:37 +08:00
gewuyou
5aefd77ad0 fix(game-tests): 收敛配置与序列化测试告警
- 修复架构配置、启动流程与序列化测试中的异步等待和 invariant 解析告警

- 补充 AllOf 与 persistence 测试的残余状态校验与 ConfigureAwait 修正,继续压低 Game.Tests warning

- 更新 analyzer-warning-reduction 跟踪与 trace,纠正 RP-054 的 stop-condition 口径并记录 RP-055 指标
2026-04-24 18:29:17 +08:00
gewuyou
36507bbc52 fix(game-tests): 收敛 Game.Tests 测试告警
- 修复多组 YAML 与 persistence 测试中的 ConfigureAwait 使用与状态校验,清理低风险 analyzer 告警

- 重构 PersistenceTestUtilities 为单类型文件,消除测试辅助模型的文件命名告警

- 更新 analyzer-warning-reduction 跟踪与 trace,记录 RP-054 批次结果与 75 文件阈值停止点
2026-04-24 18:17:21 +08:00
GeWuYou
5f2442dbcd fix(ai-first-config): 收口条件分支评审跟进
- 修复 Runtime 条件分支 schema 坏形状的诊断路径,改为指向具体 if/then/else 分支
- 新增 else 缺失 if 的运行时回归测试,保持与 Generator 覆盖对称
- 更新 ai-plan 跟踪与 trace,记录 PR #262 follow-up 验证并消除重复标题
2026-04-20 18:07:23 +08:00
GeWuYou
8a39f0a932 fix(ai-first-config): 修复 PR review nitpick 解析与跟进收口
- 修复 gframework-pr-review 对 latest review body folded nitpick comments 的解析遗漏,并输出 declared / parsed 数量
- 优化 config tool 的条件提示与共享校验 helper
- 补充 generator/runtime/tooling 回归测试并更新 ai-plan 跟踪
2026-04-20 17:02:08 +08:00
GeWuYou
68d653623a feat(config): 支持对象约束型条件 schema
- 新增 Runtime、Source Generator 与 VS Code Tooling 对 object-focused if/then/else 的一致支持
- 补充运行时、生成器与工具链回归测试覆盖
- 更新配置系统文档与 ai-plan 恢复入口
2026-04-20 17:02:08 +08:00
gewuyou
68a42eff54
Merge branch 'main' into refactor/cqrs-dispatcher-cache 2026-04-17 19:19:50 +08:00
GeWuYou
0104537615 refactor(config): 优化架构配置集成测试中的警告处理
- 在初始化方法中添加了针对GF_ContextRegistration_003警告的禁用指令
- 通过#pragma warning disable和#pragma warning restore临时禁用了特定警告
- 保持了原有的配置注册表获取和怪物表格数据读取逻辑
- 确保了测试代码的编译清洁性同时维持功能完整性
2026-04-17 19:19:25 +08:00
GeWuYou
3aca959fcb docs(tests): 为配置加载器测试添加方法文档注释
- 为 BuildMonsterConfigYaml 方法添加 XML 文档注释
- 为 BuildMonsterSchema 方法添加 XML 文档注释
- 为 IndentLines 方法添加 XML 文档注释
- 补充参数和返回值说明信息
2026-04-17 17:06:55 +08:00
GeWuYou
cfd4ae97d3 fix(tests): 解决测试清理期间的目录删除异常
- 在YamlConfigLoaderAllOfTests的清理方法中添加try-catch块
- 忽略测试拆解期间的目录删除失败异常
- 防止测试因权限或文件锁定问题而意外失败
2026-04-17 16:55:49 +08:00
GeWuYou
389f97b949 feat(generator): 添加JSON schema配置生成器
- 实现了基于JSON schema自动生成配置类型和配置表包装的功能
- 支持嵌套对象、对象数组、标量数组的数据结构生成
- 添加了default/enum/const/ref-table元数据的支持
- 实现了查找索引的自动生成和验证机制
- 集成了字符串格式验证包括date、datetime、email等格式
- 添加了dependentRequired和dependentSchemas的验证支持
- 实现了allOf组合约束的处理和验证
- 生成了配置目录类用于统一管理所有配置表
- 提供了完整的错误诊断和报告机制
2026-04-17 16:43:59 +08:00
GeWuYou
faa0143799 feat(generator): 添加JSON schema配置生成器
- 实现了基于JSON schema自动生成配置类型和配置表包装的功能
- 支持嵌套对象、对象数组、标量数组的数据结构生成
- 添加了default/enum/const/ref-table元数据映射功能
- 实现了查找索引生成功能,支持唯一键快速检索
- 集成了诊断报告系统,提供详细的错误提示信息
- 生成配置类、表类和绑定类三种类型的源代码
- 支持日期、时间、邮箱等字符串格式验证功能
- 实现了依赖关系验证,确保schema间的引用正确性
2026-04-17 16:18:14 +08:00
GeWuYou
3f1a1957b2 feat(config): 添加配置验证模块
- 实现配置架构解析功能,支持对象、数组和标量类型的递归解析
- 添加YAML文件解析和注释提取功能
- 实现配置值的类型验证,包括整数、数字、布尔值和字符串格式验证
- 添加对日期、时间、持续时间、邮箱、URI和UUID等特殊格式的支持
- 实现表单更新应用功能,支持标量值和数组的批量编辑
- 添加配置架构枚举和常量值的处理逻辑
- 实现多语言本地化支持的验证消息系统
- 添加精确十进制计算功能,用于数值倍数约束验证
- 实现YAML标量格式化和反引用功能
- 添加配置架构模式规范化处理,包括正则表达式和格式验证
2026-04-17 15:01:04 +08:00
GeWuYou
6ed4d8da1a feat(config): 添加配置 schema 诊断和验证功能
- 新增 ConfigSchemaDiagnostics 类提供配置 schema 代码生成相关诊断
- 添加 JSON 解析错误、根对象检查、ID字段要求等12种诊断规则
- 实现配置验证逻辑,支持整数、数字、布尔值、邮箱等格式校验
- 添加日期时间、持续时间、URI、UUID 等字符串格式验证
- 实现 YAML 解析和注释提取功能
- 提供配置样本生成和批量编辑更新功能
- 添加模式匹配和格式验证的正则表达式支持
2026-04-17 14:17:12 +08:00
GeWuYou
cde234ddea test(config): 添加YAML配置加载器dependentSchemas约束功能测试
- 实现YAML配置加载器对对象级dependentSchemas约束的运行时行为验证
- 添加dependentSchemas不满足时抛出异常的测试用例
- 添加触发字段缺席时不误触发dependentSchemas检查的测试用例
- 添加dependentSchemas满足时正常加载并保留额外字段的测试用例
- 添加非对象类型dependentSchemas声明时抛出异常的测试用例
- 添加触发字段未在同级properties中声明时的错误处理测试
- 添加dependentSchemas条件子schema非object类型时的验证测试
- 实现临时目录管理以避免不同测试场景间的数据污染
- 提供完整的测试辅助方法包括文件创建、schema构建等功能
2026-04-17 11:47:06 +08:00
GeWuYou
2486352341 test(config): 添加YAML配置加载器dependentSchemas约束测试
- 验证触发字段出现但条件schema未满足时抛出异常
- 验证触发字段缺席时不会误触发dependentSchemas检查
- 验证触发字段出现且条件schema满足时正常加载对象
- 验证非对象dependentSchemas声明在解析阶段被拒绝
- 验证dependentSchemas触发字段必须在同级properties中显式声明
- 验证dependentSchemas只接受object-typed条件子schema
- 实现临时目录创建和清理避免文件堆积
- 提供完整的测试用例覆盖dependentSchemas各种场景
2026-04-17 10:15:04 +08:00
GeWuYou
01a815a518 feat(config): 添加配置验证工具和代码分析规则
- 实现配置架构解析器和验证功能
- 添加YAML解析和注释提取功能
- 创建配置验证诊断规则表格
- 实现批量编辑器支持的字段提取
- 添加字符串格式验证(日期、邮箱、UUID等)
- 创建示例配置YAML生成功能
- 实现表单更新应用到YAML的功能
- 添加常量和枚举值的元数据处理
- 实现精确小数倍数验证算法
- 添加配置模式规范化和比较功能
2026-04-17 09:43:23 +08:00
GeWuYou
5185247c35 docs(config): 添加配置系统文档和分析器规则清单
- 创建游戏内容配置系统详细文档,涵盖 YAML 配置、JSON Schema 结构、目录组织等
- 添加配置系统的当前能力说明,包括运行时查询、生成器支持等功能特性
- 完善 Schema 示例和 YAML 示例,提供完整的配置定义和数据样例
- 整理推荐接入模板,包含目录结构、csproj 配置、启动帮助器等最佳实践
- 补充运行时读取模板、生成查询辅助、Architecture 接入等高级使用方式
- 添加运行时校验行为说明,涵盖跨表引用、格式验证、约束检查等内容
- 提供开发期热重载功能文档,说明自动刷新运行时表的工作机制
- 创建 VS Code 工具使用指南,介绍浏览、编辑、校验等开发辅助功能
- 生成分析器规则清单文件,记录所有配置相关的诊断规则和严重级别
2026-04-17 08:47:10 +08:00
GeWuYou
9fadde0a44 test(config): 添加配置验证功能的全面单元测试
- 实现了对嵌套对象和对象数组元数据捕获的测试
- 添加了标量、对象、数组、整数和布尔类型常量元数据测试
- 验证了空字符串常量原始值和显示元数据的保留功能
- 测试了对象常量可比较键的构建逻辑
- 实现了嵌套映射和对象数组解析功能的测试
- 验证了复杂映射键的保留功能
- 添加了缺失和未知嵌套属性报告的测试
- 实现了对象数组项目问题检测功能的测试
- 验证了深层枚举不匹配的报告功能
- 测试了标量常量不匹配检测功能
- 实现了各种类型常量匹配验证的测试
- 验证了对象常量比较标准化但保持数组顺序的功能
- 添加了对象和数组常量不匹配检测的测试
- 实现了整数和布尔常量标量标准化及不匹配测试
- 验证了数字范围和字符串长度不匹配检测功能
- 测试了独占边界、模式和数组项目计数不匹配检测
- 实现了支持字符串格式验证的测试
- 验证了受支持字符串格式接受功能
- 添加了独占最大值和最大项目违规检测的测试
- 实现了对象属性计数不匹配报告功能的测试
- 验证了唯一对象属性计数约束功能
- 测试了倍数和唯一项目违规检测功能
- 实现了包含匹配计数违规报告的测试
- 验证了结构无效项目时跳过包含匹配计数功能
- 测试了仅值级违规时继续包含匹配计数功能
- 实现了最大包含违规检测的测试
- 验证了满足包含约束接受功能
- 测试了对象包含匹配允许额外声明字段功能
- 实现了大十进制倍数无浮点漂移接受的测试
- 验证了非实际倍数大数字拒绝功能
- 测试了科学记数法数字接受功能
- 实现了Unicode语义应用模式的测试
- 验证了无效数组项目跳过唯一项目检查功能
- 测试了一次通过报告每个唯一项目重复功能
- 实现了避免不同对象唯一项目可比较键冲突的测试
- 验证了标量范围和长度元数据捕获功能
- 测试了独占边界、模式和数组项目计数元数据捕获
- 实现了支持字符串格式元数据捕获的测试
2026-04-16 18:48:15 +08:00
GeWuYou
ed5d11576d docs(config): 添加配置系统文档和分析器规则定义
- 创建 AnalyzerReleases.Unshipped.md 定义41条新规则
- 添加游戏内容配置系统详细文档,涵盖YAML配置、JSON Schema结构、目录组织等
- 实现运行时只读查询功能,支持多种数据验证约束
- 集成Source Generator生成配置类型、表包装和访问辅助
- 提供VS Code插件支持配置浏览、编辑和校验功能
- 实现热重载机制支持开发期动态配置更新
- 添加Godot引擎文本配置桥接支持
- 提供Architecture架构接入模板和运行时读取接口
2026-04-16 18:25:48 +08:00
GeWuYou
809e1f5ded docs(config): 添加游戏内容配置系统完整文档
- 新增 YAML 配置与 JSON Schema 结构描述支持
- 添加一对象一文件的目录组织方式说明
- 实现运行时只读查询功能详细文档
- 添加 Source Generator 生成配置类型的完整指南
- 集成 VS Code 插件提供配置浏览和校验功能
- 添加 Godot 文本配置桥接的使用说明
- 实现热重载模板和 Architecture 接入示例
- 添加运行时校验行为和错误处理机制
- 提供开发期热重载功能的详细配置方法
- 添加生成器接入约定和工具使用说明
2026-04-16 14:18:25 +08:00
GeWuYou
a14e736fb9 test(config): 添加YAML配置加载器的not约束运行时行为验证测试
- 实现标量值命中not子schema时的异常抛出验证
- 验证值未命中not子schema时的正常加载行为
- 测试对象完整命中禁用schema时的约束失败触发
- 验证对象仅命中not schema属性子集时的正确处理
- 添加not声明为非对象值时的解析阶段拒绝验证
- 创建临时目录隔离测试环境避免用例间污染
- 实现配置文件和schema文件的动态创建功能
- 提供标量和对象两种not约束场景的测试加载器
2026-04-16 11:11:52 +08:00
GeWuYou
ebc53510ab test(config): 添加配置验证功能的全面单元测试
- 实现了对嵌套对象和数组元数据解析的测试
- 添加了常量值比较和对象排序一致性的验证测试
- 创建了对YAML解析器嵌套映射和复杂键名的支持测试
- 开发了针对缺失和未知属性的验证诊断测试
- 实现了对象数组项目验证和深度枚举匹配测试
- 添加了标量、对象、数组、整数和布尔型常量验证测试
- 创建了数字范围和字符串长度限制验证测试
- 实现了独占边界、模式匹配和数组项目计数验证
- 添加了支持的字符串格式验证(日期、时间、邮箱等)
- 创建了多重约束和唯一性检查验证测试
- 实现了包含匹配计数约束验证测试
- 添加了科学记数法和大数精度处理验证测试
- 创建了Unicode模式匹配和唯一项重复检测测试
2026-04-16 10:51:30 +08:00
GeWuYou
0f5b3a98bf docs(config): 添加游戏内容配置系统完整文档
- 新增 YAML 配置源文件支持说明
- 添加 JSON Schema 结构描述功能介绍
- 实现一对象一文件的目录组织方式
- 提供运行时只读查询机制说明
- 添加 Source Generator 类型生成功能文档
- 集成 VS Code 插件配置浏览功能说明
- 添加跨表引用和校验行为详细说明
- 提供热重载开发期工具使用指南
- 完善 Godot 引擎文本配置桥接文档
- 补充 Architecture 模块接入模板说明
2026-04-16 09:59:43 +08:00
GeWuYou
ba15d9d0f6 docs(config): 添加游戏内容配置系统完整文档
- 新增游戏内容配置系统详细介绍文档
- 包含 YAML 配置源文件和 JSON Schema 结构描述说明
- 提供推荐目录结构和 Schema 示例配置
- 添加官方启动帮助器 GameConfigBootstrap 使用指南
- 包含 Godot 文本配置桥接和运行时读取模板
- 提供 Architecture 推荐接入模板和热重载配置说明
- 添加运行时校验行为和开发期热重载功能说明
- 包含生成器接入约定和 VS Code 工具使用指南
- 新增 JavaScript 配置验证实现和格式校验模式
- 添加字符串格式校验包括 date、email、uuid 等类型
- 实现配置字段可编辑性检测和批量编辑功能支持
2026-04-16 09:26:56 +08:00
GeWuYou
6d5d9e2240 docs(config): 添加游戏内容配置系统完整文档
- 新增游戏内容配置系统详细介绍文档
- 包含 YAML 配置源文件支持说明
- 提供 JSON Schema 结构描述功能说明
- 说明一对象一文件的目录组织方式
- 介绍运行时只读查询功能特性
- 详细说明 Runtime / Generator / Tooling 共享支持的约束类型
- 提供 Source Generator 生成配置类型的完整说明
- 包含 VS Code 插件功能详细介绍
- 提供推荐目录结构和 Schema 示例
- 说明 YAML 示例格式和接入模板
- 详细说明 Godot 文本配置桥接功能
- 提供运行时读取模板和生成查询辅助说明
- 包含 Architecture 接入模板和热重载配置说明
- 详细说明运行时校验行为和跨表引用机制
- 提供开发期热重载功能完整配置指南
- 说明生成器接入约定和 VS Code 工具功能
- 包含当前限制和独立 Config Studio 评估说明
- 新增配置验证 JavaScript 工具实现
2026-04-16 09:16:50 +08:00
GeWuYou
12e54ce637 feat(config): 添加YAML配置序列化和校验功能
- 实现YamlConfigTextSerializer提供YAML文本序列化功能
- 实现YamlConfigTextValidator提供YAML文本校验功能
- 添加缓存机制优化schema文件加载性能
- 实现同步和异步校验接口支持
- 添加集成测试验证生成配置绑定功能
- 扩展SchemaConfigGenerator支持配置类型生成
- 实现GeneratedConfigConsumerIntegrationTests完整测试覆盖
2026-04-12 15:41:45 +08:00
GeWuYou
7473adb789 feat(config): 添加YAML配置序列化器并更新集成测试
- 新增YamlConfigTextSerializer类提供统一的YAML序列化功能
- 集成测试中添加配置抽象接口引用
- 序列化器使用驼峰命名约定和默认值保留策略
- 自动确保YAML输出以换行符结尾
- 配置对象序列化时验证空值并抛出异常
2026-04-12 14:51:36 +08:00
GeWuYou
e40703c202 feat(config): 添加 YAML 配置文件 JSON Schema 校验器
- 实现了 YAML 配置与 JSON Schema 的运行时校验功能
- 支持嵌套对象、对象数组、标量数组的递归校验
- 集成了 enum 和引用约束的深度校验机制
- 实现了 multipleOf、uniqueItems 等扩展约束规则
- 添加了跨表引用收集和校验能力
- 提供了异步和同步两种加载校验接口
- 支持 minContains/maxContains 数组匹配计数规则
- 实现了 minProperties/maxProperties 对象属性数量校验
- 集成了日期时间、邮箱、URI 等字符串格式校验
- 提供了详细的错误诊断信息和定位功能
2026-04-12 14:28:31 +08:00
GeWuYou
925b6ce2d2 feat(config): 添加YAML配置序列化支持并完善测试依赖
- 集成YamlDotNet库实现YAML配置文件的序列化功能
- 在配置消费者集成测试中添加抽象配置接口引用
- 在YAML配置验证测试中添加抽象配置接口引用
- 统一配置模块的依赖注入和接口抽象层次
2026-04-12 14:09:53 +08:00
GeWuYou
1fac276437 feat(config): 添加YAML配置文件的JSON Schema校验功能
- 实现了YAML配置与JSON Schema的运行时校验能力
- 支持嵌套对象、对象数组、标量数组的递归校验
- 提供async和sync两种模式的schema文件加载解析
- 实现跨表引用的收集与校验机制
- 支持enum枚举值、引用约束和深层约束校验
- 添加了multipleOf、uniqueItems、contains等高级校验功能
- 实现了minProperties、maxProperties对象属性数量校验
- 提供详细的错误诊断信息和路径定位功能
2026-04-12 14:06:06 +08:00
GeWuYou
7c07395825 docs(config): 添加游戏内容配置系统完整文档
- 介绍面向静态游戏内容的 AI-First 配表方案
- 说明 YAML 配置源文件和 JSON Schema 结构描述支持
- 提供推荐目录结构和 Schema 配置示例
- 展示怪物配置和物品配置的 YAML 示例
- 提供完整的接入模板包括 csproj 配置和启动代码
- 介绍官方启动帮助器 GameConfigBootstrap 使用方法
- 说明 Godot 引擎文本配置桥接功能
- 提供运行时读取模板和生成查询辅助功能
- 介绍 Architecture 架构接入模板和热重载配置
- 详述运行时接入方式和注册辅助功能
- 说明运行时校验行为和跨表引用机制
- 提供开发期热重载功能配置指南
- 介绍生成器接入约定和 VS Code 工具支持
- 列出当前功能限制和独立工具评估结论
- 添加配置验证 JavaScript 实现代码
- 实现字符串格式验证和正则表达式校验
- 提供 schema 解析和 YAML 解析功能
- 实现配置字段编辑和注释提取功能
2026-04-11 14:44:00 +08:00