feat(v1): per-frame fall decision diagnostics overlay

PersonAnalysis now carries the policy Evidence; view_model builds a Qt-free
per-person diagnostic line (acc/horiz/ang/rapid/cand/state, or the reject
reason) and VideoView overlays it in a corner. Read-only, no decision change;
locates where a real fall stops. 67 tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-07-21 23:14:05 +08:00
co-authored by Claude Opus 4.8
parent 2eeaba0ab8
commit bf86b5612f
7 changed files with 95 additions and 3 deletions
+2
View File
@@ -29,6 +29,7 @@ class PersonAnalysis:
tracked_pose: TrackedPersonPose
pose_evidence: PoseEvidence
state: FallState
evidence: Evidence
@dataclass(frozen=True)
@@ -129,6 +130,7 @@ class FallPipeline:
tracked_pose=tracked,
pose_evidence=pose_evidence,
state=self._state_machine.state_of(tracked.track_id),
evidence=evidence,
)
)
self._active_track_ids = current_ids