aboutsummaryrefslogtreecommitdiff
path: root/public/index.html
diff options
context:
space:
mode:
authordax <me@dax.ist>2026-08-04 06:19:01 +0000
committerdax <me@dax.ist>2026-08-04 06:19:01 +0000
commit1f64931c728625cf209f3c41b90b200f77fa2d36 (patch)
tree8247dd0ab11e3465a22a7eb0f692ba04a3888933 /public/index.html
parent90042156c8538cf02efe77a09d0fe671c50e4ab2 (diff)
pathways: walking mosaic navigator
Replace the scrolling facet-grid with a walkable maze. You start on a random photo; every photo holds up to four paths (labels, keywords, camera, lens ranked by count, library as fallback), one per cardinal direction, each an ordered cycle. Arrow keys or hover-revealed buttons lock the next photo of that path onto the grid in the direction moved; visited photos form a panable mosaic with focus-jump on revisits. Server: precomputes per-photo exits; adds /api/exits/:id and /api/random. Client: zero-dependency rewrite — splash, hidden exits, drag-pan, pointer capture, reduced-motion support.
Diffstat (limited to 'public/index.html')
-rw-r--r--public/index.html39
1 files changed, 11 insertions, 28 deletions
diff --git a/public/index.html b/public/index.html
index e59101c..4059428 100644
--- a/public/index.html
+++ b/public/index.html
@@ -3,38 +3,21 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>pathways — photo viewer</title>
+ <meta name="color-scheme" content="dark">
+ <title>pathways</title>
<link rel="stylesheet" href="/app.css">
</head>
<body>
- <header class="mast">
+ <main id="stage">
+ <div id="world"></div>
+ <p id="hint">hover the current photo for its four paths · arrow keys walk · drag to pan</p>
+ </main>
+ <div id="splash">
<h1>pathways<span class="dot">.</span></h1>
- <p class="tag">a way through the library, along the things photos share.</p>
- <nav id="modes" class="modes" aria-label="path type">
- <button data-mode="label" class="on">labels</button>
- <button data-mode="keyword">keywords</button>
- <button data-mode="camera">cameras</button>
- <button data-mode="lens">lenses</button>
- <button data-mode="colour">colours</button>
- </nav>
- <p id="status" class="status"></p>
- </header>
-
- <main id="stream" class="stream"></main>
-
- <div id="lightbox" class="lightbox" hidden>
- <div class="lightbox-inner">
- <img id="lightbox-img" alt="">
- <div class="lightbox-side">
- <h2 id="lightbox-title"></h2>
- <p id="lightbox-date" class="dim"></p>
- <div id="lightbox-conns" class="conns"></div>
- </div>
- <button id="lightbox-close" class="close" aria-label="close">×</button>
- </div>
+ <p>Every photo holds four paths — one for each direction. Walk them, and the pictures lock into a mosaic behind you.</p>
+ <button id="start">start</button>
</div>
-
- <footer class="foot">pathways · built over the photoprism database · no tracking</footer>
- <script src="/app.js" defer></script>
+ <div id="flash"></div>
+ <script src="/app.js"></script>
</body>
</html>