76 lines
5.4 KiB
Markdown
76 lines
5.4 KiB
Markdown
# G01 列表背景候选与换机重建
|
||
|
||
> 日期:2026-07-16
|
||
> 状态:A/B/C 历史母版与旗舰长屏母版均已保存并通过本机确定性构建;用户已确认旗舰长屏方向作为 9 个活动 G 页面的公共背景,并确认共享图片画层使用 28% 不透明度。当前仅有 H5 运行证据,不得写成任一页面整页已验收或 Android 已通过。
|
||
|
||
## 1. 为什么重做
|
||
|
||
现有 `footer-mountain-bamboo.png` 为 `750×360`,视觉主体集中在底部,上半部留白较大;页面又把它定位到整个内容末尾并使用 `scaleToFill` 拉伸,因此列表变长时山水被推到“添加家谱”下方。用户提出背景应更早出现,并进一步提出 G01 可能只滚动下方列表、上方当前家谱与快捷入口固定。
|
||
|
||
连续长背景只替换各 G 页面最底层视觉。G01 固定区/独立滚动边界已在后续同日按用户确认方案单独实施,不影响其他 G 页面;具体合同见 `docs/superpowers/specs/2026-07-16-g01-fixed-header-independent-list-scroll-design.md`。
|
||
|
||
## 2. 稳定输入
|
||
|
||
稳定输入位于:
|
||
|
||
- `docs/design/assets/g01-background/masters/g01-list-background-direction-a-chroma-master.png`
|
||
- `docs/design/assets/g01-background/masters/g01-list-background-direction-b-chroma-master.png`
|
||
- `docs/design/assets/g01-background/masters/g01-list-background-direction-c-paper-master.png`
|
||
- `docs/design/assets/g01-background/masters/genealogy-page-background-long-flagship-imagegen-source.png`(原始 ImageGen 输出,793×1983)
|
||
- `docs/design/assets/g01-background/masters/genealogy-page-background-long-flagship-master.png`(确定性归一化母版,1536×3840)
|
||
|
||
准确提示词、标题、处理模式、源尺寸、目标尺寸、选择状态和运行输出路径由 `design-pipeline/manifests/g01-background-candidates.json` 单一维护。A/B 使用纯 `#00ff00` 绿幕并提取透明叠加层;C 与旗舰长屏图保留完整暖宣纸底。当前公共运行输出是 `static/assets/modules/genealogy/opaque/genealogy-page-background-long.png`,由 `components/GenealogyPageBackground.vue` 唯一持有路径、贴底规则和 `opacity: 0.28` 显示规则;各 G 页面不得重复覆盖。旧 `genealogy-page-background.png` 不覆盖、不删除,仅作为上一轮 C 输出保留。
|
||
|
||
## 3. 跨电脑重建
|
||
|
||
要求:Windows、Node.js 22+、npm、Python 3.12+。本机验证环境为 Node `24.15.0`、npm `11.12.1`、Python `3.14.6`、Pillow `12.3.0`。
|
||
|
||
在项目根目录执行:
|
||
|
||
```powershell
|
||
python --version
|
||
node --version
|
||
npm.cmd --version
|
||
python -m venv design-pipeline/.venv
|
||
design-pipeline/.venv/Scripts/python.exe -m pip install --upgrade pip
|
||
design-pipeline/.venv/Scripts/python.exe -m pip install -r design-pipeline/requirements.txt
|
||
npm.cmd --prefix design-pipeline run build:g01-background-candidates
|
||
design-pipeline/.venv/Scripts/python.exe -m unittest design-pipeline/tests/test_build_g01_backgrounds.py -v
|
||
node --test design-pipeline/tests/g01-background-candidates.test.mjs
|
||
```
|
||
|
||
构建输出进入已忽略目录 `design-pipeline/generated/g01-background/`:
|
||
|
||
- `g01-list-background-direction-a.png`
|
||
- `g01-list-background-direction-b.png`
|
||
- `g01-list-background-direction-c.png`
|
||
- `genealogy-page-background-long-flagship.png`
|
||
- `build-report.json`
|
||
|
||
Node 入口只使用内置模块做路径与清单编排;图片解码、尺寸检查和像素处理由锁定版本的 Pillow 统一负责,因此 G01 候选构建不依赖已删除的 `node_modules`。项目其他使用 Sharp 的旧流水线仍需执行 `npm.cmd ci --prefix design-pipeline`。
|
||
|
||
## 4. 当前质量基线
|
||
|
||
本机输出:
|
||
|
||
| 候选 | 模式 | 像素 | 字节 | SHA-256 |
|
||
| --- | --- | ---: | ---: | --- |
|
||
| A | chroma-key | 1024×1536 | 2,280,297 | `7b8a8abecc651b1bc4c589607780c8ff00ea0f13de018ca4b27a479b2a870fe4` |
|
||
| B | chroma-key | 1024×1536 | 1,890,556 | `3a0420eaaac9a2821da0f9a2ddbbbd6fb29b463fa6f41be7fa5c23948f782e2a` |
|
||
| C | opaque-paper | 1024×1536 | 2,407,477 | `f14aeed81046d2d5e7ae78b1e62f572689c38261a2cc043142bef9f70200dc5b` |
|
||
| 旗舰长屏 | opaque-paper-resize | 1440×3600 | 6,538,134 | `9aa9ebdd231eddbc151e238ba340a00f8603f23143117ad8c93009947dcca2e2` |
|
||
|
||
四张输出均通过清单尺寸、处理模式和 sRGB 构建检查;A/B/C 继续保持原质量基线。旗舰长屏原始 ImageGen 输出为 2,333,286 字节、SHA-256 `3d5ada7a23edd8db98b3511d308d2d240d80fdd4ff9280a8c434b50fb68cac3a`;1536×3840 归一化母版为 6,822,092 字节、SHA-256 `2fb3aa9be7772beb6f620c49f096ed6d9c045a56cfe7ae342664ee05ca58862b`。若另一台电脑因 Python、Pillow 或压缩实现差异产生不同文件哈希,应先核对锁定依赖,再比较解码后的 RGBA 像素和质量报告,不能只凭压缩字节差异判定视觉失败。
|
||
|
||
## 5. 可复现边界
|
||
|
||
- 精确可复现:从仓库内保存的母版执行清单、Python 和 Node 流程,得到相同 RGBA 像素处理结果。
|
||
- 方向可复现但非逐像素:在另一台电脑上使用清单中的提示词重新调用图像模型。
|
||
- 不可依赖:Codex 本机生成目录、`tmp/`、`node_modules/`、`.venv/`、`generated/` 或未进入仓库的聊天图片。
|
||
|
||
## 6. 下一步
|
||
|
||
1. 用户查看 G01 固定信息区/独立列表滚动的实际 H5 页面;当前五档 runtime 截图仍是内部候选证据。
|
||
2. 用户确认 G01 整页后,再保存一张长期代表证据并更新视觉证据索引。
|
||
3. 完成 Android/HBuilderX 真机或模拟器复核,并专项检查区域滚动手感及 4GB Android 上约 19.8MiB 解码内存、切页与回收。
|