主题 · Theme — 动画严格按档位分级(降档 = 降质量)、一轮性能优化、以及一次被对抗性探针发现的内核一致性硬化。 Strictly tiered animations (lowering the tier reduces quality, never removes effects), a performance pass, and a kernel-consistency hardening found by an adversarial probe.

变更 · Changed

  • 动效改成「按档位给质量」· Animation tiers now mean quality 每一档都保留完整动效,只是开销逐级降低;档位 0 静默但内容依旧完整呈现:

    档位 快/中/慢 入场效果 错峰项数 过渡位移 缩放 模糊
    0 静默 0 / 0 / 0 无 0 0 无 无
    1 保守(默认) 110 / 150 / 190 ms 只淡入 前 4 项 0.012 无 无
    2 标准 170 / 220 / 280 ms 淡入 + 轻位移 前 9 项 0.035 无 无
    3 拉满 220 / 300 / 380 ms 淡入 + 位移 + 轻微缩放 前 17 项 0.06 0.99 / 0.985 ≤6

    Every tier keeps the full vocabulary; only cost drops. Tier 0 is silent but shows all content. 设置项文案随之改为 静默 / 保守 / 标准 / 拉满(15 种语言同步,写清每档做了什么)。

  • 入场动画按档位限项 · Bounded entrance animation OgLAnim.staggerOf() 对超出档位上限的序号返回 null,OgLReveal 见到 null 直接静态渲染。此前长列表的每一项都挂动画、且越靠后的项越晚——这是”列表滑动发涩”的常见来源。
  • 长列表懒加载 · Lazy long lists 5 处数据驱动长列表改用懒加载(其余保持急加载的已在审计里登记理由): 仓库文件列表 / PR 文件 / 提交文件 → CustomScrollView + SliverList.builder; 议题评论 → OgLAsyncSliver;Actions 作业 → SliverList.builder。 Five data-driven lists now build rows on demand instead of eagerly; bounded lists are explicitly registered in the audit with reasons.
  • 窄 MediaQuery 选择器 · Narrow selectors OgLAnim.enabled 改用 MediaQuery.disableAnimationsOf:列表项不再因为键盘 / 旋转 / insets 变化整列重建。
  • 隐藏页停表 · Offscreen pages stop ticking 切 tab 时给隐藏页套 TickerMode(enabled: false)。
  • 主题缓存 · Theme cache 主题按(亮度 + 种子色 + 密度 + 动效档位)缓存,避免每次重建 ThemeData。
  • 日志通知合并 · Coalesced log notifications 批量写日志时把通知合并为同一事件循环一次(微任务,不引入计时器;数据仍逐条入表)。

新增 · Added

  • 内核一致性硬化:清单 ↔ 运行期模块交叉校验 · Manifest coverage cross-check 引导清单声明了某模块、装配时却没提供它,此前既不拒绝也不留痕;现在记为 OGL-BOOT-108(warn 级诊断 + 引导信任告警)——仍可启动,但一定留痕。附回归用例。 Found by a throwaway adversarial probe: a declared-but-never-assembled module is now recorded as OGL-BOOT-108 instead of passing silently.
  • CI 门禁扩到四个维度 · Four CI gates layer_audit(依赖只能向下)、i18n_scan(界面文案 0 遗漏 / 分片键集合一致)、 motion_audit(动画必须走档位质量表,禁止硬编码时长 / 缩放 / 模糊)、 perf_audit(禁止 shrinkWrap 与过宽 MediaQuery.of)。

修复 · Fixed

  • 修掉 issue_page 在列表懒加载改造中丢失「发表评论」输入区的问题 (由 CI 的 unused_element 警告当场拦下,已按原文恢复)。
  • 修掉主题切换 / 切换 tab / 下载进度 / 引导翻页绕开档位硬编码时长的问题。

已知限制 · Known limitations

  • 分片下载的暂停 = 重新开始(不假装续传);单连接库任务的断点续传不受影响。
  • 数量有界的列表(关于 / 账号 / Gist 文件 / Release 附件 / 工作流 inputs / 分支弹层) 刻意保持急加载:数据量小,懒加载反而多一层每帧判断。
  • 桌面端仍使用库下载;分片引擎按 Range 能力自动判定。
  • 翻译由 AI 产出并通过格式 / 占位符校验,未逐条人工校对。

产物 · Artifacts

Android(arm64-v8a / armeabi-v7a / x86_64 / universal APK / AAB)、Windows、Linux、macOS、iOS,以及引导清单 boot-manifest.zip —— 共 19 个文件。 Android (arm64-v8a / armeabi-v7a / x86_64 / universal APK / AAB), Windows, Linux, macOS, iOS plus the signed boot manifest — 19 files in total.


下载 / Download

本版本共 19 个构件产物。

Android

文件 大小
Android.AAB.zip 61 MB
Android.arm64-v8a.zip 11 MB
Android.armeabi-v7a.zip 10 MB
Android.universal-APK.zip 29 MB
Android.x86_64.zip 11 MB

Windows

文件 大小
Windows.arm64-best-effort.zip 13 MB
Windows.x64.zip 14 MB

Linux

文件 大小
Linux.arm64-best-effort.zip 11 MB
Linux.x64.zip 12 MB

macOS

文件 大小
macOS.arm64.zip 65 MB
macOS.x64.zip 65 MB

iOS

文件 大小
iOS.device-arm64.zip 9.8 MB
iOS.simulator.zip 58 MB

完整列表与校验信息见 Releases v5.2.0。