{ "_": [ "对齐参照物的**版本登记**(pi 2026-09-14:对齐本身要有版本号)。", "为什么需要:WebUI 那边同一个文件可能同时在动(gui-lab 有未合入的改动),", "照工作副本画完之后,参照物一变,这一版就成了「照一份没人认领的草案对齐的」,", "而且**没人能判它对不对 —— 因为参照物没有版本号**。", "所以:把参照物的 blob 哈希登记在这里,**它一变就红**,逼一次「重新核对再更新登记」。" ], "refs": [ { "id": "calendar-view", "path": "client/electron/src/components/CalendarView.tsx", "blob": "641c67615a36fcd904ed0c6d7d96b16211369ff9", "atCommit": "e3b7f8f", "atCommitSubject": "perf(webui): 动画卡顿三处治理 + 覆盖列表/日历", "note": "P6 日历骨架的对齐目标。**2026-09-15 重新核对过一次**:本次差异只有根节点多了一个 `rise-in`(局部入场动画类)—— 而**鸿蒙侧日历本来就没有动效实现**(grep client/harmony 的 calendar 相关 .ets,animate/transition/animation 全无),所以这次不产生新的对齐义务:骨架结构、布局类、圆角来源都没变。若将来鸿蒙侧要加入场动效,这里必须重新核对一次(届时差异就不只是 className 了)。此前一笔:上面那笔日历圆角修复。" } ], "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 为准**;只有鸿蒙平台规范明确要求用系统档时才反向。设备**只做验证(并排看是否感知不一致)**,**不做决策** —— 这个工作区起不了模拟器,把决策挂在设备上就是一笔永远不还的账。" } ] }