a local-first atmospheric chalky task planner

app: a Stats page in the account menu, shareable as two images, and a setting to hide it — stats.ts computes usage from the local store (tasks created/done, current and best daily streak, active days, busiest day, median created→done and same-day share, peak hour, done per weekday, created/done per month, color counts, still open / in idk when, moved, notes, subtasks, recurring series and occurrence hits; tombstones skipped, local time). StatsModal shows it as tiles plus bar rows (palette-colored for colors) and is wired like Credits: ui.statsOpen, ?panel=stats, Escape. Share renders two 1080×1350 cards (headline tiles + odds and ends; months, colors, weekdays), both titled "chalky.town stats", with Satori in the chalkboard palette, pre-rendered when the modal opens so the tap hands them to navigator.share inside Safari's user activation; where files can't be shared (or the share is refused) an in-app menu previews both with Copy and Save per card and a Post to Bluesky draft — never a silent download (the first version downloaded two files and browsers dropped the second, which is why the shared image looked empty). Satori is pinned to 0.33.5 (the four releases from the last day skipped) via its standalone build, initialized with yoga.wasm by URL; harfbuzzjs fetches /hb.wasm from the page directory, so a small vite plugin serves it in dev and emits it in the build; Gluten comes from @fontsource/gluten 5.3.0's woff files since Satori can't read woff2. All of it lazy-loads on the first Stats open. Settings gains "Hide the Stats page" (settings.hideStats, synced through town.chalky.config's new hideStats field, lexicon updated but not yet republished), which drops the menu item and ignores ?panel=stats. THIRD_PARTY_LICENSES lists satori (MPL-2.0), yoga-layout and harfbuzzjs. Verified: page numbers match an independent count of the PDS space records; both cards checked visually; iOS 26 simulator Safari opens the native share sheet with the PNG; the preview pane falls back to the menu; hide toggles both ways; pnpm check 0 errors 0 warnings; pnpm build ok


Author
Date Commit Parent cc41dbb9