test(app-iced): 下载页加 options-liteloader 出图取样点(D30 视觉取证)
M222 的视觉门禁一直缺图:本机没有看图通道,但**出图通道可用**(`--software-renderer` 走
tiny-skia CPU 后端,无桌面也能落盘)。下载页早有专属夹具 `ULL_DL_DEMO`(`demo.rs`,产品路径
不读),M105 就用它出过安装选项区三态,所以这里加第四个取样点,而不是再造一个平行 env:
ULL_DL_DEMO=options-liteloader pages_demo --screen=download --width=1180 --height=760 \
--screenshot=out.png --screenshot-theme=light --software-renderer
取样点是「选中 1.12.2 + LiteLoader」(官方版本表只到 1.12.2),走**产品那条真转换**
`Download::from_snapshot`:chip 行、中性说明「只叠原版」、确认键状态都是产品行为。
版本列表**只在本次状态里**补一条 1.12.2——不动 `demo_versions()`,因为那是别处基线图的行集
(`tests/view.rs` 钉着 8 行)。
四张图与真假表落在 `DevDocs/artifacts/m222/`(git 忽略区,不入库):浅色 / 深色 / 720 窄窗 /
原版对照,README 里写明哪张证明什么、哪些是夹具、哪些是产品真转换。图的内容判定未做——
出图者无图像能力,交给视觉 reviewer。
This commit is contained in:
1 parent
7d43f1d686
commit
841c17152a
1 file changed
+34
@@ -21,6 +21,7 @@
|
||||
//! 取值:`ready`(缺省)/ `loading` / `empty` / `selected` / `category-release` / `installing` /
|
||||
//! `installing-late` / `installing-empty` / `failed` / `done` / `done-next` /
|
||||
//! **`options` / `options-fabric` / `options-incompat`**(M105 的安装选项区三态)/
|
||||
//! **`options-liteloader`**(M222:LiteLoader 已可装,取样点用它的最高原版 1.12.2)/
|
||||
//! **`category-ancient` / `search` / `search-major` / `search-empty` / `search-elsewhere`**
|
||||
//! (M107 的两级侧栏与搜索取样点)。
|
||||
//!
|
||||
@@ -81,6 +82,8 @@ pub fn demo(catalog: Catalog) -> Download {
|
||||
),
|
||||
// NeoForge 最早只到 1.20.1,远古版(列表里的 `rd-132211`)根本没有构建 ⇒ 选中即报原因
|
||||
Some("options-incompat") => options(catalog, "rd-132211", Loader::NeoForge, None),
|
||||
// M222 的取样点:选中 1.12.2 + LiteLoader(外加「这里只叠原版」那条中性说明)
|
||||
Some("options-liteloader") => options_liteloader(catalog),
|
||||
Some("selected") => Download {
|
||||
selected: Some("1.21.9".to_string()),
|
||||
..ready(catalog)
|
||||
@@ -169,6 +172,37 @@ fn options(catalog: Catalog, version: &str, loader: Loader, cached: Option<Vec<&
|
||||
Download::from_snapshot(&state, Category::All, &draft, catalog)
|
||||
}
|
||||
|
||||
/// M222 的取样点:**选中 1.12.2 + LiteLoader**(安装选项区的第四个状态)。
|
||||
///
|
||||
/// 为什么单独一个函数而不是复用 [`options`]:LiteLoader 的官方版本表只覆盖 `1.5.2`~`1.12.2`,
|
||||
/// 而 [`demo_versions`] 是别处基线图的行集(`tests/view.rs` 钉着 8 行),不能为这个取样点改它。
|
||||
/// 这里只是给**本状态**的版本列表补一条 `1.12.2`,其余照旧走产品那条真转换
|
||||
/// [`Download::from_snapshot`]:图上的 chip 行、中性说明、确认键状态都是产品行为。
|
||||
fn options_liteloader(catalog: Catalog) -> Download {
|
||||
const MC: &str = "1.12.2";
|
||||
let mut versions = demo_versions();
|
||||
versions.push(VersionSummary {
|
||||
id: MC.to_string(),
|
||||
kind: VersionKind::Release,
|
||||
released: "2017-09-18".to_string(),
|
||||
installed: false,
|
||||
});
|
||||
let mut state = AppState::new();
|
||||
state.apply(AppEvent::Core(CoreEvent::VersionListChanged(versions)));
|
||||
// 真版本表里 LiteLoader 对 1.12.2 只有这一条(快照分支),照实写。
|
||||
state.apply(AppEvent::Core(CoreEvent::LoaderVersions {
|
||||
kind: Loader::LiteLoader.kind(),
|
||||
mc_version: MC.to_string(),
|
||||
result: Ok(vec!["1.12.2-SNAPSHOT".to_string()]),
|
||||
}));
|
||||
let draft = InstallDraft {
|
||||
selected: Some(MC.to_string()),
|
||||
loader: Loader::LiteLoader,
|
||||
..InstallDraft::default()
|
||||
};
|
||||
Download::from_snapshot(&state, Category::All, &draft, catalog)
|
||||
}
|
||||
|
||||
/// 22 个主版本桶(`1.21 … 1.0`)的清单:chips 档的横向滚动取证用。
|
||||
fn many(catalog: Catalog) -> Download {
|
||||
let versions = (0..=21)
|
||||
|
||||
Reference in new issue
Block a user