Skip to content

v6.4.2

Choose a tag to compare

@github-actions github-actions released this 07 Oct 11:25
· 18 commits to main since this release

OhGithubLost v6.4.2

图标终于真的来自 assets/icon —— 顺手挖出两个一直在出厂的缺陷。
Icons now genuinely derive from assets/icon — which surfaced two shipped bugs.

修复 / Fixed

1. Windows 与 Linux 的图标自 v5.6.0 起一直是空白的

desktop_icon.render_rgba 解析出的图层里存的是 url(#bodyGrad) 这样的引用串,
而渐变表的键是 bodyGrad;查表写成 grads.get(layer["fill"].strip()),
永远查不到,于是每个图层都被跳过,输出是一张全透明的图。

症状不是报错,而是一个看不见的图标;构建全程"成功"。
现在:正确解析引用,并且渲染结果若全透明就直接报错 —— 不允许再交出空白图。

2. Android 图标从来没有跟过源图

注入器里是一段硬编码的矢量前景(盾牌 + 蓝色三角),与
assets/icon/ogl_icon.svg(深色多边形 + 金色双眼)完全不同。所谓"唯一事实来源"
名不副实。现在改为真实转换。

3. 自适应图标纵向偏移 3%

居中只按 X 算了横向平移,Y 套用了同一个值;源图重心是 (256, 272),于是图形在
安全区里整体下移。已改为 X/Y 分别计算。

变更 / Changed

  • 图标全平台统一从同一份 SVG 派生:
    • Android:矢量(VectorDrawable,自适应前景收在安全区内)
    • Windows:256 ICO;Linux:2048 PNG 母版
  • 传统启动图标放 mipmap-anydpi/:优先级高于具体密度,会盖过模板生成的 PNG,
    因此 API < 26 也不会残留 Flutter 默认图标。

新增 / Added

  • tool/svg_vector.py:SVG → VectorDrawable(纯标准库,渐变按
    objectBoundingBox 语义换算成绝对坐标)。
  • 注入器自检新增「图标管线」一节共 13 项断言:渲染非空白、全透明必须报错、
    矢量含真实几何与渐变、安全区生效、五个 Android 图标文件均写出。

已知限制 / Known limitations

  • 图标转换器只认 polygon + linearGradient(当前源图恰好只用这两者);
    源图若引入 path/circle/径向渐变,转换会明确报错而不是静默画错。
  • 私有仓库的 raw 无法像 Release 附件那样「先签名再加速」:GitHub 没给 raw
    提供签名机制,这是硬约束(详见 v6.4.1)。
  • Linux 裸放安装包 3 / 6:rpm(arm64)缺平台定义;AppImage 的 ARCH
    环境变量未被接受。三种包在 zip / 7z 里都齐全。
  • macOS / iOS 自 v5.6.0 起弃用。

产物 / Artifacts

Android arm64-v8a / armeabi-v7a / x86_64 / universal-APK / AAB、
Windows x64 / arm64、Linux x64 / arm64,每份均含 zip 与 7z。