fix(迭代38卡⑥ 结算行缓冲批): _round_rows 类型声明与承载数据对齐(Array[Dictionary]→Array[String]——append 的是 _format_row 格式化产物 String,TypedArray 异型 push_back 静默丢弃致缓冲恒空、「上轮摘要」功能自引入类型错以来从未显示);wr1-a=探针日志该 push_back 错误行归零(改前基线 148 处→改后 0);wr1-b=上轮摘要恢复正向断言(战中场观测点 round≥2 且排播队列已空=finish_settlement_round 已刷,_summary 非空——不挂循环出口因收尾续玩重建段会再走 log_view.clear());撤销证明实测=回退 g1→148 错误行复现+wr1-b 红,还原复绿(click10 问题=0 同源态);除申报的摘要恢复外呈现零变化(append/消费/清空时序零触碰)

This commit is contained in:
DKChan committed 2026-10-26 07:37:34 +08:00
1 parent 00ed023659
commit ce49a8eec2
2 files changed
+10 -3

No files matched your search

+1 -1
View File
@@ -14,7 +14,7 @@ var _log: RichTextLabel
var _summary: Label
var _hint: Label
var _mode := "dig" # dig = 收起摘要 / settle = 实时流(模式归组合根驱动)
var _round_rows: Array[Dictionary] = [] # 本结算轮行缓冲(上轮摘要构建源)
var _round_rows: Array[String] = [] # 本结算轮行缓冲(上轮摘要构建源——append 的是 _format_row 格式化产物 String)
var _pending_agg := {} # 聚合计数行 pending(type+batch_key → {row, count})
+9 -2
View File
@@ -28,6 +28,7 @@ var _tested_refresh_chain := false
var _tested_tooltip := false
var _tested_copy := false # 迭代36 卡A——C 区两段头真实入口断言(每 run 一次)
var _tested_curio_head := false # 迭代36 卡A——三选一头部旧话清零断言(奖励点停点捕获)
var _tested_round_summary := false # 卡⑥ wr1-b——上轮摘要恢复断言(战中场一次性判据)
var _tested_map_cap := false # 迭代36 卡A——地图屏加成帽换代断言(每 run 一次)
var _tested_status := false # 状态面板角标开合/守卫断言(每 run 一次)
var _tested_map_status := false # 地图屏角标一次性 case(选路态零扰动)
@@ -556,8 +557,14 @@ func _ready() -> void:
"phase": main.run_scope.settlement.action_economy.phase, "ap": main.run_scope.settlement.action_economy.ap,
"settling": diag.settling,
}
if JSON.stringify(st) == JSON.stringify(_last_state):
# 排播演播期豁免(硬锁 v3——合法停顿态):演播期棋盘锁生效、probe 点击被吞、
# 上轮摘要恢复断言(卡⑥ wr1-b——改前 _round_rows 类型错 append 全数失败、缓冲恒空、
# 摘要自引入类型错以来从未显示):战中场观测点=round≥2 且排播队列已排空(轮首分隔行
# 已消费=finish_settlement_round 已刷);不挂循环出口——收尾的续玩重建段会再走 log_view.clear()
if not _tested_round_summary and int(st["round"]) >= 2 and main._row_queue.is_empty():
_tested_round_summary = true
if main.log_view._summary.text == "":
_problems.append("上轮摘要恒空(卡⑥ wr1-b——结算行缓冲仍失真)")
if JSON.stringify(st) == JSON.stringify(_last_state): # 排播演播期豁免(硬锁 v3——合法停顿态):演播期棋盘锁生效、probe 点击被吞、
# 逻辑态恒定属预期。判据=纯队列(与 main 锁同源)。Waiting 收尾等待期**不豁免**——
# 锁若把收尾链卡死,此处 stall 照报(探测面)。
# T1 D1 处置=保留豁免+注记:冻结/缓存/重放语义不再靠豁免绕行,由 _locktest_tick