{ "_": [ "对齐参照物的**版本登记**(pi 2026-09-14:对齐本身要有版本号)。", "为什么需要:WebUI 那边同一个文件可能同时在动(gui-lab 有未合入的改动),", "照工作副本画完之后,参照物一变,这一版就成了「照一份没人认领的草案对齐的」,", "而且**没人能判它对不对 —— 因为参照物没有版本号**。", "所以:把参照物的 blob 哈希登记在这里,**它一变就红**,逼一次「重新核对再更新登记」。" ], "refs": [ { "id": "calendar-view", "path": "client/electron/src/components/CalendarView.tsx", "blob": "31a62fffd75c076ca86dc065ec7d6eec47fce985", "atCommit": "bb8201f", "atCommitSubject": "feat(webui): 回复/转发动画真的会播了 + 写邮件改成「按钮长成整页」", "note": "P6 日历骨架的对齐目标。**2026-09-15 第二次重新核对**:本次差异只有根节点的动画类 rise-in → pane-rise(拆「挂载即播」与「窗口触发」两档时改的名,见 436de6e)——骨架结构、布局类、圆角来源全都未变;鸿蒙侧日历本来就没有动效实现(grep 无 animate/transition),所以仍不产生新的对齐义务。此前两笔:日历圆角修复、根节点加 rise-in。" } ], "radius": [ { "semantic": "卡片圆角", "webui": "--radius-card: 0.875rem(=14px,client/electron/src/index.css:278)", "harmony": "Theme.ets:105 radiusCard = $r('sys.float.ohos_id_corner_radius_card')", "judgement": "**按语义对齐,不按数值对齐**:两端都表示「卡片圆角」,但取值来源不同(WebUI 自定 rem,鸿蒙用**系统**资源)。数值是否一致属于形态差异,等设备上并排看再定 —— 见 docs/DEBTS.json 的 radius-card-numeric-divergence。**鸿蒙侧不许把 0.875rem/14 抄成裸数字**(那正是当初 14 处 Material 调色板被清零的同一形态,量纲从颜色换成长度)。", "webuiValue": "0.875rem = 14px", "harmonyValue": "**本工作区读不到数值**:`toolchains/id_defined.json` 里该条目只有 name/type(没有 value),SDK 的 `ets-loader/sysResource.js` 只有**资源 ID 125829709**(btn 是 125829702)—— 实体值在**系统资源包**里(编译进 resources.index / 随设备)", "policy": "**策略现在就定(提案,待人追认)**:语义配对成立 ⇒ 数值按两端各自成立(WebUI 的 rem 基准 vs 鸿蒙的 vp/系统档),**默认以 WebUI 为准**;只有鸿蒙平台规范明确要求用系统档时才反向。设备**只做验证(并排看是否感知不一致)**,**不做决策** —— 这个工作区起不了模拟器,把决策挂在设备上就是一笔永远不还的账。" }, { "semantic": "控件圆角", "webui": "--radius-control: 0.5rem(=8px,client/electron/src/index.css:279)", "harmony": "Theme.ets:107 radiusControl = $r('sys.float.ohos_id_corner_radius_button')", "judgement": "同「卡片圆角」:语义对齐、数值来源不同。", "webuiValue": "0.5rem = 8px", "harmonyValue": "同卡片圆角:本工作区只能读到资源 ID 125829702,读不到 vp 值", "policy": "**策略现在就定(提案,待人追认)**:语义配对成立 ⇒ 数值按两端各自成立(WebUI 的 rem 基准 vs 鸿蒙的 vp/系统档),**默认以 WebUI 为准**;只有鸿蒙平台规范明确要求用系统档时才反向。设备**只做验证(并排看是否感知不一致)**,**不做决策** —— 这个工作区起不了模拟器,把决策挂在设备上就是一笔永远不还的账。" } ] }