EVEngine 开发日志 · v0.1.0(2026-08-04 ~ 2026-08-20)
> 撰写日期: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.X` PR 到 `main`、rebase `dev`,全程不直推 `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--.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 --check` 0 违规、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 mcp` host,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 的反馈闭环。


暂无关于此日志的评论。