feat(app-iced): 向导的出图种子 + 卡壳几何修正(M223 视觉自检)
D30 的截图通道在本机可用(`--software-renderer` 走 tiny-skia,1180×760 落盘),所以不再把视觉 证据留空:新增 `ULL_ADOPT_STATE`(与 `ULL_JAVA_STATE` / `ULL_AI_STATE` 同一族,**只在 `--screenshot` 下生效**),可把向导摆到七种状态之一(pick / empty / preview / shared / failed / done + 深色),于是出图不靠「赌异步时序」。 顺带修掉三处只有出图才看得见的问题: 1. **卡壳把页脚裁掉了**:内容高于 `max_height` 时 iced 直接裁,第一版 PICK 段的「实例名」与 按钮整排不可见。现在列表段(Pick/Failed)定高 + 中间区可滚、页脚固定;短内容段 (Preview/Done)按内容收高,不留一大片空白; 2. **两枚一模一样的「关闭」**:Failed/Done 的主按钮就是关闭,文字关闭不该再出现; 3. Preview 段少了实例名一行,且标题下的摘要重复了「共用目录 · 共用游戏目录」。 夹具只造候选/问题/运行目录这些**版面数据**,后果原文仍由 core 的 `target_notes()` 现算, 图证明版面与文案、不证明 core 判据(见 `DevDocs/artifacts/m223/README.md` 的真/假表)。 为守 400 行(`components::gate` 实测 412 行红),卡壳/标题/页脚纯搬移到 `app/adopt/shell.rs`。
This commit is contained in:
1 parent
a36e17a5d3
commit
6ffbd51f60
10 files changed
+435
-171
No files matched your search
@@ -85,6 +85,23 @@ impl App {
|
||||
}
|
||||
|
||||
/// 回程到了:这一条命令已经交卷(`pump` 收到 `CoreEvent::Adopt` 时调,见 `update/clock.rs`)。
|
||||
/// 出图通道的种子(`ULL_ADOPT_STATE`,与 `ULL_JAVA_STATE` / `ULL_AI_STATE` 同一族)。
|
||||
///
|
||||
/// **只在 `--screenshot` 下生效**:交互模式读这个环境变量没有意义(也没有人会设它)。
|
||||
/// 不认识的名字一律忽略,退回正常启动路径(向导保持关闭)。
|
||||
pub(in crate::app) fn hydrate_adopt_state(&mut self) {
|
||||
if self.options.screenshot.is_none() {
|
||||
return;
|
||||
}
|
||||
let Ok(raw) = std::env::var(crate::app::adopt::shot::ENV) else {
|
||||
return;
|
||||
};
|
||||
if let Some((form, state)) = crate::app::adopt::shot::seed(&raw) {
|
||||
self.adopt_form = form;
|
||||
self.state.adopt = state;
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn settle_adopt(&mut self) {
|
||||
self.adopt_form.settled();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user