Files
Jyotisha/docs/tasks/TASK-starter-entry-soften-20260922.md
T
2026-09-22 11:19:35 +08:00

67 lines
3.9 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.
# 任务书 · 首页“今日星语 / 生时校正”入口弱化边框(2026-09-22)
## 0. 基线与依赖
- 基线 commit:`1bc6a954c597e2817fe72bfedad93119ab19a527`;执行方开工前 fetch 并重核最新 `origin/staging`。
- 执行分支:`codex/starter-entry-soften-20260922`;工作树:`.worktrees/starter-entry-soften-20260922`。
- 这是局部视觉轮次,不得与人物选择轮次同时修改同一首页组件;功能 P0 任务优先。
- 与 `TASK-chat-subject-picker-20260922.md` 串行:人物选择器先完成其 `page.tsx`/聊天顶栏与入口接线并合入 staging,本单再改 starter entry 及其 CSS;执行方不得并行修改同一首页组件。
- 入口当前已统一为 `.starter-entry`,不恢复旧卡片,不重做首页。
## 1. 会议事实与现状
业务认可新版整体布局,主要建议是降低“今日星语”和“生时校正”的视觉强调:边框较抢眼,可考虑淡色块、轻阴影、弱化边框。调查确认两者已经使用统一 `.starter-entry`、native button、现有 Sparkles/Clock3 图标和已有 opening 状态;没有证据需要恢复旧卡片或新增功能入口。
相关约束:BUG-918(移动端空间)、BUG-934(旧卡片测试不可恢复)、`frontend/DESIGN.md` 现有 44px、focus、motion 规则、`frontend/docs/VOICE.md`。
## 2. 决策记录
- 只调整 `.starter-entry` 的视觉状态:默认、hover、pressed、focus-visible、disabled/opening、窄屏宽度。
- 保留 native button、当前入口函数、暖色 palette、现有图标和 reduced-motion;不引入新的卡片层级。
- 视觉 pill 可保持约 36px,但实际透明触控命中区必须至少 44px。
- opening 状态不新增 spinner;不写“正在加载”类新文案。
- 图标更换与轻量动效审计另立 P2,不阻塞本单。
## 3. 硬红线
1. 不恢复已删除的旧卡片 class/入口,不改业务动作和数据流。
2. 不借视觉优化修改人物切换、聊天输入、滚动跟随或加载动画。
3. focus-visible 必须比默认 hairline 更清晰;不能为弱化边框牺牲键盘可用性或对比度。
4. 不新增循环动画、spinner 或依赖升级。
5. UI 改动同提交更新 `frontend/DESIGN.md`;可见文案变化先对照 VOICE;源码符号改动前 `git grep -n` 覆盖 tests/frontend。
## 4. 任务分解与验收标准
### T1 · 形成可测量视觉合同
在 `frontend/DESIGN.md` 写清默认 border token/宽度、hover、pressed surface tint、focus ring、disabled/opening 和 reduced-motion 规则;明确 36px 视觉高度与 44px 命中区如何共存。不得只写“更轻”。
### T2 · 实现局部 CSS/组件调整
只改 `frontend/src/components/starter-home.tsx`、`frontend/src/app/globals.css` 及必要的局部合同测试;保留入口语义、`aria`、disabled/opening 行为。移动端按 375px 宽度预算处理文字和图标,不裁切、不重叠、不布局抖动。
### T3 · 回归测试
扩展/新增测试覆盖真实 `.starter-entry`、入口函数、键盘焦点、44px 命中区、hover/pressed/focus、reduced-motion、375px 文本布局;不得重新断言已删除旧卡片 class(BUG-934)。
## 5. 让步顺序
T1 > T2 > T3。没有明确 token 和对比度规则时不改 CSS;若窄屏无法保持合同,宁可记录 blocked,不缩小触控目标。
## 6. 开工前置命令
```bash
git status -sb
git fetch origin --prune
git worktree add -b codex/starter-entry-soften-20260922 .worktrees/starter-entry-soften-20260922 origin/staging
cd .worktrees/starter-entry-soften-20260922/frontend
./node_modules/.bin/tsc --noEmit
npm run lint
npm test
npm run build
```
## 7. 记录与验收
写 `docs/tasks/PROGRESS-starter-entry-soften-20260922.md`,同轮更新 `frontend/DESIGN.md`;如产生用户可感知文案/行为更新 `CHANGELOG.md`。验收按 tsc/lint/npm test/build/Static/gzip 口径,浏览器截图或无 Chrome 环境缺口写入 `docs/testing/`,不声称通过。