Redesign 3D gallery as single hall per artist with exit navigation.
Restore React client source, add hall-to-hall navigation via painting influences grouped by movement, and update documentation. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
44d3d4359a
commit
08f99d7a29
25 files changed
+2954
-218
No files matched your search
@@ -0,0 +1,120 @@
|
||||
export interface HistoricalEra {
|
||||
id: number;
|
||||
name: string;
|
||||
start_year: number;
|
||||
end_year: number;
|
||||
start_definite: boolean;
|
||||
end_definite: boolean;
|
||||
description: string;
|
||||
sort_order: number;
|
||||
}
|
||||
|
||||
export interface ArtMovement {
|
||||
id: number;
|
||||
name: string;
|
||||
start_year: number;
|
||||
end_year: number;
|
||||
start_definite: boolean;
|
||||
end_definite: boolean;
|
||||
era_id: number;
|
||||
era_name?: string;
|
||||
description: string;
|
||||
color: string;
|
||||
}
|
||||
|
||||
export interface Artist {
|
||||
id: number;
|
||||
name: string;
|
||||
birth_year: number;
|
||||
death_year: number;
|
||||
movement_id: number;
|
||||
movement_name?: string;
|
||||
movement_color?: string;
|
||||
portrait_path: string;
|
||||
bio_short: string;
|
||||
bio_full: string;
|
||||
wikipedia_title: string;
|
||||
century: number;
|
||||
}
|
||||
|
||||
export interface ArtistPeriod {
|
||||
id: number;
|
||||
artist_id: number;
|
||||
name: string;
|
||||
start_year: number;
|
||||
end_year: number;
|
||||
description: string;
|
||||
sort_order: number;
|
||||
}
|
||||
|
||||
export interface Painting {
|
||||
id: number;
|
||||
artist_id: number;
|
||||
period_id: number;
|
||||
title: string;
|
||||
year: number;
|
||||
year_end?: number;
|
||||
description: string;
|
||||
image_path: string;
|
||||
thumbnail_path?: string;
|
||||
wikipedia_title: string;
|
||||
sort_order: number;
|
||||
artist_name?: string;
|
||||
}
|
||||
|
||||
export interface InfluenceLink {
|
||||
notes: string;
|
||||
source: string;
|
||||
aspects?: string;
|
||||
quote?: string;
|
||||
source_author?: string;
|
||||
source_url?: string;
|
||||
id: number;
|
||||
title: string;
|
||||
year: number;
|
||||
image_path: string;
|
||||
artist_name: string;
|
||||
artist_id: number;
|
||||
}
|
||||
|
||||
export interface PaintingDetail {
|
||||
painting: Painting & { artist_name: string; artist_portrait: string };
|
||||
influencedBy: InfluenceLink[];
|
||||
influenced: InfluenceLink[];
|
||||
}
|
||||
|
||||
export interface ArtistDetail {
|
||||
artist: Artist & { movement_name: string };
|
||||
periods: ArtistPeriod[];
|
||||
paintings: Painting[];
|
||||
}
|
||||
|
||||
export interface TimelineData {
|
||||
eras: HistoricalEra[];
|
||||
movements: ArtMovement[];
|
||||
}
|
||||
|
||||
export interface YearBounds {
|
||||
min_year: number;
|
||||
max_year: number;
|
||||
}
|
||||
|
||||
export interface NavigationArtist {
|
||||
id: number;
|
||||
name: string;
|
||||
birth_year: number | null;
|
||||
death_year: number | null;
|
||||
portrait_path: string | null;
|
||||
}
|
||||
|
||||
export interface MovementArtistGroup {
|
||||
movement_id: number | null;
|
||||
movement_name: string;
|
||||
movement_color: string;
|
||||
artists: NavigationArtist[];
|
||||
}
|
||||
|
||||
export interface ArtistNavigation {
|
||||
predecessors: MovementArtistGroup[];
|
||||
successors: MovementArtistGroup[];
|
||||
}
|
||||
Reference in new issue
Block a user