Photography by Alexander Dümont

AGENTS.md — Pictrace

Operating notes for AI agents (Cline, Hermes, others) working in this repository. Read this first, then .clinerules — the authoritative rulebook for content/template/code conventions.

What this is

Pictrace is a Jekyll photo blog — Alexander Dümont’s photography grouped by year and location, with a hash-based lightbox (“popup”) showing EXIF data, and scroll-animated SVG “journey” maps for select trips. Published on GitHub Pages at https://pictrace.de.

Current state (2026-10-03)

Area State
Live site https://pictrace.de — GitHub Pages, publishes from default branch master
Repo github.com/a-d/pictrace (origin). 2026-10-03 (PT29): the 2026-09-20…10-03 history was rewritten — all 98 agent-era commits are attributed to Alexander Dümont <alexander_duemont@web.de>; PT30 (Helsinki stub + stub-sync automation) is on top — remote force-push pending (owner)
Branches master only — redesign / multi-map / namibia were deleted in PT14 (the multi-map WIP is kept as .hermes/plan/PT14-audit/multi-map-wip.patch)
Working tree Clean apart from two untracked entries (below). The ~170 staged Morocco raw photos are gone from the index — PT14 rescued the sources to IdeaProjects/pictrace-morocco-sources/ (md5-verified) and images/_2026-morocco/ no longer exists
Untracked .agentbridge/ (local agent state) · namib1.svg (working file) — leave as-is
Task board KANBAN.md — PT22–PT27 done 2026-09-24; PT28 retro-logged; PT29 (attribution rewrite), PT30 (Helsinki 404 + stub-sync automation), PT31 (lightbox load-ahead) + PT32 (Thessaloniki rotation) done 2026-10-03; PT10 parked; PT13 dormant

Conventions (must-follow)

How the site is built (orientation)

Workflow

Directory map

AGENTS.md              This orientation doc
_config.yml            Jekyll config (image paths, preload_count, EXIF list, contact endpoint, prerender_locations)
_data/journeys.yml     Journey metadata + animation curves
_includes/             iterator.html · gallery[.html|_item.html] · popup[.html|_item.html] · site-header.html · site-popovers.html · location-links.html · journeys/*.svg
_layouts/              default2.html (shell) · location.html (PT16 location page) · year.html (PT20 year page) · compress.html (minifier wrapper)
_locations/            Per-location page stubs (front matter only) — generated by mklocations.sh
_years/                Per-year page stubs (front matter only) — generated by mklocations.sh
assets/css/main.css    All styles (a Jekyll page: front matter, inlined via site.pages)
assets/js/main.js      All JS (journeys, gallery, EXIF, lightbox helpers, PT16 batch loader)
images/                {year}/{NN}_{Location}/{fulls,thumbs} · LICENSE.photos
bg-blurred.jpg        Baked lightbox/page backdrop - in the ROOT, not images/ (that dir is the new-originals drop)
index.html             Page entry: header, prerendered gallery, popovers, all-locations links
mklocations.sh         Regenerates the _locations/ and _years/ stubs from images/
0/ · _p1/              Raw-photo staging dirs (mostly gitignored, never deployed)
resize.sh · blur-bg.sh · rename.sh  Image processing / backdrop / renaming helpers
_site/                 Generated output (gitignored)
.clinerules            Detailed project rulebook — read before editing content/templates
KANBAN.md              Task board

Pitfalls observed