diff --git a/game/presentation/views/board_view.gd b/game/presentation/views/board_view.gd index d117cea6..e97e7f7c 100644 --- a/game/presentation/views/board_view.gd +++ b/game/presentation/views/board_view.gd @@ -708,16 +708,20 @@ func _paint_cell(c: Vector2i, hero: Vector2i) -> void: # 瓦片模式(高墙接线批 2026-09-26):tex_base = 查表瓦片(未开=墙瓦片/已开=地面瓦片), # bg_sb 降级为透明描边载体——只承载呼吸微光/主角蓝框(CellUnit 瓦片态画在瓦片之上), # 程序化平色退役;瓦片分配=格坐标哈希,初始化落定后逐拍稳定(禁逐轮重掷——圣经原则三) - var sb: StyleBoxFlat + # draw calls 批优化(2026-10-01):透明载体 sb 视觉贡献=零(透明底+零描边——不可见),但 + # StyleBoxFlat 多边形命令不可合批,每格打断棋盘批——实测 100 格满负荷帧 ~402 DC(A/B 探针 + # 阶梯:纹理统一 0 增益/去 glyph −23/去叠层 −23/去隐形 sb −402)。非英雄格 sb 直接置 null + #(绘制路径零像素变化),仅英雄格保留蓝框载体。 + var sb: StyleBoxFlat = null var tile: Texture2D = null if _tiles_ok: - # Color.TRANSPARENT 载体(引擎常量——视图禁内联色字面量纪律;透明+零描边=瓦片上不画任何东西) - sb = UiKit.panel_flat(Color.TRANSPARENT, Color.TRANSPARENT, 3, 0) tile = _floor_tile_for(c) if revealed else _wall_tile_for(c) else: # 素材整批缺位回退 = 现行程序化平色路径(fresh checkout 冒烟不炸——任务书 §2.2) sb = UiKit.panel_flat(bg, bg.darkened(0.15), 3) if is_hero: + if sb == null: + sb = UiKit.panel_flat(Color.TRANSPARENT, Color.TRANSPARENT, 3, 0) sb.set_border_width_all(3) sb.border_color = COL_HERO if glyph == "" and _hero_tex_idle == null: diff --git a/game/smoke/shot_probe.gd.uid b/game/smoke/shot_probe.gd.uid new file mode 100644 index 00000000..851c3112 --- /dev/null +++ b/game/smoke/shot_probe.gd.uid @@ -0,0 +1 @@ +uid://dv81k73ruw7xe