按 doc-conventions §11「吸收即死」「删除不留死链」执行: - 删 11 张:迭代 20–30 各批卡片(含迭代 28 启动装配卡——roadmap 卡片列早已写「已退役」、文件却仍在盘,属漏删) - roadmap 卡片列 10 行改「已退役(git 历史可考)」(流水线闸对保留字豁免,pipeline_gate.py:303-309) - reports/iter27–30 四份报告头部卡片路径改保留字,不留指向已删文件的路径 - 保留卡(战斗一屏样张批/二三关棋盘观感批)对已删卡的 6 处指路改结论内联+提交号 (徽章卡 7ffd1dc0/测试分层卡 fff4f120),各加一行「指路订正(2026-10-20)」 - 顺带清偿 2 处既存死链:07-体验验证清单 ㉑ 节、HUD框架 视野迷雾注记(两卡早已退役,历史删卡未做引用面清理) - 顺带清偿 3 处 game//tools/ 下遗漏引用:theme/README、forge.tres T1 注、parity_anchor.py 头注 保留 10 张未开工卡(迭代 31 两张、06 在册营地五卡+资源配比、被剔除回待设计的样张/观感两张)。 零设计裁决变更、零数值变更。
5.2 KiB
5.2 KiB
game/assets/theme/ —— UI 全局主题资源(迭代 25 · UI 全局主题批)
- 主文件:
main_theme.tres(Godot 4 Theme 资源,挂project.godot的gui/theme/custom) - 生成脚本:
tools/gen_theme_icons.py(可重跑,幂等)→ 小位图落../art/ui/gen/ - 依据:UI全局主题批(迭代 25)v1.2(2026-10-13;卡片已按「吸收即死」退役,git 历史可考)
本目录不含内联注释(.tres 注释语法不赌),全部溯源信息以本表为准。色值一律取自
game/presentation/views/ui_kit.gd 既有常量,零新增色值(迭代 25 契约:不新增美术素材)。
色值溯源表(字面量 ↔ ui_kit 常量)
| ui_kit 常量 | 值 | 本主题用途 |
|---|---|---|
| BG_OVERLAY | #362B20 α0.35 | 滚动条槽(V/H) |
| PANEL_BORDER | #786E58 | 滚动条柄·常、滑轨槽描边、LineEdit/PopupMenu 边、分隔线 α0.6、勾选框边、滑轨柄描边、SpinBox 箭头底系 |
| STONE_FAINT | #8C7C64 | 滚动条柄·悬、SpinBox 箭头底·悬(α0.6,白名单#5) |
| STONE_DEEP | #554D41 | 滚动条柄·按、滑轨柄·废、勾选框·废、SpinBox 箭头底·按、LineEdit 占位字色 |
| BG_ROOT | #3A2E22 | 滑轨已填充段 grabber_area(+highlight) |
| 暖石(无常量,ui_kit.gd:743 字面量) | #B8A582 | 滑轨槽 slider(承 styled_slider 现值) |
| CANDLE | #F6C667 | 滑轨柄·常 |
| CANDLE 提亮档(lightened≈12%,≈#F7E08C) | — | 滑轨柄·悬(白名单#5;Godot lightened 同式) |
| GOLD_DEEP | #B07A14 | 滑轨柄·按——Godot 4.7 Slider 无 grabber_pressed 图标槽(实证:引擎源码+默认主题链双查),值留档未落位 |
| WARM | #F0E2C8 | TooltipLabel 字色(承 tooltip_theme() 现值) |
| tooltip 面板底/边(ui_kit.gd:757-759 现值) | Color(0.09,0.07,0.05,0.96) / #5A5044 | TooltipPanel |
| PANEL_DATA | #E9D9B8 | LineEdit 底、勾选框空框底、PopupMenu 面板底 |
| INK | #33261B | LineEdit/PopupMenu/OptionButton 字色、SpinBox 箭头、勾选框对勾 |
| INK α0.45 | — | OptionButton 废字色(同 _apply_button_skin 惯例) |
| GOLD_LIT | #E6BE5A | PopupMenu 条目 hover 底 |
| INK_ON_GOLD | #3C2C14 | PopupMenu 条目 hover 字色 |
| RADIUS_OBJECT | 5 | LineEdit 圆角(同数据框惯例 ui_kit.gd:476) |
| 默认字体 | res://assets/fonts/ui_font_fusion_pixel_zh_hans.ttf | 主题 default_font(与 project.godot theme/custom_font 同文件——v1.2 防御条款,防挂主题后中文字形缺失) |
词条落位总览
| 类型 | 词条 | 载体 |
|---|---|---|
| VScrollBar / HScrollBar | scroll / grabber / grabber_highlight / grabber_pressed | StyleBoxFlat 纯色(Godot 4 滚动条柄是 StyleBox 非 Icon,无需位图;content margin 4 = 8px 粗细,柄最小 8px) |
| ScrollContainer | panel | StyleBoxFlat 全透明(默认即 Empty 不可见,显式接管) |
| HSlider / VSlider | slider / grabber_area / grabber_area_highlight / grabber / grabber_highlight / grabber_disabled | StyleBoxFlat + 生成位图(12×12 方柄;VSlider 边距为 H 的旋转换位) |
| TooltipPanel / TooltipLabel | panel / font_color / font_size | 承 tooltip_theme() 现值原样迁入 |
| LineEdit | normal / font_color / font_placeholder_color | StyleBoxFlat + 色词条(占位色词条名 = font_placeholder_color,4.7.2 实证;font_color_placeholder 不存在) |
| SpinBox | updown / up·down_background_hovered·pressed | Godot 4 SpinBox 走 updown 合并图标槽(定义了它就不再画 up/down 分件,引擎源码实证);hover/pressed 箭头底默认主题可见,按白名单#5 覆盖 |
| HSeparator / VSeparator | separator | StyleBoxLine(PANEL_BORDER α0.6 单线,1px) |
| CheckBox / CheckButton | unchecked / checked / unchecked_disabled / checked_disabled | 两类共用同一套图标名(checked/unchecked,4.7.2 源码实证——卡片 v1.2 注③「CheckButton 用 on/off」不成立,已按引擎事实落位并呈报追认) |
| OptionButton | normal / hover / pressed / disabled / font_* / arrow | button_stone 九宫格(8px 边距,同 _apply_button_skin 观感)+ INK 字 + 生成箭头 |
| PopupMenu | panel / hover / font_color / font_hover_color / font_size | StyleBoxFlat(预盖件,含弹层) |
红线遵守记录
- Button 类型词条零接触(五态矩阵归 06 第一层第二条);OptionButton 为独立主题类型(预盖件)。
- focus 族词条零定义(scroll_focus / LineEdit focus / font_focus_color 等一律不写)。
- 全局纹理过滤未动(
rendering/textures/canvas_textures/default_texture_filter归 06 第一层第三条); Godot 4.7.2 导入参数已无逐贴图 filter 标志(现存 art/ui/*.import 实证),小位图均为原生尺寸消费,无滤波伪影。 - default_font_size 未设(全站字号走 UiKit.FS_* 逐实例 override)。
专项观察点(v1.2 增补,归用户目检)
- 滑轨柄 CANDLE 色是否比「关闭」按钮抢眼(违反焦点预算嫌疑)——若是走 L2 微调(候选 STONE 灰石系)。
- 滚动条槽 BG_OVERLAY α0.35 叠 BG_ROOT 上是否可见——若否走 L2 微调(候选提不透明度或 SLOT_BACKDROP #3E362C)。