美术去数值化撤销批(用户裁 2026-11-07: 正文单点维护后半句适用域收窄至 GDD——美术圣经与 UX 为可带值参考层): 圣经恢复 77c1d360 版全量内容(hex 色值表/能量档/封印参数/坐标群/帧数档/欠账清单/换色合并登记回归, 版本 v3.45)+camp.md 顶栏 hex 与 battle.md 能量值/实测比回填+五件测试探针头注恢复原措辞(77c1d360 版, 去数值化改动全为注释已核验); 规约修订: doc-conventions 正文单点维护行——禁复制值后半句适用域收窄至 design/gdd/**, 规则句只在 owner 前半句全域不变; 两新测试保留+锚重算(帧数测试→圣经 §8.4:539, 互查测试→§4.1:220)+头注改对照措辞; 登记面保留改措辞(唯一事实源→落点速查索引); 待办欠账条目改双登记措辞(圣经欠账清单+守门件豁免账)。保留不动: 三执行件+manifest 86 套+能力行+GDD 侧换代+三目录结构。凭据: 七触碰套件单跑 all green(exit=0)+--docs 域闸【验收通过】exit=0

This commit is contained in:
DKChan committed 2026-11-07 05:57:37 +08:00
1 parent b35a639d9e
commit 0a6b115be7
13 files changed
+127 -126

No files matched your search

+1 -1
View File
@@ -27,7 +27,7 @@ func _pairs() -> Array:
["RAP标签", UiKit.INK_LABEL, UiKit.PANEL_DATA, 1.0], # N1-7(T0 实测已合规,显式化)
["锚·正文墨/数据板", UiKit.INK, UiKit.PANEL_DATA, 1.0], # 全站锚点:正文墨对数据板
["锚·暖白/屏根", UiKit.WARM, UiKit.BG_ROOT, 1.0], # 全站锚点:暗底正文
["锚·暖白弱/舞台底", UiKit.WARM_FAINT, UiKit.SLOT_BACKDROP, 1.0], # 全站锚点:B区辅助墨(合并目标色,换色合并沿革查 git 提交史)
["锚·暖白弱/舞台底", UiKit.WARM_FAINT, UiKit.SLOT_BACKDROP, 1.0], # 全站锚点:B区辅助墨(合并目标——art-bible §4.1 换色合并③)
["钥石徽·深墨/烛光黄", UiKit.INK_ON_GOLD, UiKit.CANDLE, 1.0], # badge 工厂件文字(营地徽+状态面板余额行同形制)
["生涯页·行名墨/暖亮页底", UiKit.WARM, UiKit.BG_BRIGHT, 1.0], # 生涯页行名列/提示文(WARM_SOFT 同族亮墨)
["生涯页·行值墨/暖亮页底", UiKit.CANDLE, UiKit.BG_BRIGHT, 1.0], # 生涯页数值列(烛光黄 bold)
@@ -1,6 +1,6 @@
# tests/unit/presentation/animation_frame_spec_test.gd — 动画帧数规格守门(定值面=本测试)
# 断言面:①帧数规格表冻结(待机循环 4 帧/攻击准备 6 帧单次/受击 2 帧——样张冻结定值落码于本表,
# 文档侧只述规则并指路本测试);②现役四态单帧形制锚定(idle/walk 32×32、attack 92×92、
# 断言面:①帧数规格表冻结(待机循环 4 帧/攻击准备 6 帧单次/受击 2 帧——样张冻结定值,
# 规格表与圣经 §8.4 帧数规格条对照,守门防漂移);②现役四态单帧形制锚定(idle/walk 32×32、attack 92×92、
# hit 88×92——现役为单帧状态件,序列帧资产入包时按规格表逐件判帧数并同批换代本套件);
# ③死亡=灰化+碎裂退场(非帧件,无帧数断言面)。
# 运行:godot --headless --path game --script res://tests/unit/presentation/animation_frame_spec_test.gd
@@ -20,7 +20,7 @@ const CURRENT_FORM := {
func _init() -> void:
# oracle: design/art/art-bible.md:538 (帧数规格条——样张冻结定值组)
# oracle: design/art/art-bible.md:539 (帧数规格条——样张冻结定值组)
_test_spec_table()
_test_current_form()
quit(Kit.finish("animation_frame_spec_test"))
@@ -28,7 +28,7 @@ func _init() -> void:
# ① 规格表冻结面(帧数档定值单点=本表)
func _test_spec_table() -> void:
# oracle: design/art/art-bible.md:538 (帧数规格表冻结组)
# oracle: design/art/art-bible.md:539 (帧数规格表冻结组)
Kit.check("待机循环 4 帧在表〔帧规格 V1〕", SPEC.get("idle", 0) == 4)
Kit.check("攻击准备 6 帧单次在表〔帧规格 V2〕", SPEC.get("attack", 0) == 6)
Kit.check("受击 2 帧在表〔帧规格 V3〕", SPEC.get("hit", 0) == 2)
@@ -36,7 +36,7 @@ func _test_spec_table() -> void:
# ② 现役单帧形制锚定(真实加载链——资产被换形制而未走规格表时此处红)
func _test_current_form() -> void:
# oracle: design/art/art-bible.md:538 (现役单帧形制组)
# oracle: design/art/art-bible.md:539 (现役单帧形制组)
for fn: String in CURRENT_FORM:
var tex: Texture2D = load("res://assets/art/character/" + fn)
var want := Vector2(CURRENT_FORM[fn])
@@ -1,7 +1,7 @@
# tests/unit/presentation/palette_token_pairwise_test.gd — 语义/UI token 板两两互查守门
# 断言面:ui_kit 全部 Color 常量两两 RGB 三通道差禁止全部 <8/255(色板增量纪律第二道门的存量面;
# 文档侧只述纪律并指路本测试,数值门=本件 NEAR_EPS);六对已登记欠账走豁免账(清偿批逐对销账,
# 债务登记=待办清单「色板近色欠账六对清偿」条;新增欠账禁直入本账,须走待办清单修订)。
# 断言面:ui_kit 全部 Color 常量两两 RGB 三通道差禁止全部 <8/255(圣经 §4.1 色板增量纪律第二道门的
# 存量面执法件,数值门=本件 NEAR_EPS);六对已登记欠账走豁免账(债面=圣经 §4.1 欠账清单+待办清单
# 「色板近色欠账六对清偿」条;新增欠账禁直入本账,须走待办清单修订)。
# 豁免账中两对伙伴色(3e3731/3e4048/3f4147)为迷雾合成底素材侧色——不在 ui_kit 常量面,
# 其清偿随素材批处理;本测试扫常量面,素材侧对子由互辨抽测件近色读数承载。
# 运行:godot --headless --path game --script res://tests/unit/presentation/palette_token_pairwise_test.gd
@@ -1,5 +1,5 @@
# tests/unit/presentation/seal_mark_params_test.gd — 封印印记参数化绘制守门(卡④ R1–R4)
# 断言面:五常量取值逐项相等(封印六参数定值面=本测试断言);着色器文件存在且七个 uniform 名在文;
# 断言面:五常量取值逐项相等(ui_kit ↔ art-bible §8.2 对照);着色器文件存在且七个 uniform 名在文;
# 迷雾门控(seal_on × fog_state → 封印子件可见性)〔seal批 V1–V4〕。
# 运行:godot --headless --path game --script res://tests/unit/presentation/seal_mark_params_test.gd
extends SceneTree
@@ -17,7 +17,7 @@ func _init() -> void:
quit(Kit.finish("seal_mark_params_test"))
# R1–R3/R7 前置:五常量取值逐项相等(定值面=本组断言)
# R1–R3/R7 前置:五常量取值逐项相等(art-bible §8.2 定值)
func _test_param_values() -> void:
# oracle: design/ux/battle.md:128 (环径与法阵定值组)
Kit.check("SEAL_RING_FRAC = 0.82〔seal批 V1〕", UiKit.SEAL_RING_FRAC == 0.82)
@@ -122,7 +122,7 @@ func _init() -> void:
# ---- V13–V18 立绘显示档(迭代 48 卡②——显示档 = 三档绝对高,入包件 = 原稿紧裁零降采样) ----
# 规格钉值(显示档定值单点 = 本测试钉值;源高 = 原稿表值——旧降采样稿必红;
# 规格钉值(显示档定值单点 = art-bible §8.2;源高 = 原稿表值——旧降采样稿必红;
# 显示宽 = round(源宽×档高/源高),食人魔酋长 157 为已接受超宽项):
# 键 → [源高, 显示档高, 显示宽]
const _DISPLAY_SPEC := {
@@ -673,7 +673,7 @@ func _smoke_contrast_inks() -> void:
# oracle: design/gdd/systems/表现与支撑/HUD框架.md:281 (对比度墨色锚组)
print("--- UI 残余 <4.5:1 文字位换墨(V4 对比度锚定)---")
var uikit_s = load("res://presentation/views/ui_kit.gd")
var stage: Color = uikit_s.SLOT_BACKDROP # 舞台底对比锚读合并目标色(换色合并沿革查 git 提交史——阈值与判据不变)
var stage: Color = uikit_s.SLOT_BACKDROP # 舞台底对比锚改读合并目标(art-bible §4.1 换色合并③——阈值与判据不变)
var r_order := _theme_contrast(uikit_s.GOLD_BRIGHT, stage)
Kit.check("V4 顺位徽标/重甲徽标 GOLD_BRIGHT 对舞台底 %.2f:1 ≥4.5:1" % r_order, r_order >= 4.5)
var r_ward := _theme_contrast(uikit_s.HERO_BLUE_BRIGHT, stage)
@@ -1,7 +1,7 @@
# tests/unit/presentation/type_glow_test.gd — 未开格类型微光数据面直验
# 断言面 = 纯函数/常量域(无渲染):① 九 cell_type → 五组封闭判定(含清单外显式失败、
# 禁子串匹配、与卡顶带 tg_band 的归组差异锚定——Q3 甲案两带并存);② 五组色值冻结面
# (冻结值落码于本文件 FROZEN/IMPL,只准动明度档——群伤组
# (HSV 对照 art-bible §4.2 冻结值只准动明度档——群伤组
# #A61D37 为终值,本测试即该判据的守门件);③ 呈现参数锚定(α170/带宽 cell÷8);④ 合成空间
# 阶梯单调 + 相邻组模型 CR ≥1.20(色弱灰度互辨的数据面预判,终审在渲染取证探针实测);
# ⑤ probe API 形状(默认开/空态键集)。
@@ -13,13 +13,13 @@ const Kit := preload("res://tests/unit/test_kit.gd")
const UiKitScript := preload("res://presentation/views/ui_kit.gd")
const BoardViewScript := preload("res://presentation/views/board_view.gd")
# 样张 v2 冻结五组(F3 定值面=本表——本测试的冻结面基准)
# art-bible §4.2 样张 v2 冻结五组(F3 抄录表——本测试的冻结面基准)
const FROZEN := {
"BUFF": Color8(0xD6, 0xC1, 0x3A), "HEAL": Color8(0x5C, 0xB8, 0x3A),
"PIERCE": Color8(0x2E, 0x9E, 0x9E), "MAGIC": Color8(0x7B, 0x5B, 0xD6),
"AOE": Color8(0xFF, 0x2D, 0x55),
}
# 九 cell_type 全值域 → 期望组号(微光五组成员集合,与 ui_kit 封闭判定逐字一致)
# 九 cell_type 全值域 → 期望组号(art-bible §4.2 成员集合逐字照抄)
const TYPE_EXPECT := {
"attack": UiKitScript.GLOW_BUFF, "defense": UiKitScript.GLOW_BUFF,
"weaken": UiKitScript.GLOW_BUFF, "action": UiKitScript.GLOW_BUFF,
@@ -79,7 +79,7 @@ func _test_grouping_closed() -> void:
UiKitScript.glow_color_for_group(99) == Color(0, 0, 0, 0))
# ② 冻结色相面:逐组 HSV 对照本文件 FROZEN 冻结值——只准动明度(ΔH≤0.2°/ΔS≤0.01)
# ② 冻结色相面:逐组 HSV 对照 art-bible §4.2 冻结值——只准动明度(ΔH≤0.2°/ΔS≤0.01)
func _test_frozen_hue_face() -> void:
# oracle: design/engineering/test-conventions.md:56 (判定上报通道——验证函数组)
for g in FROZEN:
@@ -98,7 +98,7 @@ func _test_frozen_hue_face() -> void:
Kit.check("群伤组专项:V=0.65 明度档( provisional 域内)", absf(aoe_m.v - 166.0 / 255.0) < 0.002)
# ③ 呈现参数锚定(v2 冻结参数,定值面=本测试与 ui_kit 常量)
# ③ 呈现参数锚定(art-bible §4.2 v2 冻结参数)
func _test_render_params() -> void:
# oracle: design/engineering/test-conventions.md:56 (判定上报通道——验证函数组)
Kit.check("泛光强度 α = 170/255(v2 呈现参数冻结)",