feat(调试): DS_DEBUG 环境变量门控写死=true——用户令「直接写死,不读环境变量」(2026-10-16)

- main.gd:219 原 OS.get_environment("DS_DEBUG")=="1" 读取退役,_debug_entry 恒 true
  (启动即开浮窗+两屏角标;var 注释与 6 处会话门控注释同步换代)
- 闸断言换代:smoke V2f 由「态==环境变量」改「恒开」断言;ui_click_probe 原
  「未设时浮窗不得默认开」反转为「未恒开即失守」;ui_tune_probe 删自设环境变量
  死代码(OS.set_environment 行)+三处消息/注释换代
- 其余 6 文件 10 处注释/文案清扫(ui_assembler/debug_overlay 含浮窗内用户可见
  工具提示/modal_stack/board_zone_view/level_map_screen/README)——全库 DS_DEBUG
  引用清零,无新旧并存
- 发布前删除事项:main.gd:219 一行(用户知悉;无 CI,两道恒开断言会红兜底)
This commit is contained in:
DKChan committed 2026-10-16 03:08:31 +08:00
1 parent 9723c1524b
commit d1b2e519ce
10 files changed
+30 -33

No files matched your search

+7 -7
View File
@@ -88,7 +88,7 @@ var meta: MetaProgressionCore:
get:
return get_node(AUTOLOAD_PATH_META)
var logger = null # 试玩日志器(JSONL 持久化 + 卡死诊断转储——呈现层组件)
var _debug_entry := false # 调试会话门控(迭代 18 卡⑦——DS_DEBUG=1:启动即开浮窗+两屏角标点亮;_ready 赋值)
var _debug_entry := false # 调试会话门控(2026-10-16 用户令写死=true——恒开:启动即开浮窗+两屏角标点亮;_ready 赋值)
var _seed_edit: LineEdit
var _resume_btn: Button # 继续上局按钮句柄(迭代 8 卡②——有断点才亮)
var confirm_dialog: ConfirmDialog # 通用确认弹窗(二轮修改批 A——新冒险互斥确认弹窗化)
@@ -216,7 +216,7 @@ func _ready() -> void:
_begin_session(false) # 闲时会话(gp_ledger 等探针注入面自 _ready 起恒在——ui_probe 合成段时序)
_refresh_resume_button() # 迭代 8 卡②——启动读盘后按断点在档态点亮「继续上局」
_start_overlay.visible = true
_debug_entry = OS.get_environment("DS_DEBUG") == "1" # 迭代 18 卡⑦ P3 甲——DS_DEBUG=1 调试会话门控
_debug_entry = true # 2026-10-16 用户令:DS_DEBUG 环境变量门控写死(原 OS.get_environment 读取已退役;发布前清)
if _debug_entry:
_show_debug_overlay() # 启动即开(手动可关、两屏角标可再开——P3 甲)
@@ -332,7 +332,7 @@ func _build_ui() -> void:
_menu_screen.resumebtn.pressed.connect(_resume_from_menu) # 迭代 8 卡②——续玩入口
_resume_btn = _menu_screen.resumebtn
# 调试角标入口退役(迭代 18 卡⑦ P2 甲——迁宿主:战斗屏 HUD+关卡地图屏各一枚,
# 接线见两屏装配段;开始层不再有调试入口,DS_DEBUG=1 会话=启动即开浮窗)
# 接线见两屏装配段;开始层不再有调试入口,调试会话恒开=启动即开浮窗)
# 营地/商店投影(T4/D4 拆件批——迁 camp_shop_presenter.gd;本类只接线、探针缝保缝转发;
# 购买写调用唯一经 MetaProgression/LevelRunner core 单口——组合根 lambda 现值注入)
_camp_pres = CampShopPresenter.new(CampFlowContext.new(db, func() -> Variant: return meta, func() -> Variant: return save_manager, camp_overlay, shop_overlay,
@@ -369,7 +369,7 @@ func _build_ui() -> void:
confirm_dialog.cancelled.connect(_on_confirm_cancelled)
# 调试浮窗(迭代 14.5 调试整合批——主菜单三散件收一:随机种子/数值调整/批量模拟/两层调试入口;
# 迭代 18 卡⑦——升级为全局可开浮窗:DS_DEBUG=1 启动即开〔_ready〕+两屏角标再开〔P2 甲〕+当局数据只读区块〔T3〕;
# 迭代 18 卡⑦——升级为全局可开浮窗:调试会话恒开=启动即开〔_ready〕+两屏角标再开〔P2 甲〕+当局数据只读区块〔T3〕;
# 迭代 26 T5b——诊断转储入口并入(原主画面左下角常驻钮退役,玩家画面清零))。
# 树序在开始层与确认弹窗之后 = 浮于菜单之上的 Dialog(不隐藏开始层——与确认弹窗同款形态);
# 开窗唯一入口 = _show_debug_overlay(C6 单口——角标/探针/启动路径全收口)
@@ -597,7 +597,7 @@ static func build_adventure_params(save_manager_ref, meta_ref, extra: Dictionary
# 冒险模式(三关连探——AdventureRunner 编排;转发信号签名与 runner 一致,接线照原样对接;
# 信号连接只在组合根)
func _start_adventure() -> void:
_close_modal(debug_overlay) # 开冒险路径显式关浮窗(迭代 18 卡⑦ T2 防护——DS_DEBUG 默认开态下开局不带窗;对局中经角标再开)
_close_modal(debug_overlay) # 开冒险路径显式关浮窗(迭代 18 卡⑦ T2 防护——调试浮窗默认开态下开局不带窗;对局中经角标再开)
_begin_session(true)
_wire_adventure()
run_scope.level_active = true
@@ -1169,8 +1169,8 @@ func _sync_status_entry() -> void:
# 置灰判据改排除式(迭代 18 卡⑦ T2——调试浮窗开态不计入:对局中浮窗开着时角标仍可点)
board_zone.status_badge.disabled = _modal_flow.badge_greyed_battle() # 迭代 27 T4——互斥域谓词
level_screen.status_badge.disabled = _modal_flow.badge_greyed_map()
# 调试浮窗角标(迭代 18 卡⑦ P2 甲——迁宿主两屏,DS_DEBUG 门控;17卡③状态角标同形制同守卫):
# 战斗屏=对局内(冒险或调试两层)且地图屏未激活;地图屏=随屏;开始菜单零角标(DS_DEBUG=1 启动即开)
# 调试浮窗角标(迭代 18 卡⑦ P2 甲——迁宿主两屏,调试会话门控恒开;17卡③状态角标同形制同守卫):
# 战斗屏=对局内(冒险或调试两层)且地图屏未激活;地图屏=随屏;开始菜单零角标(恒开=启动即开)
board_zone.debug_badge.visible = _debug_entry and not map_on and battle_live
level_screen.debug_badge.visible = _debug_entry and map_on
board_zone.debug_badge.disabled = board_zone.status_badge.disabled
+1 -1
View File
@@ -11,7 +11,7 @@ var _occluded := {} # modal → 被其隐藏的上方层(关闭恢复)
var _tags := {} # modal → 排除组标签集(迭代 27 T4——互斥域随层登记;P2-7 开态谓词收口)
# 排除组封闭词表(组合根登记用——新标签=改此处+评审,防调用点拼装回潮)
const TAG_NON_LOCKING := "non_locking" # 开态不计入棋盘输入锁与角标置灰(调试浮窗——迭代 18 卡⑦ T2 防线:DS_DEBUG 默认开×遮挡复活×has_open 组合=棋盘永久锁死)
const TAG_NON_LOCKING := "non_locking" # 开态不计入棋盘输入锁与角标置灰(调试浮窗——迭代 18 卡⑦ T2 防线:调试浮窗默认开×遮挡复活×has_open 组合=棋盘永久锁死)
const TAG_SCREEN_STATE := "screen_state" # 常驻屏态(关卡地图屏——自身开态不计入本屏角标判据)
+3 -3
View File
@@ -91,7 +91,7 @@ static func build_overlays(host: Control, db) -> Dictionary:
# 开始覆盖层(返回 {overlay, box, lvbtn, resumebtn, campbtn, careerbtn, settingsbtn, quitbtn}——按钮接线归组合根;
# 迭代 14.5 调试整合批:随机种子/数值调整板/两层调试三散件撤出主按钮组,收进调试浮窗——
# 迭代 18 卡⑦ P2 甲:右下角「调试」角标亦退役(入口迁宿主=战斗屏 HUD+关卡地图屏两枚角标,
# DS_DEBUG=1 会话浮窗启动即开——本层零调试入口)
# 调试会话恒开,浮窗启动即开——本层零调试入口)
# UI 落码批 M2(2026-10-04):单列 VBox→双列(左操作 56% + 右舞台);按钮动词化+悬停解释
#(解释全迁 tooltip,G5);lvbtn 升主操作钮(烛光黄 CANDLE);右列=立绘看台。**玩法速览牌已退役
#(2026-10-06 用户令:界面禁玩法文字墙——教学内容归 Beta 帮助手册〔教学引导定稿批 P4 丙〕,历史文案在 git)**;
@@ -158,8 +158,8 @@ static func build_start_overlay(host: Control, db = null) -> Dictionary:
box.add_child(quitbtn)
# 迭代 18 卡⑦ P2 甲——旧右下角调试角标退役(原迭代 14.5 装配段删除):入口迁宿主两屏
#(board_zone_view.debug_badge / level_map_screen.debug_badge),DS_DEBUG 门控与可见性
# 同步归组合根 _sync_status_entry;开始层零调试入口(DS_DEBUG=1 会话=浮窗启动即开)
#(board_zone_view.debug_badge / level_map_screen.debug_badge),调试门控与可见性
# 同步归组合根 _sync_status_entry;开始层零调试入口(调试会话恒开=浮窗启动即开)
# 右列:立绘看台 + 玩法速览牌(M2——帮助全文保留表值驱动,仅容器化;内容含地形变异段不删)
var right := VBoxContainer.new()
+2 -2
View File
@@ -11,7 +11,7 @@ var board_view: BoardView
var toast: ToastStack
var fx: BoardFxView
var status_badge: Button # 状态面板入口角标(迭代 17 卡③ P1 丁——debug 角标同形制;连接归组合根)
var debug_badge: Button # 调试浮窗入口角标(迭代 18 卡⑦ P2 甲——DS_DEBUG 门控归组合根;状态角标同形制)
var debug_badge: Button # 调试浮窗入口角标(迭代 18 卡⑦ P2 甲——调试门控归组合根;状态角标同形制)
var _board_area: Control # resized 命名转发用(原 lambda 局部捕获——P1-3 转命名 2026-09-29)
signal action_requested(cell: Vector2i, kind: String)
@@ -44,7 +44,7 @@ func _init() -> void:
board_area.add_child(toast)
# 角标对(迭代 18 卡⑦ P2 甲——调试+状态两枚右下角常驻,HBox 并排锚角距 16px):
# 17卡③状态角标同形制:紧凑钮豁免宽度基准+字号降档。可见性/置灰归组合根 _sync_status_entry
#(DS_DEBUG 门控/其他模态开着=置灰不可点——排除式开态查询);信号连接归组合根。
#(调试门控/其他模态开着=置灰不可点——排除式开态查询);信号连接归组合根。
# preset 在子件全部入列后调用——MINSIZE 锚按当时最小尺寸计偏移(空容器调用=零尺寸锚外溢屏边)
var corner := HBoxContainer.new()
corner.add_theme_constant_override("separation", 8)
+2 -2
View File
@@ -1,6 +1,6 @@
# VERTICAL SLICE - NOT FOR PRODUCTION
# Date: 2026-10-04(主菜单调试三散件(随机种子/角色数值调整板/两层调试入口)收一张调试浮窗)
# 开发调试浮窗:全局可开(DS_DEBUG=1 会话启动即开〔组合根 _ready〕+战斗屏 HUD/关卡地图屏
# 开发调试浮窗:全局可开(调试会话恒开,启动即开〔组合根 _ready〕+战斗屏 HUD/关卡地图屏
# 两枚角标再开;遮挡语义=ModalStack 登记制:他模态开时暂隐、关后自动恢复)。
# 当局数据只读区块=本局种子唯一查看位(六项)。
# 列表页形态可扩展:后续调试项按区块往下追加,超高滚动。
@@ -163,7 +163,7 @@ func _build() -> void:
var title := UiKit.label("调试",UiKit.FS_TITLE, true, UiKit.WARM)
box.add_child(title)
var desc := UiKit.label(
"开发调试专用(DS_DEBUG=1 会话:启动即开;战斗屏/地图屏「调试」角标可再开)。当局数据=本局只读投影,种子即本局种子唯一查看位。\n百分比叠加基础值:攻击 %d / 生命 %d。影响所有模式(手动与模拟),不落盘。" % [_base_atk, _base_hp],
"开发调试专用(恒开:启动即开;战斗屏/地图屏「调试」角标可再开)。当局数据=本局只读投影,种子即本局种子唯一查看位。\n百分比叠加基础值:攻击 %d / 生命 %d。影响所有模式(手动与模拟),不落盘。" % [_base_atk, _base_hp],
13, false, UiKit.WARM_SOFT)
box.add_child(desc)
box.add_child(HSeparator.new())
+2 -2
View File
@@ -58,7 +58,7 @@ var _content_size := Vector2(620, 240) # 图内容包络(open_choices 按图
var _hover_id := -1 # 悬停预承诺候选(-1 = 无)
var abandon_btn: Button # 放弃入口(可见性归组合根 set_abandon_available——只在冒险模式开)
var status_badge: Button # 状态面板入口角标(迭代 17 卡③ P1 丁——顶栏 GP 徽右侧;连接归组合根)
var debug_badge: Button # 调试浮窗入口角标(迭代 18 卡⑦ P2 甲——DS_DEBUG 门控;状态角标同形制)
var debug_badge: Button # 调试浮窗入口角标(迭代 18 卡⑦ P2 甲——调试门控;状态角标同形制)
var _abandon_timer := ArmedTimer.new() # 放弃确认窗(T3/D3 P4 乙——_process 帧驱动倒计时机制收口;窗口=CONFIRM_WINDOW_S)
var _node_icons := {} # 节点图标贴图(load_tex 守卫——缺位 null → 字形回退,冒烟/无素材检出安全)
var _noise_rect: TextureRect # 屏底石纹(换层色板渐变承载面——null = 纯色回退无挂点)
@@ -119,7 +119,7 @@ func _init() -> void:
status_badge.size_flags_vertical = Control.SIZE_SHRINK_CENTER
top.add_child(status_badge)
# 调试浮窗入口角标(迭代 18 卡⑦ P2 甲——顶栏状态角标右侧;17卡③同形制:紧凑钮豁免宽度基准+
# 字号降档。可见性/置灰归组合根 _sync_status_entry(DS_DEBUG 门控/其他模态开着=置灰——排除式
# 字号降档。可见性/置灰归组合根 _sync_status_entry(调试门控/其他模态开着=置灰——排除式
# 开态查询,本屏自身开态不计);信号连接归组合根(视图零连接))
debug_badge = UiKit.button("调试", 0.0)
debug_badge.add_theme_font_size_override("font_size", UiKit.FS_HINT)