Skip to content

Conversation

@mattdawkins
Copy link
Member

Summary

This PR introduces a flexible sidebar layout system and adds editable notes functionality to the track list, improving
the annotation workflow especially for multi-camera datasets.

New Layout Options

  • Sidebar position toggle: Users can cycle between three layouts using a new toolbar button:
    • Left sidebar (default): Traditional side panel with track list and filters
    • Bottom panel: Horizontal layout with timeline, track list, and filters/details side-by-side - better utilizes
      screen space for multi-camera datasets
    • Collapsed: Hides the sidebar entirely for maximum video viewing area
  • Layout preference is persisted in settings

Bottom Panel Layout

  • Three-column design: Timeline controls (left), Track list (center), Type filters or Track details (right)
  • Toggle between filters and details: Right panel can switch between type filter list and selected track details
    (attributes, confidence scores)
  • Optimized for viewing multiple camera feeds simultaneously

Editable Notes in Track List

  • Tracks now support a notes field stored at the feature level
  • Notes are displayed inline in the track list with a text input field
  • Click on start/end frame indicators to seek to those positions
  • Tracks can be sorted by notes content
  • Notes are persisted in the annotation data

Multi-Camera Toolbar Improvements

  • Toolbar displays on left or right side based on selected camera position
  • Supports expand/collapse mode with localStorage persistence

Test Plan

  • Verify sidebar layout cycles correctly: left → bottom → collapsed → left
  • Confirm layout preference persists across page reloads
  • Test bottom layout displays correctly with single and multi-camera datasets
  • Add/edit notes on tracks and verify they save correctly
  • Verify clicking start/end frames in track list seeks to correct position
  • Test multi-camera toolbar appears in correct position based on selected camera

mattdawkins and others added 3 commits January 24, 2026 14:57
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Reset localNotesDisplay when track ID changes to prevent stale notes
from a previously edited track showing on other tracks.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
mattdawkins and others added 9 commits January 24, 2026 16:52
The TypeScript client viame parser already supported parsing (note)
entries from VIAME CSV files, but the Python server parser did not.
This caused a test failure because both parsers share the same test
data file (viame.spec.json).

Changes:
- Add notes field to Feature model
- Parse (note) entries in viame.py _parse_row function
- Update test data to include expected notes output

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The Advanced Tools panel was previously disabled in bottom mode due to
layout conflicts. This change enables it by using fixed positioning
when in bottom mode, so it overlays the annotation area without
affecting the layout.

Changes:
- Remove context.resetActive() when switching to bottom mode
- Show Advanced Tools button in all sidebar modes
- Pass sidebarMode to SidebarContext via scoped slot
- Use fixed positioning in bottom mode (top: 112px, above 260px bottom bar)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Ensure the tooltip appears above the expanded panel by setting
z-index to 20 (panel has z-index 10).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add TrackListColumnSettings component for configuring visible columns
- Support toggling: Start Frame, End Frame, Start/End Timestamps, Notes
- Support adding arbitrary track or detection attributes as columns
- Settings persist via localStorage
- Timestamps require FPS metadata to be enabled

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add event handlers and state management for attribute editing in the
bottom panel details view. This includes adding the AttributeEditor
dialog, edit-individual state for inline editing, and all necessary
event handlers (edit-attribute, set-edit-individual, add-attribute).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move attribute columns before notes in column settings UI and track list
- Add sortable timestamp columns (Start Time, End Time)
- Add sortable attribute columns (track and detection level)
- Timestamps sort by underlying frame number for accuracy

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Make start/end timestamp columns clickable to seek to that frame
- Remove redundant seek to start/end buttons (clicking frames already does this)
- Add editable attribute values directly in the track list columns
- Show orphaned attribute columns in settings so they can be disabled

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Allow users to show/hide the Type and Confidence columns in the
bottom track list view through the column settings panel.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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