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:
co-authored by
Cursor
parent
44d3d4359a
commit
08f99d7a29
@@ -92,6 +92,41 @@ Full artist profile for the bio page and 3D gallery entry.
|
||||
|
||||
---
|
||||
|
||||
## `GET /api/artists/:id/navigation`
|
||||
|
||||
Related artists for hall-to-hall navigation at the exit doorway. Derived from `painting_influences`:
|
||||
|
||||
- **Predecessors** — artists whose works influenced this artist’s paintings.
|
||||
- **Successors** — artists whose works were influenced by this artist’s paintings.
|
||||
|
||||
Both lists are grouped by art movement and exclude the current artist.
|
||||
|
||||
**Response**
|
||||
|
||||
```json
|
||||
{
|
||||
"predecessors": [
|
||||
{
|
||||
"movement_id": 4,
|
||||
"movement_name": "Early Renaissance",
|
||||
"movement_color": "#B8860B",
|
||||
"artists": [
|
||||
{
|
||||
"id": 12,
|
||||
"name": "Domenico Ghirlandaio",
|
||||
"birth_year": 1448,
|
||||
"death_year": 1494,
|
||||
"portrait_path": "portraits/Domenico_Ghirlandaio.jpg"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"successors": []
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `POST /api/artists/:id/preload-images`
|
||||
|
||||
Fast local scan: links paintings to files already on disk. Does **not** download from the internet (safe to call before opening the 3D gallery).
|
||||
@@ -146,6 +181,7 @@ The React client wraps these endpoints in `client/src/api/client.ts`:
|
||||
| `api.getTimeline(start, end)` | `GET /api/timeline` |
|
||||
| `api.getArtists(...)` | `GET /api/artists` |
|
||||
| `api.getArtist(id)` | `GET /api/artists/:id` |
|
||||
| `api.getArtistNavigation(id)` | `GET /api/artists/:id/navigation` |
|
||||
| `api.getPainting(id)` | `GET /api/paintings/:id` |
|
||||
| `preloadArtistImages(id)` | `POST /api/artists/:id/preload-images` |
|
||||
| `imageUrl(path)` | `/images/<path>` or placeholder |
|
||||
|
||||
Reference in New Issue
Block a user