Files
Jyotisha/docs/tasks/TASK-chart-western-fix-20260925.md
T

35 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TASK · 西洋盘 ASC / MC 标签与行星重叠 + 点击区过小 + 文档陈旧行(2026-09-25)
## 基线
- `origin/staging = fabe0114`(已部署)。分支 `codex/chart-western-fix-20260925`。只动 `frontend/src/components/chart-page/western-wheel-svg.tsx`、`frontend/src/lib/western-wheel-layout.ts` 与其测试、文档;与另两份修复单不交叉。
- Claude 09-25 验收:星盘 / 星历修复(`19ea0f06`)与大运 / 西洋改版(`5a2d9da9`)逐项通过;两个 golden 已按真实引擎复算(Chara 逐字节一致;西洋 11 颗行星与 12 宫头一致)。以下是未通过项。
## 事故实证
- **P1**:ASC、MC 标签在 r=162(两层行星半径 136 与 188 之间)、偏离轴线 9°,**不参与避让**。排查用真实布局函数模拟 3000 张随机盘:「ASC」与行星标签重叠约 **34%**,「MC」约 3%,行星标签之间在启用第二半径后仍约 6%。典型情形是第 12 宫有行星、离上升点几度。1990 年测试盘上升附近恰好无行星,所以测试通过。违背本次改版"消除重叠"的目的。
- **P3**:行星点击区 `r=22`(520 viewBox),375px 屏幕约 31px,低于 44px;西洋 fixture 是从真实值改写成视图键的子集(值真、形状手造,AGENTS §7.4 偏弱);`docs/BUG_HISTORY.md` BUG-1025 的修复 / 验证行与 `CHANGELOG.md`(首页拆分条目)仍写 `?settings=chart` 打开星盘资料,实际已跳 `/people`。
## 决策记录
- D1 ASC / MC 纳入避让集合(与行星同一轮松弛计算,轴点标签视为固定锚点、行星让位),或给轴点独立半径且与两层行星半径都保持 ≥ 字号的间距;二选一,写进 PROGRESS。
- D2 避让测试改为**扫描**:用真实引擎生成至少 50 张虚构盘(或排查用的随机生成器 + 真实布局函数,固定种子),断言任意两标签(含 ASC / MC)包围盒不相交;允许的残余重叠率写成常量且 ≤ 1%。
- D3 行星点击区在 375px 下 ≥ 44px(透明命中圆,不改视觉)。
- D4 西洋 fixture 改为保存真实引擎原始响应,再由测试内的 mapper 转换;文档两处陈旧行更正。
## 硬红线
不改引擎与接口;不缩小字号到 < 12;相位线常显不变;骨架模式无文字不变;全量失败名单与基线逐条一致(Node 22 + Linux);既有断言三栏。
## 开工前置命令
```bash
git fetch origin --prune
git worktree add -b codex/chart-western-fix-20260925 .worktrees/chart-western-fix-20260925 origin/staging
cd .worktrees/chart-western-fix-20260925/frontend && npx tsx --test tests/western-wheel-layout.test.ts tests/chart-page-view.test.tsx
```
## BUG 编号
沿用 BUG-1029 之后的号:若需记账用 people-archive-p1-fix 之后的下一个号,开工时核对。