2.4 KiB
2.4 KiB
T01 世系树状态收敛 Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: 将 T02 小屏、空数据和失败提示收敛进 T01,保留世系节点交互并以位图资产替代 CSS 表面。
Architecture: T01 读取 state 和 genealogyId,由一个 treeState 唯一管理四种同页状态。T02 文件与路由删除;所有节点/画布/底部信息表面由三个不透明位图承载。
Tech Stack: uni-app、Vue 3、现有 mock appApi、ImageGen、PowerShell 静态契约、Chrome DevTools Protocol 冒烟。
Global Constraints
- 仅修改 T01/T02 收敛涉及的文件,不触碰已验收页面可见效果。
- 位图承载完整画布、节点、信息条、边框和装饰;CSS 只负责布局、文字、状态与交互。
- 不执行 Git 暂存、提交、推送、重置或 worktree 操作。
Task 1: TDD 契约(RED)
- 创建
tests/t01-tree-state-contract.ps1与tests/t01-tree-state-runtime-smoke.js。 - 静态契约要求 T02 路由/文件不存在,T01 含
tree|landscape|empty|error、三张位图、T03/T04 跳转和无 CSS 表面;运行冒烟要求三种查询状态及genealogyId=1001节点跳转。 - 运行两个新测试,确认当前实现因 T02 仍存在和 T01 缺少状态节点而红灯。
Task 2: 位图资产
- 用 ImageGen 生成 1122×1320 不透明
t01-tree-canvas.png、280×228 不透明t01-member-node.png、1122×280 不透明t01-member-sheet.png;均检查尺寸和四角 alpha。 - 在 P00 登记路径、用途、尺寸、T01 引用与不透明属性。
Task 3: T01 同页状态与 T02 删除(GREEN)
- 修改
pages/tree/t01-tree-overview.vue:加载后由状态和真实成员确定treeState;画布、节点、信息条使用新位图;保留原有 T03/T04/T06/T07 跳转。 - 从
pages.json删除pages/tree/t02-tree-states,删除pages/tree/t02-tree-states.vue,移除data/page-catalog.js的t02。 - 运行新契约和运行冒烟转绿。
Task 4: 收口
- 全量路由契约和 A03 路由计数更新为 54;当前文档同步 T02→T01 已完成、G06 仍待审美确认。
- 截图并审视 T01 tree/landscape/empty/error、412×915 tree;运行全部静态契约、相关冒烟和
git diff --check。