- 控制器依赖切换到 IAsyncProjectRepository(异步句柄) - 删除 busy_/BusyGuard/drainPendingCheckedTms/checkedTmsPending_/pendingCheckedTms_/friend struct BusyGuard - start/switchWorkspace 用 NavRequest 续延依赖链(startStepReq_ 跟踪当前在飞级) - switchProject/loadMore*/selectDataset 单请求 + abort-and-replace + 身份比对 - selectObject 三并发(data/file/detail), 各自身份比对独立 emit - setCheckedTms 并发拉取未命中缓存项, 计数汇聚; 新勾选 abort 旧批(以最后一次为准); tmExceptionCache_ 命中不发请求 - busyChanged 由 anyInflight() 驱动(emitBusyIfChanged 去抖, 值变才发) - 析构 abortAll() 退出契约 - 对外信号面零改动, main.cpp 接线据引用绑定自动切换(无需改) - 新增 9 个控制器单测(依赖链/并发/abort-and-replace/busyChanged/缓存语义/回灌防护/失败路径) - 测试 96 -> 105 全绿 |
||
|---|---|---|
| .. | ||
| app | ||
| controller | ||
| core | ||
| data | ||
| net | ||
| render | ||
| spike | ||
| CMakeLists.txt | ||
| smoke_test.cpp | ||