T7 死代码与残留清扫段: 16项零争议死代码直删(equivalence_supply/pool_layers/index_of/has_variant/rows_by_pool/SUB_REASONS/ui_kit死色板五常量/reset_requested/set_legend_enabled/is_level_mode/legend.toggle/set_idle×2/COL_PATH/COL_INK/rebuild死守卫/_normalize合并/FACADE并档——删前逐项全仓grep零调用核实,next_candidates有level_autoplay调用存活未删=审计误报纠正)+T17归因件撤除(choices_dbg三段+t17dump两段,T17_LOCK_DEBUG全仓归零)+延迟三件(has_unrevealed下沉/is_item_unlocked访问器/rap残链snapshot面)+文档十件(过期注释/错挂注释/4242文案/README现行化/critical-paths道具窗口退役改写);闸=冲烟636/0+run_all 15套+八探针全绿
This commit is contained in:
1 parent
5584feb6e5
commit
54ac8759c9
27 files changed
+43
-131
No files matched your search
@@ -41,7 +41,7 @@ func unlocked_set() -> Dictionary:
|
||||
return out
|
||||
for row in db.aux_active_rows():
|
||||
var iid := String(row.get("item_id", ""))
|
||||
if meta.save.item_unlocked(iid):
|
||||
if meta.is_item_unlocked(iid):
|
||||
out[iid] = true
|
||||
return out
|
||||
|
||||
@@ -108,11 +108,7 @@ func inventory_projection() -> Array:
|
||||
var cb := Callable()
|
||||
if ms != null:
|
||||
cb = func(_c: Vector2i) -> bool:
|
||||
for y in ms.current_board().height:
|
||||
for x in ms.current_board().width:
|
||||
if not ms.is_revealed(Vector2i(x, y)):
|
||||
return true
|
||||
return false
|
||||
return ms.has_unrevealed() # 只读查询面(排雷玩法 has_unrevealed——手搓全板双循环收口)
|
||||
var out: Array = []
|
||||
for rec in runner.aux_inventory.query_inventory(cb):
|
||||
var arow: Dictionary = db.aux_item_row(String(rec.get("item_id", "")))
|
||||
|
||||
@@ -33,10 +33,6 @@ func _init(db_ref, rng_ref, hero_override: Callable, seed_value: Callable) -> vo
|
||||
_seed_value = seed_value
|
||||
|
||||
|
||||
func is_level_mode() -> bool:
|
||||
return _level_mode
|
||||
|
||||
|
||||
# 单场遭遇原语(2026-09-13 用户裁决:单场用户入口已删——本方法仅 ui_probe 单场段使用;
|
||||
# 无延续、standalone 终局语义保留供探针战斗收尾)
|
||||
func start_single(level: int) -> bool:
|
||||
|
||||
@@ -870,9 +870,6 @@ func _on_node_continue() -> void:
|
||||
|
||||
func _on_choices_presented(candidates: Array) -> void:
|
||||
# 零自动推进的停点呈现:整幅节点图 + 图上点击选路(候选按钮退役 2026-09-28——战斗胜利/兑付确认统一到达此处)
|
||||
if OS.get_environment("T17_LOCK_DEBUG") != "":
|
||||
print("[choices_dbg] handler entered cands=%d runner_null=%s node=%s" % [
|
||||
candidates.size(), str(runner == null), str(runner.node_index) if runner != null else "-"])
|
||||
if runner == null:
|
||||
return
|
||||
log_view.append_bb(Narrator.route_line(candidates, runner))
|
||||
@@ -882,8 +879,6 @@ func _on_choices_presented(candidates: Array) -> void:
|
||||
# 的当前节点非 battle 型——三态天然分流)。Boss 胜/失败走 level_finished 另路不经此处。
|
||||
if _adventure_mode and runner.current_battle() == null \
|
||||
and String(runner.current_node().get("type", "")) == "battle" and not candidates.is_empty():
|
||||
if OS.get_environment("T17_LOCK_DEBUG") != "":
|
||||
print("[choices_dbg] -> battle stop overlay (node %s)" % str(runner.node_index))
|
||||
_settlement_stop_pending = true
|
||||
_pending_candidates = candidates.duplicate()
|
||||
_end_overlay.open_victory(Narrator.battle_end_text("victory", false), "下一节点",
|
||||
@@ -892,9 +887,6 @@ func _on_choices_presented(candidates: Array) -> void:
|
||||
_open_modal(_end_overlay)
|
||||
_refresh_presentations()
|
||||
return
|
||||
if OS.get_environment("T17_LOCK_DEBUG") != "":
|
||||
print("[choices_dbg] -> level_screen (node %s type %s cands %d)" % [
|
||||
str(runner.node_index), String(runner.current_node().get("type", "")), candidates.size()])
|
||||
_enter_level_screen()
|
||||
level_screen.open_choices(candidates, runner)
|
||||
_refresh_presentations()
|
||||
@@ -1109,7 +1101,7 @@ func _on_refresh_confirmed() -> void:
|
||||
board_zone.toast.show_toast("RAP−%d · 旧板旗作废——新图已就位,AP 保留继续挖" % int(db.action_economy.rap_refresh_cost), "gold")
|
||||
else:
|
||||
# 资源面/上限拒绝(EC13 合法拒绝可见;行动经济 无载荷——客户端按上下文推断)
|
||||
var rap: int = int(settlement.action_economy.rap) if settlement != null else 0
|
||||
var rap: int = int(settlement.presentation_snapshot().get("rap", 0)) if settlement != null else 0
|
||||
var cost: int = int(db.action_economy.rap_refresh_cost)
|
||||
var result := "rejected_rap" if rap < cost else "rejected_cap"
|
||||
logger.log_ux("ux_refresh_attempt", {"result": result, "round_refresh_index": _refresh_used_round + 1})
|
||||
|
||||
@@ -171,10 +171,6 @@ func _render_rap_dots(rap: int) -> void:
|
||||
d.color = COL_GOLD if i < shown else COL_DOT_OFF
|
||||
|
||||
|
||||
func set_legend_enabled(on: bool) -> void:
|
||||
_btn_legend.disabled = not on
|
||||
|
||||
|
||||
# 探针/装配复用:刷新按钮可用性(预判 = RAP 足额 + 上限未到)
|
||||
func is_refresh_ready() -> bool:
|
||||
return not _btn_refresh.disabled
|
||||
|
||||
@@ -20,7 +20,6 @@ const BAND_H_DIG := 24
|
||||
const BAND_H_SETTLE := 84
|
||||
const AGG_TYPES := ["reward_ineffective"]
|
||||
const COL_GOLD := UiKit.HEX_GOLD
|
||||
const COL_INK := UiKit.HEX_INK
|
||||
|
||||
var _db
|
||||
var _log: RichTextLabel
|
||||
|
||||
@@ -67,7 +67,6 @@ var bevel := 0.0: # 顶面倒角强度(0=关——立体原
|
||||
const FACADE_HIGHLIGHT_PX := 2.0 # 口沿高光线厚(像素)
|
||||
const FACADE_NEAR_FRAC := 0.16 # 立面近段高(格边比——研究件 10/64)
|
||||
const FACADE_FAR_FRAC := 0.25 # 立面远段高(格边比——研究件 16/64)
|
||||
const FACADE_HIGHLIGHT_COL := Color8(196, 172, 132) # 口沿高光(研究件取色暖米白)
|
||||
const FACADE_NEAR_COL := Color(0, 0, 0, 0.60) # 立面近段黑罩(墙顶 132→52 实测 α≈0.61)
|
||||
const FACADE_FAR_COL := Color(0, 0, 0, 0.82) # 立面远段黑罩(墙顶 132→24 实测 α≈0.82)
|
||||
const PROJECTION_NEAR_COL := Color(0, 0, 0, 0.28) # 投影贴墙段(地面 66→46 实测 α≈0.28)
|
||||
@@ -251,7 +250,7 @@ func _draw_south_facade() -> void:
|
||||
var y_far := edge - far_h
|
||||
var y_near := y_far - near_h
|
||||
var y_hl := y_near - FACADE_HIGHLIGHT_PX
|
||||
draw_rect(Rect2(0.0, y_hl, edge, FACADE_HIGHLIGHT_PX), FACADE_HIGHLIGHT_COL, true)
|
||||
draw_rect(Rect2(0.0, y_hl, edge, FACADE_HIGHLIGHT_PX), UiKit.STAND_STONE_RIM, true) # 口沿高光(UiKit.STAND_STONE_RIM 并档——同值单点,清扫批 2026-10-02)
|
||||
draw_rect(Rect2(0.0, y_near, edge, near_h), FACADE_NEAR_COL, true)
|
||||
draw_rect(Rect2(0.0, y_far, edge, far_h), FACADE_FAR_COL, true)
|
||||
|
||||
|
||||
@@ -35,7 +35,6 @@ const COL_DIGIT := UiKit.INK # 数字——墨族 #33261B(对
|
||||
const COL_HERO := UiKit.HERO_BLUE # 小人边框——小人蓝 #2E6E8E
|
||||
const COL_FLAG := UiKit.SEAL_BLACK # 封印黑 #000000(旗朱→封印紫→封印黑,2026-09-28 用户拍板)
|
||||
const COL_GOLD := UiKit.GOLD # 奖励金 #F0A828
|
||||
const COL_PATH := UiKit.HERO_BLUE # 路径预览点迹——小人蓝细线
|
||||
const COL_CONTACT := UiKit.CONTACT_GLOW # 接触带微光基色(蓝族浅一档·近白蓝——§3.2 v2.8;旧绿相退役 2026-09-26)
|
||||
const COL_HL_TARGET := UiKit.GOLD # 悬停目标格边框(金)
|
||||
const REWARD_BADGE := { # 已开格格面资源身份 icon(cell_type 九型键;极性视觉归批 2)
|
||||
@@ -269,8 +268,6 @@ func rebuild(board: BoardData, minesweeper) -> void:
|
||||
_hover = Vector2i(-9, -9)
|
||||
for c in _board.compute_r0():
|
||||
_r0[c] = true
|
||||
if _board == null:
|
||||
return
|
||||
# 瓦片套随板图型切换(T6 换色批——board_gen 词表 v1.1 dungeon/underdark/deep_underdark;
|
||||
# 同图型重复 rebuild 零重载,_tiles_board_type 守卫)
|
||||
var bt: String = _board.board_type if _board.board_type != "" else "dungeon"
|
||||
|
||||
@@ -99,12 +99,6 @@ func set_level_bonuses(lines: Array) -> void:
|
||||
_bonus_section.visible = not lines.is_empty()
|
||||
|
||||
|
||||
func set_idle() -> void:
|
||||
_atk_label.text = "攻击 —"
|
||||
_armor_label.text = "护甲 AC —"
|
||||
set_level_bonuses([])
|
||||
|
||||
|
||||
func attack_text() -> String:
|
||||
return _atk_label.text
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# 状态槽空态说明成文载入〔增益状态 D1×①〕)。
|
||||
# Date: 2026-09-12
|
||||
# pattern 6 模态 overlay 层级纪律:打开时由组合根隐藏上方遮挡层 + 锁棋盘输入;
|
||||
# 本类自持开关(toggle),探针断言"打开后自身 visible"——遮挡物断言归场景探针。
|
||||
# 本类自持开关(open/close),探针断言"打开后自身 visible"——遮挡物断言归场景探针。
|
||||
class_name LegendOverlay
|
||||
extends Control
|
||||
|
||||
@@ -72,13 +72,6 @@ func is_open() -> bool:
|
||||
return visible
|
||||
|
||||
|
||||
func toggle() -> void:
|
||||
if visible:
|
||||
close()
|
||||
else:
|
||||
open()
|
||||
|
||||
|
||||
func open() -> void:
|
||||
visible = true
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# Date: 2026-09-21(GP+商店房实施批——商店房覆盖层呈现)
|
||||
# 商店覆盖层(模态):标题「商店」/ 金币余额 / 三商品卡全陈列(显示名·档位文案·现价·已购档数)/
|
||||
# 购买按钮(余额不足禁用置灰)/ 离开按钮。模态挂接方式仿既有覆盖层(route_overlay 现成参照——
|
||||
# 购买按钮(余额不足禁用置灰)/ 离开按钮。模态挂接方式仿既有覆盖层(legend_overlay 现成参照——
|
||||
# dim + CenterContainer + box,组合根 _register_modal 收口层级)。
|
||||
# 高内聚边界:纯视图 setter 面——商品快照与余额经组合根喂入(runner.shop_products() 只读投影,
|
||||
# 现价/已购档数由 runner 现算),购买/离开意图经信号外发——零核心写调用、零 runner 持有。
|
||||
|
||||
@@ -124,11 +124,6 @@ func _set_hp(hp: int) -> void:
|
||||
_hp_tween.tween_property(self, "hp_value", target, UiKit.motion(0.15))
|
||||
|
||||
|
||||
func set_idle() -> void:
|
||||
_set_hp(0)
|
||||
set_effects([])
|
||||
|
||||
|
||||
# 主角/敌方共用——状态效果唯一展示面(壳层伴随件转发;空态 = 图标行隐藏不占位)
|
||||
func set_effects(effects: Array) -> void:
|
||||
if slot_row == null:
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# Date: 2026-09-11(2026-09-12 code-review 修复批重构)
|
||||
# 测试用角色数值调整板(模拟天赋树属性提升——仅测试,正式侧归元进度)。
|
||||
# 纯视图边界(规范 1.3):本类只承载滑杆 UI 与生效值预览;加成应用 / 重置落表 / 批量模拟编排
|
||||
# 全部经信号外发由组合根承接(apply_requested / reset_requested / simulate_requested / closed),
|
||||
# 纯视图边界(规范 1.3):本类只承载滑杆 UI 与生效值预览;加成应用 / 批量模拟编排
|
||||
# 全部经信号外发由组合根承接(apply_requested / simulate_requested / closed);
|
||||
# 模拟进度与报告经 setter 注入——视图零核心写、零 smoke 脚本依赖、不拼报告文案(装配归 presenter)。
|
||||
# 探针接缝(ADR-0004"合成输入走真实翻译出口"口径):press_apply_for_probe 等三键 = 按钮真实信号路径。
|
||||
class_name TunePanel
|
||||
extends Control
|
||||
|
||||
signal apply_requested(atk_pct: int, hp_pct: int) # 应用并关闭——加成落表归组合根单一应用路径
|
||||
signal reset_requested() # 重置为 0——视图自清滑杆,落表归组合根
|
||||
signal simulate_requested(count: int) # 批量模拟编排归组合根(表基线复位 + 单路径施加)
|
||||
signal closed
|
||||
|
||||
@@ -106,7 +105,6 @@ func _apply_btn_pressed() -> void:
|
||||
|
||||
func _reset_btn_pressed() -> void:
|
||||
reset_sliders()
|
||||
reset_requested.emit()
|
||||
|
||||
|
||||
func effective_atk() -> int:
|
||||
|
||||
@@ -21,10 +21,7 @@ const INK_TITLE := Color8(30, 26, 22) # 亮底标题墨
|
||||
const INK_ROUTE := Color8(24, 20, 16) # 节点图最深墨
|
||||
const INK_ON_GOLD := Color8(60, 44, 20) # 金底上的深墨
|
||||
|
||||
const PANEL_HERO := Color8(232, 220, 196) # 面板底·主角侧(英雄卡/角色信息框)
|
||||
const PANEL_ENEMY := Color8(226, 212, 190) # 面板底·敌方卡
|
||||
const PANEL_DATA := Color8(226, 210, 182) # 面板底·数据框(AP 条/状态槽)
|
||||
const PANEL_STAGE := Color8(216, 200, 172) # 面板底·战斗画面区
|
||||
const PANEL_BORDER := Color8(120, 106, 88) # 面板细线框;兼熄灭点阵(DOT_OFF 别名)
|
||||
|
||||
const GOLD := Color8(240, 168, 40) # 奖励金
|
||||
@@ -50,12 +47,10 @@ const DUSK := Color8(90, 108, 140) # 暮蓝(全作唯一暮蓝档
|
||||
const WARM := Color8(240, 226, 200) # 暖白(暗底正文)
|
||||
const WARM_SOFT := Color8(200, 188, 166) # 暖白次级(说明文)
|
||||
const WARM_FAINT := Color8(178, 166, 146) # 暖白弱化(帮助文)
|
||||
const WARM_ROUTE_SUB := Color8(210, 196, 170) # 节点图编号暖白
|
||||
|
||||
const STONE := Color8(120, 110, 98) # 灰石(通道/箭头/失效)
|
||||
const STONE_FAINT := Color8(140, 124, 100) # 灰石弱化(占位提示文)
|
||||
const DARK_UPCOMING := Color8(64, 58, 52) # 未达暗字(底/文同值)
|
||||
const DARK_TEXT_FAINT := Color8(160, 150, 138)# 未达节点文字
|
||||
|
||||
const BRICK := Color8(201, 175, 131) # 棋盘·未开掩尘地砖 #C9AF83
|
||||
const FLOOR := Color8(179, 154, 120) # 棋盘·已开裸土 #B39A78
|
||||
@@ -78,7 +73,7 @@ const STAGE_BG := Color8(62, 52, 42) # B 区舞台暗底(方向稿 re
|
||||
const BEAM_LIGHT := Color8(255, 236, 200) # B 区顶光柱暖光(用时乘 alpha 渐隐——battle_stage_view 光柱层)
|
||||
const STAND_STONE := Color8(150, 130, 100) # 站桩石板地台·板身(standee_body 方向稿取色)
|
||||
const STAND_STONE_EDGE := Color8(90, 76, 58) # 站桩石板地台·描边
|
||||
const STAND_STONE_RIM := Color8(196, 172, 132) # 站桩石板地台·顶缘受光线(与 board_cell_unit.FACADE_HIGHLIGHT_COL 异源同值——并档归清扫卡)
|
||||
const STAND_STONE_RIM := Color8(196, 172, 132) # 站桩石板地台·顶缘受光线(board_cell_unit 口沿高光已并档至此——清扫批 2026-10-02)
|
||||
const CAMP_HEADER_BAND := Color8(122, 82, 50) # 营地柜台头带深棕(4-camp.png 方向稿取色)
|
||||
const CAMP_ROW_PLATE := Color8(240, 230, 206) # 营地行板暖米(同上)
|
||||
const CAMP_BADGE_PANEL := Color8(40, 32, 24) # 营地钥石徽暗底(同上)
|
||||
|
||||
Reference in new issue
Block a user