v6.0.0
🚀 v6.0.0 — People, Face Clusters, Groups & Linux Maps Runtime
👥 A major People release with automatic face clustering, persistent People
state, multi-person groups, richer location metadata, and broader Windows/Linux
runtime packaging.
Key Updates
👥 People Face Clusters
- Added the optional People face-scanning pipeline powered by InsightFace
and ONNXRuntime through theai-demoextra. - Detects faces in image assets, writes cropped face thumbnails, builds face
embeddings, and clusters them into persistent People cards. - Added background face-scan scheduling alongside the normal asset scan, with
pending,done,skipped,retry, andfailedstatus tracking in the
global asset index. - Rebuilt the People persistence model around a rebuildable runtime snapshot
plus stable People state so names, covers, ordering, hidden flags, and group
decisions survive rescans and reclustering.
👨👩👧 People Groups & Dashboard Workflow
- Added People groups for collecting photos where multiple selected people
appear together. - Group cards support shared-photo queries, cover selection, drag ordering,
pinned state, and safe disbanding without deleting the underlying people or
photos. - Added People card actions for naming, merging, hiding/unhiding, cover
management, and dashboard filtering for hidden people. - Hardened merge safety so hidden and visible people cannot be merged by
accident. - Split the People dashboard into focused board, card, dialog, shared, and
widget modules for easier testing and future iteration.
#### 🗺️ Location & Info Panel Improvements
- Added an embedded location map to the floating info panel so geotagged assets
can show map context directly in metadata view.
- Added location assignment plumbing and background tasks for updating selected
asset coordinates.
- Improved map source handling, OsmAnd search support, and map widget runtime
behavior.
- Extended Linux maps support with helper-backed OBF rendering and the native
OsmAnd widget runtime when the required shared libraries are present.
| Info panel with map | Floating info panel in detail view |
|---|---|
![]() |
![]() |
🧩 Albums, Menus & Pinned Items
- Added persistent pinned-item services for albums, people, and groups.
- Expanded sidebar and gallery context-menu plumbing with shared menu styling
and consistent action handling. - Improved album dashboard/sidebar behavior, cover actions, rename/delete
workflows, and album tree model coverage. - Added project popup guardrails so routine warnings and confirmations use the
app-themed popup system instead of nativeQMessageBoxsurfaces.
⚙️ Scanning, Indexing & Packaging
- Improved the scan pipeline with chunked persistence, scan-merge behavior, and
global repository tests for move/delete and status preservation scenarios. - Added People cover caching and thumbnail cache services for faster dashboard
rendering. - Updated Nuitka and Debian packaging guidance for bundled
insightface,
onnxruntime,extension/models, Linux maps runtime files, and People-page
release smoke tests. - Added troubleshooting guidance for packaged face-scan failures, runtime typing
compatibility issues, model-cache problems, and Linux XCB/GLX map startup.
🧪 Tests & Reliability
- Added focused coverage for People pipeline clustering, People repositories,
People service behavior, People dashboard widgets, group workflows, hidden
state, merge guards, and cover persistence. - Added tests for info panel maps, map extension download tasks, gallery and
playback coordinators, album sidebar/model behavior, scan/index sync, and
Linux map source handling. - Improved packaged-runtime diagnostics so asset-level face failures are logged
and retried without deadlocking the full People scan.
🚀 v6.0.0 — People、人脸聚类、Group 与 Linux 地图运行时
👥 这是一次重要的 People 功能发布,带来了自动人脸聚类、持久化 People 状态、多人 Group、更丰富的位置元数据,以及更完整的 Windows/Linux 运行时打包支持。
主要更新
👥 People 人脸聚类
- 新增可选的 People 人脸扫描管线,通过
ai-demoextra 集成 InsightFace 与 ONNXRuntime。 - 可检测图片资源中的人脸,写入裁剪后的人脸缩略图,生成人脸 embedding,并将其聚类为持久化的 People 卡片。
- 在常规资源扫描之外新增后台人脸扫描调度,并在全局资源索引中记录
pending、done、skipped、retry和failed状态。 - 重构 People 持久化模型:基于可重建的运行时快照和稳定的 People 状态,让姓名、封面、排序、隐藏标记和 Group 决策在重新扫描与重新聚类后仍能保留。
👨👩👧 People Group 与 Dashboard 工作流
- 新增 People Group,用于收集多个选中人物共同出现的照片。
- Group 卡片支持共同照片查询、封面选择、拖拽排序、置顶状态,以及不删除底层人物或照片的安全解散。
- 新增 People 卡片操作:命名、合并、隐藏/取消隐藏、封面管理,以及 Dashboard 中的隐藏人物过滤。
- 加强合并安全性,避免隐藏人物和可见人物被误合并。
- 将 People Dashboard 拆分为 board、card、dialog、shared 和 widget 等更聚焦的模块,便于测试和后续迭代。
🗺️ 位置与信息面板改进
- 在浮动信息面板中新增内嵌位置地图,让带地理位置的资源可以直接在元数据视图中显示地图上下文。
- 新增位置分配流程和后台任务,用于更新选中资源的坐标。
- 改进地图源处理、OsmAnd 搜索支持和地图 widget 运行时行为。
- 扩展 Linux 地图支持:当所需共享库存在时,可使用 helper-backed OBF 渲染以及原生 OsmAnd widget 运行时。
🧩 相册、菜单与置顶项目
- 新增相册、People 和 Group 的持久化置顶项目服务。
- 扩展侧边栏和图库上下文菜单流程,加入共享菜单样式和一致的操作处理。
- 改进相册 Dashboard/侧边栏行为、封面操作、重命名/删除流程,以及相册树模型覆盖。
- 新增项目弹窗保护机制,让常规警告和确认使用应用主题弹窗系统,而不是原生
QMessageBox界面。
⚙️ 扫描、索引与打包
- 改进扫描管线,支持分块持久化、扫描合并行为,并为移动/删除和状态保留场景补充全局 repository 测试。
- 新增 People 封面缓存和缩略图缓存服务,加快 Dashboard 渲染。
- 更新 Nuitka 和 Debian 打包指南,覆盖捆绑
insightface、onnxruntime、extension/models、Linux 地图运行时文件,以及 People 页面发布烟测。 - 新增故障排查指南,覆盖打包后人脸扫描失败、运行时类型兼容问题、模型缓存问题,以及 Linux XCB/GLX 地图启动问题。
🧪 测试与可靠性
- 新增 People 管线聚类、People repository、People service 行为、People Dashboard widget、Group 工作流、隐藏状态、合并保护和封面持久化等专项测试覆盖。
- 新增信息面板地图、地图扩展下载任务、图库和播放协调器、相册侧边栏/模型行为、扫描/索引同步,以及 Linux 地图源处理相关测试。
- 改进打包运行时诊断,使资源级别的人脸失败能够被记录并重试,同时避免阻塞完整的 People 扫描。

