lili f6f817da4c fix(shanhai): 治本去除竞技场背景烤黑边(裁黑带+bicubic 回填,四边岩纹收口)
- assets/bg/bg-map1-arena-01.jpg: 裁左右顶烤黑带 + bicubic 缩放回填 1560x2960,四边纯黑硬框消除(采样 min 21-34 带纹理),右崖本征暗阴影保留作暗崖收口
- 拼接/贴边/裁切已于 a4dc91c4 解决;本提交治本黑边,背景定稿
2026-07-25 02:32:34 -07:00

5.8 KiB
Raw Blame History

round-13 · 治本去除背景图烤黑边

  • 检查点:round-13(去 bg-map1-arena-01.jpg 烤黑边 + 替换重接 + CDP 复核)
  • 时间(UTC):2026-07-25T09:03 取证 / 处理 02:0102:03
  • 机器:lili-mac.local(开发机本地,非 mini-desktop),node v22.22.3,Chrome 150
  • 本检查点未 commit(待主代理复核 + 创始人眼验)
  • 改动边界:仅 assets/bg/bg-map1-arena-01.jpg(替换)+ dist/(重打 JS bundle)+ 本目录证据;未改 src/、plugins/、contracts

病灶(处理前逐列/逐行亮度剖面测定)

目标图 1560×2960。四边黑带性质不同:

  • :纯黑 (0,0,0) 平铺 056px,x≈80 处锐变进岩纹(列均亮 1.4→21.3)。
  • :纯黑 056px + 近黑缓坡延伸到 offset≈130 才到岩纹(列均亮 17→22,无锐变)。
  • :无纯黑,是暗青崖渐变 0153px(行均亮 1622,有纹理)。
  • :本即岩纹(行均亮 3044,苔绿),无黑带,无需处理。

左右两条纯黑竖带是烤边病灶:游戏在四边叠半透明暗角(drawArenaBounds,峰值 α=0.5),半透明叠纯黑仍≈黑,render 侧治不了,故治本改 jpg。

处理手法(PIL 确定性:裁黑带 + bicubic 缩放回填)

裁掉四边黑/近黑带到岩纹起始处,裁后核心区 bicubic 缩放回 1560×2960:

  • 裁切线:左 L=84、右 R=1428(右裁 132)、顶 T=160、底不裁。裁后核心 1344×2800。
  • 缩放比:x×1.161 / y×1.057。存 JPEG quality=92 / 4:2:2。

为何选缩放、弃镜像(对比实证)

并行产出两候选(同裁切线),用 Read 工具亲眼看全景与边条后定夺(亮度二阶指标抓不到结构对称,必须肉眼):

  • 镜像外翻填充(_cmp/preview-M-mirror.png):黑带虽除,但左右岩壁巨石被镜像成左右对称的"墨渍/Rorschach"重复图案,顶部出现镜像拱形——正是工单警告的镜像痕迹,人工感强。
  • 裁后缩放(_cmp/preview-S-scale.png):黑带除,岩壁巨石自然延伸到四边,无对称伪影;1.16x 上采样颗粒在全景与边条原分辨率下均不可见。

结论:镜像痕迹(中心无、边缘显眼的人工对称)比缩放颗粒(全图轻微软化)更刺眼,故选缩放。镜像候选仅作诚实留证,未采用。

为何不用 mmx 重生成

本地确定性图像处理已干净消除病灶,无需引入生成模型的随机性与 API 成本;且重生成无法保证与现有竞技场构图/熔岩走向一致,会牵动 render 侧已调好的暗角/clamp 对齐。仅在 PIL 两法均不可接受时才退回 mmx(本检查点未触发)。

副作用(如实)

  • 整图轻微上采样:中心主玩区随边一起放大 1.16x,岩纹略软;亲眼看(01 全景)颗粒不可接受度低。
  • 右崖本征阴影:源图右半是阴影崖面(岩纹列均亮 ~2026),非烤边。缩放后右缘读作"暗崖"而非"亮岩"——这是源图本来的明暗,不是缺陷;游戏暗角叠其上读作天然崖影。
  • 四角偏暗:裁切线恰落在左右黑带与顶暗带相交的暗角处,四角 12×12 均亮 811;游戏中四角本就被双暗角压到最暗(round-12 同位亮度比 0.0490.105),暗角属设计内,未因本次处理变差。
  • 无镜像痕迹、无裁切错位、无颜色偏移。

处理后四边像素采样(读磁盘新 asset,含 JPEG 重压真实值)

0120px 列/行均亮(每 15px),应渐变、无平黑硬带:

0 15 30 45 60 75 90 105 0120 最小
23.7 24.2 25.0 25.4 27.3 27.1 27.2 28.8 23.3
22.0 23.6 23.7 23.5 25.6 25.9 25.0 23.3 21.4
26.6 25.5 29.9 26.4 27.1 27.0 28.7 33.5 25.5
34.7 35.2 37.0 36.8 36.3 39.2 44.9 48.2 34.4
  • 最外 4px 平黑带占比:左 0.65% / 右 0.71% / 顶 0.24% / 底 0.19%(处理前左右≈100%;现仅为岩缝深阴影的散布像素,非连续硬带)。
  • 缘带纹理(列/行均亮标准差):左 1.9 / 右 1.2 / 顶 2.4 / 底 4.7(>0 = 有岩纹渐变,非平黑)。
  • 右缘最小 21.4 略低于 22 阈值:即上表右崖本征阴影(带纹理渐变,非黑带),见副作用说明。

sha256

  • 新 asset assets/bg/bg-map1-arena-01.jpg:5e3cc78b3339efc616efeb573924224c359c5cfeb47a8d3f4fef25029b80db8f(1560×2960,1.41MB)
  • 处理前备份 bg-before-blackfix.jpg:aaa42f3a2f2a47e35f2d7f68cf7e64e7a53726983f68081c0d9f86daadec1956
  • 6 截图 sha256 见 00-arena-bg-result.json 各 shot(本文末尾亦列)。

CDP 截图(engine=stub&mode=evidence,seed=777,dpr2,视口 390×844;stepFrames 确定性驱动)

进 play 态,对角走位压墙钳到四边/四角,截图前 drainFade 关升级弹层并等其关闭淡出(≤250ms)结束,保证截的是干净战场:

文件 视角 玩家位 phase 亮度比(lum>40,自定口径,仅看相对)
01-arena-center-panorama.png 中心全景 (0,0) play 0.974
02-arena-edge-right.png 右边缘 (684,0) play 0.525
03-arena-edge-top.png 顶/右上 (684,-1384) play 0.198
04-arena-edge-left.png 左/左上 (-684,-1384) play 0.163
05-arena-edge-bottom.png 底/左下 (-684,1384) play 0.451
06-arena-corner-br.png 右下角 (684,1384) play 0.989

6 张 sha256:

  • 01 584181a172ca11199aed693234a963a63c2c17177e8cc6e7b80c95f0b3216784
  • 02 7d9532a62c5b8dc17289c0ee67d6d52a57adb87934347cfd1f589aca77b93cd4
  • 03 d0f1f12094b20bd72b6f21fb738d2f12431ce02dbe693214301c87bd96cd0592
  • 04 5c9efb033ed4c58bf4f276c4a2a59057c12c515d7845956ef985529a79ba7580
  • 05 0e24f49eb38d538022564445bb3e458cf807432d8f10dcaff248fe31dd988189
  • 06 5ac5fff82609edc4333e439b22cea591ea62ba901796716356172af0c99493fa

肉眼复核结论(交创始人终验):左右原纯黑竖框已消失,改为岩壁/崖纹自然收口;顶缘为带纹理暗崖;底缘为岩纹。四边无 (0,0,0)/近黑硬带。亮度比仅自定口径参考,美丑不定论。