Add movement gallery wings with period interiors and expand timeline features.

Movement galleries split large catalogs into chronological wings (~55 works), use era-themed 3D interiors with side-wall windows, wing navigator on the back exit, and front archways between wings. Also adds painting annotations, timeline event guides, portrait hover highlights, and documentation/API updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Danila Khodjaef
2026-06-21 16:54:19 +03:00
co-authored by Cursor
parent 0972b5df99
commit df29848d89
121 changed files with 4765 additions and 396 deletions
+433
View File
@@ -0,0 +1,433 @@
/**
* Curated art-history annotations for painting detail overlays.
* Each entry: { artist, title, annotations: [{ label, body, category, pos_x?, pos_y?, source_* }] }
*/
module.exports = [
{
artist: 'Leonardo da Vinci',
title: 'Mona Lisa',
annotations: [
{
label: 'Sfumato',
body: 'Leonardo dissolves hard edges into smoky transitions, letting light model the face without outline.',
category: 'technique',
pos_x: 48,
pos_y: 38,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
{
label: 'Landscape',
body: 'The winding paths and hazy mountains behind the sitter use aerial perspective to push space into depth.',
category: 'composition',
pos_x: 72,
pos_y: 68,
source_author: 'National Gallery',
source: 'Leonardo da Vinci: The Mona Lisa',
source_url: 'https://www.nationalgallery.org.uk/paintings/leonardo-da-vinci-the-mona-lisa',
},
{
label: 'Enigmatic smile',
body: 'The mouths subtle turn became a touchstone for Renaissance discussions of inner life and portraiture.',
category: 'subject',
pos_x: 52,
pos_y: 52,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
],
},
{
artist: 'Leonardo da Vinci',
title: 'The Last Supper',
annotations: [
{
label: 'Perspective',
body: 'Orthogonal lines converge on Christs head, anchoring the drama in a mathematically ordered refectory.',
category: 'composition',
pos_x: 50,
pos_y: 42,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
{
label: 'Gesture',
body: 'Each apostle reacts with a distinct bodily pose, turning the moment of betrayal into readable human psychology.',
category: 'subject',
pos_x: 28,
pos_y: 55,
source_author: 'H. W. Janson',
source: 'History of Art',
},
],
},
{
artist: 'Michelangelo',
title: 'The Creation of Adam',
annotations: [
{
label: 'The spark',
body: 'God and Adam reach across a gap barely bridged by touching fingers—the instant before life is given.',
category: 'symbolism',
pos_x: 62,
pos_y: 48,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
{
label: 'Anatomy',
body: 'Adams body echoes antique sculpture while Gods billowing mantle suggests the brains form in Renaissance thought.',
category: 'technique',
pos_x: 38,
pos_y: 58,
source_author: 'Michelangelo: Divine Draftsman and Designer',
source: 'The Metropolitan Museum of Art',
source_url: 'https://www.metmuseum.org/exhibitions/listings/2017/michelangelo',
},
],
},
{
artist: 'Raphael',
title: 'The School of Athens',
annotations: [
{
label: 'Architecture',
body: 'A grand Bramante-like vault frames philosophers as actors on a classical stage of reason.',
category: 'composition',
pos_x: 50,
pos_y: 22,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
{
label: 'Plato & Aristotle',
body: 'Plato points upward to ideals; Aristotle gestures earthward—two paths of knowledge in dialogue.',
category: 'symbolism',
pos_x: 54,
pos_y: 52,
source_author: 'Stanford Encyclopedia of Philosophy',
source: 'Plato and Aristotle in Raphael\'s School of Athens',
source_url: 'https://plato.stanford.edu/entries/plato/',
},
],
},
{
artist: 'Vincent van Gogh',
title: 'The Starry Night',
annotations: [
{
label: 'Swirling sky',
body: 'Thick, rhythmic strokes turn the night into an animated force rather than a static backdrop.',
category: 'technique',
pos_x: 50,
pos_y: 28,
source_author: 'Museum of Modern Art',
source: 'Vincent van Gogh: The Starry Night',
source_url: 'https://www.moma.org/collection/works/79802',
},
{
label: 'Cypress',
body: 'The dark flame-like tree links earth and heaven, a traditional symbol of mourning and eternity.',
category: 'symbolism',
pos_x: 22,
pos_y: 62,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
{
label: 'Village',
body: 'The quiet hamlet below contrasts with the turbulent heavens, suggesting inner turmoil against outward calm.',
category: 'subject',
pos_x: 48,
pos_y: 78,
source_author: 'Van Gogh Museum',
source: 'Collection catalogue',
source_url: 'https://www.vangoghmuseum.nl/en/collection/s0176V1962',
},
],
},
{
artist: 'Rembrandt',
title: 'The Night Watch',
annotations: [
{
label: 'Chiaroscuro',
body: 'A sharp light picks out faces and weapons from deep shadow, heightening the militias forward motion.',
category: 'technique',
pos_x: 42,
pos_y: 45,
source_author: 'Rijksmuseum',
source: 'The Night Watch',
source_url: 'https://www.rijksmuseum.nl/en/collection/SK-C-5',
},
{
label: 'Group portrait',
body: 'Rembrandt breaks the static row format—figures overlap and move, turning a commission into narrative action.',
category: 'composition',
pos_x: 58,
pos_y: 55,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
],
},
{
artist: 'Vermeer',
title: 'Girl with a Pearl Earring',
annotations: [
{
label: 'Pearl',
body: 'A single highlight on the earring demonstrates Vermeers control of light on a tiny reflective surface.',
category: 'technique',
pos_x: 58,
pos_y: 52,
source_author: 'Mauritshuis',
source: 'Girl with a Pearl Earring',
source_url: 'https://www.mauritshuis.nl/en/our-collection/artworks/670-girl-with-a-pearl-earring/',
},
{
label: 'Turned glance',
body: 'The sitter looks over her shoulder as if interrupted—a intimate moment rare in formal Dutch portraiture.',
category: 'subject',
pos_x: 46,
pos_y: 38,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
],
},
{
artist: 'Diego Velázquez',
title: 'Las Meninas',
annotations: [
{
label: 'Mirror',
body: 'The reflected king and queen place the viewer where royalty would stand, collapsing court and spectator.',
category: 'symbolism',
pos_x: 72,
pos_y: 42,
source_author: 'Museo del Prado',
source: 'Las Meninas',
source_url: 'https://www.museodelprado.es/en/the-collection/art-work/las-meninas',
},
{
label: 'Painter',
body: 'Velázquez inserts himself at the easel, making painting itself the subject of a royal chamber scene.',
category: 'history',
pos_x: 18,
pos_y: 48,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
],
},
{
artist: 'Pablo Picasso',
title: 'Guernica',
annotations: [
{
label: 'Monochrome',
body: 'Grey, black, and white evoke newspaper reportage, tying the mural to the bombings documentary shock.',
category: 'technique',
pos_x: 50,
pos_y: 35,
source_author: 'Museo Reina Sofía',
source: 'Guernica',
source_url: 'https://www.museoreinasofia.es/en/collection/artwork/guernica',
},
{
label: 'Broken forms',
body: 'Cubist fragmentation shatters bodies and tools into signs of suffering rather than readable illusion.',
category: 'composition',
pos_x: 35,
pos_y: 58,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
{
label: 'Bull & horse',
body: 'Spanish symbols of brutality and the people collide in a tableau Picasso designed as political testimony.',
category: 'symbolism',
pos_x: 68,
pos_y: 62,
source_author: 'H. W. Janson',
source: 'History of Art',
},
],
},
{
artist: 'Claude Monet',
title: 'Impression, Sunrise',
annotations: [
{
label: 'Loose brushwork',
body: 'Quick strokes suggest the harbor rather than describing it—giving a critic the name “Impressionism.”',
category: 'technique',
pos_x: 55,
pos_y: 40,
source_author: 'Musée Marmottan Monet',
source: 'Impression, Sunrise',
source_url: 'https://www.marmottan.fr/en/collections/impression-sunrise',
},
{
label: 'Orange sun',
body: 'The suns reflection on water becomes the focal note against a cool, industrial Le Havre skyline.',
category: 'composition',
pos_x: 38,
pos_y: 32,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
],
},
{
artist: 'Jan van Eyck',
title: 'The Arnolfini Portrait',
annotations: [
{
label: 'Mirror',
body: 'The convex mirror reflects two additional figures—often read as witnesses to a marital contract.',
category: 'symbolism',
pos_x: 78,
pos_y: 38,
source_author: 'National Gallery',
source: 'The Arnolfini Portrait',
source_url: 'https://www.nationalgallery.org.uk/paintings/jan-van-eyck-the-arnolfini-portrait',
},
{
label: 'Oil detail',
body: 'Van Eyck layers transparent glazes to render textures from fur to brass with microscopic clarity.',
category: 'technique',
pos_x: 45,
pos_y: 72,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
],
},
{
artist: 'Sandro Botticelli',
title: 'The Birth of Venus',
annotations: [
{
label: 'Classical myth',
body: 'Venus arrives on a shell, reviving antique pagan beauty for Medici Florence.',
category: 'subject',
pos_x: 52,
pos_y: 48,
source_author: 'Uffizi Galleries',
source: 'Birth of Venus',
source_url: 'https://www.uffizi.it/en/artworks/birth-of-venus',
},
{
label: 'Linear grace',
body: 'Flowing outlines and floating figures prioritize decorative rhythm over solid Renaissance volume.',
category: 'composition',
pos_x: 30,
pos_y: 55,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
],
},
{
artist: 'Andrei Rublev',
title: 'Trinity',
annotations: [
{
label: 'Icon symmetry',
body: 'Three angels share a single table in near-perfect balance, expressing theological unity through form.',
category: 'composition',
pos_x: 50,
pos_y: 50,
source_author: 'Tretyakov Gallery',
source: 'The Trinity by Andrei Rublev',
source_url: 'https://www.tretyakovgallery.ru/en/collection/_show/image/_id/208',
},
{
label: 'Reverse perspective',
body: 'Lines subtly open toward the viewer, inviting contemplation into the sacred space rather than away from it.',
category: 'technique',
pos_x: 50,
pos_y: 72,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
],
},
{
artist: 'Edvard Munch',
title: 'The Scream',
annotations: [
{
label: 'Wavy horizon',
body: 'Undulating lines transmit inner anxiety into the landscape itself—a key Symbolist device.',
category: 'technique',
pos_x: 50,
pos_y: 30,
source_author: 'Munch Museum',
source: 'The Scream',
source_url: 'https://www.munchmuseet.no/en/the-scream/',
},
{
label: 'Open mouth',
body: 'The figures silent shriek became an emblem of modern alienation in fin-de-siècle Europe.',
category: 'symbolism',
pos_x: 48,
pos_y: 42,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
],
},
{
artist: 'Salvador Dalí',
title: 'The Persistence of Memory',
annotations: [
{
label: 'Soft watches',
body: 'Liquid clocks parody rigid time, linking Surrealist dream logic to Einsteins relativity in popular imagination.',
category: 'symbolism',
pos_x: 42,
pos_y: 62,
source_author: 'Museum of Modern Art',
source: 'The Persistence of Memory',
source_url: 'https://www.moma.org/collection/works/79018',
},
{
label: 'Dead landscape',
body: 'The barren Catalonian coast stretches behind the table, grounding impossible objects in precise illusionism.',
category: 'composition',
pos_x: 55,
pos_y: 28,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
],
},
{
artist: 'Caravaggio',
title: 'The Calling of Saint Matthew',
annotations: [
{
label: 'Tenebrism',
body: 'A beam of light cuts the tavern darkness to isolate Christs gesture and Matthews hesitation.',
category: 'technique',
pos_x: 62,
pos_y: 38,
source_author: 'E. H. Gombrich',
source: 'The Story of Art',
},
{
label: 'Everyday setting',
body: 'Sacred drama unfolds among ordinary tax collectors, a Counter-Reformation strategy to make faith immediate.',
category: 'history',
pos_x: 40,
pos_y: 58,
source_author: 'San Luigi dei Francesi',
source: 'Contarelli Chapel cycle',
source_url: 'https://www.sanluigideifrancesi.it/en/contarelli-chapel/',
},
],
},
];