iter52-卡3:迭代52卡③(presentation层封装修复): A1三类42字段公开化(280处改址)+A2拆件子件公开面(vitals14/motion14/board_hover七口)+B族组合根交接面(18服务+12句柄口,束参两处,on_*保私有)+C族杂项(UiKit三工厂/构造交付)——presentation私取sweep恒零(V1-V4,105checks),main.gd例外键32与ui_kit例外键23落基线(§3.2误测0/0反哺点),探针测试22处引用迁移,渲染golden与探针套件零转红; 验收档中

This commit is contained in:
DKChan committed 2026-11-05 03:04:21 +08:00
1 parent f2c3a3887d
commit 67024cb9ec
42 files changed
+1391 -679

No files matched your search

@@ -0,0 +1,42 @@
## VERTICAL SLICE - NOT FOR PRODUCTION
## SealMarkLayer——封印印记的独占承载子件(挂 BoardCellUnit 之下、1:1 贴格;复用 cell_type_glow_layer
## 的子件模式:材质独占、全幅 draw_rect、非零 alpha 触发——不复制其函数体,微光层件零改动)。
## 层序:印记层在 CellUnit 子树内(低于 BoardView 层的小人精灵——hero 精灵同层后挂天然在上);
## 迷雾态(fog_state != 0)整层隐藏由宿主 fog_state setter 联动承载(§6.5「封印随格隐没」)。
## 零动效(不呼吸不脉冲——§2.1 挖掘期唯一在动=接触带微光);参数与色全由 gd 注入
##(单点 = ui_kit SEAL_* 常量——本件禁内联色值与参数字面值)。
extends Node2D
const _SEAL_SHADER := preload("res://presentation/views/seal_mark.gdshader")
var _mat: ShaderMaterial = null
var _edge := 0.0
# 作用集侧唯一入口(on=false 仅隐不撤——子件生命周期归宿主 _sync_seal_layer)
func setup(edge: float, on: bool) -> void:
_edge = edge
visible = on
if not on:
return
if _mat == null:
_mat = ShaderMaterial.new()
_mat.shader = _SEAL_SHADER
material = _mat
_mat.set_shader_parameter("cell_px", edge)
_mat.set_shader_parameter("ring_frac", UiKit.SEAL_RING_FRAC)
_mat.set_shader_parameter("wall_frac", UiKit.SEAL_WALL_FRAC)
_mat.set_shader_parameter("arm_frac", UiKit.SEAL_ARM_FRAC)
_mat.set_shader_parameter("halo_frac", UiKit.SEAL_HALO_FRAC)
_mat.set_shader_parameter("halo_alpha", UiKit.SEAL_HALO_ALPHA)
_mat.set_shader_parameter("halo_gamma", UiKit.SEAL_HALO_GAMMA)
_mat.set_shader_parameter("mark_col", UiKit.SEAL_BLACK)
queue_redraw()
func _draw() -> void:
if _edge <= 0.0:
return
# 一格全幅:片元着色器按距离场产出环+十字+环外光圈。
# 输入 alpha 取 1/255(非零)——全透明几何在部分批次路径下会被整条跳过,着色器就跑不到。
draw_rect(Rect2(Vector2.ZERO, Vector2(_edge, _edge)), Color(1, 1, 1, 1.0 / 255.0))