Skip to content

v4.6.0

Choose a tag to compare

@OliverZhaohaibin OliverZhaohaibin released this 03 Apr 11:57
· 574 commits to main since this release
e9da380

🚀 v4.6.0 — Windows Maps Extension & Offline OsmAnd Runtime

🗺️ A new Windows-only maps extension brings the offline OsmAnd/OBF runtime into iPhotron, with clearer packaging, installer integration, and a documented upstream build workflow.

Key Updates

🗺️ Windows Maps Extension

  • Added a self-contained maps extension rooted at src/maps/tiles/extension/ for the offline OBF map runtime.
  • The bundled extension now carries World_basemap_2.obf, OsmAnd resources, and native runtime binaries in one predictable layout.
  • Windows builds can use the native OsmAnd widget runtime for a fuller offline map experience while keeping the repository self-contained.
Without maps extension With maps extension
Without maps extension With maps extension

⚙️ Runtime Selection & Fallback Behavior

  • Improved map backend startup so iPhotron can prefer the native Windows widget when the runtime is healthy.
  • Preserved the Python/helper-backed OBF renderer as a practical fallback path.
  • Linux and macOS continue using the existing Python / legacy map path while the native maps extension remains Windows only.

📦 Packaging & Installer Integration

  • Aligned local development, Nuitka packaging, and the Windows installer around the same extension directory contract.
  • Documented how the extension is synchronized into packaged builds and optional installer assets.
  • Made Windows release work more reproducible by standardizing which runtime artifacts ship with the application.

🧰 Upstream Build Workflow

  • Split the OsmAnd runtime build pipeline into the dedicated
    PySide6-OsmAnd-SDK side project.
  • Added clearer developer documentation for building, syncing, and validating the maps extension from the upstream workspace.
  • Improved the handoff between runtime experimentation in the side project and release packaging in the main iPhotron repository.

🚀 v4.6.0 — Windows 地图扩展与离线 OsmAnd 运行时

🗺️ 新增的 Windows 专用地图扩展为 iPhotron 引入了离线 OsmAnd/OBF 运行时,并带来了更清晰的打包结构、安装程序集成以及文档化的上游构建工作流。

关键更新

🗺️ Windows 地图扩展

  • src/maps/tiles/extension/ 目录下新增了自包含的 地图扩展 (maps extension),用于支持离线 OBF 地图运行时。
  • 绑定的扩展现在集成了 World_basemap_2.obf、OsmAnd 资源文件以及原生运行时二进制文件,采用了统一的可预测布局。
  • Windows 版本现在可以使用原生的 OsmAnd 挂件运行时,以获得更完整的离线地图体验,同时保持仓库的自包含性。

⚙️ 运行时选择与回退机制

  • 优化了地图后端启动逻辑,使 iPhotron 在运行时环境健康时优先选择原生 Windows 挂件。
  • 保留了基于 Python/辅助程序的 OBF 渲染器作为实用的备选路径。
  • 在原生地图扩展仅限 Windows 使用期间,Linux 和 macOS 将继续使用现有的 Python 或旧版地图路径。

📦 打包与安装程序集成

  • 围绕相同的扩展目录规范,统一了本地开发、Nuitka 打包以及 Windows 安装程序的处理逻辑。
  • 记录了扩展如何同步到打包构建版本以及可选安装程序资产中的过程。
  • 通过标准化随应用程序发布的运行时伪影(Artifacts),提高了 Windows 发布版本的可重现性。

🧰 上游构建工作流