45 lines
3.6 KiB
Markdown
45 lines
3.6 KiB
Markdown
# M62 共享组件库(唯一出口)
|
||
|
||
> 状态:**唯一组件库**(2026-09-13,W3/M62-A 冻结)。新页面与新视觉规则
|
||
> 只能从这里取组件;页面私有 `StyleBoxFlat`、自绘边框、临时颜色在共享
|
||
> 组件存在时禁止使用(`AGENTS.md` UI Restoration Memory)。
|
||
> 逐页现状与迁移顺序见 `docs/runtime/M62_PAGE_CONSISTENCY_MATRIX.md`。
|
||
|
||
## 1. 基础层(所有页面共用)
|
||
|
||
| 组件 | 路径 | 契约 |
|
||
| --- | --- | --- |
|
||
| 设计令牌 | `runtime/foundation/ui_tokens.gd`(`ABGUI_Tokens`) | 颜色、字号角色(micro 11 / label 14 / body 16 / heading 22 / title 30 画布单位)、`font_size(role, text_scale)`;文字一律走令牌 |
|
||
| 标签/命令/提示工厂 | `runtime/ui/shared/ui_factory.gd` | `label(value, role, text_scale, color)`、`command_button(...)`、`notice_surface(...)`、`attach_icon(...)` |
|
||
| 引擎图标 | `runtime/ui/shared/ui_icon.gd` | 全部由引擎绘制;`tone="light"`=深墨(浅底)、`tone="dark"`=象牙白(深底) |
|
||
| 九宫格工厂 | `runtime/ui/shared/asset_chrome.gd` | 生成素材的九宫格:按比例边距、角不拉伸 |
|
||
| 槽位适配 | `runtime/ui/shared/m52_market_slots.gd` | Market 卡片/账本的比例槽位(固定设计画布坐标) |
|
||
|
||
## 2. 手绘材质层(现行族)
|
||
|
||
| 组件 | 路径 | 用途与状态 |
|
||
| --- | --- | --- |
|
||
| `ABGPageChrome` | `runtime/ui/shared/page_chrome.gd` | **唯一可交互材质出口**:`header_band`、`card`(信息面)、`command_plate`(secondary/primary/disabled/utility)、`dock_band`、`warning_icon`、`pip`。材质分工:木牌=可交互,羊皮纸=信息 |
|
||
| `ABGMarketChrome` | `runtime/ui/shared/market_chrome.gd` | Market 专用:`resource`、`ledger_action`、`ledger_cost`、`trait_chip`、`cost_strip`、`compact_label`、`compact_cost` 等;仅 Market 及其模块可用 |
|
||
| Market/接口模块 | `runtime/ui/m52/*`(`market_header`、`resource_status_group`、`footer_nav`、`recruit_card`、`candidate_ledger`、`profession_module`、`detail_copy`、`trait_module`、`cost_module`、`identity_module`、`action_dock`、`portrait_module`) | 组件契约见 `docs/runtime/M52_SHARED_UI_RULES.md`(含内框/文字槽实测) |
|
||
| Guild 模块 | `runtime/ui/m52/guild_*`(header、resource_status、contract_board、member_card) | M53 引入;**契约待测**(`M62-I01`),W5 Guild 迁移时并入现行族 |
|
||
| 墨迹检查 | `runtime/tools/ui_ink_check.gd` | 测试基建:标签槽宽/行高、标签—图标相交、标签—越出承载面;每个页面探针必须接入 |
|
||
|
||
## 3. 将退役(W5 迁移后删除)
|
||
|
||
| 旧层 | 路径 | 现状 |
|
||
| --- | --- | --- |
|
||
| `ABGEntryChrome` | `runtime/entry/entry_chrome.gd` | 8 个视图仍在使用(见矩阵);新页面禁止再用 |
|
||
| `P91Widgets` | `runtime/ui/widgets.gd` | 基础期辅助;仅遗留调用 |
|
||
| 页面私有 chrome | 各 `*_page_view.gd` 内的 `StyleBoxFlat`/自绘 | 6 个视图仍有;随 W5 逐页替换 |
|
||
|
||
## 4. 使用规则(新增,强制)
|
||
|
||
1. 文字与数值一律引擎渲染,字号走 `ABGUI_Tokens.font_size(role, text_scale)`;
|
||
画布倍率由视图统一计算(如 `_market_type_scale()`),组件不得各算一套。
|
||
2. 承载文字的标签槽必须等于材质的**可见内框**(端帽/饰边之外);异形开口
|
||
必须实测(先定目标墨迹带再反推槽位,渲染后实测复核)。
|
||
3. 同一组件内禁止"固定 px 与比例混用";文字槽锚在兄弟图标边界之外。
|
||
4. 每个槽位必须有最长线上文案(中英)用例,并由墨迹检查覆盖。
|
||
5. 页面不得叠加第二层同类边框/徽章;状态色只用共享严重度色对。
|