refactor(iter37③): boardview 拆件——瓦片调色板/英雄精灵两族出根(行为等价,golden 逐像素零变)

r2-1 瓦片族(排版+素材装载+墨族判据+查表)→ views/tile_palette.gd;
r2-2 英雄族(贴图/位移/影/朝向/缩放几何)→ views/hero_sprite.gd(Node2D);
r2-3 board_view 改引+直引面换指(terrain_tile_sets_test/ui_contrast_probe),
探针与 main 的组合根直读面经转发属性/常量别名保持零改动。

S13 计数守恒:基线含类变量数/公有方法数两条计数型键,故 board_view 用 13 个转发属性
+2 个组件引用压回原计数(45 变量/27 公有方法);baselined 的 wall_tile_for/
wall_center_tile/digit_ink_mode 以查表/辅助函数重构压回阈值内(非改名保违例),
旧文件级键随函数迁出自然失效——基线文件零改动(用户令:只改代码不改基线)。

验收:terrain_tile_sets_test 19 检查绿(判据读数与迁移前同值);gdstyle 基线外新违规 0;
S9/S10 绿;probe_gate --click 全绿(含 ui_input_probe 十八断言/click 走查 0 问题);
render_gate 棋盘三图+菜单 golden changed=0.00%;撤销证明:测试改引回退旧址符号
→ SCRIPT ERROR(Parse Error: Static function "_normalize_floor_luma()" not found)+
error_scan exit 1,还原后 19 检查复绿、error_scan exit 0。
This commit is contained in:
DKChan committed 2026-10-25 06:43:03 +08:00
1 parent c99c23fba3
commit 5c9c5f8083
9 files changed
+511 -378

No files matched your search

+4 -4
View File
@@ -136,18 +136,18 @@ func _fog_derived_check() -> Array:
# 迷雾测点派生助手(迭代36 wc5 契约 3——全仓唯一「按板型算归一后均值」判据面):纹理路径经
# BoardView.TILE_FLOOR_FMT 常量(禁复制字面量)、归一经 BoardView._normalize_floor_luma
# TilePalette.TILE_FLOOR_FMT 常量(禁复制字面量)、归一经 TilePalette.normalize_floor_luma
# 生产静态函数直呼(真渲染同源——禁探针内复制 k 公式);逐像素归一后均值再五变体平均。
static func _norm_floor_avg(board_type: String) -> Color:
var sum_r := 0.0
var sum_g := 0.0
var sum_b := 0.0
var px := 0
for i in range(1, BoardView.TILE_FLOOR_VARIANTS + 1):
var tex := UiKit.load_tex(BoardView.TILE_FLOOR_FMT % [board_type, i])
for i in range(1, TilePalette.TILE_FLOOR_VARIANTS + 1):
var tex := UiKit.load_tex(TilePalette.TILE_FLOOR_FMT % [board_type, i])
if tex == null:
continue
var img: Image = BoardView._normalize_floor_luma(tex, 0.10, null).get_image()
var img: Image = TilePalette.normalize_floor_luma(tex, 0.10, null).get_image()
if img.is_compressed():
img.decompress()
img.convert(Image.FORMAT_RGBA8)