# Waymark changelog

## 2026-10-09: v2.2, a bigger shelf for photos and voice

- Photos and voice clips move out of localStorage (about 5 MB per site in every browser) into IndexedDB, stored as raw bytes instead of base64. The journal itself stays in localStorage and uses well under 100 KB.
- Existing photos move over automatically on the next launch. Each one is written, read back and size-checked before its localStorage copy is removed; a failed move leaves the original in place.
- Dispatches are unchanged: photos still travel inside the .json as data URLs, and old dispatches import as before.
- Dispatch tab: one meter for the journal, one for the media shelf against the space the browser grants this site.
- New photos are saved a little sharper (1280 px, quality 0.72) now that space allows.
- If a browser won't open IndexedDB, media falls back to localStorage as in 2.1.

## 2026-10-07: v2.1, field kit loader and tap-to-allow permissions

- Start-up loader: every app file is fetched fresh before the journal opens, shown as a grid of squares rendering in. If anything fails it names the file and the reason (missing, served a web page instead, timed out, offline with no saved copy), with Try again, Reset app cache and Continue anyway. A file report lists size and time per file.
- One shared file list (assets.js) for the loader and the offline service worker. The service worker now always revalidates with the server, so a stale cached module can't mix with fresh ones, and marks offline copies so the loader can say so. Cache name follows the build number.
- Each permission's ASK is now a real button that asks for just that permission. Granting it bursts pixel confetti and stamps GRANTED over the row; blocking shakes it and explains how to re-allow in site settings.
- New test keeps the file list complete.

## 2026-10-07: v2, Expedition into the Unrendered

- Turn-based expedition RPG built on top of the v1 notebook.
- World-scale map: Web Mercator chart from street level to the whole planet, compact tile storage, movement classifier, flight arcs, expeditions per city, daily trails, public-domain coastline.
- Glitch constructs: six strange-attractor families made from camera pixels; element from scene colour; stats measured from the orbit.
- Battles: Fight, Sketch, Item, Swap, Retreat; status effects; standing-still gate; party of four; growth by walking; settled forms at levels 10 and 20.
- Living expedition: outposts, Quartermaster shop, Ada Pell's rival survey, the Cartographer's rare hints, the Static Hermit's errands, gone-wild marks, time capsules.
- Auto-written field journal with weather stamps and notes; 72 specimen plates; 18 achievements and survey ranks.
- Full pixel-art reskin: original 5x7 bitmap font (canvas and WOFF2), hand-drawn sprites, 9-slice frames, chip sound.
- v1 data migrates automatically; v1 archives import; simulated play keeps its own journal.
- Dispatches: full JSON, share sheet, GeoJSON with flights, Markdown journal, specimen plate PNGs.
- Node tests for geometry, tiles, world, migration, attractors, battle engine, encounters, NPCs and journal.

## 2026-10-07: v0.1 concept

- Notes, photos, voice and clips anchored to places; AR view with sightline anchors; fog-of-war map; localStorage with JSON, GeoJSON and Markdown exports.
