开发日志:EVEngine v0.1.0(2026-08-04 ~ 2026-08-20)
v0.1.0 发布冲刺总结:正式版发布与新分支模型、渲染性能优化、模块架构收敛、AI 工具链、测试与 CI 加固。
撰写日期:2026-08-22 覆盖范围:v0.1.0 发布冲刺,约 380 个非合并提交
本期速览
- 8 月 20 日发布 v0.1.0 正式版(
0.1.0-dev→0.1.0),并落地新的分支模型与发布流水线。 - 渲染管线完成一轮大的性能优化:视锥剔除、每帧一次光照、dynamic-offset UBO 环形缓冲、多缓冲 mesh 更新,并引入 FrameGraph。
- 模块架构收敛:三个依赖后向边清零、超大 TU 拆分、接口隔离,
ResourceManager复活为统一资源缓存。 - 最后一周(8/17–8/20)集中在发布流程与 SDK 打包、win32 Release 修复、模块重构和正式版发布上。
一、里程碑:v0.1.0 正式版
版本与分支模型
main保持“克隆即可编译”的最新正式版;日常开发在dev(0.1.0-dev);每次发布用vX.X.X隔离分支。- 新增
scripts/release.py统一驱动发布:start建分支、写版本号;finish升正式版、开promote/vX.X.XPR 到main、rebasedev,全程不直推main/dev,由人点 Merge。 - 用 Checks API 写
main-gate检查,解决“GITHUB_TOKEN 开的 PR 不触发 pull_request CI、必过检查一直悬挂”的问题。 main支持文档白名单热修(README/docs/Doxyfile),sync-docs.yml自动反向同步到dev。
SDK 打包与平台
- 五平台 SDK(Windows / macOS / Linux / Android / iOS)随 Release 打包:
eve-sdk-<plat>-<tag>.zip。 - SDK 完善:自动导出模块头、打包 licenses、生成 checksum、插件/APK 冒烟测试、zip 遍历容错与分支清理。
- macOS:把 Vulkan loader 与运行时 dylib 打进 eve 包,并扩展 loader rpath。
- win32:宿主导出 Squirrel/ssq 符号供插件链接;同步 patch 第三方库导出符号。
- 平台构建修复:win32 Release 改用 vcvars+Ninja(去掉固定 VS generator),补齐 SDL2md/SDL2mainmd/zlibstaticmd 链接;Android 以 APK 形式跑 zeroerr 单测;macOS arm64 Release 跳过原始 Squirrel 内省用例(SIGBUS)。
二、渲染与性能
FrameGraph 与渲染优化(PR #126 / #129)
- 视锥剔除(frustum culling)、每帧一次光照、dynamic-offset UBO 环形缓冲、按 pipeline 状态排序。
- mesh 更新改为多缓冲 ring,去掉 device-wide wait;粒子移除 GPU 往返。
- 升级 VKBuilder,引入 FrameGraph 基础。
画面与特效
- 动态水体:天空反射 + 涟漪 + 瀑布,Water 屏幕空间反射(SSR)。
- 天气系统(实时降水/闪电/风)、昼夜循环 + 程序化天空 + 夜晚光照。
- 风格化草地(t3ssel8r 风格)、x-ray 透视着色、toon 着色、硬件 MSAA/HiDPI、阴影 PCF/CSM 改进。
- Nanite 风格 virtual geometry、sprite-stacking 伪 3D、体素渲染差距补齐、程序化生成全家桶(树/岩石/建筑/六边形星球/线性结构/Perlin 高度图等)。
三、架构与模块化
- 依赖后向边清零(PR #127):
window→graphics、window→image、scene→graphics三个历史后向边全部消除,module_depgraph.py --check0 违规、0 环。 - 大文件拆分:
vulkan/Graphics.cpp(5118 行)拆成 5 个 TU,scene/Scene.cpp拆出SceneNodes.cpp。 - 接口隔离:
IGraphics2D/IGraphics3D/IResourceFactory/IPostFX瘦接口,公共头跨模块泄漏从 14 处降到 7 处。 ResourceManager复活:以IAssetReloader为底座做成统一 CPU 资源缓存(image/font/model3d/sound),URI + 参数作为 cache key,热重载时通过adopt保持实例身份。- 场景管线:SceneLoader 优化、场景/脚本-ECS 打通、通用 SceneLink、序列化与拾取、快速 diff 热重载;修复 Poco delegate 在锁内退订导致的热重载死锁。
四、新能力
- 网络:reliable UDP 传输、RPC、多主机会话。
- 玩法模块:对话程序化生成、RPG 任务追踪(设计文档 + 计划)、卡片模块 ECS 化、UI 两遍布局/图片/事件/虚拟化/viewport、运行时控制台与 REPL、Rx 响应式、i18n 本地化、IK 链解算、粒子系统 P0–P2、骨骼动画、3D 相机控制器,背包/建筑/寻路等既有模块继续扩展。
- 工具链:
eve zip/package打包与内存运行、远程热重载 dev-server(mac/iOS/Android)、Windows 崩溃回溯(backward-cpp 符号化)。
五、AI 工具链
- headless
eve mcphost,MCP 工具覆盖场景/程序化生成/物理/渲染/粒子/音频。 - scene-director(场景编排工具包)、creative-brain(意图解析 + 场景编排)、scene-qc-agent(ReAct 场景检查与迭代优化)、RenderVision(视觉模型描述渲染帧)。
- 外部资产流水线:检索 + Blender 标准化 + MCP 摄取。
六、测试与质量
- zeroerr 参数校验(Debug 开启,Release 默认裁剪、可显式开启),并补齐 Doxygen API 文档。
- CTest 回归默认 per-case 进程隔离(bundle 可选),默认快速 headless 参数(
VIEW_SECONDS=0.3等);Release 测试保留 zeroerr 断言。 - 新增资源生命周期、工具链相关测试;修复一批跨平台用例(graphics 初始化、MSVC/arm64 兼容、Release Squirrel 内省崩溃跳过)。
七、CI 与构建
- Ubuntu apt mirror 重写 + acquire 超时 + 全 workflow 每步超时加固。
- 新增 WebGPU(Emscripten/WASM)构建 job;Android/iOS job 分离;clang-format 与模块分层门禁;SDK 可用性测试作为发布前门。
数据统计(2026-08-04 ~ 2026-08-20)
| 指标 | 数值 |
|---|---|
| 提交总数(含 merge) | 535 |
| 非 merge 提交 | 380 |
| feat / fix | 159 / 99 |
| test / docs | 21 / 21 |
| build / refactor | 16 / 16 |
| chore / ci / perf | 11 / 7 / 3 |
| 其他杂项 | 约 27 |
下一步
dev继续以0.1.0-dev迭代,后续发布统一走vX.X.X分支流程。- 关注点:统一资源缓存向更多模块消费迁移、FrameGraph 在更多渲染路径上落地、五平台 SDK 的反馈闭环。