@chinhae/atw-cli 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/dist/migrations/manifests/0.5.0.json +9 -0
- package/dist/migrations/manifests/0.6.0.json +442 -0
- package/dist/templates/atw/config.yaml +7 -6
- package/dist/templates/atw/workflow.md +48 -18
- package/dist/templates/common/bundled-skills/atw-implement/SKILL.md +8 -0
- package/dist/templates/common/bundled-skills/atw-implement-all/SKILL.md +93 -0
- package/dist/templates/common/bundled-skills/atw-implement-all/agents/openai.yaml +5 -0
- package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw-local.md +3 -1
- package/dist/templates/common/bundled-skills/atw-init-repo/references/issue-tracker-atw.md +3 -1
- package/dist/templates/common/bundled-skills/atw-noob-mode/SKILL.md +1 -1
- package/dist/templates/common/bundled-skills/atw-prototype/SKILL.md +2 -2
- package/dist/templates/common/bundled-skills/atw-prototype/UI.md +44 -24
- package/dist/templates/common/bundled-skills/atw-prototype/references/design-direction.md +91 -58
- package/dist/templates/common/bundled-skills/atw-prototype/references/direction-persuasion.md +25 -0
- package/dist/templates/common/bundled-skills/atw-prototype/references/style-explorer.md +1 -1
- package/dist/templates/common/bundled-skills/atw-tickets/SKILL.md +2 -0
- package/dist/templates/common/bundled-skills/atw-ui/SKILL.md +46 -31
- package/dist/templates/common/bundled-skills/atw-ui/references/layout-and-viewport.md +7 -5
- package/dist/templates/common/bundled-skills/atw-ui/references/media.md +117 -20
- package/dist/templates/common/bundled-skills/atw-ui/references/motion.md +47 -23
- package/dist/templates/common/bundled-skills/atw-ui/references/play.md +18 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/reviewer-manual.md +73 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/scroll-narrative.md +98 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/tools.md +46 -0
- package/dist/templates/common/bundled-skills/atw-ui/references/visual-language.md +40 -24
- package/dist/templates/common/bundled-skills/atw-ui/references/visual-review.md +26 -82
- package/dist/templates/common/bundled-skills/atw-ui/scripts/shoot.mjs +1721 -0
- package/dist/templates/common/commands/continue.md +1 -1
- package/dist/templates/shared-hooks/inject-workflow-state.py +2 -2
- package/dist/templates/snow/SNOW.md +1 -1
- package/package.json +2 -2
- package/dist/templates/common/bundled-skills/atw-prototype/references/visual-language.md +0 -88
- package/dist/templates/common/bundled-skills/atw-prototype/references/visual-review.md +0 -63
- package/dist/templates/common/bundled-skills/atw-ui/references/imagery.md +0 -69
|
@@ -1,8 +1,38 @@
|
|
|
1
1
|
# 设计方向
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 目录导航
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- [认品类,拆标杆](#认品类拆标杆)
|
|
6
|
+
- [先定调性,再求差异](#先定调性再求差异)(含 [模糊词翻译](#模糊词必须翻译))
|
|
7
|
+
- [用生成引擎起方向](#用生成引擎起方向)
|
|
8
|
+
- [定色彩](#定色彩)
|
|
9
|
+
- [定首屏骨架](#定首屏与工作区骨架)([说服型骨架](direction-persuasion.md))
|
|
10
|
+
- [方向卡](#方向卡)
|
|
11
|
+
- [差异检验](#差异检验)
|
|
12
|
+
- [北极星与呼应](#北极星与呼应)
|
|
13
|
+
- [让人记住的一刻](#让人记住的一刻)
|
|
14
|
+
- [参考怎样转为设计决定](#参考怎样转为设计决定)
|
|
15
|
+
- [小样、选择与品味](#小样选择与品味)
|
|
16
|
+
|
|
17
|
+
方向的目标是“这个品类里最好的团队会这样做,而且做出了这个产品自己的样子”;只是“和模型的默认不一样”还不够。高级感来自一套语言的完整和细节,不来自题材少见。
|
|
18
|
+
|
|
19
|
+
方向里的题材、材质、场景、字体和配色,每次都从当前产品的内容、受众和使用场合里推出;想到的方向和常见的“网红风格”撞上时,要能说出来自这个产品的理由,否则重选。
|
|
20
|
+
|
|
21
|
+
## 认品类,拆标杆
|
|
22
|
+
|
|
23
|
+
动手前先认清这是什么品类的产品,再看这个品类里做得最好的产品是怎么做的。这一步给出地板:用户已经习惯的结构,以及一线产品的完成度。后面的调性和生成引擎,是在这块地板之上找这个产品自己的东西。
|
|
24
|
+
|
|
25
|
+
按三步做,每一步都写下来:
|
|
26
|
+
|
|
27
|
+
1. **说出品类和标杆。** 这是什么品类的产品,例如“语言学习 App”“组件库官网”“项目管理工具”“作品画廊”。这个品类里风格最鲜明的两三家是谁。选风格最鲜明的,不一定是最有名的。
|
|
28
|
+
2. **拿到真实画面,再拆其中一家。** 用宿主的浏览器或搜索,取到这两三家标杆的首屏和一个关键控件的真实画面,存进任务目录的 `references/`,对着图拆,不凭记忆写:记忆里的产品常常是它几年前的样子。某一家的页面打不开或者是 404,换一个地址再试一次,还不行就换一家;拿到两家的真实画面就够,打不开的页面不算参考。拆成 6–10 条看得见的要素,每条写两件事:它是什么样,它为什么这样做。按这几层去拆:控件的形状和手感、字体、颜色、图标和插画、状态与反馈、动效、文案语气、首屏放了什么。要拆到能照着做的程度:写出形状、尺寸关系、状态怎样变化,以及它服务的使用场合。拆出来只有“干净、留白、一种强调色”,说明没拆到位,换一家重拆。确实拿不到画面时,在方向卡“标杆与取舍”开头写明“未看图,凭记忆”,并把字体、色彩、主视觉三栏标为待验证:这三栏最容易凭记忆写成模型默认。
|
|
29
|
+
3. **决定留什么、换什么。** 拿本产品的受众、内容和使用场合逐条对照:理由同样成立的留下,理由不成立的换掉,换掉的部分由后面的生成引擎给出替代。结果写进方向卡的“标杆与取舍”。
|
|
30
|
+
|
|
31
|
+
拆的时候分清三样东西:
|
|
32
|
+
|
|
33
|
+
- **基线**:用户已经期待的结构,例如画廊里作品先行、筛选在顶部,商店里购物车在右上角。沿用它,用户不用重新学。
|
|
34
|
+
- **套路**:这个品类人人都在用的默认版式。一轮方向里至少一个要打破它,见“差异检验”。
|
|
35
|
+
- **撞脸**:字体、配色、主视觉和图标都和某个标杆一样,只换了名字。任何方向都不允许。
|
|
6
36
|
|
|
7
37
|
## 先定调性,再求差异
|
|
8
38
|
|
|
@@ -16,7 +46,7 @@
|
|
|
16
46
|
| 分量 | 轻 ↔ 重 | 字重、色块面积、阴影硬度 |
|
|
17
47
|
| 严肃度 | 活泼 ↔ 庄重 | 圆角、插画语言、动效幅度 |
|
|
18
48
|
|
|
19
|
-
|
|
49
|
+
取值写成“这个产品是什么 → 五个刻度各取哪一端”,依据来自它的受众、内容和使用场合。刻度两端的任何组合都可以完全成立,失败的是没有依据的默认:
|
|
20
50
|
|
|
21
51
|
- 证据指向喧闹粗粝,交付的却是米色卡片、柔和阴影和大留白。这是最常见的失败,设计被磨回了模型默认的“安静高级”。
|
|
22
52
|
- 反过来,为了显得有趣,给一个本该安静的产品硬加颗粒、撕纸边和粗边框。
|
|
@@ -39,67 +69,68 @@
|
|
|
39
69
|
|
|
40
70
|
翻译不出可观察决定的词,从理由里删掉。
|
|
41
71
|
|
|
72
|
+
动效与交互上的模糊词同样必须翻译为具体模式:
|
|
73
|
+
|
|
74
|
+
| 动效模糊词 | 翻译成什么 |
|
|
75
|
+
| --- | --- |
|
|
76
|
+
| 滚的时候动起来 | 先分清是滑动触发还是滑动驱动,见 [滚动叙事](../../atw-ui/references/scroll-narrative.md) 的“滚动交互的两种模式”;未明确时按单向一次性处理 |
|
|
77
|
+
| 切页面丝滑一点 | 选定转场模式:遮罩式、交叠式还是共享元素,取舍和时长见 [动效](../../atw-ui/references/motion.md) 的“整页转场的稳定性取舍” |
|
|
78
|
+
| 背景有立体感 | **分层视差**:前后景的速度差和哪些层不做视差,按 [滚动叙事](../../atw-ui/references/scroll-narrative.md) 的“视差与一镜到底” |
|
|
79
|
+
| 首屏要有冲击力 | 明确首屏单一主角(大字排版、一件实物、核心 3D 或视频),不堆砌次要修饰;进场时长见 [动效](../../atw-ui/references/motion.md) 的“时长和幅度” |
|
|
80
|
+
|
|
42
81
|
## 用生成引擎起方向
|
|
43
82
|
|
|
44
|
-
|
|
83
|
+
每个方向都从一个具体的引擎出发,而不是从形容词出发,不同方向最好用不同的引擎。引擎的内容来自这个产品的证据:受众、内容、使用场合和品牌已有的资产。
|
|
45
84
|
|
|
46
|
-
- **材质 ×
|
|
47
|
-
-
|
|
48
|
-
-
|
|
85
|
+
- **材质 × 环境**:一种材质放在一个具体的环境里。由它推出光照、深度、边缘的处理和动效的阻尼。
|
|
86
|
+
- **一个具体场景**:一个有时间、地点和光线的场景。由场景里的光线、声音、材料和节奏推出质感和动效速度。适合情绪型工具。
|
|
87
|
+
- **角色原型**:给产品一个具体的性格,让性格决定字体和动作。
|
|
49
88
|
- **一场设计运动或文化语法**:选一个和产品的题材、受众或地域有真实联系的设计运动或视觉传统,借用它的语法,而不是贴它的图案。
|
|
50
|
-
-
|
|
89
|
+
- **其他领域的整套表现形式**:把另一个领域的媒介或器物的表达方式借过来。只借它最有辨识度的一两个手法,页面本身仍是原来的体裁;不把那个媒介的部件一件件搬来,那会变成道具堆砌。
|
|
51
90
|
- **有意打破常规**:激进的非对称版式、不和谐的配色与字体、让人不安的留白,但整体仍然好看、功能完整。
|
|
52
91
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
写方向卡之前,先在心里把方向想厚:用起来是什么感觉,让人联想到什么表面和物件,页面怎样流转,在讨好哪一类人。卡片是从这些思考里提炼出来的。跳过这一步,卡片只剩三十个字的空壳,后面做出的页面也会是平的。
|
|
92
|
+
引擎决定结构、手感、质感和动效;颜色按下一节单独定。
|
|
56
93
|
|
|
57
|
-
|
|
94
|
+
## 定色彩
|
|
58
95
|
|
|
59
|
-
|
|
96
|
+
颜色不直接取生成引擎里那种材质或场景的固有色:隐喻一落到材质,颜色就跟着材质走,不同的产品最后会落在同一组颜色上。产品自己的实物、内容和品牌资产是颜色的正当来源,主视觉就是产品实物时,主色可以从实物里取。其余按四步定:
|
|
60
97
|
|
|
61
|
-
|
|
98
|
+
1. 先写两行,几个方向共用:不看这个产品、只凭品类会顺手给出的那套配色,写出底色和强调色;拆过的标杆各占了哪个色相和明暗。
|
|
99
|
+
2. 每个方向从这两者之外选一个色相家族和明暗,或明确的黑白,用一句写它来自这个产品的什么:内容、受众或品牌资产。行业惯用色可以用,前提是理由来自这个品牌。
|
|
100
|
+
3. 写出至少三层:底色、主强调,以及由它们派生的选中底、描边和禁用态。
|
|
101
|
+
4. 自检:去掉所有发光和模糊后,配色是否还成立;它是从这个产品推出来的,还是一组放在哪个产品上都不出错的安全色。是后者,回到第 2 步。
|
|
62
102
|
|
|
63
|
-
|
|
103
|
+
黑白灰加一种强调色,甚至完全不用彩色,也是完整的色彩身份,这时颜色交给内容:产品截图、用户的照片、一张画。几个方向之间不按明暗分:头号失败是“一个亮、一个暗、一个暖”,每个方向要有自己的色相家族或材质感,明暗只是结果。
|
|
64
104
|
|
|
65
|
-
|
|
66
|
-
| --- | --- |
|
|
67
|
-
| 满版图像压字 | 一张图占满首屏,标题和动作压在图的安全区里 |
|
|
68
|
-
| 居中单一物件 | 一个物件或一句话居中,四周是大面积空白 |
|
|
69
|
-
| 画面即界面 | 首屏就是产品界面或一件实物本身,标题、导航和按钮都长在它上面 |
|
|
70
|
-
| 满版文字 | 文字本身就是画面,字大到占满首屏、跨过边缘或被裁切 |
|
|
71
|
-
| 通栏上下堆叠 | 通栏大标题横跨整个宽度,下面紧接内容 |
|
|
72
|
-
| 网格拼贴 | 多块内容同时出现,按网格或拼贴排列,没有单一主角 |
|
|
73
|
-
| 纵排或斜向 | 文字竖排、斜切或旋转,打破从左到右的阅读 |
|
|
74
|
-
| 左右分栏 | 文字一侧,画面一侧。这是模型的默认,一轮最多一个方向使用,并写出为什么非它不可。另一侧必须是跨越结构的图像、色块或图形装置,不能是装在卡片里的产品界面 |
|
|
75
|
-
|
|
76
|
-
规则:
|
|
77
|
-
- 同一轮的方向,骨架互不相同。
|
|
78
|
-
- 左右分栏最多出现一次。所谓“大标题九栏、说明三栏”同样算左右分栏。
|
|
79
|
-
- 骨架定好之后再写文案。文案去适应骨架,不让骨架去适应“标题 + 说明 + 按钮”的组合。
|
|
105
|
+
## 定首屏与工作区骨架
|
|
80
106
|
|
|
81
|
-
|
|
107
|
+
写文案之前先定骨架,文案去适应骨架。先回答一个问题:**用户来首屏是看什么、做什么?**
|
|
82
108
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
109
|
+
- **来听一句话、看一张画、被说服的页面**(落地页、品牌页、产品发布页、展览页):
|
|
110
|
+
从 8 种首屏骨架里选,跳出左右分栏默认模板。详见 [说服型页面首屏骨架](direction-persuasion.md)。
|
|
111
|
+
- **来看内容、挑东西或处理对象的页面**(画廊、商店、信息流、文档、作品集、工具和后台):
|
|
112
|
+
首屏就是第一排内容本身或工作区。导航、标题和筛选合起来不超过一两行,第一排内容要完整出现在首屏。不放首屏口号,也不放解释这个页面是干什么的段落。按用户最常做的动作安排内容,例如浏览就让内容铺满,处理就让当前对象和动作挨在一起。
|
|
113
|
+
- **两种都有时**(例如商店首页顶上有活动横幅):以用户最常来做的事为准,横幅可以留,但不能把第一排内容推出首屏。
|
|
86
114
|
|
|
87
115
|
## 方向卡
|
|
88
116
|
|
|
89
|
-
|
|
117
|
+
每个方向写一张方向卡,每项都填具体选择,不填形容词。出三个首屏的那一轮,调性和标杆与取舍几个方向共用一份(候选分布在不同调性上时,调性各填各的),每个方向只填北极星、生成引擎、首屏骨架、字体、色彩、主视觉、图标和控件语法;其余各栏在方向选定后、做完整页面之前补齐。派生版式时,每个版式变体只重写首屏骨架、页面结构和主视觉三栏:
|
|
90
118
|
|
|
91
119
|
| 字段 | 要写到的程度 |
|
|
92
120
|
| --- | --- |
|
|
93
121
|
| 北极星 | 一句能指导取舍的体验意图:用起来像在什么地方、做什么事 |
|
|
94
122
|
| 调性 | 五个刻度的取值及依据 |
|
|
123
|
+
| 标杆与取舍 | 品类是什么,拆的是哪一家,对着哪几张真实画面拆的(写存放路径;没看图就写“未看图,凭记忆”);沿用了哪几条、换掉了哪几条,各自为什么 |
|
|
95
124
|
| 生成引擎 | 用了哪一种,具体是什么,来自这个产品的什么证据 |
|
|
96
|
-
| 首屏骨架 |
|
|
125
|
+
| 首屏骨架 | 先写用户来首屏看什么。内容页写首屏能看到几个对象、页头占几行;说服型页面写从骨架表里选的哪一种,附 3–5 个方框的首屏线框:每块是什么、占多大面积、阅读从哪里开始 |
|
|
97
126
|
| 页面结构 | 首屏以下怎么组织,例如单列沉浸滚动,或导航、内容、详情三栏 |
|
|
98
127
|
| 各区块的形式 | 首屏以下每个主要区块(产品实样、功能、价格、隐私、结尾等)在这个方向里长成什么东西。形式从生成引擎推出,不是同一个模块换颜色 |
|
|
99
128
|
| 字体 | 具体字族、字重和尺度关系:展示、正文、数字各用什么,相差多大 |
|
|
100
|
-
| 色彩 |
|
|
129
|
+
| 色彩 | 按“定色彩”写:十六进制色值及用途,至少三层,再加一句它来自这个产品的什么 |
|
|
101
130
|
| 主视觉 | 哪张图或哪个图形承担情绪与识别,来自复用、生成还是排版本身 |
|
|
102
131
|
| 图标 | 用哪一套、什么描边粗细和端点,或者不用图标、改用字符和编号 |
|
|
132
|
+
| 控件语法 | 按钮、输入、选中、标签、状态和动效共用的一套形状和手感,用一句话写清,例如圆角多大、描边多粗、按下时怎样变化 |
|
|
133
|
+
| 动效 | 手感用“一个拟声词 + 一个实物的动作”来写,实物从这个产品的领域里找;三处基本动效各怎么动、怎样彼此呼应;落地页类页面再写滚动分镜(区块出场、选了哪种滑动驱动的叙事),见 [滚动叙事](../../atw-ui/references/scroll-narrative.md);有没有一处从产品里找到的巧思。见 [动效](../../atw-ui/references/motion.md) |
|
|
103
134
|
| 结构性突破 | 改变首屏结构的那一处偏离常规,以及它怎样放大北极星。手写批注、质感按钮、划线这类局部细节不算 |
|
|
104
135
|
| 记忆点 | 集中发力的一两处:在哪个时刻或位置,用什么材质、动作或画法,见“让人记住的一刻” |
|
|
105
136
|
| 放弃什么 | 这个方向主动不要的常见做法 |
|
|
@@ -108,63 +139,65 @@
|
|
|
108
139
|
|
|
109
140
|
## 差异检验
|
|
110
141
|
|
|
111
|
-
|
|
142
|
+
方向卡写完、做首屏之前,逐条检验。基于选定方向派生版式,或用户已经给了品牌规范时,字体和配色是共用的,下面关于字体和色彩的几条不适用,骨架、主视觉和页面结构仍要各不相同:
|
|
112
143
|
|
|
113
144
|
- **比线框,不比描述**:把各方向的首屏线框并排放在一起比。方向的描述可以各不相同,线框却可能都是“左边大标题,右边小块”。线框相似就是同一骨架,重选骨架。
|
|
114
145
|
- **四项至多一项相同**:首屏骨架、字体、色彩、主视觉四项里,任意两个方向至多一项相同;否则就是同一方向的变体,换一个生成引擎重写其中一个。
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
- **至少一个打破品类套路**:在同一调性内,至少一个方向不用这个品类的默认版式。常见套路如下:
|
|
146
|
+
- **不按明暗分方向**:每个方向有自己的色相家族或黑白,见“定色彩”。
|
|
147
|
+
- **结构也要不同**:填了“页面结构”的几个候选(版式变体,或都要做成整页的方向),页面组织不能完全相同、只换颜色和质感。候选只需共享核心内容和主要任务。
|
|
148
|
+
- **至少一个走到极端**:在证据允许的调性范围内,至少一个方向在构图、色彩和主视觉上都取明确的选择,不做折中;折中的方向最多一个。
|
|
149
|
+
- **至少一个打破品类套路**:在同一调性内,至少一个方向不用这个品类的默认版式。打破套路不等于抛弃基线。常见套路如下:
|
|
120
150
|
- 后台:左侧栏、顶栏加卡片网格。
|
|
121
151
|
- 电商:大横幅、商品网格加页脚。
|
|
122
152
|
- 社交:底部标签栏、信息流加悬浮按钮。
|
|
123
153
|
- 落地页:主视觉、特性、用户评价,最后一个行动按钮。
|
|
124
154
|
- 聊天:左侧联系人,右侧消息。
|
|
155
|
+
- AI 与开发者工具:黑色背景、紫蓝发光弥散圆晕、浮空粒子与千篇一律的胶囊按钮。
|
|
156
|
+
- **不撞脸**:把每个方向和它拆过的标杆并排看,撞脸就重做,定义见“认品类,拆标杆”。沿用基线不算撞脸。
|
|
125
157
|
- **盲看**:遮住名字和说明只看画面,仍能说出每个方向带给人的不同感受。
|
|
126
158
|
|
|
127
|
-
|
|
159
|
+
首屏做出来后再比一次实际画面:在对比页并排看首屏,眯起眼睛只看明暗块面。块面的分布如果相似,比如都是左边一大块、右边一小块,即使字体和颜色都不同,也回到骨架表重做,不靠换装饰补救。
|
|
128
160
|
|
|
129
161
|
## 北极星与呼应
|
|
130
162
|
|
|
131
|
-
|
|
163
|
+
北极星选定后,转成少量相互支持的关系:图像的尺度和标题的留白怎样呼应,字形的比例和画面的比例怎样呼应,哪一处用反差。每个方向明确主角、陪衬、重复的节奏和一处结构性突破。
|
|
132
164
|
|
|
133
|
-
|
|
165
|
+
结构性突破要动的是结构,例如首屏的骨架、比例或阅读顺序,而不是多加一个装饰;它要么让主题更强,要么把人引向关键动作。精修的时候,别把有辨识度的选择磨平。新加的元素如果不能加强同一个意图,就不加。
|
|
134
166
|
|
|
135
167
|
## 让人记住的一刻
|
|
136
168
|
|
|
137
|
-
|
|
169
|
+
每个方向选一两处集中发力,其余保持安静。记忆点通常是一个组件的一次动作:结果、材质、光影、手感和节奏都做到位。
|
|
138
170
|
|
|
139
171
|
去哪里找:
|
|
140
172
|
|
|
141
173
|
- **用户会做的动作。** 点按、拖动、切换、提交,比滚动更容易成为记忆点。
|
|
142
174
|
- **关键时刻。** 付款成功、第一次完成任务、升级、删除、上传、等结果。这些时刻情绪最强,一个小动画的回报最高。
|
|
143
175
|
- **边角页面。** 404、空状态、加载、页脚。没人期待,风险又低,最容易出彩。
|
|
144
|
-
- **AI 在工作的时候。**
|
|
176
|
+
- **AI 在工作的时候。** 让过程看得见,进行中和做完的区别落在画面上。白底黑字照样成立,不需要材质和发光。
|
|
145
177
|
|
|
146
178
|
怎么想:
|
|
147
179
|
|
|
148
|
-
- **让结果当场发生。**
|
|
149
|
-
- **把数字画成看得见的量。**
|
|
180
|
+
- **让结果当场发生。** 状态切换不只换一个图标,而是让被影响的东西当场变化。用户看到的是结果,不是控件在表演。
|
|
181
|
+
- **把数字画成看得见的量。** 百分比、时长、余额,先问能不能画成面积、长度或个数。数字只是标签,量才是画面。
|
|
150
182
|
- **给抽象的状态一种材质。** 先问“这个状态如果是一个实物,会是什么”,答案从产品所在的领域里找。
|
|
151
|
-
- **借物件的动作交付结果,物件从用户手上找。**
|
|
183
|
+
- **借物件的动作交付结果,物件从用户手上找。** 选这个领域的用户本来就拿在手上的东西。票据、打印机、卡带、老游戏机这类复古实物在灵感站上已经泛滥,用之前先问:这个产品自己的实物是什么。
|
|
152
184
|
- **给控件物理和性格。** 拖动有弹性和重量,按下有光影变化,拉过头会不情愿地弹回来。
|
|
153
|
-
- **画法要说得出来源。**
|
|
154
|
-
- **一张画面垫底时,界面要退后。** 有情绪的摄影或绘画铺满,界面缩到只剩一行导航和一句话,排版严格;底图虚化或压暗,保证文字可读。
|
|
185
|
+
- **画法要说得出来源。** 点阵、字符画、像素、粒子、写实材质这类画法,只有能说出它来自产品做的事时才选。说不出来源就不选;选了就从主视觉一路用到加载、图标和空状态。
|
|
155
186
|
|
|
156
187
|
## 参考怎样转为设计决定
|
|
157
188
|
|
|
158
|
-
|
|
189
|
+
先说清这份参考拿来做什么:借它的视觉关系,把它当质量的底线,还是照着它精准还原。看过图再描述它长什么样。借鉴时取的是关系,例如“标题最重,图负责情绪,辅助信息压得很淡”,再拿当前的内容重新组织;不照搬参考里的业务模块、标识和文案。借来的隐喻要落成具体的界面决定,不做成一层妨碍操作的仿真外壳。
|
|
190
|
+
|
|
191
|
+
参考里没有的东西也是决定。参考的首屏没有标题区和说明段,就不要替它补上;参考没有用的装饰,也不要加回去。
|
|
159
192
|
|
|
160
193
|
## 小样、选择与品味
|
|
161
194
|
|
|
162
|
-
|
|
195
|
+
方向只做首屏,不一开始就做多套完整产品;轮次和数量见 [界面原型](../UI.md) 的“第一段:选方向”。
|
|
163
196
|
|
|
164
|
-
|
|
197
|
+
首屏选能暴露方向优缺点的那一页:含复杂表单的产品不能只做封面。
|
|
165
198
|
|
|
166
|
-
|
|
199
|
+
介绍产品的页面,必须让用户看到产品真正交付的东西:一张生成好的报表、一份导出的合同、一段处理后的真实数据,而不是只用文字承诺“能做什么”。这个实样往往比功能列表更有说服力,也最容易成为首屏以下某一段的主角。
|
|
167
200
|
|
|
168
|
-
|
|
201
|
+
推荐理由从任务适配、辨识度、内容承载、可读性和实现代价里比出来。请用户补充品味时,问想要什么感受、不要什么和为什么、哪些地方要保留。用户只说“再高级一点”时,用上面的翻译表追问,或拿两张小样让用户比较。
|
|
169
202
|
|
|
170
203
|
把选定方向和品味写进设计说明,作为后续判断基线。评审提出新风格时,先判断它是否解决原目标;只有当前方向确实不适配,或用户改变目标时,才重新探索。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# 说服型页面首屏骨架
|
|
2
|
+
|
|
3
|
+
落地页、品牌页、产品发布页、展览页等以说服、传递理念为主的页面,按本规范选定首屏骨架(整体设计方向流程见 [设计方向](design-direction.md))。
|
|
4
|
+
|
|
5
|
+
模型最顽固的习惯是左右分栏,它在写文案之前就定下来了:先想好标题、一段说明、一个按钮,摆好就是左右两栏。所以骨架要在写任何文案之前决定。
|
|
6
|
+
|
|
7
|
+
每个方向先从下表选一个首屏骨架,再用 3–5 个方框画出首屏线框:每块是什么、占首屏多大面积、阅读从哪里开始。
|
|
8
|
+
|
|
9
|
+
| 骨架 | 首屏长什么样 |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| 满版图像压字 | 一张图占满首屏,标题和动作压在图的安全区里 |
|
|
12
|
+
| 居中单一物件 | 一个物件或一句话居中,四周是大面积空白 |
|
|
13
|
+
| 画面即界面 | 首屏就是产品界面或一件实物本身,标题、导航和按钮都长在它上面 |
|
|
14
|
+
| 满版文字 | 文字本身就是画面,字大到占满首屏、跨过边缘或被裁切 |
|
|
15
|
+
| 通栏上下堆叠 | 通栏大标题横跨整个宽度,下面紧接内容 |
|
|
16
|
+
| 网格拼贴 | 多块内容同时出现,按网格或拼贴排列,没有单一主角 |
|
|
17
|
+
| 纵排或斜向 | 文字竖排、斜切或旋转,打破从左到右的阅读 |
|
|
18
|
+
| 左右分栏 | 文字一侧,画面一侧。这是模型的默认,一轮最多一个方向使用,并写出为什么非它不可。另一侧必须是跨越结构的图像、色块或图形装置,不能是装在卡片里的产品界面 |
|
|
19
|
+
|
|
20
|
+
规则:
|
|
21
|
+
- 同一轮的方向,骨架互不相同。
|
|
22
|
+
- 所谓“大标题九栏、说明三栏”同样算左右分栏。
|
|
23
|
+
- 骨架定好之后再写文案。文案去适应骨架,不让骨架去适应“标题 + 说明 + 按钮”的组合。
|
|
24
|
+
|
|
25
|
+
构图的大胆程度和调性无关。安静精致的产品,一样可以把一句话放在空白首屏正中,或让纵排标题贯穿整屏,或让界面本身占满首屏。调性决定音量,骨架决定结构;不要因为调性偏安静,就退回左右分栏。
|
|
@@ -75,7 +75,7 @@ macOS/Linux 通常使用 `python3`,Windows 通常使用 `py -3`;执行前确
|
|
|
75
75
|
|
|
76
76
|
生成器根据本轮项目和候选内容生成 `fingerprint`。候选内容变化后会形成新一轮存储身份,避免把旧选择误用于新作品。点“选择”时同时复制一句简短的文字:轮次、编号和方向名,有备注时再附一行,例如“<轮次>:选 03 <方向名>”,并在底部提示已复制的内容。改完备注后再点一次“已选择”重新复制;选另一个方向会直接替换当前选择。
|
|
77
77
|
|
|
78
|
-
用户粘贴复制的结果或直接说出选择后,Agent 按轮次和编号对照当前 manifest
|
|
78
|
+
用户粘贴复制的结果或直接说出选择后,Agent 按轮次和编号对照当前 manifest,确认对应本轮,再把选择与备注更新到设计说明,回到 [界面原型](../UI.md) 第一段接着做。浏览器本地保存不代表已经写回项目文件,也不会自动向 Agent 发送消息。
|
|
79
79
|
|
|
80
80
|
## 检查实际结果
|
|
81
81
|
|
|
@@ -67,6 +67,8 @@ Publish the approved tickets. **How** depends on the tracker this repo uses —
|
|
|
67
67
|
- **File-based trackers** → consult the tracker doc's "When a skill says publish to the issue tracker" section for the directory and naming convention; write one file per ticket, numbered from `01` in dependency order (blockers first). Each file's "Blocked by" lists the numbers/titles it depends on — always written in the file, even where a mirror also draws native edges on a remote tracker, because tooling reads the line. Use the per-ticket file template below — one ticket per file, never a single combined file. **If the tracker doc defines extra ticket fields, add them on top of the template.**
|
|
68
68
|
- **A real issue tracker (GitHub, Linear, …)** → publish one issue per ticket in dependency order (blockers first) so each ticket's blocking edges can reference real identifiers. Use the platform's native blocking relationship where it has one; otherwise set each ticket's "Blocked by" to the blocking issues. If the source was an existing issue, make each ticket its sub-issue (tracker doc's operation). Apply the `ready-for-agent` triage label unless instructed otherwise — the tickets are agent-grabbable by construction.
|
|
69
69
|
|
|
70
|
+
Mark a ticket a person must do — it needs an external account, a manual test pass, or a design or legal decision — as `ready-for-human` instead (the tracker doc's `Status:` line, or the triage label): `/atw-implement-all` will not dispatch it, and `/atw-implement` asks the user before doing it in their place.
|
|
71
|
+
|
|
70
72
|
Work the **frontier**: any ticket whose blockers are all done. For a purely linear chain that means top to bottom.
|
|
71
73
|
|
|
72
74
|
Do NOT close or modify any parent issue.
|
|
@@ -7,7 +7,7 @@ description: "按已选定的设计方向实现、精修和评审网站、App、
|
|
|
7
7
|
|
|
8
8
|
以明确的设计北极星组织界面,让构图、字体、色彩、素材和交互相互呼应,形成有辨识度的表达。克制是保留最有力量的选择、删除无贡献的元素,不是把所有风格磨成中庸。视觉表现与任务完成分别验收。
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
方法、评审协议和截图工具均在本目录内,工具用法见 [工具](references/tools.md);其余直接使用宿主提供的文件、浏览、看图、生成与隔离执行能力。相对链接以本文件所在目录解析。
|
|
11
11
|
|
|
12
12
|
## 在 ATW 里使用
|
|
13
13
|
|
|
@@ -17,7 +17,7 @@ description: "按已选定的设计方向实现、精修和评审网站、App、
|
|
|
17
17
|
| --- | --- |
|
|
18
18
|
| discover | 不用本技能。选方向用 atw-prototype,结论写进任务目录的 `ui-direction.md` |
|
|
19
19
|
| implement | 只在 `/atw-implement` 的流水线里使用:工单涉及界面时,界面部分按本技能步骤 1–3 和 5 完成,业务逻辑仍按流水线测试先行。不在流水线之外单独用本技能写实现代码 |
|
|
20
|
-
| accept | 只读。按步骤 4
|
|
20
|
+
| accept | 只读。按步骤 4 的“存量已有界面润色评审”,对照需求文档里的界面验收标准和设计规范取证;发现的问题记成新工单或后续任务,不当场修改 |
|
|
21
21
|
| 没有 ATW 任务的小改动 | 直接使用本技能 |
|
|
22
22
|
|
|
23
23
|
实现阶段发现方向缺失或与需求文档矛盾时,停下来告诉用户,按 ATW 的回退规则处理(回到 specify 或重新探索),不在工单里临时发散新方向。
|
|
@@ -51,16 +51,17 @@ description: "按已选定的设计方向实现、精修和评审网站、App、
|
|
|
51
51
|
| 当前范围 | 路径 |
|
|
52
52
|
| --- | --- |
|
|
53
53
|
| 单个元素、一处间距、文案或颜色这类小改动 | 直接改,在目标视口看改动处和相邻元素,交付时一两句话说明;不盘点现状、不启动评审 |
|
|
54
|
-
|
|
|
54
|
+
| 方向还没定,或明确要求重新探索、比较多个风格(存量项目改流程或加新功能、单个组件打磨,没有 `ui-direction.md` 也不算方向还没定,走下面各自的一行) | 交给 atw-prototype 的界面原型,选定方向后再回到这里 |
|
|
55
55
|
| 已有选定方向(`ui-direction.md` 或用户给定)的新界面 | 按步骤 1–5 执行 |
|
|
56
56
|
| 已有方向的深化或局部优化 | 保留方向,从步骤 2 进入,只检查受影响的区域与状态 |
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
57
|
+
| 单个组件,要打磨到极致或做出辨识度 | 按步骤 1–5 执行,范围只是这个组件,只做一个方向,不交给 atw-prototype 比较:先定一个视觉主角,从它取色,力气集中在主操作那一刻 |
|
|
58
|
+
| 存量项目里优化 UI、改流程或加新功能 | 先分清用户要哪一种:优化 UI 可以重新决定偶然形成的视觉默认值,品牌资产保留;改流程和加新功能沿用现有视觉,不交给 atw-prototype 做方向探索。盘点现有页面、设计变量和共享组件,留基线截图,从源头修改 |
|
|
59
|
+
| 截图还原 | 按 [布局与视口](references/layout-and-viewport.md) 的“精准还原”,以参考图为视觉基线,确定参考视口与布局约束后进入步骤 2,不发散新风格;每轮修改后用截图工具的 `--compare` 和参考图比对 |
|
|
60
|
+
| UI/UX 评审 | 按步骤 4 派评审者,只要诊断,不做修正;交付证据与建议 |
|
|
60
61
|
|
|
61
62
|
## 1. 确认方向
|
|
62
63
|
|
|
63
|
-
读 `ui-direction.md` 或用户给定的方向,确认北极星、方向卡、记忆点、用户的喜欢与不喜欢都还适用。方向缺失、彼此矛盾,或用户改变了目标时,回到 atw-prototype
|
|
64
|
+
读 `ui-direction.md` 或用户给定的方向,确认北极星、方向卡、记忆点、用户的喜欢与不喜欢都还适用。方向缺失、彼此矛盾,或用户改变了目标时,回到 atw-prototype 选方向,不在实现中途悄悄换风格。范围表里不交给 atw-prototype 的两类不算方向缺失:存量项目改流程或加新功能,现有视觉就是方向;单个组件打磨,在这里定下唯一的方向,写进设计说明。
|
|
64
65
|
|
|
65
66
|
atw-prototype 第二段留下的纯逻辑模块和原型页面是参考,不是要提升的代码:逻辑模块可以搬进正式代码,页面按项目的组件和规范重新实现。
|
|
66
67
|
|
|
@@ -68,18 +69,21 @@ atw-prototype 第二段留下的纯逻辑模块和原型页面是参考,不是
|
|
|
68
69
|
|
|
69
70
|
## 2. 建立视觉与交互结构
|
|
70
71
|
|
|
71
|
-
|
|
72
|
+
先按页面类型读一组,其余按需,不预先加载全部参考。落地页、品牌页、发布页和展览页开工前读视觉语言、素材、动效和滚动叙事;产品界面开工前读视觉语言、素材和动效。表里其余几行,页面里出现了左列的东西再读:
|
|
72
73
|
|
|
73
74
|
| 要解决的问题 | 参考 |
|
|
74
75
|
| --- | --- |
|
|
75
76
|
| 视觉层级、字体、色彩、空间、图标、风格统一或减法精修 | [视觉语言](references/visual-language.md) |
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
77
|
+
| 图从哪来、承担什么:选素材、生成配图与写提示词、让图和页面接成一体、实时 3D 与视频 | [素材](references/media.md) |
|
|
78
|
+
| 三处基本动效与呼应、动效手感、界面过渡、首屏动画、时长与检查 | [动效](references/motion.md) |
|
|
79
|
+
| 小游戏、抽奖、计时养成和强手感操控 | [游玩](references/play.md)(含素材与渲染,按其中链接读素材) |
|
|
80
|
+
| 落地页、品牌页、发布页、展览页的滚动动效:区块出场、滑动驱动的叙事(首屏景深、一镜到底等)与动效库 | [滚动叙事](references/scroll-narrative.md) |
|
|
79
81
|
| 精准还原、视口与溢出检查 | [布局与视口](references/layout-and-viewport.md) |
|
|
80
82
|
|
|
81
83
|
新产品同时交代主要内容的视觉层级和关键操作链;不要只完成漂亮的默认状态。营销页面可以表达情绪与品牌,高频工具优先识别效率和操作稳定性。
|
|
82
84
|
|
|
85
|
+
新界面和改动了操作流程时,按 [动效](references/motion.md) 做出三处基本动效;落地页、品牌页、发布页和展览页还必须读 [滚动叙事](references/scroll-narrative.md),用成熟的动效库做区块按内容出场和至少一段滑动驱动的叙事,手法按页面挑。两者都写进方向卡的“动效”一栏,改流程和加新功能时写进设计说明;小改动不加。
|
|
86
|
+
|
|
83
87
|
交互、表单、状态、弹窗和响应式的实现规则,项目或宿主已有相应规范时照用。
|
|
84
88
|
|
|
85
89
|
在构图阶段按 [素材](references/media.md) 判断图像能否承担主信息或情绪重心,包括后台、工具和内容产品。需要关键素材时先选定或制作它,再围绕其主体、留白与裁切安排文字和操作;不等布局填满后再补图。
|
|
@@ -88,36 +92,47 @@ atw-prototype 第二段留下的纯逻辑模块和原型页面是参考,不是
|
|
|
88
92
|
|
|
89
93
|
## 3. 制作并取得实际证据
|
|
90
94
|
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
- 同一批相关修改集中检查,复用已有会话和证据。截图保存成功不等于已经看过;构建成功不等于视觉或操作已验证。
|
|
95
|
+
- 先做完最有代表性的一页或关键的操作流程,检查过再往其他页面铺开。
|
|
96
|
+
- 示例内容按真实产品的样子写。模拟数据、生成图片、未接入的动作写在交付说明里,不写进界面:画面上不出现“示例”“示意图”“按钮未接入”“仅保存在本机”这类制作说明。不伪造业务成功、客户评价或产品指标。
|
|
97
|
+
- 在目标视口运行并查看。平时看效果只截当前这一屏,攒一批改动再截;送评审前和交付前,才用 [工具](references/tools.md) 里的截图工具取齐证据,一条 `--evidence` 命令就能出齐状态图、200% 局部和录屏,落地页再录一段从头滚到底。录屏自己按正常速度看一遍:该动的地方没动就补上,不逐帧核对。
|
|
98
|
+
- 截图工具每次都会列出“默认做法提示”,在取证那一次统一处理:可读性提示按 [工具](references/tools.md) 里的分组处理,标为要改的必须改;眉标、单侧色条、卡片套卡片这类模型默认做法,改掉,或在交付说明里逐条写出理由。
|
|
99
|
+
- 在实际阅读尺寸检查中文多行标题、正文和窄屏换行。文字重叠、被裁切或靠大量小字才装得下时,回到内容和布局修,不靠缩放掩盖。长页要检查整体节奏,不能只看首屏。截图保存成功不等于已经看过。
|
|
97
100
|
|
|
98
101
|
## 4. 独立评审与修正
|
|
99
102
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
已有界面按它自己的规范评审。在已有项目里润色了一整页或多页、做完局部重构,或用户要求评审现有界面而没有要求重新设计时,用 [视觉评审协议](references/visual-review.md) 的“给已有界面评审”:标准是仓库现有的设计规范,没有成文规范时以现有实现和组件为准;怎样做得更好看,照常用视觉语言里的判断。只做一轮,不打分。单个元素的小改动不评审。
|
|
103
|
+
按改动选评审方式,交接规则见 [视觉评审派发协议](references/visual-review.md),评审者按 [评审手册](references/reviewer-manual.md) 执行:
|
|
103
104
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
-
|
|
107
|
-
|
|
105
|
+
| 改动 | 评审 |
|
|
106
|
+
| --- | --- |
|
|
107
|
+
| atw-prototype 方向探索阶段的对比页 | 先交给用户;三个首屏和版式变体不派评审,用户要求时再评 |
|
|
108
|
+
| 新界面、整体改版,选定方向之后 | 初版稳定时评审,10 分制,报告评分和剩余差距 |
|
|
109
|
+
| 已有界面润色一整页以上,或只要求评审现有界面 | 按“存量已有界面润色评审”,一轮,不打分 |
|
|
110
|
+
| 小改动、局部低风险修改 | 主 Agent 自己看,不派评审者 |
|
|
111
|
+
|
|
112
|
+
- 有隔离、能看图的执行者时,派一个没有历史上下文的评审者;没有就自检,并标明未独立评审。评审者只看当前画面、任务和约束,不看制作过程和代码。
|
|
113
|
+
- 在 `/atw-implement` 流水线里不自行派发评审者:独立视觉评审由流水线的审查步骤(atw-code-review)负责,把截图、对应的页面、状态和视口交给它。审查步骤不支持视觉评审时,主 Agent 按 [评审手册](references/reviewer-manual.md) 自检,并在交付说明里标明未独立评审。
|
|
114
|
+
- 风格开始漂移、意见反复时,保留最合适的版本并说明取舍;没完成的必需功能照实列出。
|
|
108
115
|
- 用户对实现出来的设计反复不满意,怎么调都不对时,说明问题可能出在方向本身,建议回到 atw-prototype 重新比较方向,而不是继续在细节上打转。
|
|
109
116
|
|
|
110
117
|
需要并行制作时,按独立页面、素材或区块划分所有权,给执行者相同的任务约束与设计说明;要求保留他人改动。只有阶段依赖已满足且主 Agent 同时有独立工作时才并行,不能让多个执行者同时改同一共享样式。没有并行能力时顺序完成。
|
|
111
118
|
|
|
112
119
|
## 5. 验证与交付
|
|
113
120
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
+
检查深度跟着改动走:小改动只看改动处和相邻元素;精修和基线做前后对比;新页面、改版和局部重构做下面全部检查。
|
|
122
|
+
|
|
123
|
+
- 交互从真实入口走到可观察结果;保存后重新读取,失败后检查输入和当前位置是否保留。会保存东西的界面(收藏、草稿、购物车、计时、游戏进度),验证脚本至少覆盖刷新后读回和保存失败;有次数或余额限制时,再测用完。
|
|
124
|
+
- 项目或任务目录里有检查交互或功能的验证脚本时,交付前由主 Agent 自己连续跑 3 次,3 次都通过才算通过,交付说明写出每次结果;生成页面、截图和取证用的脚本不在此列。动画和异步状态的检查等可观察的状态,不靠固定延时;评审引用的报告不能替代这一步。
|
|
125
|
+
- 在 `/atw-implement` 流水线里,测试、类型检查和门禁按流水线执行。流水线之外只跑项目的类型检查和 lint,不跑生产构建和全量测试,用户要求时除外;构建失败、接口报错、依赖链接这类和画面无关的环境问题,在交付说明里记一行后绕过,不排查、不改项目配置。
|
|
126
|
+
- 单独做一次减法:每一屏只有一个主角,其余安静;逐区块删一轮文字,只放回删了会影响理解的。减法只删装饰和重复,对象名称、判断依据、当前状态和主动作必须留下。在 100% 和 200% 缩放下看关键区域。
|
|
127
|
+
- 交付前对一遍,交付说明里逐项写到:
|
|
128
|
+
- 选定的方向和理由;
|
|
129
|
+
- 改了什么,哪些没做、为什么;
|
|
130
|
+
- 做了哪些动效;
|
|
131
|
+
- 评审了几轮、用的哪种评审:打分的附每轮分数,不打分的写问题怎样处理;没有评审时写明;
|
|
132
|
+
- 删掉了哪些文字;
|
|
133
|
+
- 证据文件在任务目录的哪里。
|
|
134
|
+
|
|
135
|
+
设计说明、素材、截图和评审记录放在 ATW 任务目录(截图放在 `screenshots/`,路径写明页面、状态和视口,供审查和验收取证),不写进技能安装目录。
|
|
121
136
|
|
|
122
137
|
## 能力边界
|
|
123
138
|
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
## 精准还原
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
先记下参考图对应的视口尺寸或已知的像素尺寸、画面的完整范围,以及哪些区域是固定不动的。图片的像素数不等于视口尺寸,例如 2 倍图要除以 2;确定不了时,写明你是按什么假设的。
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
量出主要区域各占多大比例、哪些元素共用一条对齐线、文字多大、图片怎么裁、各处间距之间是什么关系。先把整体的位置、比例和字体对上,再处理边框、阴影和细节;还原任务不重新探索风格。
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
用和参考图一样的视口、差不多的内容来比差异。参考图里没有的窄屏和其他状态,按内容的需要补上,并标明哪些是照着参考还原的,哪些是自己合理延伸的。
|
|
10
|
+
|
|
11
|
+
自己判断还原得像不像,结论通常偏乐观;只看一张整页缩略图,也看不出字号、间距和对齐差了多少。每轮修改后用截图工具的 `--compare` 出对比图(见 [工具](tools.md)),先修差异最大的那几格,再在叠加图里核对对齐线、字号和图片裁切;不凭印象宣布“已经还原”。
|
|
10
12
|
|
|
11
13
|
## 验证重点
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
实际看一遍内容很长、内容为空,以及这次改动涉及的各个状态。手机上留意视口高度的变化、弹出的键盘和屏幕的安全边距,主操作不能被键盘或固定的栏挡住。
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
再检查:页面有没有意外地横向溢出,滚动是不是发生在该滚的那一块,焦点和菜单看不看得见;放大或重新排版以后,阅读和操作的顺序是否还清楚。
|