From 9d5db5414f09569180e91dff18fa7dc9141fd69c Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 17:06:42 +0000 Subject: [PATCH 1/3] docs: add visual road-to-v1.0 page with charts + icon coverage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Standalone HTML at docs/roadmap-to-v1.html. Renders Meadow-styled charts (Chart.js via CDN) covering: - Net codebase growth across all 16 tagged releases - Commits-per-release and total file count over time - Per-game hand-drawn icon coverage (fish + bugs only) computed directly from public/icons/ vs public/data//{fish,bugs}.json - Cross-game species overlap pyramid (5g/4g/3g/2g/1g tiers) showing which un-drawn species would light up the most games at once - Timeline of remaining v0.9.6 -> v1.0 betas - v1.0 launch buckets (branding/SEO/a11y/perf) Self-contained — open the file directly in a browser. Lives in docs/ alongside the existing planning docs; not wired into the deployed app. --- docs/roadmap-to-v1.html | 1061 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 1061 insertions(+) create mode 100644 docs/roadmap-to-v1.html diff --git a/docs/roadmap-to-v1.html b/docs/roadmap-to-v1.html new file mode 100644 index 0000000..147b2bc --- /dev/null +++ b/docs/roadmap-to-v1.html @@ -0,0 +1,1061 @@ + + + + + + Road to v1.0 · Animal Crossing Web App + + + + + + + +
+ +

Roadmap · 2026-05-12

+

The road to v1.0

+

+ Nine months in. Five games supported, ten beta releases shipped, a design system rebuilt from + scratch. Three remaining betas stand between today and a public launch. +

+ +
+ Today: v0.9.6-beta in flight + Last shipped: v0.9.5-beta · 2026-05-10 + v1.0 target: ~3 betas out +
+ + +
+
+
275
+
Commits to date
+
+
+
+50k
+
Net LOC shipped
+
+
+
9.8k
+
Lines in src/ today
+
+
+
7 / 210
+
Hand-drawn icons
+
+
+ + + + +

The road so far

+

+ From the first commit on April 10 to today, growth has been steady, then explosive. The v0.9 + beta cycle alone added more code than every alpha release combined. +

+ + +
+

Net codebase growth, by release

+

+ Cumulative net lines (added minus deleted) at each tagged release. The hockey stick at + v0.9.0 is the full Meadow design system — sidebar shell, TownManager drawer, CategoryTab + rebuild, Settings page, GlobalSearchDropdown, and StatsTab landing in a single PR. +

+
+ +
+
+ + +
+
+

Commits per release

+
+ +
+
+
+

Code vs. assets

+

+ Total file count quadrupled at v0.9.1+ — but src/ stayed flat at ~60 files. The growth + is icon assets (PNG sources + 768px exports + manifests), not code bloat. +

+
+ +
+
+
+ + +
+

Marquee features, release by release

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersionDateWhat landed
v0.1 – v0.2Apr 10–124-category museum tracking · Zustand persistence · detail modal · per-tab search
v0.3 – v0.5Apr 13Multi-town · global search · Stats tab · CSV export · Vitest + Vercel Analytics
v0.6.xApr 13–15Home screen with leaving-soon shelf, progress cards, recent activity
v0.7.0-alphaApr 17Multi-game foundation: 3-level donation schema · ACWW + ACCF data · ACCanvas decomposition (2175 → 298 lines)
v0.8.xApr 29 – May 1React Router · ACNL + ACNH data · hemisphere toggle · sea creatures tab · inline expand panels
v0.9.0-betaMay 4Full Meadow redesign: sidebar, TownManager drawer, Settings page, HomeTab + StatsTab rebuild, GlobalSearchDropdown
v0.9.1 – 0.9.2May 4–5ACGCN icons via Fandom scrape · cross-game icon routing · first 2 hand-drawn pieces · /credits route
v0.9.3-betaMay 6JSON save-file round-trip (export + import with Replace/Merge/Import-as-new) · onboarding affordance
v0.9.4-betaMay 7Silhouette rendering for un-donated items · ACWW icons to 100% · 768px icon export pipeline
v0.9.5-betaMay 10ACNL icons to 96.5% (ACCF → 100%) · 3 hand-drawn icons (frog, robust + brown cicada)
+
+ +

+ 67 merged PRs · ~9.8k lines of TypeScript, React, and CSS · 25 active development days — + single contributor, working publicly. +

+ + + + +

Hand-drawn icons: the long road

+

+ Wiki-scraped placeholders cover the gap today. The end goal is a fully hand-drawn library + for fish and bugs — fossils, sea creatures, and art are intentionally out of scope for now. +

+ + +
+
+

Where we are

+
+
+
+ 7 +
+
+ Hand-drawn shipped +
+
+
+
+ 203 +
+
+ Unique species remaining +
+
+
+

+ Across all five games, deduped by item id. 4 fish drawn (sea-bass, + koi, coelacanth, frog) · 3 bugs drawn (ant, robust cicada, brown cicada). +

+
+
+

The leverage curve

+

+ How many games each remaining species appears in. Drawing one species in the + 5-game tier lights up every single game at once. +

+
+ +
+
+
+ + +
+

Per-game coverage (fish + bugs)

+

+ Each bar is the game's full fish + bug roster. Dark green = hand-drawn original. + Pale green = wiki-scraped placeholder (shipped, but to be replaced). Tan = no icon yet. +

+ +
+ +
+ Hand-drawn + Wiki-scraped + No icon yet +
+
+ + +
+

Highest-ROI draws (one icon → 5 games)

+

+ 31 fish and 18 bugs appear in every single game; of those, 27 fish and 16 bugs are still + un-drawn. Knocking out this 43-icon tier alone takes ACGCN and ACCF to ~93% hand-drawn + coverage. +

+

+ Fish: angelfish · arapaima · arowana · barred-knifejaw · bitterling + · bluegill · carp · catfish · cherry-salmon · crawfish · crucian-carp · dace · freshwater-goby · giant-snakehead · + goldfish · guppy · killifish · loach · pale-chub · piranha · pond-smelt · pop-eyed-goldfish · red-snapper · salmon + · squid · stringfish · sweetfish +

+

+ Bugs: banded-dragonfly · common-butterfly · darner-dragonfly + · evening-cicada · firefly · grasshopper · jewel-beetle · ladybug · long-locust · mantis · migratory-locust + · mole-cricket · pondskater · red-dragonfly · spider · walker-cicada +

+
+ + + + +

The road ahead

+

+ Three planned betas and a launch. Each beta is intentionally narrow — one or two themes per + release, no surprise scope. +

+ +
+
+
+
+ v0.9.6-beta + In flight today +
+
+ ACNH icon gap-fill. Closing the last wiki-scrape coverage gap. ~103 + unique items remain after cross-game routing did the easy lifting in v0.9.5. Reuses + the algorithmic-resolver-plus-OVERRIDES pattern. Resolver tweaks from v0.9.5 + (Gallery deprioritization) generalize directly. +
+
+ +
+
+ Hand-drawn icons + Ongoing through v1.0 +
+
+ 203 unique fish + bug species still need hand-drawn originals. 43 of those are the + 5-game tier (highest ROI). If unsustainable before v1.0, the remaining tail moves + post-launch. +
+
+ +
+
+ v0.9.7-beta + SEO basics +
+
+
    +
  • Open Graph + Twitter card meta per game
  • +
  • sitemap.xml + meta descriptions
  • +
  • Per-game social cards
  • +
+ One-shot pass. No new app surface area. +
+
+ +
+
+ v0.9.8-beta + Polish + light monetization +
+
+
    +
  • Polish bug sweep (#76 a11y, #85 mobile clipping, #59 shadow size, #92 polish bundle)
  • +
  • Styled confirm dialog to replace native confirm() in Settings
  • +
  • Ko-fi / GitHub Sponsors footer link (FUNDING.yml already configured)
  • +
+
+
+ +
+
+ v1.0.0 + Launch +
+
+ Branding · final polish · accessibility audit · performance audit · Reddit launch · + portfolio link goes live. +
+
+
+
+ + +
+

v1.0 launch buckets

+
+
+

Branding

+

+ Final logo, favicon set, README hero, social card. Decide on the public name. +

+
+
+

SEO

+

+ Meta tags, sitemap, OG cards, structured data. Mostly handled in v0.9.7-beta. +

+
+
+

Accessibility

+

+ Sweep open issues (#76 search dropdown), keyboard audit, colour contrast pass. +

+
+
+

Performance

+

+ Lighthouse pass. Icon lazy-loading already in place; verify largest contentful paint + with the icon library at full size. +

+
+
+
+ +

+ v1.0 is reachable. The remaining work is well-scoped, the design is locked, and the data + layer hasn't needed a migration since v0.8.0. +

+ + +
+ + + + From 222bb9079e1ec616c4f1946aebd206bd99e05068 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 17:19:38 +0000 Subject: [PATCH 2/3] docs(roadmap): a11y labels on chart canvases + clean up stale comment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Addresses Copilot review on PR #138: - Add role="img" + aria-label to all four chart elements with a short text alternative describing the chart's key takeaway (locChart, commitsChart, filesChart, overlapChart). - Replace the stale "approximate from CLAUDE.md" comment over the games[] array with an accurate description of how drawn / scraped / missing counts are derived from disk. SRI on the Chart.js CDN script is not addressed in this commit — the sandbox blocks the CDN host so the hash can't be computed here. Will follow up after Bea confirms whether to add SRI (and provides or verifies the hash) or skip it for this local-only doc. --- docs/roadmap-to-v1.html | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/docs/roadmap-to-v1.html b/docs/roadmap-to-v1.html index 147b2bc..b41647f 100644 --- a/docs/roadmap-to-v1.html +++ b/docs/roadmap-to-v1.html @@ -516,7 +516,11 @@

Net codebase growth, by release

rebuild, Settings page, GlobalSearchDropdown, and StatsTab landing in a single PR.

- +
@@ -525,7 +529,11 @@

Net codebase growth, by release

Commits per release

- +
@@ -535,7 +543,11 @@

Code vs. assets

is icon assets (PNG sources + 768px exports + manifests), not code bloat.

- +
@@ -654,7 +666,11 @@

The leverage curve

5-game tier lights up every single game at once.

- +
@@ -1022,11 +1038,12 @@

Per }); // ─── 5. Per-game horizontal coverage bars ───────────────────────── - // For each game: how many fish+bugs are hand-drawn vs scraped (have an icon - // file in public/icons//) vs no icon yet. Approximate scraped coverage - // from the manifest gap-fill % reported in CLAUDE.md. - // Counts derived directly from public/icons/{fish,bugs}/*.png cross-referenced - // against public/data//{fish,bugs}.json on 2026-05-12. + // For each game, counts derived directly from disk on 2026-05-12: + // drawn = item ids in icon-sources/{fish,bugs}/*.png that also appear + // in public/data//{fish,bugs}.json + // scraped = item ids with a file in public/icons/{fish,bugs}/*.png + // (the flat cross-game layout introduced in v0.9.2) minus drawn + // missing = total - drawn - scraped const games = [ { name: 'ACGCN', total: 80, drawn: 7, scraped: 49 }, { name: 'ACWW', total: 112, drawn: 7, scraped: 59 }, From e8b8f5faddf4f73623eba32b75efd2c3ef22a89b Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 17:26:05 +0000 Subject: [PATCH 3/3] docs(roadmap): move roadmap-to-v1.html to public/ for Vercel serving MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docs/ is never included in the Vite build output — only public/ gets copied to dist/. Moving alongside version-history.html so the page is accessible at /roadmap-to-v1.html on the preview deploy. --- {docs => public}/roadmap-to-v1.html | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {docs => public}/roadmap-to-v1.html (100%) diff --git a/docs/roadmap-to-v1.html b/public/roadmap-to-v1.html similarity index 100% rename from docs/roadmap-to-v1.html rename to public/roadmap-to-v1.html