把渲染层下沉的现行口径同步回主规范与事件化里程碑

- 主规范新增「AGC 客户端现行分工:离线前端、事件驱动与维护态出口」一节,写明网络与凭据归 Rust、活动回合唯一事实源是 Direct 线程管理器、维护态由 Rust 分类并单一事件广播、失败文案只展示宿主脱敏摘要
- 事件化里程碑的范围与验收第 2 条改为按线程管理器的登记/进度内容变化/收口三处通知点表述,并补 2026-09-28 对齐说明
This commit is contained in:
kdletters
2026-09-28 15:59:11 +08:00
parent f5424ce805
commit c7df10b394
2 changed files with 16 additions and 2 deletions
@@ -11,7 +11,7 @@ Parent Spec: `docs/technical/【技术方案】AGC后端框架整理与演进路
## 范围
- Direct 活动回合列表:由 Rust 活动注册表变更事件驱动。
- Direct 活动回合列表:由 Rust 活动注册表变更事件驱动(2026-09-28 对齐后,唯一事实源是 Direct 线程管理器的活动回合快照)。
- 本地素材生成任务:由 Rust 账本变更事件驱动,保留一次恢复快照读取。
- Runtime 设置中的 AGC 插件状态:由 Rust 插件状态事件驱动,保留显式刷新。
- 保留两处已修复的无限 `setState` 回归测试,并补充事件订阅/去重/卸载测试。
@@ -26,7 +26,7 @@ Parent Spec: `docs/technical/【技术方案】AGC后端框架整理与演进路
## 验收标准
1. AGC 工作区代码中 Direct 活动回合与本地素材生成任务不再设置固定 `setInterval` 轮询。
2. Rust 在活动回合登记、更新、结束和素材生成账本状态变化时发出快照/更新事件;事件 payload 不含凭据或未脱敏项目内容。
2. Rust 在活动回合登记、进度内容变化、收口和素材生成账本状态变化时发出快照/更新事件;事件 payload 不含凭据或未脱敏项目内容。
3. React 订阅先于首次快照读取,事件重复或内容未变时不产生新的数组状态引用;卸载后迟到事件不能写回。
4. 插件状态页进入时读取一次,状态变更事件即时更新,用户操作仍可显式刷新;不再每秒读取。
5. 现有无限 `setState` 回归测试继续通过,并新增事件驱动竞态测试。
@@ -46,3 +46,6 @@ Parent Spec: `docs/technical/【技术方案】AGC后端框架整理与演进路
- 验收 3/7(订阅先于快照、重复事件不换数组身份、卸载后迟到事件不写回、subscriber 幂等注销):`npx vitest run tests/directActiveTurns.test.tsx tests/resourceCanvasAssetGenerationQueue.test.ts --root apps/ai-game-creator-shell` → **11 + 19 passed**;Rust 侧 `cargo test --manifest-path apps/ai-game-creator-shell/src-tauri/Cargo.toml --offline -- direct_thread_manager --test-threads=1` → **13 passed**。
- 验收 4(插件状态:进入读一次 + 事件更新 + 显式刷新):`npx vitest run tests/pluginHost.test.ts --root apps/ai-game-creator-shell` → **14 passed**。
- 仍未验证(需要真实客户端):长回合中插件状态事件与素材任务事件的真实时序、真实 Provider 生成下的任务账本事件密度。
## 对齐说明(2026-09-28)
合并 `origin/master` 时确认:Direct 活动回合的唯一事实源已经移到 Direct 线程管理器(`active_turn_snapshots()`),本里程碑原来的通知点挂在 `DIRECT_TAONIER_ACTIVE_INVOCATIONS` 上。对齐后只保留线程管理器一份快照,`accept_direct_thread_turn` / `update_direct_thread_active_turn`(仅内容变化时)/ `complete_direct_thread_turn(_if_reserved)` 各广播一次 `game-creator-direct-active-turns-changed`;渲染层的「先订阅、再读一次快照、重复事件不换数组身份、卸载不写回」契约未变。细节见 `docs/project-memory/plans/【里程碑】AGC渲染层下沉与最新master对齐-2026-09-28.md`。