[package] name = "unlucky-app-iced" description = "Unlucky-Launcher 桌面壳(iced 0.14 重写版):M3 Expressive 骨架 / 令牌适配 / 截图通道" version.workspace = true edition.workspace = true license.workspace = true authors.workspace = true repository.workspace = true rust-version.workspace = true publish.workspace = true # 并存期(D26):Slint 版仍是 `crates/app` 的 `unlucky-launcher`,本 crate 出 # `unlucky-launcher-iced`。两个 package 在同一 target 目录产出同名 bin 会冲突, # 所以**翻牌前不许改回 `unlucky-launcher`**(步骤见 SubAgentsTalk/app-iced-骨架与翻牌.md)。 [[bin]] name = "unlucky-launcher-iced" path = "src/main.rs" [lib] name = "unlucky_app_iced" path = "src/lib.rs" [dependencies] # 令牌唯一真源(M61):颜色/排版/形状/间距/图标几何全部只从这里取。 unlucky-design = { path = "../design", version = "0.1" } # UI 框架(D26 锁定 iced 0.14)。**不得依赖 slint**。 # 关掉默认 features 后必须显式给执行器(M60 踩坑 Q2:否则 `No futures executor has been enabled`), # 这里给 `thread-pool`(iced 自己的默认执行器,不额外引 tokio 运行时)。 # `wgpu` 由本 crate 的 `gpu` feature 打开,于是「仅 CPU」体积基线用 `--no-default-features` 就能量到。 iced = { version = "=0.14.0", default-features = false, features = [ "tiny-skia", "crisp", "advanced", "svg", "thread-pool", "x11", "wayland", "linux-theme-detection", ] } # 截图落 PNG。只开 png 编码器,不要默认全套 codec(体积)。 image = { version = "0.25", default-features = false, features = ["png"] } [features] default = ["gpu"] # 硬件渲染后端(wgpu→Vulkan/DX12)。关闭后只剩 tiny-skia(CPU),用于体积基线与无 GPU 机器。 gpu = ["iced/wgpu"] [lints] workspace = true