Files
ycode/docs/source-artifact-link-2026-10-16.md

5.8 KiB
Raw Permalink Blame History

对话产物入口有限 QA(2026-10-16)

结论:当前 SourceArtifactLink 的原版归档范围内 DOM、四组几何和 168 项 computed style 已对齐;自身 hover、native click、真实焦点下 native Enter 和空计数隐藏通过。严格像素尚未对齐:默认按钮 ROI 的 3,614 个像素中仍有 1,018 个不同,SVG 区域无差异,文字存在灰阶与 LCD 彩边差异。不得把本报告称为完整 1:1 验收。

修改范围

  • 新增 scripts/artifact-link-ui-regression.cjs:仅打包当前生产组件到隔离的 YCode fixture,生成机器报告与 PNG;没有修改生产组件、CSS、GPU 设置或原版窗口。
  • 新增本报告。运行产物在 .tmp/artifact-link-ui-regression/。
  • Root 已将生产按钮文案改成单一 template 字符串;本 QA 直接读取当前生产组件验证,没有代写该改动。

原版证据

WorkBuddy 5.8.2,归档环境 Electron 37.10.3 / Chromium 138.0.7204.251,截图 1336×901。仅使用此前 REA 保存的实现、DOM、computed styles、SVG、截图和 GPU 元数据;本任务没有重新观察原版。

  • 运行时证据:ev_d6e6920ff4e47f73a182fac5312c5f02393366a035445d18c8a6733a8c8a11ed,文件 .tmp/rea-assessment-initial/layout.json、workbuddy.png。PNG SHA-256 4bd92ea8c0e3677edcecbe26da4e62eaf853d0111638e2a0995e8f8470a3506a,脚本先校验其与 REA artifact hash 一致。
  • CSS:原 artifact-slot-panel-BsA1UFez.css SHA-256 15c68a5a7c663776036feabff7126bbb8a4b1445cbf6b65ba3d82044289a513d;contexts-BkjwYSZT.css SHA-256 50cbd673f7f35fc7f966bdddc6c9f5677fdfe944cb904888d214619fca259380,来源记录保留在生产 source-artifact-link.css。
  • 主进程有限证据:.tmp/rea-selected-main-render-flags.json,ev_3de1f34ca809cd2e4f98dfac960b1913db75e43cd88957d3e4f82b3b16f47fbf;原 main/index.js SHA-256 6cc9d3079aca910b7c14c37a0a3b6f6af03f2b319d5625625926dbf5ad61aec8。字符偏移 312856 的 applyGpuDegradationIfNeeded 仅在 shouldDisableGpu 为真时调用 disableHardwareAcceleration 并设置 disable-gpu、disable-gpu-compositing。本文件中未发现 disable-lcd-text、use-angle、font-render、force-color-profile;该观察不能排除其他模块、启动器、驱动或环境配置,不能推定原版采用某个字体开关。

几何、DOM、样式

Fixture 加载生产 typography tokens、主题 tokens、app CSS、conversation source styles/adapters 与组件自身 CSS;在 chat-pane cr-theme light 宿主下复用原 footer x/y/width、display-contents slot、actions margin-top 12。只复现按钮入口,未补造 footer 的其他 feedback 行,因此不比较整个 footer 高度。

节点 REA node_index 原版与当前 bounds [x,y,w,h]
actions 1644 [324.28125,614.578125,138.15625,25]
button 1645 [324.28125,614.578125,138.15625,25]
chevron 1647 [446.4375,619.078125,16,16]
SVG 1648 [451.65625,622.46875,5.546875,9.21875]

四节点合计 168 项归档 computed style 全部相等,包含字体栈、15px/25px、字重 400、gap 2、padding 0、颜色、display 与 SVG display block。原 SVG attrs 为 width 5.5523、height 9.219,与实际量化 bounds 区分;viewBox、fill、path d 均精确一致。文本 查看所有产物 (13) 为单个直接 text node,与原 node 1646 一致。修正前分段 React text node 曾导致按钮宽度多 0.015625px;当前该差异已消除。

像素结果与限制

采用可见隔离 Electron 窗口、SwiftShader 和软件合成;没有添加 disable-lcd-text,没有改生产 GPU 参数。采集的 GPU feature status 与归档逐项相等,但这不足以证明字体栅格化条件完全相等。

ROI:x324,y614,width139,height26,严格 RGB tolerance 0。

指标 结果
总像素 3,614
不同像素 1,018
最大单通道差值 77
平均 RGB 差值 4.798930086699871
SVG 区域不同像素 0

参考 crop SHA-256:1511ef946540c0f80cb86348c427273f9825cd2583dcdc6501a01803ab9dec2b。当前 crop SHA-256:b88b306136e6768b4f1bf4c5583ce11820fe6d819443638b831d0a67ef45460e。文件为 reference-roi.png 与 candidate-roi.png;机器报告保留前 12 个 RGB 差异样本,例如原灰阶 [249,249,249]、当前彩边 [238,255,254]。证据支持文字栅格差异这一现象,未证实原版具体成因或启动开关。

交互与验证

命令:node scripts/artifact-link-ui-regression.cjs,退出码 0,184/184 PASS,机器报告 .tmp/artifact-link-ui-regression/report.json。该 PASS 仅指报告中 geometry/styles/own interactions 检查;pixel.fullPixelParity 明确为 false。

  • 原生 mouse move 后按钮与 chevron 均变为 rgb(0,0,0);native click 回调恰好一次。
  • win.focus()、webContents.focus() 后分别确认窗口、webContents、实际按钮均有焦点,完整 native keyDown Return → char CR → keyUp Return 激活一次。只发送 keyDown/keyUp 不产生 Chromium 默认 char activation,未将该不完整输入序列当成生产缺陷。
  • count 0 不渲染入口;无 renderer error。
  • 当前组件 SHA-256 cc589f276ba8c6c0b1c66df2ce066569ac864ce8b242a8d78e44586d4b7601c6;当前 CSS SHA-256 ac3593ad9e11ef4fb347b26fbb273add80db068e85089248583149c4c475d1e9。

另读取 Root 已有 .tmp/panel-integration-Capd62/report.json:66/66 PASS,范围为真实隔离 YCode App/preload/IPC/native filesystem、overview 与标签保留,无上游调用。该报告与本 fixture 分开:本 fixture 回调是计数器,不能单独证明生产 overview 行为;integration PASS 不能证明原版像素相同。

原版 hover/键盘操作画面没有对应归档,仅有源 CSS hover 规则,仍未做原版动态像素验收。默认文字差异未解决;未修改 GPU 参数来伪造原版配置。