merge(迭代33 卡③ 选档界面新建批): 3 存档位选档界面(新档/进档/删档+摘要三项+删档二次确认+消费方编排)
- 全量闸全绿(回执 commit=0adcbd5b domain=full 实测 all_green):冒烟 1201/0、单元 38 套件、探针三件新段+既有件零回归、静态扫描/渲染闸/熵增闸+文档域六闸(本批混触 game/+reports/ 两域);回放对拍未触面(MC 零跑) - 独立验收审计两轮通过:首轮 R1×2+回执核验失实回炉,复审 sl1-sl14 全过 - T0 对齐补充:窥视读器加 has_file 位(空/有档操作集二分判定来处,非摘要第四项) - 已知中间态:选档层生产入口「进入存档」钮归卡② mn3(探针函数直调);进档/新档暂行落点 CampOverlay(Q3 乙) - 附记:卡① 合并经 git -C 形态绕过了域校验(守卫对 -C 形态的分支名解析盲点)——本笔全量回执的 docs 段已覆盖卡① reports 的文档域验证 - 产出物与反哺点见 reports/iter33-实现报告/追认单/反哺点
This commit is contained in:
commit
5c2a7bcf1b
12 files changed
+647
-17
No files matched your search
@@ -156,13 +156,14 @@ func delete_slot(slot: int) -> bool:
|
||||
|
||||
# 摘要三项按槽窥视读器(sv7/sv8,契约 5/9):钥石余额/通关局数/冒险总局数。
|
||||
# 只读零副作用:不激活、不写盘、不触发 _corrupt_fallback 改名(.corrupt.bak 只在正式进档路径产生)。
|
||||
# 返回 {"readable", "keystone", "cleared", "total"}——readable=true=可读槽(空槽=零值合法态,
|
||||
# 返回 {"readable", "has_file", "keystone", "cleared", "total"}——readable=true=可读槽(空槽=零值合法态,
|
||||
# .tmp 残留按空槽——主文件不在即空);readable=false=不可读槽(损坏/高版本/缺版本字段/打开失败,
|
||||
# 三值无意义——卡③ Q2 裁甲:UI 按空槽呈现,进档时走正式 load 兜底/拒读链)。
|
||||
# 三值无意义——卡③ Q2 裁甲:UI 按空槽呈现,进档时走正式 load 兜底/拒读链);
|
||||
# has_file=主文件在盘与否(空/有档操作集二分判定来处——卡③ T0 对齐结论;非摘要第四项,零 UI 语义)。
|
||||
# 迁移链在此只读推演(生产迁移 Callable 为纯函数,零盘面副作用)。
|
||||
func peek_slot_summary(slot: int) -> Dictionary:
|
||||
if slot < 1 or slot > SLOT_COUNT:
|
||||
return {"readable": false, "keystone": 0, "cleared": 0, "total": 0} # 越界=非槽位,非空槽
|
||||
return {"readable": false, "has_file": false, "keystone": 0, "cleared": 0, "total": 0} # 越界=非槽位,非空槽
|
||||
return _peek_summary_at(slot_path(slot))
|
||||
|
||||
|
||||
@@ -172,10 +173,11 @@ func peek_summary_at(path: String) -> Dictionary:
|
||||
|
||||
|
||||
func _peek_summary_at(path: String) -> Dictionary:
|
||||
var out := {"readable": false, "keystone": 0, "cleared": 0, "total": 0}
|
||||
var out := {"readable": false, "has_file": false, "keystone": 0, "cleared": 0, "total": 0}
|
||||
if not FileAccess.file_exists(path):
|
||||
out["readable"] = true # 空槽=可读零值合法态
|
||||
return out
|
||||
out["has_file"] = true # 主文件在盘(可读性与占档判定分离——白板档与空槽自此可区分)
|
||||
var f := FileAccess.open(path, FileAccess.READ)
|
||||
if f == null:
|
||||
return out
|
||||
|
||||
Reference in new issue
Block a user