v3 暴露 8 个审美问题,v4 final 全部修复:严格 4-base 网格 / designer 字号阶梯 / 自画 12 枚图标 / 重做 logo / mono 节制到每屏 ≤ 2 处 / 加 photo art direction / 加 motion specs / WCAG AA 颜色对比。10 屏完整铺开。
ink-mute 从 v3 的 #71717A(4.8:1)调深到 #5C5C62(7:1),其他 inks 同步校准。accent 烟蓝 #3F5266 比 v3 #4A5B6E 略深,在 bg #FDFCFA 上 7.5:1。
v3 的 28/20/14/12 均匀阶梯改成 designer 比例 32/24/17/14/12/11/10。letter-spacing 与 line-height 也校准。中文苹方 + 英文 Inter,永久去除宋体。
所有 padding / margin / gap 必须从 token 取,禁止 6/14/18/26 等非网格值。圆角 4 / 8 / 12 / 16 四档。
v3 的 2×2 方阵被批"像 wireframe"。重做:方框(frame)+ 偏移焦点(moment imprint)。隐喻 = yiya 每天在做的事——为时光"框选并标记"。可独立做 App icon,也可放 splash。
规则:24×24 viewBox · stroke-width 1.5 · stroke-linecap square · stroke-linejoin miter · 偏几何 + 微妙非对称。整套手画,不引第三方 path。
v3 照片直接铺没有状态区分。final 定义:入选 / 分析中 / 未处理 三态,配上对应视觉处理。所有照片 4px 圆角,aspect-ratio 1:1 默认,或 4:5 hero。
CSS mockup 无法完整复刻真机动效感,但所有动效的 timing + easing + 触发条件需要文档化。落到 Flutter 时严格按这个表。
| 动效 | 时长 | Easing | 触发 / 用法 |
|---|---|---|---|
| 屏转场 push | 320 ms | cubic-bezier(0.4, 0.1, 0.2, 1) | Navigator.push 横向 slide |
| Sheet 升起 | 280 ms | ease-out | showModalBottomSheet 从底部 |
| Toast / Snackbar | 240 ms | ease-out | SnackBar.show,自动消失 3s |
| Button press | 120 ms | ease-out | onTapDown scale(0.97) + accent-deep |
| Skeleton load | 1200 ms · loop | ease-in-out | 占位骨架 shimmer |
| Progress bar fill | 200 ms | linear | value 变化时 |
| Photo developing | 1600 ms · stagger | ease-in-out | 每张照片 opacity 0.35 → 1.0,间隔 160ms 错峰 |
| Spinner | 900 ms · loop | linear | 分析中 indicator |
⚠ 禁止 spring bounce 动效(与"克制"调性冲突)。所有 easing 偏 ease-out / cubic-bezier,不用 ease-in-out 之外的反弹曲线。
所有 token + 图标 + 动效在 10 屏内一致使用。每屏 mono 元数据 ≤ 2 处(v3 是 5-7 处过 noisy)。
送几张到暗房,
AI 会替你挑出最值得入册的画面。
放心退出 · AI 会在后台继续
立夏后第二天的清晨,于上海。喜欢草莓与一切红色的东西。第一句话是"妈妈",凌晨三点。
下排门牙先冒头,一粒小小的米白。
扶着沙发,七步迈到了茶几。
清晨三点喊了第一声"妈妈"。
AI 已挑出 5 张,写好了「嫩芽」一章。你来看看。
第 176 天的几张照片可能记录了第一颗牙。