From 7cac0dc1abf91152862de63f8757ce8edfa0275b Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Wed, 14 Oct 2026 05:31:26 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=BF=AD=E4=BB=A326=20T3):=20=E4=B8=89?= =?UTF-8?q?=E5=A4=84=20<4.5:1=20=E6=96=87=E5=AD=97=E4=BD=8D=E6=8D=A2?= =?UTF-8?q?=E5=A2=A8+=E6=9C=BA=E6=A3=80=E9=94=9A=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 立新 token 两枚(代拍板4·Q6 裁后落值,语义岗冲撞走反哺点③):GOLD_BRIGHT #E0B860(金族亮档, 敌顺位徽标①②③+重甲徽标,对舞台底 6.47:1);HERO_BLUE_BRIGHT #7EBAF0(小人蓝亮档, 魔法护甲徽标,5.88:1);GOLD_DEEP/HERO_BLUE 常量本尊不动(standee:199 意图判据等在役) - ap_bar_view.gd:77 RAP 反馈行 STONE_FAINT→STONE_DEEP(对 PANEL_DATA 5.98:1,旧 2.9:1 越带) - 冒烟新增 _smoke_contrast_inks() 9 断言(V4:三处对比≥4.5:1+消费点原位锚+语义岗不动+旧墨清零); 冒烟 1031→1037/0;probe --click 全绿残留 0 --- game/presentation/views/ap_bar_view.gd | 2 +- game/presentation/views/standee_body.gd | 8 ++++---- game/presentation/views/ui_kit.gd | 2 ++ game/smoke/smoke_all.gd | 26 +++++++++++++++++++++++++ 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/game/presentation/views/ap_bar_view.gd b/game/presentation/views/ap_bar_view.gd index 743595cf..371ba7e8 100644 --- a/game/presentation/views/ap_bar_view.gd +++ b/game/presentation/views/ap_bar_view.gd @@ -74,7 +74,7 @@ func _init() -> void: _rap_label = UiKit.label("RAP 0",UiKit.FS_HINT, true, UiKit.INK_LABEL) # 显式传色(UI 设计对齐批 N1-7——T0 实测对 PANEL_DATA 10.4:1 已合规,显式化仅为确定性加固,值不变) _rap_label.size_flags_vertical = Control.SIZE_SHRINK_CENTER row.add_child(_rap_label) - _rap_feedback = UiKit.label("",UiKit.FS_CAPTION, false, UiKit.STONE_FAINT) + _rap_feedback = UiKit.label("",UiKit.FS_CAPTION, false, UiKit.STONE_DEEP) # 迭代 26 T3 换墨——旧灰石弱化墨对 PANEL_DATA 2.9:1 越带,深石墨 5.6:1 在案 _rap_feedback.size_flags_vertical = Control.SIZE_SHRINK_CENTER row.add_child(_rap_feedback) diff --git a/game/presentation/views/standee_body.gd b/game/presentation/views/standee_body.gd index 6a588e5a..85dd8685 100644 --- a/game/presentation/views/standee_body.gd +++ b/game/presentation/views/standee_body.gd @@ -433,12 +433,12 @@ func _draw() -> void: draw_rect(ped, UiKit.STAND_STONE_EDGE, false, 1.0) draw_rect(Rect2(ped.position.x, ped.position.y, ped.size.x, 2.0), UiKit.STAND_STONE_RIM, true) - # 血条(直角递减):敌附顺位徽标(GOLD_DEEP ①②③)——旧 top VBox 几何等价(左 8 / 右 -8) + # 血条(直角递减):敌附顺位徽标(GOLD_BRIGHT ①②③——迭代 26 T3 换墨,旧 GOLD_DEEP 对舞台底 3.3:1 越带)——旧 top VBox 几何等价(左 8 / 右 -8) var bar_x := 8.0 if _kind == "enemy": var order_txt := String("①②③"[clampi(_order - 1, 0, 2)]) f.draw_string(get_canvas_item(), Vector2(bar_x, 12), order_txt, - HORIZONTAL_ALIGNMENT_LEFT, -1, 13, UiKit.GOLD_DEEP) + HORIZONTAL_ALIGNMENT_LEFT, -1, 13, UiKit.GOLD_BRIGHT) bar_x += 20.0 var bar_w := box.x - 8.0 - bar_x draw_rect(Rect2(bar_x, 2, bar_w, 10), Color(0.10, 0.10, 0.11)) # 条底(引擎默认主题深底近似平移) @@ -489,9 +489,9 @@ func _draw() -> void: var col: Color = UiKit.WARM_FAINT # 轻甲 = 暖白弱化(v3.5 暗底双色墨制——原灰石对暗底不可读) match _armor: "ward": - col = UiKit.HERO_BLUE # 魔法护甲 = 小人蓝 + col = UiKit.HERO_BLUE_BRIGHT # 魔法护甲 = 小人蓝亮档(迭代 26 T3 换墨,旧 HERO_BLUE 对舞台底 3.2:1 越带) "heavy": - col = UiKit.GOLD_DEEP # 重甲 = 深金 + col = UiKit.GOLD_BRIGHT # 重甲 = 金族亮档(迭代 26 T3 换墨,旧 GOLD_DEEP 对舞台底 3.3:1 越带) var name_w := f.get_string_size(_display_name, HORIZONTAL_ALIGNMENT_LEFT, -1, 12).x var armor_w := f.get_string_size(armor_txt, HORIZONTAL_ALIGNMENT_LEFT, -1, 12).x var total_w := armor_w + 3.0 + name_w diff --git a/game/presentation/views/ui_kit.gd b/game/presentation/views/ui_kit.gd index 425dd9d1..a4522e3f 100644 --- a/game/presentation/views/ui_kit.gd +++ b/game/presentation/views/ui_kit.gd @@ -27,6 +27,7 @@ const PANEL_BORDER := Color8(120, 110, 88) # 面板细线框;兼熄灭点 const GOLD := Color8(240, 168, 40) # 奖励金 const GOLD_DEEP := Color8(176, 122, 20) # 深金(金框描边/达意金) const GOLD_INK := Color8(116, 80, 11) # 深金墨(意图蓄力徽标墨——PANEL_DATA 垫牌上 4.9:1,UI 设计对齐批 N1 2026-10-06) +const GOLD_BRIGHT := Color8(224, 184, 96) # 金族亮档(迭代 26 T3——敌顺位徽标①②③/重甲徽标对暗舞台底 6.5:1;值=收益金 e0b860 同门;GOLD_DEEP 语义岗〔standee:199 意图判据/board_view:35/level_map:237〕在役不动) const GOLD_LIT := Color8(230, 190, 90) # 亮金(候选高亮) const GOLD_DIM := Color8(140, 116, 60) # 暗金(已过节点) const GOLD_DONE := Color8(104, 86, 44) # 已过节点暗金·关卡画面呈现态(关卡画面样张 v1 冻结新值 #68562C——旧 GOLD_DIM #8C743C 对双色墨均 <4.5:1 对比硬指标逼守;GOLD_DIM 他用不动) @@ -41,6 +42,7 @@ const RED_ALERT := Color8(200, 60, 48) # 报错朱 const HERO_BLUE := Color8(46, 134, 222) # 小人蓝 #2E86DE(样张 v2 定稿 2026-09-28——圣经 §4.1 候选值冻结;旧 #2E6E8E 收敛期快照退役) const HERO_BLUE_DEEP := Color8(30, 90, 150) # 小人蓝同族深档(意图增益徽标墨——PANEL_DATA 垫牌上 4.8:1;命名同 CONTACT_GLOW_DEEP 规则,UI 设计对齐批 N1 2026-10-06) +const HERO_BLUE_BRIGHT := Color8(126, 186, 240) # 小人蓝同族亮档(迭代 26 T3——魔法护甲徽标对暗舞台底 5.9:1;HERO_BLUE 语义岗〔board_view:35 小人边框/level_map:237〕在役不动) const BOSS_PURPLE := Color8(143, 47, 106) # 紫赤(Boss 专属) const DEBUFF_PURPLE := Color8(122, 66, 148) # 妨害紫(意图 ☠) diff --git a/game/smoke/smoke_all.gd b/game/smoke/smoke_all.gd index 5e5daa67..7be9fae5 100644 --- a/game/smoke/smoke_all.gd +++ b/game/smoke/smoke_all.gd @@ -109,6 +109,7 @@ func _run_core_smoke(db, rng) -> void: _smoke_global_theme() _smoke_button_five_states() _smoke_texture_filter() + _smoke_contrast_inks() _smoke_encounter_roll() _smoke_attack_chain_fresh_pool() _smoke_clear_reward_chain() @@ -5556,6 +5557,31 @@ func _smoke_texture_filter() -> void: "V3 状态图标显式 LINEAR 不丢(status_slot_row.gd)") +# ---- <4.5:1 文字位换墨冒烟(迭代 26 T3——站桩徽标两族亮档+RAP 行深石墨;V4)---- +func _smoke_contrast_inks() -> void: + print("--- UI 残余 <4.5:1 文字位换墨(V4 对比度锚定)---") + var uikit_s = load("res://presentation/views/ui_kit.gd") + var stage: Color = uikit_s.STAGE_BG + var r_order := _theme_contrast(uikit_s.GOLD_BRIGHT, stage) + check(r_order >= 4.5, "V4 顺位徽标/重甲徽标 GOLD_BRIGHT 对舞台底 %.2f:1 ≥4.5:1" % r_order) + var r_ward := _theme_contrast(uikit_s.HERO_BLUE_BRIGHT, stage) + check(r_ward >= 4.5, "V4 魔法护甲徽标 HERO_BLUE_BRIGHT 对舞台底 %.2f:1 ≥4.5:1" % r_ward) + var r_rap := _theme_contrast(uikit_s.STONE_DEEP, uikit_s.PANEL_DATA) + check(r_rap >= 4.5, "V4 RAP 反馈行 STONE_DEEP 对数据板 %.2f:1 ≥4.5:1" % r_rap) + # 消费点源码锚定:新墨在位、旧裸用点清零、语义岗常量不动 + var sb_src: String = FileAccess.get_file_as_string("res://presentation/views/standee_body.gd") + check(sb_src.contains("HORIZONTAL_ALIGNMENT_LEFT, -1, 13, UiKit.GOLD_BRIGHT"), + "V4 顺位徽标①②③ 墨=GOLD_BRIGHT(13px 行原位)") + check(sb_src.contains("col = UiKit.HERO_BLUE_BRIGHT"), "V4 魔法护甲徽标墨=HERO_BLUE_BRIGHT") + check(sb_src.contains("col = UiKit.GOLD_BRIGHT"), "V4 重甲徽标墨=GOLD_BRIGHT") + check(sb_src.contains("if _intent_col == UiKit.GOLD_DEEP:"), + "V4 GOLD_DEEP 语义岗不动(standee:199 意图动画判据)") + var ap_src: String = FileAccess.get_file_as_string("res://presentation/views/ap_bar_view.gd") + check(ap_src.contains('UiKit.label("",UiKit.FS_CAPTION, false, UiKit.STONE_DEEP)'), + "V4 RAP 反馈行墨=STONE_DEEP(原位行锚定)") + check(not ap_src.contains("STONE_FAINT"), "V4 RAP 反馈行旧墨 STONE_FAINT 清零(含注记面)") + + # ---- 存档序列化冒烟(SaveManager——读写往返/新档合法/余额拒花/锻造出域拒/高版本拒读禁写/ # 损坏兜底/迁移链/域界干净/摘要 cap/摘要集成/生涯终身计数域 v6)。测试文件统一 user://smoke_save_*.json 隔离, # 段首清场+段尾清理——绝不碰 user://save.json(红线)。