- Three vertical sliders (Brightness, Contrast, Gamma) to the left of the
canvas for display-only image adjustment; all use power/linear formulae
applied on-the-fly without touching saved data
- Alpha slider controls mask overlay transparency
- Brush size slider moved to its own row
- Each slider has a reset (↺) button restoring its default value
- Hide Mask button turns red when active; Eraser button turns orange
- Load Prev Mask button copies the saved mask from the previous clip in
the list onto the current clip; the action is pushed onto the undo stack
so it can be reverted with Undo
- Right survey panel narrowed (stretch factor 2 → 1)
- README Controls section updated to document all new features
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Previous: saves current clip and navigates back through session history;
disabled on the first clip, re-enabled automatically as you advance.
- Next: shows a dialog when a saved annotation already exists, letting the
annotator choose to replace it or keep the existing save before advancing.
- Removed the standalone Save button; Next auto-saves on every advance.
- Skip already wrote nothing to disk; clarified in README.
- Refactored _advance_clip into _switch_ui_to_clip (shared with prev/next).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Show a modal dialog when all clips have been processed and quit cleanly.
Add --no-skip CLI flag to include already-annotated clips (default remains to skip them).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- config.py constants -> config/config.yaml (user-editable, git-ignored)
- Questions and defaults now defined in the YAML, including per-question defaults
- ClipSelector no longer scans the data dir; reads a user-provided clips.txt instead
- Removed --daily / --time / --skip-existing-day args
- video_loader now samples frames evenly across the full clip
- pyyaml added as a dependency
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>