- 新 crate unlucky-palette-extract:路径/字节 → RGBA → design 的种子 - image 只开 png + jpeg(关 default-features,不拖 rayon/avif/webp) - 解码前按 Limits 拒超大尺寸(解压炸弹),解码后最长边缩到 256 - input(&Result<Rgba8, _>) 把失败翻成 ImageInput::Undecodable(回落链靠它区分「没设」与「坏了」) - 11 个单测覆盖纯色/JPEG/抄错扩展名/垃圾字节/截断/缺文件/1px/灰图/大图/超限/零拷贝
27 lines
1.3 KiB
TOML
27 lines
1.3 KiB
TOML
[package]
|
||
name = "unlucky-palette-extract"
|
||
description = "配色取色的解码适配层(D40 第 2 层):图片路径/字节 → RGBA 像素 → unlucky-design 的种子"
|
||
version.workspace = true
|
||
edition.workspace = true
|
||
license.workspace = true
|
||
authors.workspace = true
|
||
repository.workspace = true
|
||
rust-version.workspace = true
|
||
publish.workspace = true
|
||
|
||
# 分层纪律(D40):`crates/design` 保持零第三方依赖,**图片解码只能在这里**。
|
||
# 本 crate 的职责边界很窄:解码 + 限尺寸 + 把像素交给 design,不碰 UI、不碰设置、不碰壁纸探测。
|
||
[dependencies]
|
||
unlucky-design = { path = "../design", version = "0.1" }
|
||
|
||
# 只开两个编解码器(MIT OR Apache-2.0,deny.toml 白名单内):
|
||
# - png:启动器背景图最常见的无损格式,也是截图通道用的格式;
|
||
# - jpeg:Windows 壁纸与用户照片的绝对主力(不引它等于「取色对一半用户不可用」)。
|
||
# 不开 `default-features`(默认会拖进 rayon + avif/ravif + webp + tiff + gif + exr + qoi
|
||
# 等一整套编码器,体积与审计面都翻倍);不开 webp/tiff/avif 是因为 M73 的壁纸探测拿到的
|
||
# 就是 png/jpg/bmp 三类,等真有人需要再单开一个 feature。
|
||
image = { workspace = true, default-features = false, features = ["png", "jpeg"] }
|
||
|
||
[lints]
|
||
workspace = true
|