主题 · Theme — 动效全面升级(大体积动画提速 → 自然减速 → 物理弹簧 / 可中断 → 共享元素 → 全覆盖)与仓库统计曲线重构(真实坐标系 / 单位 / 时间轴)。 Motion overhaul (large-surface speed-up → natural deceleration → physics springs / interruptible → shared elements → full coverage) plus rebuilt repository stat charts (real axes, units, honest time axis).

变更 · Changed(动效 · Motion)

  • 大体积动画:更快 / 更灵动 · Large-surface motion, faster and livelier
    • 全页过渡改为「视觉窗口」压缩:不改路由时长(保留系统返回手势语义),把”实际运动”压进路线时间线的前 42% / 55% / 70%(按档位)。
    • 三档时长整体下调(标准档 150 / 220 / 300 → 120 / 170 / 230 ms);新增的大体积动画时长同样逐档增加但都 ≤ 200ms:外壳切换 110/150/190ms、整页状态切换 110/140/180ms、引导翻页 160/200/260ms、底部弹层 130/160/200ms(均快于 Flutter 底部弹层默认 250ms)。
    • 新增 OgLSurfaceSwitch(大体积内容切换)与 ogLShowSheet<T>()(弹层统一定速入口),5 处底部弹层已改用它。
  • 曲线一律「自然减速」· Natural deceleration everywhere 去掉所有匀速(Curves.linear):三档走 ease-out 阶梯(easeOut → easeOutCubic → easeOutQuart,大体积再各进一档到 easeOutQuint)——起手快、落位柔。切 tab 的整页位移也从”控制器直驱匀速”改为走档位曲线。
  • 物理动效(基础版)· Physics-based motion (basic)
    • 物理弹簧 + 可中断:新增 OgLSpring(SpringSimulation 驱动),切 tab 改为弹簧——由刚度 / 阻尼而非固定时长决定运动,天然可打断 / 可续跑(”跟手”);阻尼比逐档递减(档位 1 临界阻尼不振荡,档位 2 / 3 轻微回弹)。
    • 轻微回弹(”Q弹”):新增 settleCurve,只作用在位移 / 缩放上(拉满档用 easeOutBack);透明度插值保持单调,绝不回弹。
    • 共享元素(容器变换):新增 OgLSharedTitle,把仓库列表的名称与仓库详情的标题连成一次 Hero 飞行;标准档及以上启用。
  • 全覆盖动效 + 覆盖面分档 · Full coverage & coverage tiers 分档从”效果强弱”扩展为「覆盖 × 丰富度」(新增 revealAll):

    档位 覆盖面 效果
    0 静默 无 无
    1 保守(默认) 主要区域 + 前 3 项 纯淡入
    2(倒数第二档) 每个控件都动 最简:纯淡入(不位移、不缩放)
    3 拉满 每个控件都动 淡入 + 位移 + 缩放 + 回弹 + 模糊
    • OgLAnim.staggerOf:超出错峰范围的项在全覆盖档位仍参与动画(只是不再错峰),不再是”直接静态渲染”。
    • AsyncView 数据态加入场:加载 → 数据不再”硬切”,整片内容淡入(单子层的 OgLReveal,放进 Expanded 也不会无界)。
    • 静态页 / 表单页补齐入场:设置 / 关于 / 登录 / 四个新建页 / 代码编辑器 / 议题 / PR / 提交 / Release 详情页的内容统一包一层入场动画;Gist 列表逐项入场。
    • 新增 OgLRevealList.of(context, children):把一串子控件逐个包上入场动画(自动错峰)。

修复 · Fixed(统计曲线 · Stat charts)

  • 纵轴不再按极值拉伸:旧实现取各自 min..max 满高绘制(3→4 也能画成”垂直暴涨”,且星标图和提交图量纲不同却看起来同量级);现在从 0 起、上限取整齐刻度(1 / 2 / 2.5 / 5 × 10ⁿ)、5 条刻度线并标注数值。
  • 补上坐标系与单位:图内有标题行(STARS (COUNT) / COMMITS (COUNT))、纵轴单位、最新值标记与来源说明。
  • 横轴改为真实时间:按 UTC 时间戳线性映射(旧实现按索引等距,采样不均时时间被拉伸 / 压缩),标注 MM-DD HH:MM;计数类小范围改用整数刻度(不再出现”1.2 个星标”);图内文字放大到 2×。
  • 新增图表自检 --selftest(含落墨像素断言,不依赖 OCR),已接入 stats.yml 与 ci.yml;历史点容错、降采样、README 图注重写(中英对照)。

已知限制 · Known limitations

  • 「每个控件」的粒度:当前落在内容块 / 列表项(页面 body、列表 item、异步数据态),不是逐个叶子控件(每个图标按钮 / 文本);Material 控件本身已有水波纹等反馈动画。
  • 弹簧 / 共享元素按档位生效:切 tab 的弹簧在档位 1 为临界阻尼(不振荡);共享元素仅标准档及以上启用,低档位退回普通页面过渡。
  • 分片下载的暂停 = 重新开始(不假装续传);单连接库任务的断点续传不受影响。
  • 数量有界的列表(关于 / 账号 / 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.3.0。