Add the option to have the type list on the bottom of the screen by mattdawkins · Pull Request #1577 · Kitware/dive

added 16 commits

January 24, 2026 13:22
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>
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>

@mattdawkins @claude

When switching between side and bottom view modes, the annotator component
is destroyed and recreated. Previously, the old media controller remained
in the subControllers array, causing getController() to return stale
references to destroyed geoViewers.

- Clean up old controller state when re-initializing the same camera
- Add resizeTrigger to notify LayerManager to redraw after resize

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

@mattdawkins @claude

Use two v-spacers (before and after the button group) to center the
sort, settings, and delete buttons between the Type Filter title and
the right edge. This matches the main branch pattern and keeps the
buttons clear of the absolutely-positioned swap button in the
horizontal sidebar layout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>