// @vitest-environment jsdom /** * 资源卡的棋盘格底必须由**这张图真实的 alpha** 决定,而不是「预览分支是图片」。 * * 现场缺陷(验收截图):所有 PNG/JPEG 卡一律铺 CSS 棋盘格,于是「真透明底」与 * 「AI 把棋盘格画进像素里」在卡面上完全同形,验收时无法区分两者。 * * 本文件把整条链路钉住: * 1. 真的渲染 `ProjectDevelopmentView`,用假的 `read_local_project_image_preview` * 返回原生头部判据 `hasAlpha`,断言卡片根节点的 `data-preview-has-alpha`; * 2. 把真实 DOM 上的 `data-preview-kind` / `data-preview-has-alpha` 喂给 * `styles.css` 的声明级层叠求值,断言只有真透明卡片的 `.game-resource-card-visual` * 最终生效声明里才有棋盘格(判据取 `background-size: 16px 16px` 与渐变层)。 * * 为什么不用 `getComputedStyle(visual).backgroundImage`:jsdom 不加载样式表,且本仓库 * 测试环境的 cssstyle 解析不了渐变 —— 实测把 `background: linear-gradient(...)` 与 * `background-image: linear-gradient(...)` 写进 `