ECS 查询缓存 + 视口 Gizmo GPU 驱动化 + fx-math 独立包
引擎 ECS 层现在缓存 archetype 匹配查询,大型场景迭代速度提升最高 3 倍;视口 Gizmo(平移/旋转/缩放手柄)从 CPU 侧即时模式重构为 GPU 驱动的实例化管线,消除了每帧 JS 开销;共享数学库已提取为独立的 fx-math 包,可在引擎、编辑器和 CLI 等子仓之间复用;材质系统支持热重载,PBR 调整无需重新进入 Play 模式即可即时生效;场景层级面板现在支持多根节点拖放,方便批量重组实体结构。
引擎:ECS 查询缓存与 archetype 索引
ECS 运行时现在跨帧缓存 archetype 匹配的组件查询。之前每次 world.query(Position, Velocity) 调用都会在每个 tick 执行完整的 archetype 扫描。引擎现在在首次查询时构建 archetype 索引,仅在 archetype 添加或移除时失效——这在大多数游戏循环中是罕见事件。在 10k+ 实体的场景中,基准测试显示迭代吞吐量提升最高 3 倍。
编辑器:视口 Gizmo 重构为 GPU 驱动管线
3D 视口中的平移、旋转和缩放 Gizmo 已从 CPU 侧即时模式 canvas 覆层重写为 GPU 驱动的实例化渲染管线。每个 Gizmo 手柄现在是一个实例化绘制调用,通过 color-ID 帧缓冲实现深度测试拾取。这消除了之前在密集场景中操作对象时导致明显卡顿的每帧 JavaScript 开销。
子仓:fx-math 提取为独立包
之前在引擎核心、编辑器和 CLI 包中重复存在的数学基元(Vec2、Vec3、Vec4、Mat4、Quat、AABB、Ray 等)已提取到独立的 fx-math 包中。三个子仓现在都依赖这唯一的真实来源,消除了引擎侧和编辑器侧数学库的漂移,同时总包体积减少约 40 KB。
引擎:材质系统热重载
在 Inspector 中编辑 PBR 材质参数(反照率、粗糙度、金属度、法线贴图等)现在无需停止并重启 Play 模式即可在视口中即时生效。引擎监视材质资产文件句柄,并在更改时触发 GPU 资源重新上传。这大幅缩短了美术迭代循环——调整一个粗糙度滑块,实时看到结果。
编辑器:场景层级面板支持多根节点拖放
场景层级面板现在支持同时选中并拖动多个根级实体。之前仅支持单实体拖动,大规模场景重组非常繁琐。现在可以 Ctrl+点击或 Shift+点击进行多选,然后拖动整个选择集重新设为新节点的子级或在层级中重新排序。