← 返回工作台

历史状态材料:不用于正式装配验收

238 张状态示意由灰阶通用模板叠加水墨样式生成。旧 HTML 中的“装配示意”标签已经失效,不能用于证明现行游戏或原稿还原。

查阅原图册(保留原始文件)
# 旧状态装配页来源核对

核对时间:2026-11-02。结论:用户指出的问题成立。旧 `/resources/yizi-chengbing/atlas/ui-states/UI05-01.html` 等 238 页不是网页试玩版的状态截图,也不是从试玩版 UI 组件装配出来;它们是早期通用灰阶线框被套上纸纹和少量图片后的示意。继续对这些页做精确测量不会得到正确的试玩版还原规范。

## 来源链与责任边界

1. **2026-10-22 的交接生成脚本** `work/handoff-v12-20261022/build.py:64-68` 直接声明使用独立 schematic;其内联 CSS 是 `.phone/.box/.chip/.hero/.btn` 的简化布局。`91-92` 行给主城与塔模式硬编码“资源文字栏、段位方框、三枚chip、城/塔占位字、说明条和模式chip”,没有使用真实主城的 `home-stage`、`rank-display`、`ink-scene`、`feature-rail`、`challenge-dock`。
2. 同脚本 `142-158` 行根据 `states-data.py` 的状态文本逐页写出 `art/states/UIxx-xx.html`。`156` 行明确写的是“灰阶结构配图;最终视觉沿用水墨参考……非可玩Demo”。这一步的作用是解释状态覆盖,不是还原试玩界面。
3. **2026-10-29 的 AI 图册制作步骤** `work/ink-complete-atlas-20261029/prepare.py:6,20-30` 读取上述交接目录的已有状态 HTML;`23` 行只加一条 `ink-state.css` 链接,`25` 行将说明标签换成“水墨状态装配示意”,`28` 行再根据“城/石/营”文本加上建筑/地形 class。`9-17` 行复制部分 v25 素材并手写统一皮肤。它没有加载真实 `ink.html`、`hub.css`、`ink-hub.css`、`ink-hub.js`,也没有从真实页面抓取状态。
4. 同一原始对话的工具记录确认,此 `prepare.py` 是 AI 在 **2026-10-29 15:29:05(北京时间)** 通过 `apply_patch` 新建的。证据是会话 `01a1265f-299d-7683-a8b3-75f505aa19cd` 对应本地记录第 13447 行,UTC 时间 `2026-10-29T07:29:05.558Z`。因此这是之前 AI 文档生成流程的来源选择错误,不是用户提供了错误图,也不是 Unity 端造成。
5. 生成脚本随后通过 `work/ink-complete-atlas-20261029/render-states.mjs` 将这些 HTML 渲染成图片。新工作台的 `work/ui-delivery-refactor-20261102/measure_states.cjs:9-14` 又对 `.phone` 的**有选择元素列表**进行坐标测量与截图,从而把错误来源继续精确化。这仍然没有变成网页试玩画面。

## 与真实网页的可核对差异

实际当前维护源:`work/docs-ink-atlas-publish-20261029/work/imports/yizi-chengbing-ink/`。本次核对其 `ink.html`、`hub.css`、`ink-hub.css`、`ink-hub.js` 与该仓库 `origin/main` 同路径逐字相同。

- `ink.html:9-15` 载入 `hub.css` 后再覆盖 `ink-hub.css`,并在 `app-shell` 下明确放入 `peripheral-frame` 与4个 `i` 角花。
- `ink-hub.js:312` 的 `stageArt()` 生成真实 `ink-scene`、`scene-sun`、城市/塔透明图、城前刀兵弓装饰牌;`325` 行装配真实 `home-stage`、段位、左右功能入口与开始挑战区域。
- `ink-hub.css:5-11` 是细金框和四角回纹;`23-27` 是层叠关系、日轮和建筑定位;这些主要是 CSS 绘制,旧 127 个文件清单不包含独立图片,但画面必须保留它们。
- 真实外围主按钮见 `ink-hub.css:29-30,32-33`,是渐变、边线、阴影与伪元素三角的组合。旧状态页用 `button-primary.png` 拉伸,当然无法一致。
- 真实外围弹窗见 `ink-hub.css:42-43,61`,是纸纹、渐变、双内线、全屏backdrop;旧状态页改用 `modal-paper.png` 与普通手机框遮罩,也不是同一组件。

## 这次修正必须覆盖什么

- 将 238 张旧状态装配图降为“旧流程线框/不作为视觉还原依据”,不能继续作为目标效果图、运行态或默认对比图。
- 当前可访问的已实现状态要从真实试玩前端固定测试状态截图。尚未实现的状态使用真正运行组件装配后单独标记,不能再次换成泛用`.phone`模板。
- 建立完整 visual-tree:图片、文字、渐变、边框、阴影、伪元素、SVG、Canvas、遮罩、滤镜、层级、裁切与布局。不能只记录点击控件,也不能只记录有文件的图片。
- 从 `getComputedStyle(el,'::before')`/`::after` 采集伪元素;记录多层背景与 `box-shadow`,并保留真实加载顺序和媒体查询。旧测量白名单不包含画框、日轮等元素,更不读取伪元素,是本轮漏项的直接技术原因。
- 装饰组件也要交付真实可使用文件或可执行绘制配方。仅解释“这是CSS,不是图片”不算补齐资源。

## 输出

`decorations-audit.json` 收录19类重点视觉层;`visual-style-rules.json` 收录当前 `hub.css → ink-hub.css` 的207条视觉绘制规则(含媒体查询与覆盖顺序)。`exports/` 保留真实源码副本。全部为只读提取;原试玩版、旧图册与原资源均未修改。

实际装饰导出已补齐:`exports/decorations/manifest.json` 列出8张PNG,其中4角花与2日轮为可用透明CSS渲染导出,整框与纸底组合仅为参考。原纸纹另随包保留。组件HTML/CSS及配方JSON均能复现,未改旧图册。