# M64 · DEV-2R 初始四选二迁移计划 > 活跃计划(`CURRENT_CHECKPOINT.md` 指向本文件)。当前只有 `M64-A` 处于 > `IN_PROGRESS`,产品代码改动必须属于该步。 ## 目标与停止点 把玩家点「开始远征」后的**初始四选二页**(`runtime/entry/initial_company_page.gd`, choice / inspect / compare / review / error 五个模式)从旧入口 chrome (`ABGEntryChrome` 的 `company_*` 变体 + 页面私有 `StyleBoxFlat`)迁移到共享手绘族 (`ABGUI_Tokens` + `PageChrome`),保持节点名与 intent 不变。 停止点:五个模式在权威尺寸 `1280x720`(zh/en)下都渲染在共享材质上、墨迹门 0 违规、 建团提交与触摸回归全过、`docs/EVIDENCE_LEDGER.md` 与 checkpoint 更新、推送到 远端。招募检视页(`recruit_review_page_view.gd`)**不在本计划**,留给下一个计划。 ## 视口政策(2026-09-13 owner 二次收紧) **只做 1280x720 一种横屏尺寸**:设计、实现、测试、探针、窗口覆盖全部同值; `CONTENT_SCALE_ASPECT_KEEP` 保比例。已删除本页与入口页的按尺寸分叉;后续页面 迁移不得再引入第二套构图。旧 P9.x/p10_2 测试的其它尺寸属各自历史,逐步清理。 ## 现状实测(2026-09-13) | 区域 | 现状材质 | 处理 | | --- | --- | --- | | 页面底 | 画布背景 + shade;`%sFrame` MarginContainer **为空** | 加共享 `card` 页框 + `face` 实测开口内缩 | | 页眉 | `_label` 私配色(#213744 / #38535c)+ 白阴影 | 令牌字号 + `PageChrome.INK/INK_SOFT` | | 候选卡 | `InitialCompanyArt` 肖像 + scrim + 名称/职业标签 | 保留艺术;文字改令牌;卡面加共享 `card` 底 | | 选择标记 | 私有 `StyleBoxFlat` 圆角 + `✓/◇` 文本 | 共享 plate + `pip`(菱形,填充=已选) | | 页脚/动作 | `_button` → `company_primary/secondary/utility/tool` + 图标 | `command_plate`(primary/secondary) + `UIIcon`/共享图标位 | | 不可用态 | `_set_button_disabled` 改标签色 | 令牌 `COLOR_MUTED`,禁用 plate 状态 | | inspect/compare/review | 同 helper 家族 | 随 helper 迁移,逐模式探针核对 | ## 步骤 1. **M64-A**:基础层与按钮族。**COMPLETE (2026-09-13)**,attempt `m64-opening` `20260913T191418Z-79907`。 - `_build_base` 加共享页框 + `face` 内缩;`_label` 改令牌字号/颜色基线; - `_button`/`_chrome` 改 `PageChrome`(保留 `Chrome`/`ButtonLabel` 节点名); - 选择标记改共享 plate + `pip`; - 探针:`m63_entry_visual_probe.gd` 增加 initial-company choice/review 捕获, 权威尺寸严格 ink 0 违规。 - 验收:`ABG_DEV2_TOUCH_OK`、`ABG_DEV2_COMMIT_OK`、`ABG_DEV2_FULL_FLOW_OK` (或既有 dev2 触摸/提交流程 marker)、`ABG_DEV1_ENTRY_TOUCH_OK`、 `ABG_M63_ENTRY_INK_OK`;marker 恰好一次,strict 0。 2. **M64-B**:**COMPLETE (2026-09-13)**,attempt `m64-boards` `20260913T192023Z-84611`。inspect/compare/review 三模式的板面细节(属性/特性/对比 表、复核摘要)按实测槽位复排,逐模式捕获核对。 3. **M64-C**:**COMPLETE (2026-09-13)**——矩阵/账本/checkpoint 更新 + owner 展示(本仓已推送 HEAD==upstream)。 ## M64-B 结果(inspect / compare / review) - inspect:三列(肖像/职业与属性/特性)改 `SIZE_SHRINK_CENTER` 纵向居中,内容集中在卡片中部, 不再顶部聚集、底部空一大片;全部文字令牌化(ink/ink_soft/danger)。 - compare:去掉收益行的 `EXPAND_FILL` 拉伸(此前把收益推到中部、装备掉到底部), 两列各自紧凑并在卡面居中;表头/属性/特性/收益/代价/装备层级稳定。 - review:复核摘要与未选列表沿用 M64-A 的令牌化结果,本步未再改结构。 - 源绑定 attempt `m64-boards` `20260913T192023Z-84611`:DEV2 choice/touch/commit/full-flow、 DEV1 入口触摸、M63 探针(四模式 22 扫描 0 违规)全过,marker 恰好一次,strict 0。 ## Frozen scope - 玩法/经济/存档语义不变;节点名、intent id、`mode` 值与信号不变; - `initial_company_draft_service.gd` 不改; - 其他页面不改(Guild 属 DEV-3R)。 ## Acceptance checks(M64-A) - `runtime/tests/dev2/initial_company_touch_test.gd` → `ABG_DEV2_TOUCH_OK` - `runtime/tests/dev2/initial_company_commit_touch_test.gd` - `runtime/tests/dev2/initial_company_full_flow_touch_test.gd` - `runtime/tests/dev1/entry_flow_touch_test.gd` → `ABG_DEV1_ENTRY_TOUCH_OK` - `runtime/tools/m63_entry_visual_probe.gd` → `ABG_M63_ENTRY_INK_OK scanned>=16 violations=0` - 权威尺寸截图(choice/review,zh/en)经人眼检查并展示给 owner ## Issue register - `M64-I01` OPEN:本页 `_label` 全部私配色;迁移按基线替换,若某标签在共享纸上 对比不足,记录并改令牌而不是恢复私配色。 - `M64-I02` OPEN(观察):招募检视页 `recruit_review_page_view.gd` 仍为页面自绘, 留给 DEV-2R 后续计划。 - `M64-I03` 观察:选择标记的 `✓/◇` 文本将改共享 `pip`,需确认已选状态在 130% 文字下仍可读。 - `M64-I04` 已做:`project.godot` 窗口覆盖 844x390 → 1280x720;窗口化触摸测试 统一 `KEEP` + 1280x720。此前 `EXPAND` + 844x390 是多尺寸错位的根因。 - `M64-I05` OPEN(登记):旧 P9.x / p10_2 测试与未迁移页面仍含按尺寸分支, 随各自迁移轮(DEV-3R..6R)清理,不得新增。