Commit Graph
64 Commits
Author SHA1 Message Date
Danila KhodjaefandCursor 89e39d408a Fix harmonize:images thumb rebuild and allow oversized museum scans.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 12:23:25 +03:00
Danila KhodjaefandCursor 6656f91f25 Document Gariff influence workbook and pack timeline lanes by time span.
Add Inputs/gariff_influential_painters_influences.xlsx for curator import, document Inputs/Output conventions, and let non-overlapping movements share horizontal lanes on the timeline.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 10:32:59 +03:00
Danila Khodjaef 8005252881 Release: weekly deploy 2026-07-26 12:14:41 +03:00
Danila KhodjaefandCursor d709e98640 Merge remote main: upside-down influence lamps with local hall fixes.
Keep remote lamp orientation, drop castShadow (shadows stay disabled), and retain curator-note plates plus large-hall loading docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-26 11:40:55 +03:00
Danila KhodjaefandCursor 8e444fa461 Fix harmonize prod DB targeting and large-hall loading hangs.
Prod env files now win over root .env so harmonize:db can open gallery_prod after gallery_dev; tour_stops gains updated_at; halls no longer block the overlay on every painting texture. Docs cover the fixes and one-artist image pull from prod; Duccio painting assets synced from TrueNAS.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-26 01:26:51 +03:00
Danila KhodjaefandCursor f6c73c1792 Smooth 3D hall boot: disable shadows and warm door shaders under the loading overlay.
Keep Loading gallery until Environment and gl.compileAsync finish (with timeouts), GPU-upload painting textures before dismiss, and drop Canvas shadow maps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-25 15:32:10 +03:00
Danila KhodjaefandCursor bc8369e373 Add public curator notes and U-shaped hall wall hang.
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>
2026-07-25 14:21:22 +03:00
Danila Khodjaef 77befd94b2 Merge branch 'main' of https://gitea.mysuperlab.netcraze.pro/Danilka/Art-gallery 2026-07-22 23:14:09 +03:00
Danila KhodjaefandCursor cc39c2b138 Flip influence-link picture lamps upside down in the 3D hall.
Document the inverted InfluencePictureLamp mount so link indicators match the intended fixture orientation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 23:12:54 +03:00
Danila KhodjaefandCursor 5ddc3fd7f0 Add guided tours and unify left-to-right hall wall hang.
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>
2026-07-16 20:27:36 +03:00
Danila KhodjaefandCursor 48bd17e985 Add curator Influences tool with import wizard, CRUD, and graph.
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>
2026-07-16 18:54:26 +03:00
Danila KhodjaefandCursor 62d7ebbe6a Document prod schema migrate before restore and i18n search index fix.
Release runbook now describes default migrateProdSchema, auto-migrate safety guard, and troubleshooting for updated_at restore failures; i18n docs cover partial entity_translations index.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 12:21:53 +03:00
Danila Khodjaef a2c27ea526 Release: weekly deploy 2026-07-15 12:10:57 +03:00
Danila KhodjaefandCursor ca58c43648 Add Russian i18n with DB translations, locale API, and curator review UI.
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>
2026-07-15 11:51:46 +03:00
Danila KhodjaefandCursor f247b418d8 Add dev-prod harmonize tool for bidirectional catalog and image sync.
Schema migrates dev to prod only; catalog rows merge by updated_at and images by mtime with union merge and conflict reporting.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 11:02:17 +03:00
Danila Khodjaef 81ebad2120 Release: weekly deploy 2026-07-15 10:38:53 +03:00
Danila KhodjaefandCursor acc4a91a08 Add catalog search on timeline header and fix Back to Timeline navigation.
Public GET /api/search over artists, movements, and paintings with a debounced header bar on the timeline; Back to Timeline resets zoom and gallery session.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 10:34:29 +03:00
Danila Khodjaef 50fc253ab2 Release: weekly deploy 2026-07-09 18:34:01 +03:00
Danila KhodjaefandCursor f78c14f307 Fix debug upload persistence and UX; exclude prod audit log from DB restore
Uploads and fixes now bust browser cache via file-mtime keys in API
responses. Debug upload shows a centered loading overlay and blocks search
while uploading. Prod DB restore skips curator_audit_log.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 18:30:19 +03:00
Danila Khodjaef 62096e8210 Release: weekly deploy 2026-07-09 16:03:48 +03:00
Danila Khodjaef 0ceb1c1c8c Release: weekly deploy 2026-07-09 13:36:33 +03:00
Danila Khodjaef f72ddcc3e4 Release: weekly deploy 2026-07-09 13:31:47 +03:00
Danila Khodjaef 3810e61bb8 Release: weekly deploy 2026-07-08 18:21:05 +03:00
Danila Khodjaef cdca271e08 Release: weekly deploy 2026-07-08 18:15:52 +03:00
Danila Khodjaef aa125ccb9b Release: weekly deploy 2026-07-08 18:06:19 +03:00
Danila KhodjaefandCursor 0de95fd151 Fix devtoprod git step exit-code handling
Add Invoke-Git with safe external command execution and stop using prod LAN URL for dev validateBuild checks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 17:52:01 +03:00
Danila Khodjaef c391fcc21e Release: weekly deploy 2026-07-08 17:49:05 +03:00
Danila KhodjaefandCursor 3934cedc62 Fix devtoprod validateBuild exit-code handling
Ensure Invoke-Npm returns correct exit code without breaking step logic.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 17:46:56 +03:00
Danila KhodjaefandCursor 9e28f3db3f Fix validateBuild failing due to npm output capture
Ensure Invoke-Npm streams output to host and returns only exit code.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 17:32:49 +03:00
Danila KhodjaefandCursor 4361178413 Prefer dev LAN bounds in validateBuild
Avoid relying on dev HTTPS when it can return transient 504 pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 15:52:45 +03:00
Danila KhodjaefandCursor ae6ffc8a08 Make dev validateBuild bounds check resilient
Retry and prefer LAN bounds URL to avoid transient 504 failures.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 15:48:51 +03:00
Danila KhodjaefandCursor aa6635803d Show 3D hall loading overlay during canvas and texture boot.
Display Loading gallery and Loading paintings in the canvas area while the WebGL scene initializes and wall textures resolve, and document the behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 15:18:16 +03:00
Danila KhodjaefandCursor 21e3e41e48 Add one-command dev-to-prod release with clear SUCCESS/FAILED banners.
Introduce devtoprod:release orchestrator, config file, CLI result footers on deploy scripts, auto-thumb regeneration on curator fixes, and updated deploy documentation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 14:54:56 +03:00
Danila KhodjaefandCursor 313666a4ab Make dev->prod deploy work for non-superuser role and fix image sync.
restore-db-data.js: fall back to multi-pass insert when the DB role cannot set session_replication_role, and parse multi-line INSERT values (bios) as whole statements. sync-images-to-prod.ps1: fix SMB root variable typo and fail fast with guidance when the share is not mapped. Document SMB mapping, non-superuser restore, and a troubleshooting table in the release runbook.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 15:26:35 +03:00
Danila Khodjaef ac1ae5794f Release: <summary of changes> 2026-07-07 14:30:38 +03:00
Danila KhodjaefandCursor a86fdcce1b Normalize painting thumbnail filenames and add catalog input datasets.
Collapse doubled underscores/spaces in thumbnail filenames to single underscores, drop stale oversized originals, and add artist/painting/influence source datasets under Inputs/.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 12:38:59 +03:00
Danila KhodjaefandCursor 96285737f5 Rename npm scripts to environment-prefixed names (dev:/prod:/devtoprod:/prodto:dev:/infra:).
Align package.json scripts and their references across scripts/, infra/, and db/ SQL with the dev-first workflow naming scheme.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 12:37:21 +03:00
Danila KhodjaefandCursor a2263ca186 Document gallery loading markers, WebGL recovery, and movement filtering.
Update basics.md for the new loading indicators, 3D WebGL context-loss recovery, and the corrected movement-visibility rule (span overlap plus any catalogued artist). Refresh remaining docs and config for the current dev-first workflow and npm script names.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 12:36:34 +03:00
Danila KhodjaefandCursor 1408811948 Add gallery loading indicators and recover from WebGL context loss.
- Show loading markers while the catalog, portrait thumbnails, and 3D
  halls load so users know loading is still in progress.
- Recover the 3D hall from a lost WebGL context by remounting the canvas
  with a fresh context instead of leaving a permanent dark window, and
  guard the HDR environment map behind an error boundary.
- Show movement streams whose span overlaps the view even when their
  artists lived outside the visible time range.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 12:31:56 +03:00
Danila Khodjaef 99b8559607 Speed up timeline load with portrait thumbs, bootstrap API, and caching.
Add catalog bootstrap endpoint, portrait thumbnail pipeline, lazy queued timeline images, gzip compression, and 3D texture throttling with code-split VirtualGallery.
2026-07-06 14:27:29 +03:00
Danila Khodjaef bdddadc4d6 Document development-first workflow with weekly prod releases.
Default all day-to-day work to gallery_dev and devgallery; add Cursor rule and update docs, env examples, and deploy guide for scheduled prod promotion.
2026-07-06 09:58:01 +03:00
Danila Khodjaef 9da065acbe Add curator authentication with audit logging and fix empty 3D gallery sessions.
Introduce session-based curator login, gate debug/checkup routes, log mutations to curator_audit_log, and keep guest hall preload public. Fix gallery view mounting so WebGL halls render reliably after navigation.
2026-07-06 00:17:01 +03:00
Danila Khodjaef aa31a2aa6e Improve movement ribbon layout with collision-aware labels and hover highlight.
Add FAC operator cheat sheet and link it from README and setup docs.
2026-07-05 23:07:44 +03:00
Danila KhodjaefandCursor 2edf577faf Add dev/prod environments with TrueNAS Docker production deploy.
Split PostgreSQL into gallery_dev and gallery_prod, add Docker/Gitea deploy tooling,
SMB image sync, pgAdmin split script, dev:web on Keenetic :5173, and operator docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 15:15:19 +03:00
Danila Khodjaef 02d238b043 Improve timeline UX and add catalog restore scripts for paintings and portraits.
Load the home-page catalog once with a lightweight artists API, batch pan/zoom updates per frame, use dynamic year labels, and speed up movement-flow zoom. Add sync-image-paths and fetch-artist-images plus docs for the post-seed pipeline.
2026-07-03 18:33:16 +03:00
Danila Khodjaef 7f26696328 Shorten painting image filenames that exceeded Windows path limits.
Rename Fra Angelico predella and Hieronymus Bosch diptych files so they can be tracked on Windows and committed reliably.
2026-07-03 14:29:23 +03:00
Danila Khodjaef 2b4274093e Add seed scripts, proxy Vite on public domain, and seed painting images.
Restore seed-wikipedia.js and seed-catalog-data.js so npm run setup works on a fresh clone. Point nginx at the Vite dev client and allow the public hostname in Vite config.
2026-07-03 13:52:57 +03:00
Danila KhodjaefandCursor f542c689c9 Add debug Remove entry, Show more auto-picker, and update docs.
DELETE /api/paintings/:id removes works and image files with gallery refresh and catalog navigation; Show more opens the search modal on load; documentation updated for migrate schema and debug workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-22 22:32:23 +03:00
Danila KhodjaefandCursor b2cae284ac Add PainterPalette integration, canonical DB schema, and influence UI fixes.
Integrate Inputs/PainterPalette.csv for artist metadata and influence links, add db/schema.sql with server/migrate.js, letterbox influence panel thumbnails, and refresh Titian/Pontormo images.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-22 12:09:47 +03:00
Danila KhodjaefandCursor 4eead54062 Add production deployment, photorealistic movement walls, and fix duplicate influence links.
Configure hosting for gallery.mysuperlab.netcraze.pro and LAN access, enhance movement gallery textures with period-appropriate painted materials, dedupe influenced-by API responses via painting_influence_sources, and refresh several painting image files.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-21 23:00:13 +03:00