Admins can filter and review curator_audit_log (date/time, actor, action, resource, details) via /api/audit against the environment DB.
Co-authored-by: Cursor <cursoragent@cursor.com>
Staff accounts use admin/curator roles and fine-grained flags; transitions connect source-to-target with color gradients and stream cutout masks so overlaps stay seamless.
Co-authored-by: Cursor <cursoragent@cursor.com>
Paintings get editable curator notes with brass plates in the 3D hall, and visit order now uses the far/end wall between left and right.
Co-authored-by: Cursor <cursoragent@cursor.com>
Visitors walk published tours in a 3D hall with stop notes; curators edit drafts via Tour editor. All galleries (artist, movement, tour) place the first work left of the entrance view and the last on the right.
Co-authored-by: Cursor <cursoragent@cursor.com>
CSV/JSON/XLSX mapping wizard expands artist-level rows to all paintings, blocks duplicate file/data imports via content and payload hashes, and documents the workflow in influence-import.md.
Co-authored-by: Cursor <cursoragent@cursor.com>
UI chrome via react-i18next, catalog text in entity_translations with ru.wikipedia seeding, locale-aware search, and Translations page for publish workflow.
Co-authored-by: Cursor <cursoragent@cursor.com>