Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
e053f10
Classify upload files into semantic roles and preserve frame-metadata…
PaulHax Jul 4, 2026
08ef807
Upload exactly the server-validated package from the browser
PaulHax Jul 4, 2026
4955888
Add shared frame-metadata parser, resolver, and conformance corpus
PaulHax Jul 4, 2026
4b83a43
Classify frame-metadata sidecars by name and serve a no-parse sources…
PaulHax Jul 4, 2026
779b317
Add the desktop frame-metadata read path and import gates
PaulHax Jul 4, 2026
c57e272
Add the web frame-metadata read path and shared read composable
PaulHax Jul 4, 2026
1cf3e82
Show frame metadata in the Dataset Info panel, synced to the playhead
PaulHax Jul 4, 2026
5c52119
Document the frame-metadata sidecar architecture
PaulHax Jul 4, 2026
6238127
Simplify frame-metadata read path and resolver
PaulHax Jul 5, 2026
5febcf7
Move the frame-metadata source label into a header tooltip
PaulHax Jul 5, 2026
e484afd
Rename frame metadata sidecars
PaulHax Jul 6, 2026
fbc42e6
ESLint autofix
PaulHax Jul 6, 2026
f3c4ab6
Inline frame metadata parser fixtures
PaulHax Jul 9, 2026
4e14015
Make dataset info sections collapsible
PaulHax Jul 9, 2026
d2e812a
Make custom metadata section collapsible
PaulHax Jul 9, 2026
4c1fa6b
Unify frame metadata source loading
PaulHax Jul 9, 2026
ffdb551
Refactor dataset info panels
PaulHax Jul 9, 2026
f75cd01
Tighten frame metadata type comments
PaulHax Jul 9, 2026
456e221
Refine frame metadata dataset info handling
PaulHax Jul 9, 2026
e00baab
Simplify frame metadata filename access
PaulHax Jul 9, 2026
6ca29fd
Simplify frame metadata comments
PaulHax Jul 9, 2026
1599273
Simplify frame metadata header parsing
PaulHax Jul 9, 2026
3cf27bf
Avoid Viewer import formatting churn
PaulHax Jul 9, 2026
cc463b6
Simplify frame metadata source basename parsing
PaulHax Jul 9, 2026
56d88aa
Rename frame metadata alignment keys
PaulHax Jul 9, 2026
d114005
Simplify frame metadata resolver comments
PaulHax Jul 9, 2026
0002c65
Extract frame metadata CSV tokenizer
PaulHax Jul 9, 2026
194e0f7
Simplify frame metadata parsing helpers
PaulHax Jul 9, 2026
1897466
Extract frame metadata service
PaulHax Jul 9, 2026
16d4ae2
Tighten upload classification handling
PaulHax Jul 9, 2026
5e95e4d
Simplify frame metadata docs
PaulHax Jul 9, 2026
ab2e45e
Restore dataset info wording
PaulHax Jul 9, 2026
95066f3
Keep frame metadata docs out of nav
PaulHax Jul 9, 2026
2b5bff0
Use frame metadata terminology
PaulHax Jul 9, 2026
5afc6f7
Preserve shared frame metadata on multicam clones
PaulHax Jul 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion client/dive-common/apispec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,27 @@ interface FrameImage {
id?: string;
}

/** Compact resolved frame-metadata payload. Rows are aligned to `columns[camera]`. */
interface ResolvedFrameMetadata {
/** camera key -> frame number -> cell values aligned to `columns[camera]`. */
cameras: Record<string, Record<number, string[]>>;
/** camera key -> matched sidecar filenames in precedence order. */
sources: Record<string, string[]>;
/** camera key -> payload column names in source/merge order. */
columns: Record<string, string[]>;
}

/** One declared frame-metadata sidecar source loaded by a platform implementation. */
interface FrameMetadataSourceText {
name: string;
text: string;
}

/** Declared frame-metadata sidecar text per camera, in precedence order. */
interface FrameMetadataSourcesResponse {
cameras: Record<string, FrameMetadataSourceText[]>;
}

export interface MultiCamImportFolderArgs {
datasetName?: string; // Girder parent folder name (required on web)
defaultDisplay: string; // In multicam the default camera to display
Expand Down Expand Up @@ -169,6 +190,10 @@ interface MediaImportResponse {
globPattern: string;
mediaConvertList: string[];
}

/** User-editable datasetInfo stored on the dataset's backing metadata object. */
type DatasetInfoFields = Record<string, unknown>;

/**
* The parts of metadata a user should be able to modify.
*/
Expand All @@ -180,7 +205,7 @@ interface DatasetMetaMutable {
imageEnhancements?: ImageEnhancements;
attributes?: Readonly<Record<string, Attribute>>;
attributeTrackFilters?: Readonly<Record<string, AttributeTrackFilter>>;
datasetInfo?: Record<string, unknown>;
datasetInfo?: DatasetInfoFields;
error?: string;
}
const DatasetMetaMutableKeys = ['attributes', 'confidenceFilters', 'timeFilters', 'imageEnhancements', 'customTypeStyling', 'customGroupStyling', 'attributeTrackFilters', 'datasetInfo'];
Expand Down Expand Up @@ -266,6 +291,7 @@ interface Api {

loadMetadata(datasetId: string): Promise<DatasetMeta>;
loadDetections(datasetId: string, revision?: number, set?: string): Promise<AnnotationSchemaList>;
loadFrameMetadata?(datasetId: string): Promise<FrameMetadataSourcesResponse>;

saveDetections(datasetId: string, args: SaveDetectionsArgs): Promise<unknown>;
saveMetadata(datasetId: string, metadata: DatasetMetaMutable): Promise<unknown>;
Expand Down Expand Up @@ -502,6 +528,7 @@ export {
AnnotationSchema,
Api,
DatasetMeta,
DatasetInfoFields,
DatasetMetaMutable,
DatasetMetaMutableKeys,
DatasetType,
Expand All @@ -512,6 +539,9 @@ export {
SubType,
PipelineParamType,
FrameImage,
ResolvedFrameMetadata,
FrameMetadataSourceText,
FrameMetadataSourcesResponse,
MultiTrackRecord,
MultiGroupRecord,
Pipe,
Expand Down
324 changes: 0 additions & 324 deletions client/dive-common/components/DatasetInfo.vue

This file was deleted.

Loading
Loading