Skip to content

Add point history visualization to IntrinsicCalibrationPresenter #869

@mprib

Description

@mprib

Parent

Sub-issue of #885 (Video Playback Refactor)

Summary

Add visual feedback showing accumulated charuco corner detections as a scatter overlay with alpha blending. Higher density regions appear more opaque, providing a pseudo-heatmap of coverage.

Context

After #835 establishes the minimal Presenter scaffolding, this PR adds the first visualization layer: accumulated point history. This helps users see:

  • Whether the charuco board is being detected
  • Coverage distribution across the frame
  • Areas that need more board positions

Implementation

  • Render _point_packets as circles on an overlay image
  • Use alpha blending so overlapping points accumulate visually
  • Composite overlay onto base frame before emitting frame_ready
  • Consider incremental update vs regeneration trade-offs

Display Layer

Layer Visual Style
Point history Small semi-transparent circles, accumulate to show density

Design Decisions

  1. Incremental vs regenerate: Incremental update (O(1) per frame) is more efficient but requires careful management. Regenerating from _point_packets (O(n)) is simpler but slower for long videos.

  2. Circle size/color: Should be visually distinct from current frame points (which are larger, brighter).

Acceptance Criteria

  • Point history overlay visible during COLLECTING state
  • Overlay persists in TRACKED/CALIBRATED states
  • Higher density regions appear more opaque
  • Performance acceptable for typical video lengths (1000+ frames)

Depends On

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