套娃甘特 | 只有 Task 有真实起止,上面每一层都是算出来的

这是双树模型里最容易被说漂亮、也最容易做空的一条规则:甘特真正应该挂在 HOW 上,但可以聚合到 WHAT。下面这张图里,橙色条是真实排期的 Task;蓝色条一根都没有人手填过——它们是子孙任务 min(开始) / max(结束) 算出来的。换聚合层级时,时间轴不变,只是"套娃"换了一层。

1聚合到哪一层 (共用一根时间轴,只换套娃层级)

主视图聚合层
WHAT 对象 / HOW 任务
WHAT 聚合条(算出来的,不可手填) Task 已通过 Task 进行中 Task 未开始

🧩 选中的 Artifact

🧮 聚合算式(点上面任意一行看它怎么被算出来)

📐 套娃规则:Application Gantt ↓ Engine Gantt ↓ Library Gantt ↓ Module Gantt ↓ Component Gantt ↓ Function / Task。 页面上仍然共用一根时间轴——所以"套娃甘特图"不是视觉花招,它有底层意义:FireAbility 的甘特时间 = 它所有制造任务时间的聚合,Firearm Module 再聚合它下面所有 Component,Weapon Library 继续聚合,最后 FPV3D Application 自动得到整个项目的甘特。

2为什么完成度只能算、不能填

如果允许在 Artifact 上手填百分比,套娃就白搭了——上层数字会和下层任务对不上,而且没人能查。所以规则是:时间只存在 Task 上;Artifact 的起止与完成度一律由子孙聚合得出。上面每根蓝条的"完成度"都等于它子孙里"已通过"的任务数 ÷ 任务总数,一个手填的数字都没有。

3整份架构一张脑图