Skip to content

Inspect recorded video segments in the native Review tab #89

Closed

Description

@Jacob-Met

Owner: chatgpt-0378a7b6b7c2/mac_product, external HAMON source contributor under the standing autonomous execution mandate.

Researcher outcome

Current native source a2c89957c2cfe6fd5347d4ac317982449d3baa3a lists recorded MKV segment counts in Review but offers no video selection or playback. The pinned Review UX calls for navigable sealed recordings and lazy video loading. Add a native Recorded video viewer so a researcher can choose an existing segment and inspect it without leaving the package view.

This bounded first capability uses the selected media file's own playback position. It will explicitly label that segment-local media clock. The current load_video_timing contains a segment-index stub; this work will not infer a session-time mapping, interpolate gaps, align cameras, or claim that a displayed frame corresponds to a checkpoint.

Source fence

  • New desktop/capture_desktop/review_video.py and widgets_review_video.py.
  • Narrow additive construction and package-load/reset hooks in screen_review.py.
  • Focused pure/native Qt tests, actual synthetic-video receiving, an operator guide, additive pinned Review decision and required PROGRESS entry.
  • Use unchanged discover_streams for retained stream/segment discovery and existing PySide6 QtMultimedia for lazy native playback. No new product dependency, codec bundle, schema, capture, daemon, raw-data, analysis, export, timeline/header/app or workflow change.

The viewer identifies every segment by source, stream and package-relative path; equal filenames remain separate. Opening a package or choosing a segment does not autoplay. Explicit play/pause and seek act only on the chosen local video. Missing/unusable files and decoder failures are actionable and cannot leave an old picture or active controls under a new selection. Changing/clearing/failed package load retires old media and state. Package source bytes remain unchanged. The inventory is a captured local view, not a new integrity assurance.

Issue #76 retains its event browser, exact time/detail projection and construction/load/reset hooks. This viewer will use separate attributes/widgets and narrow additive calls, preserving all of that owner's code during current-parent composition. Existing #55/#71 history, #64/#80 gallery, #69 predictions, #70 comparison, #78 selected feature export, #86 ML alignment and current activity-evaluation scope retain ownership. No other owner's tree or branch will be changed.

Receiving and native coordination

Bounded discovery read current complete source, AGENTS/design/playbook, open project issues and video-related PRs, plus native advisory records: 297 readable / 17 denied. No playback/video-review/segment-viewer claim was found in readable records. Visibility is partial; this is an external source claim, not a native goal lease.

Isolated source is C:\Users\minec\hamon-0378a7b6-capturesuite-discovery on LA7. The native supported Python 3.12 / Qt environment is being qualified before any production edit. Preserve an original actual-screen missing-capability witness; then receive synthetic retained MKV files through the real native decoder and controls, including multiple segments, duplicate names, segment switching, play/pause/seek, unavailable/invalid file, failed/new package load, literal identifiers, keyboard controls and unchanged package hashes. Synthetic media only; no hardware, private session or live service is involved.

Independent source/consumer review, existing repository gates and current-parent preservation precede normal expected-head integration. Source implementation and runtime qualification are pending at this claim.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions