Skip to content

Enhance pet clustering and identity workflows with error handling - #884

Draft
OliverZhaohaibin wants to merge 303 commits into
mainfrom
edit-base
Draft

Enhance pet clustering and identity workflows with error handling#884
OliverZhaohaibin wants to merge 303 commits into
mainfrom
edit-base

Conversation

@OliverZhaohaibin

Copy link
Copy Markdown
Owner

This pull request introduces a comprehensive Pets recognition feature to the application, integrating pet detection, clustering, and state management alongside the existing People recognition system. The documentation has been updated throughout to reflect these architectural and functional changes, including details on the new Pets runtime, its interaction with People, and the new database/state artifacts. Startup and worker lifecycles are also improved to coordinate scanning and AI workloads more robustly. Below are the most important changes:

New Pets Recognition Feature:

  • Added an optional Pets pipeline using YOLOX/ONNXRuntime for cat/dog detection and DINOv2 for pet identity embeddings, with species-separated clustering and robust handling for missing dependencies or models. [1] [2]
  • Introduced independent, library-scoped Pets state, including new database files (pet_index.db, pet_state.db), session-bound services, and UI integration for pet cards, naming, merging, hiding, and group composition with People. [1] [2] [3] [4]

Architecture and State Management Updates:

  • Updated the architecture documentation and diagrams to reflect the new Pets bounded context, ports, and runtime/session composition, ensuring Pets and People remain independent but composable. [1] [2] [3] [4] [5]
  • Clarified session and service binding rules to prevent fallback or duplicate service creation outside of the active library session.

Startup and Worker Coordination:

  • Deferred metadata scanning and AI worker startup until the gallery is warmed, with fallback timers; coordinated scan workers, face, and pet AI workers to operate independently and robustly during rescans and shutdown. [1] [2] [3] [4]

User Interface and Interaction Improvements:

  • Extended the dashboard and overlays to display pet annotations, allow pet identity management, and support mixed People & Pets groups, while ensuring cross-type detection conflicts are resolved gracefully. [1] [2] [3]

Documentation and Developer Guidance:

  • Added and referenced docs/misc/PETS_RECOGNITION_RUNTIME.md for maintenance and implementation details, and updated installation, packaging, and dependency notes for the new recognition runtimes. [1] [2] [3]

These changes significantly enhance the application's recognition capabilities and modularity, while maintaining clear separation and graceful degradation for optional AI features.

OliverZhaohaibin and others added 30 commits July 19, 2026 00:14
…u-first-phase1

Enhance photo album management and optimize detail rendering
OliverZhaohaibin and others added 30 commits September 3, 2026 18:26
…fecycle-fix

Fix and optimize Info Panel lifecycle and layout issues
…eassignment

Fix inline recognition reassignment scope
…-fix

Fix cross-platform shadow issue in Info Panel
…agents

Refresh documentation and archive outdated plans
…h-and-linux-packaging

docs: sync runtime contracts and Linux packaging
…first-open-fix

Fix Windows playback reveal issue
…en-offset

Fix viewport relayout and playback framing after fullscreen
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant