Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
d065e7a
Classify upload files into semantic roles and preserve frame-metadata…
PaulHax Jul 4, 2026
81bf790
Upload exactly the server-validated package from the browser
PaulHax Jul 4, 2026
90e3276
Add shared frame-metadata parser, resolver, and conformance corpus
PaulHax Jul 4, 2026
a4bb0f8
Classify frame-metadata sidecars by name and serve a no-parse sources…
PaulHax Jul 4, 2026
d962987
Add the desktop frame-metadata read path and import gates
PaulHax Jul 4, 2026
d57eeda
Add the web frame-metadata read path and shared read composable
PaulHax Jul 4, 2026
e05f2a5
Show frame metadata in the Dataset Info panel, synced to the playhead
PaulHax Jul 4, 2026
c7a9473
Document the frame-metadata sidecar architecture
PaulHax Jul 4, 2026
d6622c0
Simplify frame-metadata read path and resolver
PaulHax Jul 5, 2026
420ad39
Move the frame-metadata source label into a header tooltip
PaulHax Jul 5, 2026
9445de0
Rename frame metadata sidecars
PaulHax Jul 6, 2026
49e2064
ESLint autofix
PaulHax Jul 6, 2026
d7f7074
Inline frame metadata parser fixtures
PaulHax Jul 9, 2026
d60a923
Make dataset info sections collapsible
PaulHax Jul 9, 2026
50e60cd
Make custom metadata section collapsible
PaulHax Jul 9, 2026
dab5529
Unify frame metadata source loading
PaulHax Jul 9, 2026
964b6aa
Refactor dataset info panels
PaulHax Jul 9, 2026
1c1dbad
Tighten frame metadata type comments
PaulHax Jul 9, 2026
1d9b668
Refine frame metadata dataset info handling
PaulHax Jul 9, 2026
a7a228d
Simplify frame metadata filename access
PaulHax Jul 9, 2026
357bec9
Simplify frame metadata comments
PaulHax Jul 9, 2026
fa302c5
Simplify frame metadata header parsing
PaulHax Jul 9, 2026
5ee46a0
Avoid Viewer import formatting churn
PaulHax Jul 9, 2026
5c0ef6e
Simplify frame metadata source basename parsing
PaulHax Jul 9, 2026
37a84e9
Rename frame metadata alignment keys
PaulHax Jul 9, 2026
5345de8
Simplify frame metadata resolver comments
PaulHax Jul 9, 2026
31ce6f4
Extract frame metadata CSV tokenizer
PaulHax Jul 9, 2026
e53d44b
Simplify frame metadata parsing helpers
PaulHax Jul 9, 2026
53136ad
Extract frame metadata service
PaulHax Jul 9, 2026
889ba32
Tighten upload classification handling
PaulHax Jul 9, 2026
c6c4de9
Simplify frame metadata docs
PaulHax Jul 9, 2026
2cd3c7f
Restore dataset info wording
PaulHax Jul 9, 2026
a56ae00
Keep frame metadata docs out of nav
PaulHax Jul 9, 2026
d887344
Use frame metadata terminology
PaulHax Jul 9, 2026
563bc31
Preserve shared frame metadata on multicam clones
PaulHax Jul 9, 2026
12be12a
Reset upload state when an upload fails
PaulHax Jul 16, 2026
14f75e0
Merge frame metadata sources per column
PaulHax Jul 17, 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 @@ -131,6 +131,27 @@ interface FrameImage {
timestamp?: number;
}

/** 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 @@ -188,6 +209,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 @@ -199,7 +224,7 @@ interface DatasetMetaMutable {
imageEnhancements?: ImageEnhancements;
attributes?: Readonly<Record<string, Attribute>>;
attributeTrackFilters?: Readonly<Record<string, AttributeTrackFilter>>;
datasetInfo?: Record<string, unknown>;
datasetInfo?: DatasetInfoFields;
cameraHomographies?: CameraHomographies;
cameraCorrespondences?: CameraCorrespondences;
cameraTransformTypes?: CameraTransformTypes;
Expand Down Expand Up @@ -290,6 +315,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 @@ -550,6 +576,7 @@ export {
AnnotationSchema,
Api,
DatasetMeta,
DatasetInfoFields,
DatasetMetaMutable,
DatasetMetaMutableKeys,
DatasetType,
Expand All @@ -560,6 +587,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