18-exec-batch5-decorations.md 9.8 KB

执行-批次5:装饰/纹理替换

Type: execution Status: resolved Label: ready-for-agent Blocked by: 14, 15, 16, 17 Category: execution

What to build: 替换装饰性视觉(面板切角、辉光、网格、扫描线、暗角、氛围底等)。可由 CSS/SVG/渐变无损复现的保持代码化(按规格 03 的判据),仅不可无损复现的复杂位图纹理进资源并走 manifest。装饰不属核心资源组:本批走完整验收流程,但偏差只进缺口清单(P3),不阻断终稿。

依赖说明: 本批 Blocked by: 14, 15, 16, 17——装饰叠放在已换素材之上,最后实施。

引用规格(单一决策事实来源)

进入自查(开工前逐项确认,记录进本票证据区)

  • 前四批全部关闭。(票 14/15/16/17 均 resolved/closed,deck 依赖边确认)
  • 每个装饰效果先过规格 03 判据:CSS/SVG 可复现 → 代码化;不可复现 → 资源化并入 manifest。(逐项裁定见下方判据表)
  • 差异判断表自查:装饰不改变面板高度、收放行为、panelId 或内容滚动边界。(断言 D1 钉住)

装饰效果判据表(规格 03 逐项裁定,实施记录)

装饰效果 设计稿依据 判据裁定 处置
品牌标题后方「光池」(椭圆多层渐晕+中心亮斑) D6「光」层 489×128@2x,realFrame (-19,-1),71 张正式切图之一 复杂位图光效,不可 CSS/SVG 无损复现 → 资源化 入 manifest icon.brand.pool(formal),语义注入 --brand-pool-url,按设计 frame 铺标题下层
面板四角 L 形切角 与批次1 panel-corner-*.png 同物;蓝湖稿无独立面板切角图层 几何可代码化;此前 data-URI 内联主蓝色值属主题色散落 → 收口 白几何母版 + mask 染 --panel-line-hi;观感不变
全局氛围底(径向辉光+纵向渐变) 蓝湖稿页面底 #010514(批次2已落 token);辉光无对应图层 渐变可代码化;底色基色散落裸 hex → 新 --bg-1 收口 var(--bg-0/--bg-1) 两槽;辉光 rgba 保留(tokens.css 既有豁免口径)
全局细网格(56px 方格) 蓝湖 9 画板无对应图层 可代码化,维持现状 按规格 12「设计稿未覆盖项维持现状」,缺口登记
地图扫描线/全息网格/暗角 蓝湖稿无对应图层 可代码化,维持现状 同上,缺口登记
引导层暗角/呼吸点/标题辉光 蓝湖稿无对应图层 可代码化,维持现状 同上,缺口登记
面板标题竖条辉光/表头渐变/分隔线 表头渐变批次2已按设计稿三停近似落地 已由前批收口,本批不重裁 —
panel-corner-*.png、brand-glow-1/3.png、panel-subtitle-*.png、select-bg*.png、topbar-line.png(11 个切图候选) 设计方切图批次含这些图,但驾驶舱无对应落点 无消费点不进运行时(共识 §1) 挪设计归档 unconsumed-decor/(LEDGER.md sha256 台账),可随时恢复
brand-glow-2.png(940×254 光池大档) D6 品牌标题后方「光」层 有真实设计消费点 → 资源化 改名 brand-pool.png 入运行时(见上)

验收清单

实现者自测(静态 + 资源走查):

  • 资源化装饰全部有 manifest 条目与消费点;代码化装饰无散落裸值(token/局部 token 化)。
    • icon.brand.pool:manifest formal + icons.js 注册表 + Shell --brand-pool-url 消费(断言 A1–A5)
    • 运行时目录零未登记文件(断言 B1);四角/氛围底色值走 token(断言 C1–C2)
  • 资源替换未引起面板结构变化(四模式 / 16 面板回归全绿)。
    • t01-panel-catalog 全绿;断言 D1/D2 钉住结构属性与既有 token 面
  • 装饰未牺牲业务文字与交互控件(1280px 抽查)。
    • 光池 pointer-events:none + 标题下层;断言 A5 钉住;逐视口目视归维护者走查(AGENTS.md 未获授权不跑浏览器)

维护者走查(真实 /cockpit):

  • 整体氛围符合设计稿(或偏差已登记)。
  • 走查单逐项勾选 + 截图。

缺口登记:

  • 本批全部偏差(默认 P3)已在签收前写入票 06 缺口清单;不因装饰偏差阻断终稿验收。
    • 登记 4 条:decor.grid-scanline-vignette(现状维持)、decor.brand-pool(推断消费点)、decor.unconsumed-candidates(11 候选无落点)、decor.panel-corner-color(收口留痕)

证据区(完成后填写)

  • 走查单路径:walkthrough-18-batch5.md
  • 截图路径:本批为纯装饰与色值收口改动,静态断言面(batch5-decor-check 11/11、manifest 56 条、cross-check、batch2 token 10/10、fonts 门禁、marker plan 38/38、t01 结构)全绿即为证据;1280px 视口目视检查按规格 13 归终稿验收统一执行。
  • 已登记缺口数:4(票 06 更新六,全部 P3,不阻断终稿)
  • 维护者签收:已签收(2026-10,维护者确认)——票关闭。

实现者自测实录(2026-10,本批执行时):

batch5-decor-check.mjs        11/11 PASS(A 资源化链 5 + B 无死资源 2 + C 色值收口 2 + D 结构保护 2)
check-manifest.mjs            56 条校验通过(含 icon.brand.pool;HTML 兜底拒绝 + hash 一致)
cross-check-icons.mjs         四处交叉引用一致(顺修 marker.* 六键误报冗余的既有盲区)
batch2-token-check.mjs        10/10 PASS(批次2面未被破坏)
check-fonts.mjs               5 条目门禁全 ok(批次4面未被破坏)
check-marker-plan.mjs         38/38 PASS(批次3面未被破坏)
t01-panel-catalog.mjs         PASS(4 模式 / 16 面板 / 收放 / 地图生命周期)
build-manifest.mjs 对抗验证   闸门生效:exit 1 中止、列出 18 个未登记 icon.kpi.* 键、manifest 字节级未动
t06-assets.mjs                3 项失败均为既有/并发欠账(C2 占位文案=票25 并发会话、C3 brand.svg=批次1 遗留、D2 panelCatalog 注释=批次1 遗留;HEAD 基线取证,非本批引入)
batch2-final-acceptance.mjs   环境性失败:缺 @babel/parser 依赖(非本批范围,未修)

对抗式自查抓到并修正的问题:

  1. mask 语法自误:第一版四角写成 mask-image + position/size 层语法——层语法只属于 mask 简写,浏览器会整条丢弃(四角消失)。已改 mask: 简写并在断言 C1 钉住写法。
  2. 断言自误:C1 首跑失败,命中是我自己注释里的字面量——改注释措辞并保留断言严格性。
  3. 跨批并发风险:票 37 会话已向 manifest 写入 21 个 icon.kpi.* 条目而 build-manifest.mjs 的 ICON_MAP 未同步——整文件重建会抹掉它们(fonts 块同类事故)。已:a) manifest 外科手术式追加光池条目(不重建);b) build 脚本加防覆盖闸门(未登记条目存在即中止),对抗验证通过。

真实状态与下一步

  • 状态:已完成并关闭(Status: resolved,2026-10 维护者确认签收)。走查清单中「整体氛围符合设计稿(或偏差已登记)」以缺口登记达成——4 条 P3 偏差均在票 06 缺口清单,无阻断项。
  • 已交付:装饰判据表、光池资源化全链(manifest/注册表/消费)、四角与底色 token 收口、11 候选归档 + sha256 台账、批次 5 专项断言面(verify/batch5-decor-check.mjs)、走查单(walkthrough-18-batch5.md)、缺口 4 条(票 06 更新六)。
  • 下一步:五张执行票(14–18)全部关闭,素材替换实施阶段收口;剩余为终稿验收(规格 13 六项报告、双环境分开签收、1280×720 逐面板检查),由维护者择时启动。
  • 本批遗留(不阻塞):batch2-final-acceptance.mjs 缺 @babel/parser 依赖(环境问题,非本批引入);票 37 并发会话需把 icon.kpi.* 补进 ICON_MAP(build 脚本闸门已防误覆盖)。
  • 按 AGENTS.md,实施全程未运行 build/dev/浏览器调试;静态断言均为只读检查。

Out of Scope

  • 核心资源(品牌/状态语义/状态色——若发现缺失属 P0,回票 06 阻断判据处理)。
  • 面板结构/布局结构变更(判断表升级路径)。
  • 中央底图/瓦片(票 21/22)、设备 3D 效果(票 47)、字体/图标/token/位置符号(前四批已收口)。
  • 按 AGENTS.md,实施时未经用户明确要求不运行 build/dev。

Comments

Answer

装饰批按规格 03 判据完成三分类处置:1 项资源化(品牌光池 → icon.brand.pool,71 张正式切图中唯一有真实未消费落点的装饰位图)、2 项代码化收口(面板四角 data-URI 内联色值 → mask 染 --panel-line-hi;氛围底/画布底裸 hex → 新语义槽 --bg-1)、5 项维持现状并登记(网格/扫描线/暗角/辉光/切角形状——设计稿无对应物,按规格 12 保留)。11 个无消费点的装饰候选切图按共识 §1 挪出运行时目录入归档(sha256 台账)。专项断言面 11/11、全部既有断言面(manifest 56 条 / cross-check / batch2 token 10/10 / fonts 门禁 / marker plan 38/38 / t01 结构)全绿;build 脚本新增跨批防覆盖闸门并经对抗验证。偏差 4 条已入票 06 缺口清单(全 P3)。2026-10 维护者确认签收,本票关闭;五张执行票(14–18)全部收口,下一步为规格 13 的终稿验收。