Skip to content

同一份状态的更多形式:概念卡 ​

状态:2026-10-14 起的原型探索记录,不是产品规范,也没有选定方案。灵感出处见 INSPIRATION.md(文中“灵感 #n”指那里的编号),可运行的形式从画廊进入。

打磨记录 ​

本文的概念卡写于各形式的第一版。2026-10-15 默认数据换成 composite 之后,十二种形式按文末真实数据下的问题清单逐一打磨,现在怎样工作、承载哪类回应、怎样验证、还差什么,记在下面五份记录里;概念卡与它们不一致时,以打磨记录为准。

记录形式场景与承载的回应
home.mdD 手机首页、01 腕上一瞥回来时先看几件等我;approve、choose 一键作答,腕上只答 confirm 与两项的 choose
watch-motion.md01 腕上一瞥换轮的三拍与悬停、展开:按第三轮的参考、数据、故事重做,交互共用 motion/ix.mjs
spatial.md原版树图、A 空间排布在电脑前;原版批准工作评审(approve),A 当场二选一(choose)与稍后,长尾折成“另有 N 件小事”
temporal.mdB 时间展开、C 流动形态期限与推后;B 把期限画在此刻之后(schedule),C 让推后的事沉下去、到点浮起(defer)
review-a.md02 回应时序、01 身份线、08 两周小倍数复盘,不承载作答;标出问题的开闭(08 的放映与交互见 multiples-motion.md)
review-b.md04 让位图、03 来源矩阵、05 批次记谱复盘,不承载作答;标出作答之后份额的去向
notation-motion.md05 批次记谱的动画与交互(第三轮标准)复盘,不承载作答;直接打开先演 12 秒“读得越多丢得越多,动的却不跟着多”,悬停看概要、点击展开,问题旁“去回答 →”链到同一帧的 D
timing-motion.md02 回应时序的动画与交互(第三轮标准)复盘,不承载作答;直接打开先讲一遍约 24 秒“开得最久的,往往是别人先开了口”,悬停看概要、点击展开,还开着的问题旁“去回答 →”链到同一帧的 D
yield-motion.md04 让位图的动画与交互(第三轮标准)复盘,不承载作答;直接打开先讲一遍约 15.5 秒“份额只在 64 份里挪”,悬停看概要、点击展开,此刻还开着的问题旁“去回答 →”链到同一帧的 D
b-motion.mdB 时间展开的动画与交互(第三轮标准)期限与作答;直接打开先讲一遍约 7.5 秒“期限一个一个撞上此刻线;答掉最近的那一个,最近的期限才往后退”,英雄数字是最近的期限还有几小时;悬停看概要、点击展开,在右栏作答
c-motion.mdC 流动形态的动画与交互(第三轮标准)defer;换轮四段(涌入、长缩守恒、沉浮、数字落定),直接打开先讲一遍约 20 秒“能等的事沉下去,不是丢掉”,悬停看概要、点击展开,作答原地收成回执,下一轮整理读到才沉
tree-motion.md原版树图的动画与交互(第三轮标准)在电脑前;换轮时面积只在节拍上挪,格子里批准后原地收成回执、下一轮整理读到了才让出份额;直接打开先讲一遍约 10 秒,悬停看概要、点击弹出详情卡,树图自己能作答,不加“去回答 →”
a-motion.mdA 空间排布的动画与交互(第三轮标准)choose 与稍后,当场作答;只在换轮与作答两拍上动,“答一件,桌面要等下一轮整理才空出一块”,直接打开先讲一遍约 9 秒;悬停纸片看概要、点击展开,详情卡里直接作答
chain-motion.md等待链(第四轮候选 05,新形式)复盘,不承载作答;谁在等由规则从依据里现算,不手工标注;直接打开先讲一遍约 12 秒“答掉一件,放走的是一串人”,悬停一行或一个人看概要、点击展开,开着的问题旁“去回答 →”链到同一帧的 D
glasses-concept.md12 智能眼镜(第五轮,新形式)戴在脸上、576 × 288 的单色绿显示面:平时 0 像素,最前那件换了才亮,通话时亮对方在等的那件;confirm、approve 与 ≤ 4 项的 choose 在眼镜上答,其余交给手机

演示数据本身的打磨(对 Agent 批次的 9 处修正、4 处手写反馈链接、26 条回应路径与 160 条反馈链接)记在 data/composite/POLISH.md。五份打磨记录写于第一次自由运行打磨出的旧演示数据(当时是 31 处修正、20 条回应路径与 157 条反馈链接),2026-10-15 晚按第二次自由运行的演示数据更新了引用。

第一轮结论 ​

2026-10-15,用户看过十个形式后的原话:

那个两周小倍数,虽然我不知道有啥用,但是还有点意思,其他的感觉略普通,不如我之前创意的那几个(指 A/B/C/D)。。。btw 你那个水晶球也太丑了。

诊断:

  • A/B/C/D 每个都是围绕状态本身发明的一种结构:空间、时间、流体、首页。第一轮多数形式是把状态搬进一个现成载体:手表、广播、小票、报纸、时刻表、聊天窗。载体眼熟,所以第一眼成立,但结构没有新东西。
  • 小倍数被认可,是因为它是唯一回答“注意力在两周里怎样移动”的形式,一眼扫完两周;其他所有视图只给“此刻”。
  • 环境球的问题在渲染:高光 3D 球加暗房,像老式拟物屏保。“环境信号”这个想法本身没有被否定。

处理:只保留 08 两周小倍数,页面仍在画廊。撤下九个:01 腕上一瞥、02 晨间朗读、03 进程条架、04 头版、05 小票、06 环境球、07 到期时刻表、09 出处栏、10 对话线程。它们的代码已删除,概念卡留在下文供回看,标题标注“已撤下”;“发现:状态缺少的信息”一节仍然有效。

之后用户决定保留 01 腕上一瞥:2026-10-15 从第一轮分支恢复了它的页面,与两周小倍数一起留在画廊。其余八个仍撤下;同日晚为了把所有原型合在一页里看,它们也从第一轮分支恢复为可运行页面,只做了能在两个数据集下运行的最小适配,没有打磨,仍算撤下,放在合页末尾与画廊页尾。

第二轮由诊断得出三条规则:不把状态塞进现成设备或媒介;每个形式先写清它让人看见了哪一种其他形式都看不见的关系;平面、克制,让数据本身构成画面。五张草图与概念卡见文末第二轮概念卡。

第一轮的出发点 ​

A/B/C/D 都把整份状态铺在一块屏幕上,区别在怎样编码份额:面积、时间带、液滴体量、先后与字号。用户认为方向对,想看到更多、更不一样的形式。这一轮不再只换编码,而是同时换载体、场景与用法:表盘、耳机、纸卷、台灯、车站大屏、聊天窗口;一瞥、通勤、值守、复盘、核对、被打断;被动接收、按时间收听、手写回应、对话回应。

概念卡怎样读 ​

栏目回答什么
载体 / 场景 / 用法在什么东西上、什么时候、怎么用
读者此刻的问题拿起它时想知道的那一件事
预注意通道面积、位置、颜色、字号、声音、触觉、时间顺序中,哪一个给了哪一个维度
视觉骨架第一眼的画面构成,用一两句话或 ASCII 草图
故意舍弃为了这一个问题,主动不表达什么
与 A/B/C/D 的结构差异不只是“另一种排卡片”的理由
配色只在偏离原型纸白墨绿体系时说明理由

所有形式遵守 EXPLORATIONS.md 的共同边界:读同一份回放、份额不重算、关系只来自数据、不制造“已读”、保留未分配份额、标题与原数据一致。页面上的概念卡由 catalog.mjs 提供:forms 是留下的腕上一瞥与两周小倍数,withdrawn(round: 1, withdrawn: true)是撤下后恢复的八个,与本文第一轮的十张卡保持一致;画廊里第二轮草图的简介在同一文件的 sketches 中,与文末第二轮概念卡保持一致。

第一轮做的十个形式 ​

1. 腕上一瞥 · watch · 用户决定保留 ​

  • 载体 / 场景 / 用法:手表表盘、卡片堆与回应屏 / 会议间隙、走路时抬腕两秒 / 被动一瞥,必要时点按回应;悬停刻度或表盘下的事项名看概要,点击展开详情。

  • 读者此刻的问题:有没有等我回应的事?最大的是哪件?

  • 预注意通道:角度给份额(表圈 64 个刻度,一格一份,按排名顺时针点亮);颜色只给“登记了回应路径”(朱红刻度);字号只给一个数:等你回应的件数。

  • 视觉骨架:

    text
    ┌───────────┐  ┌───────────┐  ┌───────────┐
    │ ·:::::::· │  │ 10:00     │  │ 这次开放  │
    │:  10:00  :│  │┌─────────┐│  │ 给谁?    │
    │:    2    :│  ││暂存口径 ││  │[只开两店] │
    │: 件等你  :│  ││未知…    ││  │[10%老用户]│
    │ ·:::::::· │  │└─────────┘│  │ 稍后提醒  │
    └───────────┘  └─露边 +2──┘  └───────────┘
     表盘:刻度=份额    卡片堆        回应屏
  • 故意舍弃:摘要、来源、子层结构、没有回应路径的事项文字(只剩灰色刻度)。

  • 与 A/B/C/D 的结构差异:不铺开任何事项,整份状态压缩成一圈刻度和一个数;D 的卡片在这里只剩“最前一张 + 露边”。

  • 配色:表盘是黑底 OLED 惯例,白字,朱红只给回应路径。

  • 灵感:#7 Farsight、#8 Smart Stack、#9 灵动岛、#11 Pebble、#41 触觉。

  • 2026-10-19 按第三轮的标准重做(watch-motion.md):它是读数的工具,不是官网动画,概念层只占两成,只在换轮时动 1.5 秒:本轮输入化成灰点落向表圈、64 格从 0 点顺时针换主人,新变得要紧的那几件闪一下、外沿轻敲,中间的数最后落定;英雄数字仍是等你回的件数。悬停与展开共用 motion/ix.mjs,卡挂在表壳外。

2. 晨间朗读 · radio · 已撤下 ​

  • 载体 / 场景 / 用法:耳机或音箱,配一份朗读稿 / 通勤、做早饭时 / 线性收听,可说“下一件”“展开”“稍后”。

  • 读者此刻的问题:不看屏幕,我能在一分多钟里听到该知道的吗?

  • 预注意通道:时间长度给份额(每份约 1.5 秒播报预算,64 份上限 96 秒;份额决定这件事被读几句);时间顺序给排名;未分配份额就是简报提前结束的时间。

  • 视觉骨架:

    text
    ┃▇▇▇▇▇▇▇▇▇▇▇▇┃▇▇▇▇▇▇┃▇▇▇▇▇▇┃▇▇▇┃▇┃░░░░░┃  ← 播报时间轴:段长=份额,灰=未分配
    ▶ 01:12 / 01:31
    ──────────────────────────────────────────
    24份 │ 远川演示仍缺暂存字段解释。                ← 正在读的句子高亮
         │ 11点演示只看分店数据……需要你决定:……
    12份 │ 导出发布是否仅开放远川两店……
  • 故意舍弃:空间总览与并排比较;子层只在“展开”时读;来源只给最大份额的一条。

  • 与 A/B/C/D 的结构差异:唯一不依赖视觉的形式;份额第一次变成“占用你多少秒”。

  • 配色:朗读稿用纸白墨绿;当前句用浅黄底,像荧光笔,只表示“正在读”。

  • 灵感:#27 Flash Briefing、#28 标题导航、#29 驾驶场景、#21 Espresso。

3. 进程条架 · strips · 已撤下 ​

  • 载体 / 场景 / 用法:桌面工作站或平板的“条架” / 白天持续值守、多 Agent 并行时 / 主动巡视,拿起一条看子项。

  • 读者此刻的问题:每件事处在哪个阶段?这一轮改了哪一格?

  • 预注意通道:位置给阶段(四个槽:等你回应、进行中、已有结果、知会);字号给份额(条左的大数字与刻度条);蓝色手写笔迹只给“本轮改动”,旧值划掉留在条上。

  • 视觉骨架:

    text
    等你回应 ┃ 24 ▮▮▮▮▮▮ │ 远川演示仍缺暂存字段解释   │ 期限 16日11:00 │ 3h │ 邮件·群 │ ↳2 ┃
             ┃ 12 ▮▮▮    │ 导出发布是否仅开放远川两店 │ ~~旧标题~~ 新  │    │         │ ↳2 ┃
    进行中   ┃  6 ▮▮     │ 厨房维修已约周五14点       │ …                                 ┃
  • 故意舍弃:面积与液体那样的“分量感”;所有条等高,只有大数字与刻度条说份额。

  • 与 A/B/C/D 的结构差异:固定字段的密表格,按阶段分槽而不是按份额铺版;改动就地手写,不切换到对比视图。

  • 配色:深灰条架、米黄纸条、黑色印字;蓝墨水只用于本轮改动。

  • 灵感:#13 飞行进程单、#12 Bloomberg、#16 分诊牌、#15 安灯。

4. 头版 · frontpage · 已撤下 ​

  • 载体 / 场景 / 用法:一张报纸版面,可打印 / 周末早餐、离开半天后的深读 / 主动阅读,边读边用笔批注。

  • 读者此刻的问题:这一轮最大的新闻是什么?其余事各占多大版面?

  • 预注意通道:面积与字号给份额:版面是 8 栏 × 8 行 = 64 格,每件事占的格数等于份额,标题字号按格数分档;位置给排名(左上起);报耳放等你回应的件数与本轮输入统计。

  • 视觉骨架:

    text
    ┌ 等你 3 件 ┐   F O L D   晨  报        ┌ 输入 3 条 ┐
    └──────────┘ 第 r23 版 · 10月16日 周五   └──────────┘
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    ██ 远川演示仍缺暂存字段解释 ██████ │ 导出发布是否仅 │
    导语……  正文 正文 正文 正文 正文    │ 开放远川两店   │
    ──────────────────────────────────┼───────────────┤
    周六11点见妈妈 │ 厨房维修 │ 筛选  │ 本版留白 3 份  │
  • 故意舍弃:时间演变与动效;版面一期一印,变化只在报耳和“本期新”标记里说。

  • 与 A/B/C/D 的结构差异:编辑排版的语法,面积之外还有标题字号、导语、正文与栏线;可直接打印。A 是散落纸片,这里是有栏网格的整版。

  • 配色:新闻纸米白与黑色衬线;唯一的红色用于“需要你”的栏目标签,延续报纸红字栏头的习惯。

  • 灵感:#20 报纸头版、#21 Espresso、#22 Morning Brew、#26 TRMNL。

5. 小票 · receipt · 已撤下 ​

  • 载体 / 场景 / 用法:58 毫米热敏纸卷 / 早上桌上自动打出一张,回家后看一眼 / 被动接收,撕下带走,在方框里打勾回应。

  • 读者此刻的问题:这一期有什么?和上一张比,哪件变长了、哪件没了?

  • 预注意通道:纸的长度给份额(每份 14 像素,约 1.5 毫米),左侧一格一份的刻度尺;未分配份额是走纸留白;两张并排给比较。

  • 视觉骨架:

    text
     上一张(f11)      这一张(f12)
    ╭──────────╮    ╭──────────╮
    │ FOLD r22 │    │ FOLD r23 │
    │┊ 家人 12 │    │┊ 远川 24 │  ← 长度 = 份额
    │┊ ……      │    │┊ □ 演示留空
    │┊ 发布 12 │    │┊ □ 按现有口径
    │┊ ……      │    │┊ 发布 12 │
    │ 留白 3份 │    │ 留白 3份 │
    ╰╌╌✂╌╌╌╌╌╯    ╰╌╌✂╌╌╌╌╌╯
  • 故意舍弃:颜色、交互、子层(只印子项数);纸面上的勾选不回传状态。

  • 与 A/B/C/D 的结构差异:一维的“长度”编码,物理可带走;比较靠两张纸并排而不是动画。

  • 配色:热敏纸只有黑色,阴影与纸色只为看出是一张纸。

  • 灵感:#25 Little Printer、#21 Espresso、#24 小倍数的同尺度原则。

6. 环境球 · orb · 已撤下 ​

  • 载体 / 场景 / 用法:桌上一颗会发光的球与一圈底座灯 / 人在场工作,余光里 / 完全被动;按一下才说出最大的那件。

  • 读者此刻的问题:现在要不要分心看一下?

  • 预注意通道:色相只给“有没有登记了回应路径的事”(暖橙 / 冷白绿);亮度给等你回应的事合计占多少份;呼吸只给“本轮新增了等你回应的事”;底座 64 颗灯一灯一份。

  • 视觉骨架:

    text
            .-""-.            解码
           /  ◉   \           等你回应 3 件 · 合计 48/64 份 → 亮度 75%
           \      /           本轮新增 2 件 → 呼吸
            '-..-'            按一下 → “远川演示仍缺暂存字段解释”
       ○○○○●●●●●●●●○○○○       底座:一灯一份,暖色=等你
    ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
    37 帧的球色:▮▮▯▮▮▮▯▯▮▮……
  • 故意舍弃:几乎全部文字;没有回应路径的事只体现在底座白灯里。

  • 与 A/B/C/D 的结构差异:唯一不需要阅读的形式;它决定“要不要去看”,而不是“看什么”。

  • 配色:深色房间才能看出光,因此页面用暗色;暖橙只表示等你回应。

  • 灵感:#1 Ambient Orb、#2 Nabaztag、#3 Dangling String、#4 Calm Technology、#15 安灯。

7. 到期时刻表 · departures · 已撤下 ​

  • 载体 / 场景 / 用法:走廊或车站式翻牌大屏 / 规划今天,看接下来会发生什么 / 路过时扫一眼,变化时翻牌。

  • 读者此刻的问题:接下来几点会有什么到期?哪些已经过点?

  • 预注意通道:纵向位置给到期时间(由近到远);琥珀色翻牌只给“等你回应”;翻牌动作只给本轮变化的行;份额是一列数字与刻度。

  • 视觉骨架:

    text
    ┌─ 前 方 ──────────────────────── 10月16日 10:00 ─┐
    │ 11:00 16日 │ 远川演示仍缺暂存字段解释 │ 等你决定 │ 24 │ 还有 1 小时 │
    │ 14:00 16日 │ 厨房上门已约,邻居代开门 │ 进行中   │  6 │ 还有 4 小时 │
    │ 16:00 16日 │ 导出发布是否仅开放远川两店│ 等你决定 │ 12 │ 还有 6 小时 │
    ├─ 未 定 时 ──────────────────────────────────────┤
    │  --:--     │ 筛选与幂等已验证,观察两店│ 进行中   │  6 │            │
  • 故意舍弃:按份额排序;没有期限的事退到下半块“未定时”。

  • 与 A/B/C/D 的结构差异:唯一按“将来时间”组织的形式。B 看过去怎样走到此刻,这里看此刻往后。

  • 配色:Solari 黑板白字惯例,琥珀色只给等你回应。

  • 灵感:#39 Solari 翻牌、#14 任务控制室的倒计时钟、#11 Pebble 将来方向、#34 Things Upcoming。

8. 两周小倍数 · multiples ​

  • 载体 / 场景 / 用法:一张海报或大屏 / 复盘两周、会前回顾 / 一眼看全部帧,悬停追踪同一件事。

  • 读者此刻的问题:这两周注意力是怎样移动的?某件事什么时候变大、什么时候消失?

  • 预注意通道:位置给时间(按日分行的 37 格);颜色给事项身份(每个根层事项一种颜色,跨帧稳定);每格 8×8 小方格一格一份;黑点只给登记了回应路径的份额。

  • 视觉骨架:

    text
    12日  ▦ ▦ ▦ ▦ ▦ ▦      每个 ▦ 是一帧的 8×8 = 64 格
    13日  ▦ ▦ ▦ ▦           同一颜色 = 同一件事
    14日  ▦ ▦ ▦ ▦           悬停一件事 → 37 格里只亮它
    ……
    图例:■ 导出发布  ■ 远川试用  ■ 家人 ……
  • 故意舍弃:文字摘要与子层;每格只剩份额与身份。

  • 与 A/B/C/D 的结构差异:B 是连续的带,这里是离散、同尺度、全部同时可见的快照;没有动画,靠并排比较。

  • 配色:纸白底,十种身份色,色相间距拉开;不再用颜色表示类别或状态。

  • 灵感:#24 Muybridge、#32 贡献日历、#19 状态页历史条、#23 sparklines。

  • 2026-10-19 起有一段放映:约 24 秒的三拍,英雄数字是本轮换手的格数,底片本身在放映前后不变;悬停与展开接 motion/ix.mjs。见 multiples-motion.md。

9. 出处栏 · blame · 已撤下 ​

  • 载体 / 场景 / 用法:桌面上的等宽文档视图 / 对某条表述有疑问、复核 Agent 的整理时 / 主动核对,点出处看原文与改动。

  • 读者此刻的问题:这句话是哪一轮、根据什么写的?多久没变了?

  • 预注意通道:颜色给新旧(左缘色带,越新越亮);位置给结构(缩进即层级);左栏文字给出处(哪一轮、来源渠道与作者、多久前)。份额以 [24] 与短刻度条写在标题行。

  • 视觉骨架:

    text
    ▌3 小时前 · f12 · 客户邮件 许宁 │ ## 远川演示仍缺暂存字段解释            [24] ▮▮▮▮▮▮
    ▌3 小时前 · f12               │    11点演示只看分店数据;暂存口径未知……
    ▏2 天前   · f05 · 团队群 林苒  │    ### 远川两店库存字段口径待确认      [12]
  • 故意舍弃:版面层级与分量感;所有事项同字号,阅读顺序就是排名。

  • 与 A/B/C/D 的结构差异:文本优先、出处优先;A/B/C/D 把出处放进详情,这里每一行都带着它。

  • 配色:代码视图的白底;橙色深浅只表示距上次改动多久。

  • 灵感:#33 git blame、#36 Memento、#30 Linear Inbox 的“为什么在你面前”、#18 病房白板的“最后更新”。

10. 对话线程 · chat · 已撤下 ​

  • 载体 / 场景 / 用法:即时通讯里的一个助理会话 / 被打断后回来、手机上随手看 / 读最新几条消息,用快捷回复就地回应。

  • 读者此刻的问题:刚才发生了什么?现在要我回什么?

  • 预注意通道:时间顺序给批次(每次整理一条助理消息);左右位置给发言人(右侧是林苒自己的消息、按钮与批注);按钮只出现在登记了回应路径的事项上。置顶消息给当前份额的前三名与未分配。

  • 视觉骨架:

    text
    ┌ 置顶 · 当前 61/64:远川演示 24 · 导出发布 12 · 周六见妈妈 12 … ┐
    │ 10:00  Fold                                                     │
    │ ┌──────────────────────────────┐                                │
    │ │ 试用演示前,暂存列口径仍未明确 │                                │
    │ │ + 新增 … · ↑ 远川 12→24 …     │                                │
    │ │ 暂存口径未知,演示怎么讲?    │                                │
    │ │ [演示时留空] [按现有口径展示] │                                │
    │ └──────────────────────────────┘          ┌──────────────┐     │
    │                                           │ 林苒:十一点好 │     │
  • 故意舍弃:总览版面;完整状态只在置顶消息展开时出现。

  • 与 A/B/C/D 的结构差异:以变化流为主体、状态为置顶附件;历史就是往上滚。D 是状态首页,这里是消息流。

  • 配色:通讯软件的浅灰底与白气泡;墨绿只用于可点的回复按钮。

  • 灵感:#30 Linear Inbox、#31 Slack Catch up、#22 Morning Brew 的口语导语。

第一轮想过但没做的六个 ​

11. 锁屏实时活动 ​

  • 载体 / 场景 / 用法:手机锁屏与灵动岛 / 掏出手机看时间 / 被动,长按展开。
  • 读者此刻的问题:最近的那个期限还有多久?
  • 预注意通道:位置(屏幕顶端唯一的活动)给最近到期且等你回应的事;数字倒计时给剩余时间。
  • 视觉骨架:锁屏大时钟下方一张活动卡,左端事项,右端倒计时;顶部胶囊两端各一个值。
  • 故意舍弃:其余全部事项。
  • 没做的原因:载体与 D 的手机重叠,“一瞥”这一维已由手表承担;先看手表是否成立。
  • 灵感:#9 灵动岛、#10 At a Glance。

12. 车载插播 ​

  • 载体 / 场景 / 用法:车机语音与中控屏 / 驾驶中 / 只听,最多一张两键卡片,其余等停车。
  • 读者此刻的问题:现在必须告诉我的只有哪一件?
  • 预注意通道:声音给唯一一件事;两颗大按钮给二选一回应。
  • 视觉骨架:中控屏一个问题、两行以内、两颗等宽按钮;底部“停车后再说 N 件”。
  • 故意舍弃:几乎全部内容。
  • 没做的原因:与晨间朗读共用线性媒介;“此刻能否插话”取决于驾驶状态,属于推送应用的策略,状态里没有也不应该有。
  • 灵感:#29 驾驶场景、#27 Flash Briefing。

13. 团队任务墙 ​

  • 载体 / 场景 / 用法:办公室墙上的 4K 屏 / 多人共享、多个 Agent 并行 / 大家路过时看,各自认领。
  • 读者此刻的问题:团队现在卡在哪里?每件事谁在看?
  • 预注意通道:位置给负责的 Agent 或人(一列一个控制台);顶部时钟给共享期限。
  • 视觉骨架:前墙一排倒计时钟与总态,下方按负责人分列的控制台。
  • 故意舍弃:个人事项。
  • 没做的原因:状态里没有事项归属与可见范围。林苒的家人、维修与工作在同一份状态里,直接上墙会泄露私事;需要先有“受众”字段,见下方“发现”。
  • 灵感:#14 任务控制室、#6 Panic Status Board、#5 Information radiator。

14. 会前一页 ​

  • 载体 / 场景 / 用法:会议开始前两分钟的单页 / 会前 / 只看与这场会有关的事项与待决问题。
  • 读者此刻的问题:进去之前,我要带着哪几个决定?
  • 预注意通道:位置给与会议的关系,字号给份额。
  • 视觉骨架:顶部会议名与时间,下面三件相关事项与各自登记的问题。
  • 故意舍弃:与会议无关的全部事项。
  • 没做的原因:状态里没有会议或日程关联,只能靠 due_at 猜,容易误配;猜测关系违反“关系只来自数据”。
  • 灵感:#34 Things 的日程块、#35 Sunsama。

15. 天气图 ​

  • 载体 / 场景 / 用法:一张抽象地图 / 周回顾 / 看“系统”的分布与边界。
  • 读者此刻的问题:压力集中在哪里?哪两股力量在交锋?
  • 预注意通道:等压线、锋面与高低压中心。
  • 视觉骨架:H、L 两个巨大字母,等压线环绕,锋面切开两块区域。
  • 故意舍弃:精确份额。
  • 没做的原因:天气图的语法是事项之间的力学与边界,数据里没有这种关系;画出锋面就等于暗示因果。
  • 灵感:#38 天气图、#37 Kinopio。

16. 电子墨水桌面屏 ​

  • 载体 / 场景 / 用法:800×480 一位电子纸 / 桌面常亮,每 15 分钟刷新 / 路过一瞥。
  • 读者此刻的问题:今天的局面大概怎样?
  • 预注意通道:16×4 = 64 格,一格一份;黑白网点给类型。
  • 视觉骨架:左侧巨大数字“等你 3 件”,右侧 64 格网格与前三件标题,底部“更新于 10:00”。
  • 故意舍弃:颜色与交互。
  • 没做的原因:一格一份的面积编码与 A 和原版太接近;纸面的长度编码已由小票承担,环境显示已由环境球承担。
  • 灵感:#26 TRMNL、#6 Panic Status Board。

其他只想到一句的方向:AR 里贴在实物上的标签(需要事项与物品或地点的绑定),睡前收束视图(按日期截取的变化,与对话线程和小票的比较大量重叠),触觉节奏(浏览器无法可靠演示,信号设计并入环境球的“呼吸”)。

第一轮为什么选这十个 ​

按“第一眼靠什么通道”排开,十个形式各占一个主要通道,彼此不重复:

形式主要通道载体主要用法
腕上一瞥角度与单个大数字手表一瞥
晨间朗读时长与顺序耳机线性收听
进程条架位置(分槽)与就地笔迹工作站值守巡视
头版栏宽与标题字号纸深读、打印
小票纸长热敏纸带走、手写
环境球光色、亮度与呼吸台灯余光
到期时刻表纵向时间公共大屏规划将来
两周小倍数网格位置与身份色海报复盘
出处栏新旧色带与缩进文档核对
对话线程消息先后与左右聊天窗口就地回应

没选的六个,要么与已选形式共用主要通道(锁屏、车载、电子墨水),要么需要状态里没有的关系(任务墙、会前一页、天气图)。

发现:状态缺少的信息 ​

这些是做形式时碰到的缺口,只记录,不改契约:

  • 受众与可见范围。 团队墙、共享大屏、家人一起看的冰箱屏,都需要知道哪些事项能给谁看。现在工作与家事在同一份状态里,任何共享形式都会泄露私事。
  • 事项归属。 多个 Agent 共享预算时,任务墙要按负责的 Agent 分列;状态与回执里只有批次的 actor,条目上没有。
  • 日程或会议关联。 会前一页需要“这件事与哪场会有关”;due_at 只是时间点,不说明场合。
  • 批次级说明。 对话线程与晨间朗读最自然的开场是“这一轮做了什么”。回放数据里的 frame.title 与 frame.narrative 是故事作者写的旁白,契约中的批次只有声明、reason 与确认,没有面向用户的批次说明。原型照读这两段,并在页面上注明它们来自演示数据。
  • 上次接触的锚点。 小票的“上一张”、对话线程的“上次读到这里”、出处栏的“自你上次看后”都需要一个起点;首切片 last_seen_at 恒为 null。原型用上一帧或手选起点代替,和 D 的做法一致。第四轮的峰值保持把它当成主关系,起点改成页面侧的推定:你最近一次在 Fold 里回应时屏上的那一帧,没有就往前 6 轮,可手选,按“已阅”移到此刻(只在本页内存);composite 的 160 条反馈全在来源处,两周里一次也没有在 Fold 里回应,推定只能退到往前 6 轮(peak-motion.md 第 2 节)。
  • 回应本身的期限。 手表与时刻表想显示“这个问题几点前要答”,但期限属于事项(due_at),登记的问题没有自己的截止时间。
  • 可朗读的写法。 标题里有“INP 486ms”“p75”这样的写法,读出来不自然。原型照原文朗读,没有另起名字;是否需要为语音单独提供读法,留待以后判断。
  • 谁在等、答了之后谁能动。 等待链要画“这个问题后面站着谁、答了之后哪一环能动”。状态里没有等待方:页面只能从问题所在条目这一版依据(sources)的作者里按规则推(去掉本人、机器、公开资料与陌生人,见 chain-motion.md 第 2 节),推不出转述的等待(“妈妈问我去不去”只有你自己的一句)、机构的群发期限(学校的同意书),也会把旁证里的人算进来;“答了之后”只能读 ask.actions、approve 的 subject 与期限,真实动了什么写在 reason 与 summary 的自然语言里。要画准,问题上可以带可选的 waiting_on(人或渠道,指向依据里的输入)与 unblocks(答了之后谁或哪件事能动)。

原型边界 ​

  • 每个形式只做到能表达核心假设:第一眼画面要成立,不做复杂动效和响应式适配。
  • 回应按钮、勾选框、对话快捷回复只在本页演示,不写回状态,也不产生“已阅”。
  • 每页右侧写着自己的概念卡;顶部“状态”打开完整 state JSON、原始输入、声明与回执、本轮变化。
  • 页面用 ?frame= 选择帧,←/→ 逐帧。截图只在本地 .local/forms/ 保存,不提交。
  • 第二轮草图不受上面三条约束:每张只画一个选定帧,没有帧导航、交互、概念卡面板与状态检查器,截图在 .local/forms-r2/。

第二轮概念卡 ​

2026-10-15。按第一轮结论的三条规则做了五张草图,每张是一页 1440×900 的完整画面,读同一份回放,只画一个选定帧,入口在画廊的“第二轮草图”。

每张卡先写主关系:它让人看见了哪一种原版、A/B/C/D 与两周小倍数都看不见的关系。这几种已有形式都从“某一帧的整份状态”出发:原版、A、C、D 画此刻,B 与小倍数把多个此刻排在时间上。它们都把份额当作结果来画,看不到份额从哪里来、名字怎样变、问题何时关上、输入来自谁、一轮整理由什么组成。五张草图各取其中一种。

画法的共同约束:平面,无高光、投影、仿纸或玻璃;数据本身构成画面;每张里颜色只承担一种含义。共用的页头、配色与文字排版在 sketches/kit.mjs 与 sketches/sketches.css。灵感编号指 INSPIRATION.md 第二轮(#43 起)。

01 身份线 · sketches/lineage.html ​

主关系:同一件事在两周里被改写成什么:每一段时间它叫什么、占多大,何时撤下又以同一身份恢复,何时与另一件并成一件。

已有形式里,事项改名后只是“同一张卡换了标题”,标题历史要逐帧翻;小倍数能按颜色追踪身份,但看不到名字、撤下与合并。

选用帧:f34(10/25 19:40,r33,最后一帧)。每条线都已走完;撤下后恢复(苏禾、取消链路,各 9 轮后恢复)、并入(账单、查重在 10/13 并为费用)与最终撤下(筛选,10/23)都已发生。

text
        产品发布    家人与生活   客户试用   费用与预算 …   (列头:17 版 · 13 个名字)
12 周一  ●  导出范围…   │          │         ╲ ╱ 两条支流并入
   08:42 ┃  v0.8导出…  ●  周六陪…   ●  远川…    ┃
13 周二  ┃           ┃          ┃         ┃        ──┬── 撤下 · 9 轮后恢复
   …    ┃ 线宽=份额  ┃          ┃         ┃          ┆   虚线:身份保留
19 周一  ◉  导出发布… ┃          ┃         ┃        ↺ 粗体:恢复
25 周日  ◉  导出五店已开放 …                              此刻 · f34

纵轴是 37 次整理,等距(按“第几次”而不是按真实时间);左栏写日、星期、时刻与“定时 / 检查”。站点形状是种类:● 等你、○ 进行中、◉ 已完成、□ 知会;站名只在标题改写时出现。

颜色含义
十种身份色(与小倍数相同)事项身份,只此一义
墨黑站点与文字
灰色虚线撤下期间保留的身份

灵感:#43 Ibry/Marey、#46 Priestley、#47 Minard、#48 Beck、#49 Darwin、#50 不整合、#58 du Bois 大括号、#66 Feltron 大数字、#72 地层柱。

做完整版还需要:

  • 帧导航:拖动时间时线从上往下长,此刻以下留空。
  • 交互:点站点看这一版改了什么(回执的 changes 已有 before/after);悬停列头只亮这一件事;展开子项支线(快照里有子层,需要决定支线怎样挤进 8 列)。
  • 状态缺的:稳定的称呼。列头的“产品发布”“家人与生活”来自回放作者写的 categories,契约里没有;真实状态下事项每次改名,界面没有一个不随改写变化的叫法。另外 reason 是可选字段,回放 143 条声明里 27 条没有写,站点无法说明“为什么改”。

02 回应时序 · sketches/timing.html ​

主关系:每条回应路径的开与闭:问了你什么、开了多久,是被你的回复关上,还是改写后悄悄失效,又和期限谁先到。

已有形式只显示此刻登记中的问题;问题被改写替换、失效或被回复关上之后就消失了,看不出一个问题开了多久、有没有被回答过。

选用帧:f30(10/23 09:40,r29)。这一轮里,团队与招聘一行有“稍后提醒”到点、你再回复的完整回路;此刻还有四个问题开着,期限分布在此刻之后。

text
            12   13   14   …   22   23 │此刻   24   25
整理批次     ▌ ▌▌ ▌  ▌  …  ▌ ▌  ▌│                      高度 = 输入条数
产品发布    <导出模板是否允许…>────<明早…><>│ ↩收下            六边形 = 登记中的问题
家人与生活  <周六什么时候…><要不要先锁住…>|↩锁定周六上午 …   相接 = 换了新问题
团队与招聘  <面谈前写好…>…<苏禾约周四…>(稍后提醒)◷ ↩改成早上通话
客户试用    ──<今天对远…>────────<>──│> 仍开着:下周是否再加两店?   ▼ 期限 11:00
            中线 = 事项在,但没有回应路径                │浅底:只画已知期限

横轴是真实时间;每件曾登记过问题的事项一条泳道,子项缩进。

颜色含义
朱红你的回应:↩ 回复、▪ 按钮、稍后提醒弧线,只此一义
墨黑问题格、期限、批次
灰中线、已被改掉的旧期限
浅灰底此刻之后

灵感:#47 Minard(上下对齐)、#51 SPI 时序图、#52 “永”字笔顺、#53 Dear Data 第 22 周、#64 Lupi 图例。

做完整版还需要:

  • 帧导航:此刻线随帧移动,右侧浅底跟着收缩。
  • 交互:悬停问题格显示完整问题、可选按钮与你的原话;点回应跳到那一帧。
  • 状态缺的:回应路径的生命周期。回放里的 ask 只有 prompt、expects、actions、handler,没有自己的 id、登记时间与关闭方式;草图只能把“事项被改写且不再带这个问题”推断为关闭,分不清“已答复”“被替换”“过期”。问题自身的截止时间也仍然缺(见上文“回应本身的期限”)。

第三轮的动画与交互(2026-10-20,见 timing-motion.md):原地升级。直接打开先讲一遍约 24 秒,论点是“问题不会一直等你;开得最久的,往往是别人先开了口”:英雄数字是“母亲九月住哪?”开了 240 小时,此刻线每到批次刻度就硬切加 12,旁边的离期限往下数,最后停在“还差 11 小时 59 分”;三拍是登记、等 19 轮(每轮 0.5 秒)、别人先开口(放大卡里你 12:30 那条短信是全场唯一的朱红)。期限改成按每次登记画,被改掉的旧期限变灰。概念层不到一成,只有批次条里一条输入一粒灰点与此刻线后的浅灰拖尾,时间不走就不动;悬停与展开接共用的 motion/ix.mjs。

03 来源矩阵 · sketches/provenance.html ​

主关系:每件事由谁推动:谁的输入被用到了哪件事、在哪几天,每个来源又有多少被判为重复、暂缓或噪音。

已有形式按事项组织,出处只在单张卡里逐条列出;没有一种能横着看“周屿一个人喂了五件事”或“订阅、群与推销没有一条被采用”。

选用帧:f34(最后一帧)。两周 112 条输入、27 个来源全部到齐,矩阵是累计的,越晚越能看出谁在推动什么。

text
来源                 产品发布 运行体验 线索 客户试用 账单 查重 费用 家人 维修 招聘 │未进入 │全部输入
你自己  林苒           ●● ●●    ●        ●  ●●●           ●●   ●●●  ●●●  ●●      │       │■■■■…■ 26
人      周屿·工程      ●●●●    ●●●●   ●●     …                                  │ ×     │■■■…■ × 19
        许宁·远川                         ●●●●●                                 │       │■■■■ 9
机器    体验采样机器人          ○ ○●○                                            │       │■■ □□□□ 6
订阅…   咖啡拼单                                                                 │ ×     │× 1
        每格 = 一条两周时间线;● 采用 ○ 重复 ◌ 暂缓 × 噪音

行按“主要喂给哪一列”排序,块沿对角线出现;右栏每条输入一格。

颜色含义
身份色(只在列头与色条)列所代表的事项,只此一义
墨黑记号与计数
浅灰底这个来源对这件事有输入

灵感:#62 Dear Data 第 1 周(记号形状)、#63 Lupi 长新冠日记(格内时间)、#65 Feltron 侧栏统计、#56 du Bois 横条。

做完整版还需要:

  • 帧导航:矩阵随帧累积,新出现的记号短暂标出。
  • 交互:点格子列出那几条原话与判断理由;点来源只亮它喂过的列。
  • 状态缺的:每条输入的处置记录。契约里的声明通过 sources[].ref 记下了被采用的输入,但“判为重复、暂缓、噪音”只存在于回放作者写的 disposition,状态与回执里都没有,被丢弃的输入在真实系统里看不见。来源类型也缺:草图按名字和渠道猜“人 / 机器 / 订阅 / 官方”,需要事件上有发送者类型。多 Agent 时还需要条目级的 Agent 归属(见上文“事项归属”)。

04 让位图 · sketches/yield.html ​

主关系:每一轮份额从谁那里来、到谁那里去:一件事变大,必有别的事让位或动用留白,两边永远相等。

已有形式都画份额的结果;小倍数能看出“妈妈变大了”,但看不出它是从发布、试用还是留白里来的。

选用帧:f15(10/17 10:00,r15)。前一晚林苒批注“这次保留最大的位置给妈妈;发布做成了就让它小一点,但别删掉”,这一轮试用让出 18、发布让出 9,妈妈拿到 12,退回留白 15,让位最清楚。画面只画到这一帧(第 1–18 行),此刻之后不画。

text
整理            ← 让出                留白          拿到 →                  这一轮
12 08:42                    [留白 6]   58   [发布 6]                         新增 1 件
   09:10  [        留白 31        ]   15   [试用12][账单6][筛选6][苏禾3][查重3]…
13 09:20       [留白3][查重3][账单6]    3   [妈妈 6][费用 6]                 账单与查重并为费用
   18:20                          ─   0   ─                                检查后不变
16 21:20                          ─   3   ─ │林苒批注「改到周日也可以……」
17 10:00 ┃ [发布 9][     试用 18     ] 18   [妈妈 12][   留白 15   ]┃       ← 选定帧

一格一份;左右两翼每行等长,因为根层永远是 64 份。

颜色含义
身份色事项身份,只此一义
无色虚线框留白:被动用(左)或退回(右)
黑框选定帧

灵感:#54 Playfair 差额、#55 Sankey 守恒、#56 du Bois 逐年横条、#57 du Bois 蛇形、#60 Brinton 刻度、#52 “永”字笔顺(此刻)。

做完整版还需要:

  • 帧导航:一帧加一行,此刻行描框;37 行时行高减半或分两栏。
  • 交互:悬停一段显示这件事前后的份额与这一轮的理由;切换到某个子层,看它自己的 64 份。
  • 状态缺的:让位的配对。回执的 changes 能算出每件事增减多少,但没有记“谁为谁让位”,草图只能把同一轮的增减并排,不能连线。回放里也没有被拒绝的批次;完整版若要画“想涨但被预算挡回”,需要被拒批次的回执留在记录里。

第三轮的动画(2026-10-20,yield-motion.md):它仍是复盘工具,概念层约一成,只在一轮过账时动:让出的份额一格一格剥成灰格进中线,再出到右翼,平账一帧落定,静止时概念层为零。直接打开时讲一遍三拍(composite 是 f22 从哪来、f23 关上、f24–f26 到哪去,约 15.5 秒,停在 f26),英雄数字是这一轮让出的份数,也是拿到的份数(f23 是 30);问题随改写失效,在 ↩ 旁记一个空心 ○。悬停与展开共用 motion/ix.mjs:同一件事在每一行描边,色块沿行弹出,侧栏切到“这一件”。让位的配对仍然没有,卡与侧栏一律写“同一轮让出 / 拿到”。

05 批次记谱 · sketches/notation.html ​

主关系:每一轮整理由什么组成:收到几条、各怎么判,对哪几件事做了什么;两周里整理的疏密,和你插话的时刻。

已有形式都在展示整理的结果;整理这件事本身(一轮里读了什么、丢了什么、动了哪几件)没有画面。

选用帧:f34(最后一帧)。37 轮全部记下:开局一轮 9 条输入、新增 6 件事与 10 个子项的密集,周末的稀疏,两次无输入的定时整理(10/18、10/22 早 8 点),以及林苒的 26 条输入与 3 次批注。

text
日期       间隔        收到                改动(按事项)→ 回执                         这一轮(旁白)
12 周一 09:10 ·       ●●●●●●●×●       ◇++++发布 +++试用 +++筛选 +账单 … → r3     v0.8 拟周五…
        20:30 ──      ●●× ⟋批注         +++厨房 → r5                                 厨房渗水…
13 周二 09:20 ───13h  ●●×               ⋈费用 ▲▲妈妈 → r6 · 批注已纳入
18 周日 08:00 ───11h  — 定时整理,无输入   ◇妈妈 → r17
25 周日 19:40 ────24h ●●◌               ▼试用 ▼发布 ▼妈妈 ▼费用 ▼链路 ◇苏禾 → r33   此刻

输入:● 采用、○ 重复、◌ 暂缓、× 噪音、◷ 宿主提醒;改动:+ 新增、▲ 变大、▼ 变小(按权重档位)、◇ 只改内容、⊘ 撤下、⋈ 合并,小记号是子项。

颜色含义
朱红来自你本人:你的输入与批注,只此一义
墨黑其余输入与所有改动记号
灰时刻、间隔、回执与旁白

灵感:#62 Dear Data 第 1 周、#67 Medea 航海日志、#68 Bach 手稿、#44 Gotthardbahn 左栏、#58 du Bois 大括号(子项归入根)。

做完整版还需要:

  • 帧导航:一帧落下一行,此刻行加粗;可以只看某一天。
  • 交互:悬停记号显示原话与判断理由;点改动记号跳到身份线上对应的站。
  • 状态缺的:每条输入的处置记录(与来源矩阵相同),否则“收到”一栏只剩被采用的输入。面向用户的批次说明:右栏现在借用回放旁白 frame.title(见上文“批次级说明”)。上次查看的锚点:last_seen_at 恒为 null,画不出“你上次看到这里”的那一行。

第三轮的动画与交互(2026-10-19,见 notation-motion.md):直接打开先演 12 秒,三拍同时作用在全部行上:读(一颗灰颗粒一条输入)、丢(噪音熄灭、暂缓沉成行下灰烬、采用转墨)、动(采用的颗粒沿本行放出流痕汇成记号,标出收得最多与动得最多不是同一行),英雄数字是两周“动了 131 处”;列序改成收到挨着改动,谱底加合计行;悬停与展开接共用的 motion/ix.mjs,详情就是侧栏。概念层约两成,静止时不动。

第二轮没有覆盖的关系 ​

  • 层级份额。 每个父事项里还有自己的 64 份,“父 12 份里有 24/64 给了某个子项”这种嵌套比例,五张草图都只画根层。候选画法是 du Bois 三角拼方(#59)或 Feltron 嵌套三角(#61),但两者都难以并排比较,暂不做。第四轮由结绳画:每一层都是一根横绳挂一排垂绳,结按数位对齐,可以并排比较。
  • 种类构成。 等你、进行中、已完成、知会四类各占多少、随时间怎样变;Nightingale(#69)式的画法与小倍数重叠,放弃。
  • 单件事的传记柱。 地层柱(#72)式的一件事一根柱,与身份线的一条线重复,并入草图 01。

真实数据下的问题清单 ​

2026-10-15。默认数据集换成 composite(化名改写的真实公开输入,Agent 判断来自一次自由运行再经打磨)之后,把每种形式按 1440×900 重新截图:原版、A/B/C/D、腕上一瞥、小倍数与回应组件取 8/16 零点(f26,旧数据此刻 9 个问题开着,新数据 5 个),五张草图取数据集自己的选用帧(sketchFrames)。截图在本机 .local/polish-base/<form>.png,不提交;重截用 node scripts/shoot-forms.mjs --frame 26,草图去掉 --frame。本节写于第一次自由运行打磨出的演示数据;之后演示数据按含家庭流的第二次自由运行重建(见 POLISH.md),2026-10-15 晚按新数据更新了引用:对照表换成新数据的数字,事项、问题与选项换成新数据里对应的那件;“最严重的问题”一栏是打磨前的形式在旧数据上的截图所见,打磨前的形式已不存在,没法在新数据上重拍,所以保留原文,在格内用“新数据:…”注明对应的数字,旧现象在新数据里不再出现的也在格内注明。

真实数据与手写情境差在哪 ​

量手写情境composite
每帧输入0–9 条,一句话54–234 条(旧数据 43–208),正文常是整段英文评审或论坛长帖
根层同一时刻最多 10 件最多 26 件(旧数据 35 件),大多只占 1 份;两周出现过 60 件(旧数据 89 件)
同时开着的问题最多 4 个最多 8 个(旧数据 9 个)
“你”的署名林苒Jonas Berglund、jberglund、Jonas B.、jonasbe 四个,随平台而变
回应发生在哪里Fold 里的按钮或回复几乎都在来源处:GitHub 上批准合并、问答站上回评论、家里回消息或打电话(via: source)

为让页面不报错、能读,这一轮只做了通用化:时区、人物名、日期与周次从数据取;草图的选用帧与说明从数据取;身份色按同帧共现贪心分配;小倍数只列此刻在根层的事项;身份线只画累计份额最多的 12 件;来源矩阵把每组发件人折到能放下的行数,忙的来源改成比例条;批次记谱的输入超过一行时改成细刻度、声明超宽时记“+N 件”;回应时序的批次柱按最大帧缩放。下面是没有改、需要下一轮设计判断的问题。

每种形式最严重的问题与打磨建议 ​

形式截图最严重的问题打磨建议适合承载的回应路径与场景
原版original.png树图 35 块里 25 块只有 1 份,标题被截到两三个字;左栏第一条输入就是一整段 Copilot 评审 markdown。新数据:f26 根层只有 14 块、6 块只占 1 份,“大多数块只有 1 份”不再出现,记录保留作为设计理由根层 1 份的事项合成一格“另有 N 件小事”,点开再铺;输入栏按流折叠,默认只展开本人与被采用的approve:在电脑前处理工作评审(#13350、#13596),格子里直接给 PR 链接与批准
A 空间排布a.png顶部回应流把英文原文整句贴出来,本人以 Jonas B.、jberglund 两个名字出现;6 个开着的问题挤成底部一排小纸片。新数据:f26 开着 5 个问题回应只写动作与对象(“在 GitHub 上批准 #13528”),署名统一成人物名;大卡只给最急的 2–3 个问题choose:要当场二选一的生活急事(猫:打给诊所或先观察;主水管:整根挖开换或免挖穿新管)
B 时间展开b.png35 条带挤成细线,右侧标签一屏只露出 13 件;回应面板贴英文原文,还把回给 Gerda 的评论排在 Tilda 的问题下面。新数据:f26 只有 14 条带;Tilda 的提问没有成件,回给 Gerda 的几条也没挂到任何事项上,这两处不再出现,记录保留作为设计理由份额不足 3 的带合成一条“小事”带;来源处的回应折叠原文,只留动作schedule 与带 due_at 的问题:航班改签(9/13 前)、周末给后刹排气——时间轴能直接看出期限谁先到。新数据:航班改签是不带期限的二选一(sept-return-0914),后刹排气(kajsa-bike-brake,8/16 20:00)只在 f20 开着;带期限的还有母亲九月住哪(8/14)、主水管(8/17 10:00)与开学同意书(8/18)
C 流动形态c.png35 个液滴与标签互相压住,几乎不可读。新数据:f26 根层只有 14 件(8 滴、6 颗小珠),35 个液滴的情形不再出现,记录保留作为设计理由只给 3 份以上的事项画液滴,1 份的沉成底部一串小珠;标签只给等你回应的事defer:可以推后的事(热浪里的空调控制器、冻结期不能合的 #13295),用“沉下去、到点浮起”表达推迟。新数据:空调提问被判为暂缓,没有成件;#13295 的推迟问题在 f12–f17(pr-13295-writeout),f23 起另有“三个旧 PR 推到哪天”(pr-reviews-0814)
D 手机首页d.png可读性最好;但 9 张问题卡标题截断,“回应你 12:19 的处理”出现在仍开着的问题上(他回的是 Gerda,不是 Tilda)。新数据:f26 开着 5 个问题;Tilda 的提问没有成件,这处误挂不再出现,记录保留作为设计理由(同类的“这个问题还开着”见 f26 主水管卡上的“你用 iMessage 回复 Kajsa”)来源处的回应写成“你在问答站回复了 Gerda”,不当作回答了这张卡;首页只放最急的 3 张大卡,其余折成计数approve 与 choose 一键作答;reply 用回复框(水碗尺寸、航班号这类一句话补充)
腕上一瞥watch.png9 个问题让“抬腕两秒”失效;最急的一张题干四行。新数据:f26 开着 5 个问题、1 件要紧表盘只数 24 小时内到期或 high 的问题;为表盘单独给 16 字以内的短问法confirm 与二选一的 choose(论坛承诺“加好了吗”、猫“打给诊所”);不承载 reply 与 schedule。新数据:论坛承诺没有成件(社区流一条也没被采用),记录保留作为设计理由;表上可答的确认可看家里的“Smilla 约上兽医了吗?”(f01–f02)
两周小倍数multiples.png16 种身份色对 89 件根层事项(新数据:60 件),同色不同事;第一周方阵几乎全满,看不出注意力移动只给累计份额前 8 的事项上色、其余灰;或改按流着色,看工作与生活此消彼长不承载作答;黑点标“此刻有问题开着”,复盘时看问题在哪几天堆积
回应组件respond.png六类都取到了真实问题;approve 的执行对象是化名仓库的链接,打不开,题干夹着英文人名执行对象写成“在 GitHub 上合并 + PR 标题”;为 via: source 加一种“已在原处处理”的回执六类的样张;下一步按上面各形式的分工裁剪
01 身份线lineage.png只能画 12 件,另 77 件未画;CI 一条线 21 版、11 个名字,站名排成一列。新数据:另 48 件未画;CI 一条线 26 版、15 个名字按流分区(工作、生活)各画前 6 件;只改了措辞的连续改写合并成一站不承载作答;在线上标出问题的开与闭(航班两次登记、一次失效)。新数据:航班两次登记都答后关上,没有失效的那次,记录保留作为设计理由;改写后失效的是 master CI 谁来查、母亲九月住哪与后刹排气
02 回应时序timing.png英文回复原文作为标签贴在线上;右侧“仍开着”的标签互相压住回应只画刻度、悬停看原文;仍开着的问题在右边按期限排成一列所有类型的开闭;最适合检查 schedule、defer 到点与 due_at
03 来源矩阵provenance.png本人分成四行(四个署名);571 位发件人折成“其余”一行(新数据:发件人从 620 位增到 672 位,多了家庭流 52 位);社区与订阅两大块几乎全是 ×先按流分组再按人;本人合成一行;整块噪音只画一条比例条不承载作答
04 让位图yield.png五张草图里最能读的一张;但每行十几块 1 份的小色块,短名多是 PR 编号,读者认不出1–3 份的让出合并为“其余 N 件”;短名取标题里的事(“猫看病”“主水管”)而不是编号作答之后的去向:批准 #13572、合并 #13528 后份额让给了谁
05 批次记谱notation.png改成细刻度后能读;但一轮声明常有 10 件以上,记成“+N 件”,旁白被截断。新数据:28 轮里 11 轮在 10 件以上(旧数据 22 轮)声明只记新增、变大、撤下的件数,变小与只改内容不逐件画不承载作答;标出“这一轮登记了几个问题、几个失效”

下一轮怎样分工 ​

  • 首页类(D、腕上一瞥)只承载最急的少数问题。 真实数据里同时开着 9 个问题,其中只有猫的药量与车道下的主水管是当天要决定的(新数据 f26:开着 5 个问题,只有主水管要在一两天内决定,期限 8/17 10:00);建议由 due_at 与档位选出至多 3 个,其余折成计数。
  • 空间类(原版、A)承载工作评审的 approve。 它们本来就在电脑前看,适合把 PR 链接、批准与要求修改放在格子里。
  • 时间类(B、回应时序)承载 schedule 与 defer。 航班改签、周末排气、冻结后再审都依赖“期限在此刻之后的哪里”(新数据里航班改签不带期限,母亲九月住哪、主水管与开学同意书带期限)。
  • 复盘类(小倍数、身份线、来源矩阵、批次记谱、让位图)不承载作答,只标出问题的开闭与作答后的份额去向。
  • 所有形式都要先解决两件通用的事:来源处的回应怎样写(via: source,不贴原文、不冒充回答了别的问题),以及根层长尾怎样折叠(1 份事项与身份色不够用)。

第三轮:概念动画 ​

2026-10-19。前两轮问的是“一帧该怎样画”;这一轮做给第一次看 Fold 的人:官网首屏的概念动画。它不是新的视图,而是把一轮整理本身演出来。入口在画廊的“第三轮:动画”,页面放在 motion/,参考视频见 INSPIRATION.md 第三轮。

show 不是这个项目的目的,但想 show 就能 show、完全不用调整底层逻辑,是这套设计的优势。动画页和前两轮的形式一样只读同一份 scenario.mjs 回放(同一组 frames、批次、问题与反馈),用 engine.mjs 重放、按已有页面的算法现算,不另造数据管道、不改契约、不在数据里加任何只为动画服务的字段;炫的部分全在渲染层完成。同一份状态,既能压成手表上的一圈刻度,也能铺成官网的一整屏动画。

两层怎样叠。 每一页分概念层与信息层,各页的具体叠法写在各自一节:

  • 概念层约占八成画面,可以炫、可以密、可以一直动(整理脉冲是粒子、笔触、辉光与余辉,份额拨盘是字形碎片、记号簇与灰仪表)。疏密比例来自真实数据,整理脉冲更进一步,一颗亮粒子就是一条输入(见下),份额拨盘里绝对个数仍是装饰;它只用灰,不出可读的文字与数字,也不用朱红,也不暗示信息层没有的事实(空轮不下雨,没有新问题时不闪任何像朱红线的东西)。
  • 信息层约占两成,少、准、有出处,只在节拍上动:大数字、份额、问题、流水线。每个数都能在该页的 data.json 里找到来源,页面用同一推导现算。

交互同一套。 两页(以及按同一标准重做的 01 腕上一瞥、改过的 05 批次记谱、加了放映的 08 两周小倍数、02 回应时序与做了动画的 04 让位图,以及按同一标准重做的 B 时间展开、C 流动形态、原版树图与 A 空间排布,以及第四轮的 04 变形、07 峰值保持、03 驻龄、05 等待链、01 拔河、06 结绳、08 回应托盘,和桌面壳层的 E 折叠屏)的悬停看概要、点击展开详情走同一个模块 motion/ix.mjs(样式 motion/ix.css,纸色与黑底两套只差变量):状态机与时序、概要卡与详情卡、摆位与引线、键盘与触屏、window.foldX 的同名钩子都在里面,页面只说哪里是哪件事、卡挂在哪里、怎样停表与压暗。接入要提供什么写在文件头的宿主契约里,之后的形式照它接;scripts/check-ix.mjs 用真的鼠标、键盘与触屏事件逐页跑同一套 16 项检查。D 手机首页也用它的概要卡、详情两节与时序,但手机没有悬停:长按代替悬停、轻点展开,check-ix 给它另跑一套 23 项触屏流程(home-motion.md);E 折叠屏同 D 一样长按代替悬停,另跑 49 项,多出铰链与翻页、左页摊开的原料与详情、色带格联动、圆角同心与讲一遍(duo-motion.md)。回应托盘也在手机上,照 D 的触屏规则接,check-ix 另跑一套 29 项(trays-motion.md)。

01 整理脉冲 · motion/pulse.html ​

主关系:一轮整理本身。前两轮把一轮记成一帧(原版、A/B/C/D)或一行(批次记谱);这里把一轮演成 4.25 秒的一次脉冲:上百条落下成云,一道弧从外向根收拢,只有几颗被带到根上、再化成光顺着枝流上去,要你开口的那一件从枝梢打一道朱红线到根。

一个圆心:两层共用以根为圆心的极坐标。根是一段弧,扇形是正圆扇(张角 160°),64 条份额线是从根出发的射线,扇形外沿是一道细弧;每根枝就是其中一条射线从根到梢被点亮(偶数格的楔形取靠自己一侧的那条),光沿同一条直线上行;云在外沿之外的环带里,事件沿射线朝根落下;收拢弧与根同心、张角等于扇形;暂缓的余烬是外沿外侧一圈同心环带。上一版的扇形外沿是椭圆、弧是正圆、云是顶部矩形雨,两层对不齐,用户说“前后景对不上,有点假”;统一圆心之后,枝仍是先抬升再外倾的曲线,大枝弯出射线网格、梢不在任何一条射线上,用户又说“弧度还是不一样”,于是枝改成直的射线。

一颗一条:云里一颗亮粒子就是一条输入,另带三颗更小更暗的尘埃做质感(固定三倍,弧经过就散)。亮粒子的去向与面板分类一一对应,f20 的 234 颗里 66 颗进根、111 颗成余烬、57 颗熄灭,即“采用 66”“没采用 168 = 暂缓 111 + 噪音 57”;页面的 foldPulse.census(i) 能逐轮核对。

三个节拍:涌入 1.0 秒(落下先快后慢、砸到位)、折叠 2.1 秒(弧 0.45 秒扫过云,噪音熄灭、暂缓被推到外沿成余烬;再 0.7 秒穿过扇形合到根,采用的落在所属条目在根上的格子,停 0.12 秒,化成一束光顺枝流到梢,光到哪里枝亮到哪里,到梢时枝梢闪一下、枝按新份额变粗)、一问 1.15 秒(整屏先压暗 0.3 秒,朱红线成为唯一的亮点;没有新问题的轮次只剩余辉)。自动播放从 f00 起,f28 之后是片尾“两周 3196 条 → 新登记 26 个问题”,树收回根后接回 f00,全程约 124 秒。?frame= 演一遍那一轮再停住,?from= 从那一轮起连播。

用法:自动连播两周,←/→ 逐轮重放一次脉冲;悬停枝条看概要,点击展开详情,两者都让本轮的时钟停在当前时刻,详情里的问题链到同一帧的 D 去回答。标准与份额拨盘相同,落在本页的几何上:枝是线,命中区放宽到线两侧 10 px,名字、枝梢与根上的格子都算;展开时枝与格子沿自己的射线外推 8 px,引线从枝梢沿同一条射线出到外沿再连到卡;卡上的数守本轮节拍(触发、动作与收回见 story.md 末节“交互”)。

叠法:概念层画在下面的 WebGL 画布里,色调映射封顶 0.62,最亮处也低于信息层的字与线(约 0.88);吸收是两层交接的地方:粒子在概念层被带到根,枝上流动的光画在信息层;信息层每行字的框内概念层为 0,向外 40 px 线性回到原亮度,面板保留框形遮罩,粒子不进面板;信息层每次动作时概念层压暗约三成,要让人只看一处时整屏先压暗。

颜色含义
灰白概念层的一切;信息层的枝、64 格、64 条份额线与文字
朱红只给回应路径:新登记的问题、你的回应沿线返回、答掉后根上的记号、“新问”的数

参考拆解、数字与出处、故事见 spec.md、data.json、story.md;灵感 #73、#74。

还差什么:页面只有横屏布局,900 px 以下收起流水线面板,竖屏(手机)没有单独排版;详情卡贴在画面边上,会盖住同侧几根已压暗的枝;Canvas 2D 退路没有余辉,看起来比 WebGL 版素;概念层的亮度按 Apple M1 Pro 调过,别的显卡没有看过。采用的输入若所指条目当轮不在树上(composite 的 f21 两条、f26 一条),进根后直接散掉,没有光可走。

02 份额拨盘 · motion/dial.html ​

主关系:64 份是一条硬约束。成百条输入进来,环上只留十几件;一件变大,同一轮里别的就得缩;游标只停在等你回、而且要紧的那一件上。

三拍(20 秒循环;空格连播 28 轮、每轮 4 秒;←/→ 逐帧并停住):

  1. 刻度(0–5.5 秒,f00→f01):首次打开先静 0.4 秒,刻度顺时针数出,64 落进环心;76 条从五条车道进来、38 条被采用,母亲换水管、猫看病各长到 12 份,留白 7;游标落到“Smilla 约上兽医了吗?”。
  2. 涌入(5.5–14.5 秒,f02→f25 每轮 0.375 秒):累计输入从 207 滚到 2893,环一格没多;扇区每轮跳一次;f23–f25 没有要紧的问题,游标空心退回硬止刻。
  3. 让位(14.5–20 秒,f26):158 条进来,主水管 12→24,同一轮留白 12→1、猫看病 12→6;游标甩到主水管,落定 0.3 秒后 16 条相关输入收成线束:“主水管:挖开换还是免挖?8/17 10:00 前”。

用法:默认循环 20 秒三拍,空格连播,←/→ 逐帧;悬停看概要,点击展开详情,两者都让播放停在当前轮(触发、动作与收回见 story.md 末节“交互”)。

两层怎样叠:

层占画面画什么规矩
概念层约八成外圈三层沿切线正向排的字形与字段碎片、车道上远浅近深三档灰度的记号簇、左侧细线、三块灰仪表(输入片段、处置格、信号窗口)只用灰;字不大于 9px 且截断,不出现可读的整句消息;首次打开静 0.4 秒后一直动,跨切点不断;信息层动的那 0.6 秒降到四成不透明;不进环心、游标、计数、标题
信息层约两成64 刻度与硬止刻、扇区与留白、游标与注释、五个计数、旁白 frame.title、车道上墨色的真实输入、逐轮已分配折线墨黑加一个朱红;只在节拍上动,切点一帧硬切;每个数字都能在 data.json 里对上
颜色含义
墨黑游标所指的扇区、游标与它的名牌、计数与文字
灰阶其余扇区(两档交替)与整个概念层
朱红只给等你回的问题:注释里的小方块;环外沿其余开着的问题用暗朱红小刻

画法:canvas 画车道、记号与线束,SVG 只画环与文字;64 刻度、硬止刻与环心的 64 建好后不再重画。拆解见 spec.md,画面数字见 data.json,三拍与约束见 story.md。

灵感:视频 B(@francescoinweb3 的工作室仪表):0.4 秒的第一个动作、一帧硬切、亮的极少。

还差什么:

  • 不承载作答;只有详情里问题旁的“去回答 →”链到同一帧的 D 手机首页,官网上怎样从动画过渡到首页类形式仍没有设计。
  • “谁让给谁”的配对回执里没有,只能画成同一轮里一涨一缩同时落定。
  • story 数据集没有 stream,车道按 channel 在渲染层归组(规则在 motion/dial-model.mjs),只是近似。

E 折叠屏 · index.html?variant=duo ​

主关系:从哪来,轮到谁。合上是折好的,翻开是摊开:外屏是 D,这一轮整理好的结果;展开时左页把这一轮进来的输入按时间摊开(composite f26 是 158 条),采用的按落进哪件分组(与 C 同一条规则,variants/inflow.mjs),每组和右页那张卡同一行、同一高,一条线从组里的几行汇成一股、穿过折痕接进卡;进了 Agent 那边的、暂缓、噪音、重复,和这一轮撤下或合并的,灰着折在左页下面。左页页头写“158 条输入 · 累计 3051 条”,一排细格是每条输入的时刻与去向。64 格份额带一页宽,分界线压在折痕上,你的格子在右、Agent 的与空余在左,带下一行账:空余 1 + 25 份在 Agent 那边 + 38 份等你 = 64。右页就是外屏,合上时留在手里。屏的每个角都与机身的角同心,系统条移进安全区让位。(2026-10-29 夜之前左半写 Agent 为它做了什么;用户说没太体现双屏的优势,改成现在这样,见 duo-motion.md 1.6。)

三拍:

  1. 展开:照 iPhone Duo 的开合做成真的翻页,跟着铰链走。承载外屏的那块板绕折痕向左、朝你翻开(透视,转到一半自由边迎面变高),右页一像素不动,就是外屏;板的正面越翻越像磨砂玻璃、越透明,露出底下一模一样的右页;背面就是跨页的左页,钉在终点,靠折痕先清,越往自由边越糊越暗,落平时全清。内屏报告跨页(120°)时右页整理一次 0.40 秒:右半压紧,折起的几件展开成单行条,英雄数字在 0.22 秒那一帧从“5 件”翻成“38 份”;板继续翻到 180°,份额带、组进卡的线与带下的账在 120°–170° 随铰链从折痕长出来。合上是整理倒放并加快(0.28 秒),然后板跟手合回,暗与糊从自由边扫向折痕。
  2. 答一件:那一行整体收成 D 的已答卡,右半是标题一行加回执,左页那一组同一拍折成一行、与它同高,进卡的线缩回折痕;下面的行一次上移补位,折叠里的下一件长成一行;墨格就地变空心,数字少这一件的份额。桌面上那一列宽度不变,收起后挪到条带最后,屏上仍是等你的三件。(2026-10-30 之前答过的一行保持原高,用户截图看到的是空壳,见 duo-motion.md 1.8。)
  3. 整理落地(1.0 秒):回执先填实,再斜穿折痕落到“Agent 在办”那一行(目标在屏外时从左页下缘离开),左半同时下移成那一行;空心格过分界变灰,其余的条上移一次,新问题描一圈;左页换成下一轮的原料,不飞点。

用法:拖折痕上的把手折、展,松手落到最近的姿态;[ ] 每次 15°,F 一键折 / 展,?hinge=0..1 定格在 180° × hinge 那个角度;侧栏三个按钮切合上、书本、桌面。手势与 D 同一套:长按看概要;轻点左页一组或一行灰的,那几条的原文长满左页(右页不动、仍可作答),末尾一点换成这件事的来龙去脉;轻点卡上的字直接看来龙去脉;长按色带格把那一件的两半描出来,Esc 或点空白收回。每块屏的页头钉住、条目在下面滚:书本两页一起滚,外屏滚到哪张卡,翻开就从那张卡接着读;桌面上下两半各自竖滚,每列固定 191 pt、一屏三列,列多时两半一起横滚、按列吸附。桌面姿态上看下按:立着的上半是原料,平放的下半是卡,线竖直越过横折痕。直接打开讲一遍约 11 秒:合上 → 展开 → 答一件 → 下一轮落地 → 合上,任意键跳到结尾。故事、时间表与交互表见 duo-motion.md。

两层:概念层只有份额带、左页页头的细格和组进卡的线,只用墨与灰;其余都是信息层,数字只在节拍上变。翻页只换表现、不动信息层:板上画的就是两块屏本来的样子,糊与暗是隔着毛玻璃看它。屏外是照 Apple 渲染图量出来、用 CSS 自己画的 iPhone Duo 机身(金属边、屏框、键、铰链,翻开的那块板带 5.2 mm 的厚度,自由边的光随角度变);它只是容器,不进信息层(duo-motion.md 3.7)。平放时折痕处只有 24 pt 纸色留白,半折时按 ReservedRegion(.division) 加宽到 48 pt。

还差什么:

  • 尺寸按 @3x 推算,铰链阈值(20° 接管、120° 报告跨页)是常量,都待真机量;浏览器里的铰链是模拟的。
  • 帐篷姿态没做,等真机确认帐篷时外屏能不能作答。
  • 桌面姿态的作答与书本同一张时间表;换轮只用通用的移位与进出场,没有回执过分界那一笔。

第四轮:关系的画法 ​

2026-10-28。第四轮灵感(INSPIRATION.md)只找前三轮没碰过的方向,由它长出 8 个候选;每个都先回答“它让人看见哪一种别的形式看不见的关系”,再按六步流程(参考、数据、故事、动起来、自审、交付)做成完整形式。它们和第二轮一样是复盘工具:只读同一份回放现算,概念层不到一成、静止时为零,悬停与展开走 motion/ix.mjs。

01 拔河 · sketches/tug.html ​

主关系:家里与工作在 64 份里此消彼长:谁领先、领先多少、哪一轮被哪件事拉过中线;以及你在来源处实际在哪一边动手。小倍数按身份着色,看不出领域之间的拉锯;没有一个形式把“Agent 给的份额”和“你做的”并排。

英雄数字:此刻的“家里 : 工作”,composite f26 是 40 : 23;标题给两周的极值,8/13 00:00 家里 59 份、工作 5 份。

三拍(直接打开时讲一遍,composite 约 23 秒,停在 f26;任意键跳过,顶栏「▶ 讲一遍」重演):

  1. 手在工作上(f01–f08):第一轮家里就领先;到 f08 份额家里 39 : 工作 25,你却在工作上动手 13 次、家里 1 次。
  2. 坠下(f09–f20):f18 向家里 28(母亲换水管 +12、猫看病 +9),f20 家里 59 : 工作 5。
  3. 弹回(f21–f26):f23 向工作 35(母亲换水管 −18、猫看病 −12),留白一下空出 25 份;f26 落在 40 : 23。

story 照实是另一个故事(约 17 秒,停在 f19):工作一直占大头,家里只在林苒开口的那个周末翻过中线(f15 30 : 16),周一退回(f19 18 : 37)。

两层怎样叠:信息层是条、曲线、朱红柱与注,数字只在一轮落定时一帧硬切;概念层不到一成,只有一样:一格换了边(工作 → 留白 → 家里),条上的分界扫过它时先灰 0.28 秒,落定后为零。动得顺靠同一样东西连续地动:条上每一段从上一轮的位置滑到这一轮,曲线的头同时走到这一轮的点,朱红柱从基线长出。

颜色含义
墨黑家里(家庭与生活):条的下半、曲线在中线下的墨面
纸白与浅灰工作:条的上半、曲线在中线上的浅面
斜线留白
朱红只给你:在来源处的回应(向上工作、向下家里)、你的批注 ✎
灰换了边的格子,拉的时候先灰一下

口径:每件根层事项按它引用过的来源投票,得票最多的是工作流就算工作,其余都算家里,两周不变;回应一条反馈链接算一次,归到它指向的那件事所在的一边。数字、三拍与时间表见 tug-motion.md。

灵感:#89 棋局复盘的评估条与评估曲线、#88 纽约时报 2016 年选举指针(只取“此刻一个数、背后一条走过来的曲线”,不取指针的抖动)、#54 Playfair 差额面积。

还差什么:

  • 领域是推断的:composite 用事件的 stream,story 没有,按 channel 头归组;生活问答并入家里。状态里没有“这件事属于哪个领域”。
  • 次数不等于用力:一条评论是一次,一通电话也是一次。回应的分量回放里没有。
  • 只画根层;子层的拉锯与“领先”的好坏都不画,份额没有对错。

03 驻龄 · sketches/age.html ​

主关系:此刻的 64 份里,每一份已经在当前这件事上连续待了几轮:多少是沉淀的,多少是刚换手的。

让位图画每一轮份额从谁来、到谁去,小倍数画每件事的大小怎样变,都看不出此刻的预算有多“新”:主水管的 24 份里 12 份是这一轮才给的,母亲换水管剩下的 3 份从第一轮起就没挪过。

选用帧:f26(8/16 00:00,r26)。车道下的铜管裂了,主水管 12→24,FTPS 计时 1→6、后刹 1→3,同一轮猫看病 12→6、Ture 发烧 3→1;63 份里 19 份是这一轮才给的,从第一轮起没挪过的只剩 6 份(母亲换水管 3 份,master CI、猫看病、Kerberos 各 1 份)。story 停在 f19:55 份里 21 份是这一轮才给的,发布的 3 份从第一轮起没挪过。

text
f26 · 一格一份;数字 = 待了几轮,+ = 10 轮以上,■ = 从第一轮起一直在,· = 留白
 ■ ■ 1 1 4 4 5 ■
 ■ 3 1 1 4 4 3 7
 3 3 ■ 1 1 4 2 5
 1 9 + 9 + 2 3 3
 1 1 9 1 1 3 3 2
 1 1 1 1 + 3 3 2
 1 8 ■ 1 + 2 2 5
 1 9 5 1 · 5 5 5

驻龄的算法:第 i 轮一件事的第 k 份已经待了几轮 = 往回数,这件事的份额一直不少于 k 的轮数。它等价于一个栈:变小时先交回最年轻的几份,变大时新的从 1 数起。只算根层;并入算新的一件,从 1 数起;撤下再恢复也从 1 数起;留白不计驻龄。

记号含义
同心方框的圈数这一份在这件事上连续待了几轮,画到 12 圈
实心黑从第一轮起一直在,又已超过 12 圈
浅底连成一块,格缝中线一道细线同一件事的地盘
虚线格留白

只用墨黑,圈数是唯一的变量。

灵感:#90 Vera Molnár《(Des)Ordres》(同心方框)、#91《Interruptions à recouvrements》(格子不动,只在局部被打断)、#93 Jared Tarbell《Substrate》(一道一道长出来)。

动起来(age-motion.md):格子两周不挪,只在份额易手时换主人。一轮三个动作:清出(变小的事交回最年轻的格,圈向中心收拢、淡出,原位留一道灰框 0.5 秒散去)、加圈(留下的每一格最里面多一圈)、新框(认领空格的事画出最外一道框),平账一帧落定。英雄数字是这一轮新给的份数 / 此刻在用的份数,旁边是守恒:让出 + 留白减 = 新给。直接打开时讲一遍约 23 秒(story 约 21 秒):快放到 f21,f23 母亲换水管一次清出 18 格(其中 6 格从第一轮起就在)全速放,停在 f26;静止时概念层为零。悬停与展开共用 motion/ix.mjs:一件事的地盘描边、其余降到七成,点击沿“方阵中心 → 地盘重心”弹出 8 px,引线沿格缝出到详情卡,侧栏切到“这一件”。

还差什么:

  • 格在哪里是画法:回执只记每件事增减多少,不记谁让给谁;新给的格落在空着、又离自己地盘近的地方,卡与侧栏一律写“同一轮清出 / 新给”。
  • 驻龄只算根层,子层没有画。
  • 撤下又恢复、并入的事都从 1 数起,看不出它是“回来的”;并入的只是落在来源让出的格里。

04 变形 · sketches/morph.html ​

主关系:Agent 的判断本身。同一批事项留在原位,面积从“收到多少条输入”变成“占多少份”;收到最多的那件不一定给得最多。来源矩阵数来源,整理脉冲把输入汇到根上,没有一种让同一件事的两种量在原地互换。

选用帧:f26(8/16 00:00「车道下的铜管裂了」)。关联到此刻 14 件的输入 464 条,已分配 63 份、留白 1:收到最多的 master CI 141 条只给 6 份,车道下的主水管 29 条给了 24 份;条数里家里 45%,份额里家里 63%。composite 的 28 轮里,收到最多的那件从来不是份额最多的那件;手写情境不是每轮都这样,所以论点只写这一轮。

text
收到(面积 = 条数占比 × 已分配份额)        给出(面积 = 份额)
   ○ master CI 141                           ○ master CI 6      ← 同一个位置,只改面积
         ● 主水管 29        ── 1.4 秒 ──▶          ● 主水管 24
   ○ 待审 PR 52   ● 猫看病 60                ○ 待审 PR 6   ● 猫看病 6
                ┊留白 1┊                                ┊留白 1┊   ← 两态一样大
颜色含义
黑 / 白家里 / 工作(两周落到它身上的输入按流计,工作过半为白),与拔河一致,只此一义
细灰圈这件事在另一态的大小
灰虚线圈留白,两态不变
朱红小方块此刻有开着的问题,只此一义

口径:一条输入指向批次声明里引用它的那件事,没有引用就取 relatedIds[0],再沿合并与父级上溯到正在看的这一帧的根层事项(与整理脉冲同一规则);暂缓与重复照算,噪音不指向任何事项。所以 master CI 是 141 而不是草图的 149(草图把 relatedIds 里的每个 id 各算一次),待审 PR 沿合并接上旧的两版是 52。

三拍(约 7 秒,停在 f26;story 停在 f15:发布 11 条 → 3 份,妈妈 10 条 → 24 份):

  1. 收到(0.4–2.4 秒):从只有留白的空图起,14 个圆同一条缓出、同起同落长到收到态,条数在落定那一帧写出;master CI 一个白圆最大。
  2. 变形(2.4–4.4 秒):所有圆原地胀缩成给出态,同一条缓入缓出、不过冲,面积线性插值,任何一帧圆面积之和加留白都是 64 份;落定那一帧数字从“条”换成“份”,英雄数字补齐“141 → 6”。
  3. 放大与压小(4.4–7.0 秒):master CI 的细圈与主水管的黑圆描墨边,各挂一条注:“141 条 → 6 份 · 收到的 30% → 份额的 9%”“29 条 → 24 份 · 6% → 38%”。

用法:只在顶层直接打开、不带 frame=、不是从别处链来时讲一遍,任意键跳过,“▶ 讲一遍”重讲;其余情况静止,默认最后一帧。“收到 / 给出”或 M 原地变形 1 秒;←/→ 换轮 0.7 秒,位置从上一轮出发只做最小的挪动,并入的一边缩一边挪进它并入的那一件。悬停看概要,点击弹出 8 px、引线出到详情卡,侧栏切到“这一件”,开着的问题旁“去回答 →”链到同一帧的 D;画法与自审见 morph-motion.md。

灵感:#96 Douïeb “Land doesn't vote, people do” 的原地变形、#92 Hobbs 的最小间距、#75 Liquid Glass 的总量守恒;同起同落取自 C 流动形态。

还差什么:

  • 回放里没有 Agent 为什么给这件事这么多份;reason 是一句话,不是对条数的解释。“按条数分”从来不是系统的一个状态,收到态只是一种读数。
  • 一件事撤下、同一轮另起新 id 而没有记合并时,旧 id 的输入接不过去;状态里没有“它们是同一件”的记录。
  • 手写情境没有 stream,家里与工作按 channel 在渲染层归组(motion/dial-model.mjs 的车道规则),只是近似。

05 等待链 · sketches/chain.html ​

主关系:谁在等谁、你挡住了谁。每个开着的问题后面站着哪些人、各等了多久,答了之后哪一环才能动;答掉一件,放走的是一串人。

已有形式都不画“这个问题后面站着谁”:回应时序画问题开了多久,B 画期限在此刻之后的哪里,D 只取最急的 3 张,来源矩阵数谁喂了哪件事。

谁在等由规则现算,不手工标注:开着的问题所在那件事这一版的依据里,去掉你自己、机器(author_kind 为 bot 或 automation)、公开资料(publicSourceId)、群里通讯录外的人与公开站点上的陌生人,剩下的作者一人算一个,等了多久从他在依据里最早的那条算起。composite 171 个问题·帧里 80% 找得到有名字的人,story 131 个里 86%;规则、两套数据的结果与推不出来的四种情形见 chain-motion.md 第 2 节。

text
 ← 已经等了多久   2 周   1 周   4 天   2 天   1 天   12 时   6 时        你   答了之后 →
 母亲 · 短信 9.7 天 ●─────────────────────────────────────╮
 Kajsa · iMessage 3.1 天      ●───────────────────────────┼──◯  母亲九月住哪? 24 份
 Ulrika · 兄妹群 9 时                          ●──────────╯  │   ○住我们家 ○去临时公寓 ○各住一段   期限还有 24 时
 lichen71 · GitHub 11.0 天 ●────────────────────────────╮   │
 …五个人…                                                ┼──◯  #13572 堵复用绕过:批准? 6 份
                                                              │   ○批准·推荐 ○要求修改 ○评论 ⇒ 合并 skarv/skarv#13572
 ─────────────────────────────────────────────────────────────────────────────────────────────
 不经过你   邻居 Gunnel · 短信 · 3.3 天前 ●────────────────○  邻居说车道信箱旁地面潮湿   1 份

三拍(直接打开时讲一遍,composite 约 12 秒、story 约 9 秒,放一次就停;那一轮由规则选出:两周里被你的回答放走的人最多的一轮):

  1. 谁在等(composite f22,story f25):脊从“你”往下长出,每 0.45 秒落一行,等你的人从结往左拉出去、落在自己等了多久的位置;英雄数字“N 人在等你”逐人硬切 0 → 9,Kajsa 一个人挂在三件事上。
  2. 你开口:时间走,所有点一起往左滑(对数,近的快、远的慢);走到 08:02 你给诊所打了电话、11:38 你在 GitHub 上批准了 #13572,结填成朱红,人还挂着。
  3. 一串人松开(切到 f23,story f26):关上的行的线从结上松开、变灰,整行滑进“不经过你”;#13572 留在脊上换成下一问,noble_isle 跟着走;数字 9 → 2(story 3 → 1)。

用法:任意键或点空白跳到终态,“▶ 重演”再讲;带 ?frame=、画廊、合页与从别处链来都静止。之后 ▶ 连播每 12 小时约 0.9 秒、←/→ 一步 0.38 秒,问题的开闭、等你的人换了谁与英雄数字都只在批次刻度上硬切。一行或一个人都是一件:悬停看概要,点击弹出 8 px、引线出到详情卡,右栏切到“这一件”;开着的问题带“去回答 →”链到同一帧的 D,已关的写怎么关上的。

颜色含义
朱红你:竖脊、脊上的结(空心是开着的问题,填实是你答了、等下一轮整理读到)与脊顶的“你”
墨黑等你的人、他们的连线与名字,问题与下一环
灰对数刻度、选项站、“不经过你”的几件、概念层

两层:信息层是脊、结、人、线、问题、下一环与英雄数字,只在节拍上动;概念层一成以内,只有每行底边的“地毯”:这件事上进来过的每条输入一道灰刻,落在同一条对数横轴上,只在时间走时跟着滑,静止时零运动。

灵感:#77 Flighty “Where's My Plane?”(一根竖线倒着读上游、实心与空心的结)、#82 AMAN 到达时间梯(时间尺跟着此刻走、选中加框)。

还差什么:

  • 状态里没有“等待方”与“答了之后谁能动”:规则只能从依据的作者里推,推不出转述的等待与机构的群发期限,也会把旁证里的人算进来;下一环只能读选项、approve 的执行对象与期限(见上文发现:状态缺少的信息)。
  • 不承载作答,只链到 D。
  • 同一个人按 from(· 前的部分)认,家庭流的名字按通讯录改写成称呼(Mamma 写作“母亲”);同一个人换了账号、或在两个渠道用了两种写法,就会算成两个人。

06 结绳 · sketches/khipu.html ​

主关系:层级份额与分组合计。一件事里还有自己的 64 份,子层里的一份要乘着上面每一层才折合成根层;合计绳是一组事的和。第二轮记下了这个缺口(第二轮没有覆盖的关系),之前所有形式都只画根层。

选用帧:手写情境 f26(10/21 17:30,r26),默认样张。发布 24 份往下,子层 64 份只用了 12;最深的一层(发布 › 旧机验证 › 回滚开关、旧机筛选)各 6/64,折合根层 24 × 6/64 × 6/64 = 0.21 份,是两周里这个数最大的时候。composite 两周 29 帧没有任何子项,只画根层与分组合计,图里写明“这两周没有子层”。

text
合计绳     工作 ───────────────────────────── 55      家里与生活 ─────── 6
根层 64 ━━━━┯━━━━━━━━┯━━━━━━┯━━━━━━┯━━━━┯━━━┯━━━━━━━━┯━━━━━━━┯━━━━━━━┊━━
十位 · 单结 ●● 24    ● 12    6      6      6    1     3        3       ┊ 3
个位 · 长结 ▮4       ▮2     ▮6     ▮6     ▮6   8     ▮3       ▮3      ┊
           发布      费用    试用    筛选   链路 苏禾   妈妈     厨房    留白
         子层 12/64↘ …
        ┌────┴────┐
        6         6        ← 子层自己的十位、个位两道横带
      ≈2.3      ≈2.3
       导         旧 ┌──┴──┐
       出         机 6     6
       模         验 ≈0.21 ≈0.21
       板         证 旧机   租户级
                     筛选   回滚开关
画法含义
粗主绳根层 64 份;绳的粗细只分层级:主绳 3.2 px,根层垂绳 1.8,子项 1.1,子子项 0.8
结的高度数位:靠横绳的一带是十位,一颗单结十份;下一带是个位,长结的圈数,1 是 8 字结
短横绳一件事自己的 64 份,副绳挂在它下面;≈ 后是折合根层的份数
合计绳一组的和,虚线系到成员;组由每件事两周的来源定
虚线垂绳留白;子层的留白只在画框里画
朱红方块此刻开着的问题,只此一义

子层以下的名字往下挂(汉字直排,字母与数字侧排),窄槽里也能读全;composite 根层最多 26 根,名字同样往下挂。

灵感:#98 结绳记事(主绳、垂绳、副绳、合计绳与数位横带)、#97 d3 圆填充(跨层要换算成有效份额)、#80 View Transitions(点开的垂绳自己长成子层画框)。

动起来(2026-10-28,khipu-motion.md):概念层一成以内,只在换轮时动:份额变了的结先退成灰、再一圈圈绕上,落定转墨、数字硬切;根层份额变了而又有子层的那根绳,一颗灰珠沿绳往下走到每根副绳,经过“≈”时那个数硬切;静止时概念层为零。手写情境直接打开时讲一遍三拍(约 9 秒):f25 发布 6 → 24、灰珠把最深两根的 ≈0.05 改成 ≈0.21 而它们一结没动、f26 发布长成子层画框,停在那里。悬停、展开、Tab 与触屏照 ix.mjs;点有子层的垂绳下端的“子层 12/64 ↘”长成画框,“← 根层”或 Esc 原路缩回。

还差什么:

  • composite 没有子层,这张图在真实语料上只剩根层与合计;子层是不是 Agent 该常用的结构,要等契约与 Skill 决定。
  • 组是渲染层按来源归的(composite 读 stream,手写情境按渠道名),状态里没有“这件事属于哪一组”的字段。
  • 子层份额与根层份额之间没有约束,也没有“为什么分子项”的批次说明:发布 24 份里子层只用 12,图能画出来,却说不出另一半为什么空着。

07 峰值保持 · sketches/peak.html ​

主关系:上次接触锚点之后的起落:你不在的时候升起又落下、回来时此刻的状态里已经看不出来的事。峰值一直停着,直到你按“已阅”。

已有形式都从某一帧的整份状态出发,或把多帧排在时间上让你自己翻;回来的人只看此刻,看不出猫看病在你离开时到过 24 份。两周小倍数翻得到,但没有“你上次看到哪里”这个起点,也不替你记住最高处。

锚点:last_seen_at 恒为 null,起点是页面侧的推定,按序取:地址 ?seen= 或左栏下拉选的帧;本页按过的“已阅”;你最近一次在 Fold 里回应(反馈 via 为 button 或 reply)时屏上的那一帧(回应在第 k 帧的输入里,锚点取 k − 1);都没有就取此刻往前 6 轮。来源处的动作(在 GitHub 上批准、发短信、打电话)不算看过 Fold。

选用帧:composite f26(8/16 00:00)。两周里没有一次 Fold 里的回应,锚点退到 f20(8/13 00:00),离开 6 轮,3 件:猫看病 12 → 24 → 6(第 2 轮到峰)、复用绕过 0 → 6 → 0(第 1 轮,之后并入待审 PR)、骑车 0 → 3 → 0(第 4 轮,之后撤下)。story f20(10/19 15:30):林苒 10/18 16:59 在 Fold 里回复过 Agent,锚点 f17,离开 3 轮,2 件:发布 3 → 12 → 6、苏禾 0 → 3 → 1。

text
            上次看时就在                     ┊  你离开后才来
表头·峰值     24      ■24      24           ┊   ■6      6      ■3      ■ = 上次与此刻都没这么高
            ━━━━    ━━━━ ②   ━━━━ ⑥       ┊  ━━━━ ①  ━━━━ ②  ━━━━ ④   粗横线:离开期间的最高,圈号 = 离开后第几轮到峰
            ╱╱╱╱    ╱╱╱╱     ████         ┊  ╱╱╱╱    ████    ╱╱╱╱     斜线:比峰值少掉的
            ╱╱╱╱    ┄┄┄┄     ████         ┊  ╱╱╱╱    ████    ╱╱╱╱     虚线:你上次看时
            ████    ████     ████         ┊  ┄┄┄┄    ████    ┄┄┄┄     实心:此刻
          母亲换水管  猫看病    主水管         ┊ 复用绕过  待审 PR   骑车
           24→24→3  12→24→6  1→24→24       ┊  0→6→0   0→6→6   0→3→0

左组按上次看时的份额排,右组按到来的先后排,讲一遍和逐帧时表不换位;一直只占 1 份的折成图下一行字。

颜色含义
墨黑此刻的份额、峰值线、表头与圈号;黑底表头只给上次与此刻都没这么高的那几件
灰虚线(上次)、斜线(比峰值少掉的)、刚落下的灰影(概念层,落定后不留)
朱红只给“已阅 · 清掉峰值”这一个按钮:唯一一件由你做的事

灵感:#86 DAW 电平表的峰值保持(表头框、单独的清峰值按钮、升快落慢)、#88 纽约时报选举指针(历史值是同一把尺上的虚线;静止时不抖)、#87 围棋分段谱(只给这一段的新子编号)、#91 Molnár 叠印(只取读法)。

动画与交互(peak-motion.md):直接打开(顶层、不带 ?frame= 或 ?seen=、不是从别的页链来)讲一遍三拍,composite 约 10.6 秒、story 约 8.6 秒:你不在(从锚点逐轮放,条升快落慢,峰值线被顶上去就停住)、此刻看不出来(看不出来的那几件表头依次反黑,大字数到 3)、已阅(演示替你按一次,峰值落回此刻、虚线移到此刻,停 1.3 秒后撤回,写明“没有替你按”)。任意键跳到终态,顶栏“↺ 重演”重讲;←/→ 逐帧 0.6 秒,空格连播 1.6 秒一轮。概念层只有落下那一段的灰影,0.6 秒淡完,静止为零。悬停一根看概要,点击沿竖轴弹起 8 px,引线从表头框侧边水平接到详情卡,侧栏切到“这一件”;此刻开着的问题旁“去回答 →”链到同一帧的 D,离开期间关上的只写怎么关上的。

还差什么:

  • 锚点是推定,不是记录。要真的“上次看”,需要宿主写 last_seen_at(或把“已阅”记成一条反馈);现在“已阅”只在本页内存,刷新就没了。往前 6 轮是拍定的常数。
  • 只画根层;留白也会升起又落下(composite 8/14 中午一度空出 25 份),不是一件事,这一版不画。
  • 份额只有 1、3、6、12、24 五档,峰值是档位上的跳变;差一档也算“升起又落下”。
  • 画廊卡片的“默认帧”读数据集的 sketchFrames,composite 里没有这一页(不改数据),卡片显示 catalog 的 frame(story 的 f20),页面在 composite 实际停 f26。

08 回应托盘 · trays.html ​

和本轮其余几张不同,回应托盘不是复盘工具,是手机上真正作答的地方(390 × 844):页面放在 forms/,与腕上一瞥用同一个页框(帧导航、概念卡、核对数据),交互照 D 手机首页的触屏规则。先写动画记录的参考、数据、故事与手势再动(trays-motion.md)。

主关系:每个问题要你付出多少。D 把问题排成一样的卡片、按多急排;托盘也按多急排(同 D 的档位、期限、份额),但让托盘的高度说要你点几下:一下就完的(确认、批准、选择、带建议句或预填金额的回复、拍照)只有一排按钮,最矮;推后、定时刻要先点开再挑,没有建议句的回复要先点开再写,高一排。托盘仍是真正作答的地方,不加“去回答 →”。

英雄数字:“6 下答完 5 个问题”(composite f26):4 个点一下就完,“三个旧 PR 推到哪天?”要先点“推到…”再挑一天。两周里 4–9 下,有两下托盘的轮次 18 轮。story 两周 36 轮没有一个两下的问题(作者给每个要一句话、一个数的问题都配了建议句或预填),托盘一样高,页面照实画。几下的口径写在页脚与详情里(trays-motion.md 2.1)。

三拍:

  1. 叠起(换轮,约 1.0 秒,D 的换轮节拍):切点换字;回执先填实;0.40 秒数字翻;离开的托盘上收、留下的一次移位、新问题的托盘从上沿揭开,高度已经是几下;0.96 秒新问题外框描一次朱红。
  2. 按下(每一下即刻):一下就完的托盘原地收成一行回执(上沿不动),右栏刻度跟着收掉,数字减一,下面的一次补位;两下的第一下让第一排并进标题成一枚“推到… ×”小签,第二排由虚变实升上来,托盘矮一排;撤回逆序。
  3. 让位(下一轮整理读到):回执的空心勾填实,回执一次下沉、越过托盘,落进托盘下面的“已收到与关上”;同一问题随改写重登记仍算答过,数字不反弹。

直接打开时讲一遍:composite 从 f25 叠起到 f26(4 → 6),替你按“批准”(5)、“推到…”与“周一”(4、3),讲完撤回;story 从 f19 到 f20(4 → 5),替你按真实数据里 20:36 回的“拍一张”(4),再到 f21 让位。任意键或轻点跳过到终态;带帧、画廊、合页与链来的都不讲。

用法:轻点按钮作答(只在本页内存里,先“已保存”,下一轮整理后“已收到”,可撤回);轻点托盘从它长出详情,详情到顶时下拉或点 ‹ 收回;长按 0.45 秒看概要,长按大数字看拆法;“已收到与关上”的行左滑知道了;←/→ 换整理时刻,空格连播;Tab 到托盘出概要,回车展开,Esc 收回。

两层怎样叠:信息层是大数字与拆法、托盘里的题目、期限、按钮与回执;概念层只有右栏的灰刻度:一下一道,竖向对齐那一排按钮,与托盘高度、大数字共用同一个数,只随托盘动,静止时零运动。墨黑、灰阶,朱红只给登记了的问题(题目前的小方块,新登记那一轮外框描一次);平面,不画机身,托盘只有一道细框。

灵感:#78 Family 钱包的托盘(每一步高度不同、共有的字不动)、#75 Liquid Glass(两层并成一行;没有搬它让数字变矮,也没有搬玻璃)。

还差什么:

  • 几下是“托盘上最短的那条路”,不是真实的力气:写一句、拍一张照片都按一下或两下算,打字与拍照只在详情里注明。
  • 金额只给预填与建议金额,没有本页的数字键盘;“挑日子”“自定义”用浏览器自带的日期控件。
  • story 两周都是一下,“两下”只能在 composite 上看。
  • 本页作答不写回状态;“已收到”只表示推进到了下一轮整理,与 D 相同。

第五轮:小屏 ​

12 智能眼镜 · glasses.html ​

用户问:像 Even G2、乐奇那么小的有效区域,要怎么设计?又说“眼镜肯定就放不下 64 的注意力了”。第一段做了真机调研、三个概念与像素静帧(甲“一行”、乙“对面的人”、丙“渐亮”),用户选了推荐的“甲为底、乙作例外”,并要求“不要纯字”,能看图的信息画成灰度图。调研、数据核对、取舍与实现细节见 glasses-concept.md。

主关系:这件比那件更该打断我?眼镜不让你比:只剩一件,出现本身就是“最该打断”。一件 = 要紧的问题里排第一的那一件(规则同腕上一瞥:24 小时内到期或档位 critical / high;档位、24 小时内优先、期限、份额排序,份额只决胜负、不上屏)。唯一的例外是处境:你在和等你的人通话时,亮她在等的那一件,别的要紧事按住,挂断后出一次。

英雄数字:composite 两周 28 轮,眼镜主动亮 4 次(f01、f03、f22、f26,最前那件换了的轮次);通话、未接与留言 10 次,对上 3 次,全是母亲、全是“母亲九月住哪?”。8/14 08:02 打给诊所对不上(诊所不是那件事依据的作者),照实留着。story 没有通话记录,最前那件换得勤(36 轮里 18 次),页面照实画。

显示面:576 × 288,按 Even Hub 开发者文档;单色绿 #3CFA44,4 位 16 级,黑即关。每一屏都由容器拼成(文本 ≤ 8、图片 ≤ 4、收手势一个),按 1:1 像素画、量化到 16 级再着绿,页面上整体放大、像素网格不变。亮度四档:15 只给等你回应(题目、选中的选项、截止那一格与过了期限的格),11 你刚做的事,8 次要,5 环境。图片:离截止的小时刻度、谁在等的首字块、选项金额的比例条、通话分钟、等下一轮整理的进度,每张都标了来源字段。图片按真机的代价逐张送达(每张约 104 ms 加面积分摊,整屏约 800 ms),文本立刻换,不做真机做不到的补间。

节拍:

  1. 浮现(整理落地、最前那件换了):中性的手机通知卡,标明来自手机通知(插件不能推送),纯文字;没换就 0 像素。
  2. 作答:轻点打开那一件(图片逐张亮起)→ 滑动换选 → 轻点确定,原地出回执“已存”与等下一轮的进度;双击撤回。
  3. 换轮:不亮;下次抬头时回执降成 5 档的“已收到”,问题随改写重登记仍算答过(同回应托盘)。
  4. 通话:接通时亮对方在等的那一件,右上分钟格随通话走;挂断出按住的几件,各带自己的刻度。

直接打开时讲一遍约 10 秒:composite 从 f25 的 0 像素到 f26 落地、手机通知镜像上来,替你打开、挑“免挖穿新管”、存下,再撤回,停在 f26 打开的那一件;story 停在 f22。任意键或点按跳到终态;带帧、画廊、合页与链来的都不讲。

用法:镜腿 / 戒指五个手势 = 轻点 Enter、双击 Backspace、上滑 ↑、下滑 ↓、长按 L;H 抬头 / 低头;[ / ] 跳到上一个 / 下一个值得看的时刻(推送、通话、挂断);←/→ 换整理时刻;显示面上也能直接点、双击、滑、长按。页底两周时间轴点一格跳到那一刻。

两层怎样叠:信息层只有显示面(以及透视里叠在视野上的同一份光);页面其余部分是灰阶的镜腿、时间轴与说明,绿只表示眼镜上亮着的东西。透视是平面的第一人称视野(清晨厨房、通话时走在路上、桌前),绿光加色叠在上面、带一层光晕,不画镜框、不画高光。

故意舍弃:64 份与份额排序(理由见规格 C.1);其余开着的问题只剩一个数;摘要与来源;reply、schedule、defer 交给手机;乙不认消息,只认通话、未接与留言;丙“渐亮”没做(要 Fold 常驻前台、像素常亮,在这份数据里也不会“渐”亮)。

灵感:Even G2 官方说的“即时通知离你更近、优先,进行中的内容在后面安静等着”;Android XR 的“只在需要时出现、然后退下”与只写人名的通知胶囊;Meta Ray-Ban Display 放在对方脸下的字幕;第四轮的等待链“谁在等”。

还差什么:

  • 中文能不能上屏没有在真机上核实:G2 固件字体覆盖哪些汉字与全角标点,文档没写,缺的字会静默丢掉。图片里的首字块不受影响(手机端画好再送)。
  • 从镜像的手机通知能不能直接跳进插件、手机端能不能拿到“正在和谁通话”,都没核实;原型里分别假定能、取自家庭流的通话记录。
  • 文字的字宽按 24 px 的系统字体估,textColor 各档的实际灰度按线性估,都要真机校。
  • 本页作答不写回状态;“已收到”只表示推进到了下一轮整理,与 D 相同。