Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
35 lines
2.8 KiB
Markdown
35 lines
2.8 KiB
Markdown
# 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 之后的下一个号,开工时核对。
|