From 012c66f7eef55e7ef98a3c09bba419b1b17c05ca Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Tue, 29 Sep 2026 16:17:02 +0800 Subject: p79: 夜帧炊烟增强与光晕去叠 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 炊烟:夜帧烟柱4段向上堆叠(整格32px, alpha 180+75)+暖色外发光(r30)+中性柔光团(r12); 烟柱强光像素(夜-昼贡献>=80) 181->1171 (x6.5),峰值112->173;白天帧逐像素不变。 - 光晕去叠:VillageArt.haloRingLayers 每光源<=2层(内芯+空心外环),芯环间确定暗隙,半径4->3 tile, 峰值150->118;光晕重叠面积(夜-昼贡献>=60)中央区 15184->9633 (-36.6%),全屏 15477->9926 (-35.9%)。 - 回归 P79NightPolishTests(3);analyze-p78.py 复跑仍 PASS;正午帧与 P78 完全一致=白天零回归。 - Desktop 367/367, Kernel 120/120, digest 953775FA...F7F6C 不变 --- docs/evidence/p79-analysis.txt | 14 +++++++++++ docs/evidence/p79-day-noon.png | Bin 0 -> 116943 bytes docs/evidence/p79-log.txt | 51 +++++++++++++++++++++++++++++++++++++++++ docs/evidence/p79-metrics.txt | 21 +++++++++++++++++ docs/evidence/p79-night.png | Bin 0 -> 146098 bytes 5 files changed, 86 insertions(+) create mode 100644 docs/evidence/p79-analysis.txt create mode 100644 docs/evidence/p79-day-noon.png create mode 100644 docs/evidence/p79-log.txt create mode 100644 docs/evidence/p79-metrics.txt create mode 100644 docs/evidence/p79-night.png (limited to 'docs/evidence') diff --git a/docs/evidence/p79-analysis.txt b/docs/evidence/p79-analysis.txt new file mode 100644 index 0000000..17bd159 --- /dev/null +++ b/docs/evidence/p79-analysis.txt @@ -0,0 +1,14 @@ +P78(夜晚氛围与场景细节)证据分析 — 真实 Desktop xvfb 1280x720,同日同机位 正午 vs 22 时 +近黑阈值 24;实心块 = 24x24 全近黑。 + +day lantern=0.00(须 0.00) +night glint stripe=141.2 ctl_mean=77.6 ctl_std=4.4 delta=63.5 +water bbox std: day=24.0 night=32.3 +night near-black frac=0.007 max24blk=184 +smoke region mean: day=100.6 night=146.8 delta=46.2 smoke_alpha=182 +bridge ring diff: day=-5.7 night=24.5 +day vs night differing_pixels=921599 + +verdict=PASS + 夜帧光斑对比/非光斑平整、水面层次不低于白天、无铁板一块; + 炊烟夜帧更醒目、桥头窄光晕仅夜帧出现;白天 lantern=0 且两帧有差异。 diff --git a/docs/evidence/p79-day-noon.png b/docs/evidence/p79-day-noon.png new file mode 100644 index 0000000..f0f9126 Binary files /dev/null and b/docs/evidence/p79-day-noon.png differ diff --git a/docs/evidence/p79-log.txt b/docs/evidence/p79-log.txt new file mode 100644 index 0000000..9a91c46 --- /dev/null +++ b/docs/evidence/p79-log.txt @@ -0,0 +1,51 @@ +world-mode=riverscape bounds=256x192 +mode=keyboard seed=42 +controls=WASD move E interact 1-6 choose Q observe Tab needs C chronicle L relations P pause F1/F2/F3 speed F6 save F7 load Esc close/exit +fps=61.0 tick=0 pos=(4112,3088) +fps=60.0 tick=0 pos=(4112,3088) +splash=done frame=150 +menu=occupation-select +new-game=ok seed=42 npcs=30 occupation=农夫 tick=0 +p78-shot=day hour=12.0 tick=2592000 lantern=0.00 water=-16,280,1312,96 glints=252 smoke=4 bridge_halo=16 +p78-regions day glint_src=-1,-1 glint_ctl=-1,-1 bridge_src=-1,-1 +p78-shot=day hour=12.0 tick=2592000 lantern=0.00 water=-16,280,1312,96 glints=252 smoke=4 bridge_halo=16 +p78-regions day glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=day hour=12.0 tick=2592000 lantern=0.00 water=-16,280,1312,96 glints=252 smoke=4 bridge_halo=16 +p78-regions day glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=day hour=12.0 tick=2592000 lantern=0.00 water=-16,280,1312,96 glints=252 smoke=4 bridge_halo=16 +p78-regions day glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-frame=p78-day tick=2592000 camera=(6352,4328) +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-shot=night hour=22.0 tick=4752000 lantern=1.00 water=-16,280,1312,96 smoke_src=656,344 smoke_alpha=182 smoke_cell=32 glint_alpha=124 +p78-regions night glint_src=176,280 glint_ctl=208,280 bridge_src=592,280 +p78-frame=p78-night tick=4752000 camera=(6352,4328) +p78-shot=done diff --git a/docs/evidence/p79-metrics.txt b/docs/evidence/p79-metrics.txt new file mode 100644 index 0000000..5d059ba --- /dev/null +++ b/docs/evidence/p79-metrics.txt @@ -0,0 +1,21 @@ +P79 夜帧整改量化对比(真实 Desktop xvfb 1280x720,同机位正午 vs 22 时) + +对照基准:P78 帧(docs/evidence/p78-*.png)与 P78 分析(docs/evidence/p78-analysis.txt)。 +白天帧一致性:p79 正午帧与 p78 正午帧逐像素完全相同(day frames identical=True)→ 白天零回归。 + +1) 夜帧炊烟可见度(烟囱烟柱区 x648..696, y300..380 的「夜-昼」亮度贡献;对照列 x848..896 不变) + - 强光像素数(贡献 ≥ 80):181(P78)→ 1171(P79),约 ×6.5 + - 峰值贡献:112(P78)→ 173(P79) + - 烟柱区净贡献均值(plume-ctrl):76.0(P78)→ 86.5(P79) + - analyze-p78.py「炊烟区均值 夜-昼」:43.2(P78)→ 46.2(P79) + 做法:夜帧烟柱 4 段向上堆叠(每段抬升 10px、整格 32px、alpha 180+75)+ 中性柔光团外发光 + (半径 12)+ 暖色外发光(半径 30);全部只在夜帧叠加层,白天不改。 + +2) 光晕重叠面积(「夜-昼」亮度贡献 ≥ 60 的像素数,近似多光源叠在一起的一团面积) + - 全屏:15477(P78)→ 9926(P79),−35.9% + - 中央区(x320..960, y200..520):15184(P78)→ 9633(P79),−36.6% + 做法:每光源光晕改为最多 2 层视觉层(内芯 2 圈 + 空心外环),芯/环之间留一圈确定暗隙 + (同排 dy=0 不被任何图元覆盖),半径 4→3 tile,峰值 150→118;旧的多圈填充叠一团已移除。 + +3) analyze-p78.py 复跑:verdict=PASS(光斑对比 63.5、非光斑水面 std 4.4、水面 bbox std 夜 32.3 ≥ 昼 24.0、 + 近黑 0.007 无实心 24×24 块、桥头环带差 夜 24.5 / 昼 -5.7、day lantern=0.00)。 diff --git a/docs/evidence/p79-night.png b/docs/evidence/p79-night.png new file mode 100644 index 0000000..d4dac39 Binary files /dev/null and b/docs/evidence/p79-night.png differ -- cgit v1.2.3