Skip to content

release: v0.9.0-beta#84

Merged
jacuzzicoding merged 47 commits into
mainfrom
release/v0.9.0-beta
May 4, 2026
Merged

release: v0.9.0-beta#84
jacuzzicoding merged 47 commits into
mainfrom
release/v0.9.0-beta

Conversation

@jacuzzicoding
Copy link
Copy Markdown
Owner

v0.9.0-beta — Curator UI Revamp

⚠️ Pre-release / beta. First publicly accessible build with the full redesigned UI. Staged on release/v0.9.0-beta for tag/deploy gating.

This release is a top-to-bottom UI revamp under the internal "Curator" codename — Meadow design language (Fraunces + Inter, moss-green accent), retired wood/parchment palette, persistent sidebar navigation, unified town manager, sectioned category lists, redesigned home and stats, and a unified global search dropdown — plus mobile responsive verification.

What's in v0.9

  • Sidebar shell replaces MuseumHeader + TabBar + TownSwitcher. Per-category donation counts, sea nav gated for ACNL/ACNH.
  • TownManager drawer (right-side, mobile bottom sheet) unifies switch / create / edit / delete. Game is immutable post-creation; playerName deprecated. Resolves the v0.8.1 greyed-out modal stopgap.
  • Settings page (/settings) — About + Danger zone (reset active town, reset everything).
  • HomeTab rebuilt — italic Fraunces hero stat, 12-cell month strip, leaving-soon + just-arrived shelves, ProgressMeter (4 segments for ACGCN/ACWW/ACCF; 5 segments adding sea for ACNL/ACNH).
  • CategoryTab sectioning — Leaving this month / Available now / Out of season / Already donated, with December→January wrap logic.
  • GlobalSearchDropdown — category-grouped results, keyboard nav (↑↓↵esc), search history (ac-curator-search-history, max 8), basedOn art matching preserved (Decision 8).
  • StatsTab redesigned — per-category cards (3/4/5 by game) and yearly rhythm chart with current-month accent.
  • Art tab inline — converted from DetailModal bottom-sheet to inline ItemExpandPanel. DetailModal retired.
  • ACWW + ACCF art data shipped (Closes Missing art data for ACWW and ACCF #74).
  • Meadow tokens + scroll-to + 1.4s pulse highlight wiring across Home shelves and search.
  • Mobile responsive pass at 980 / 720 / 700 / 480 breakpoints; touch targets ≥44px; iOS zoom prevention.

Phase PR list

Phase PR Topic
1 #63 Meadow tokens + Fraunces/Inter; retire Varela Round
2 #65 Sidebar shell layout
3 #66 SettingsPage + reset actions
4 #67 TownManager drawer
5 #70 CollectibleRow + ItemExpandPanel restyle
6 #72 HomeTab + ProgressMeter
7 #73 CategoryTab sectioning
8 #75 GlobalSearchDropdown
9 #77 StatsTab redesign
10 #80 Mobile responsive verification

Supporting PRs: #78 (ACWW + ACCF art data), #79 (doc sweep), #83 (Art tab inline / DetailModal retirement).

Issues closed by v0.9

Open follow-ups (v0.9.x or v1.0)

Test plan

  • npm run build — passes (TypeScript + Vite production build)
  • npm test — 63/63 passing
  • npm run lint — clean
  • Verify dev preview / release-branch preview URL from this PR's GitHub Checks before merging
  • Manual smoke: create town for each game, switch hemispheres on ACNH, verify scroll-to + pulse from Home shelves and search
  • Mobile spot check at 390px (iPhone SE) and 768px (iPad portrait)

Phase 2 (post-merge, gated on Bea's explicit go-ahead)

After this PR is approved + merged into main:

  1. Tag v0.9.0-beta from main
  2. gh release create v0.9.0-beta with these notes
  3. Confirm Vercel auto-deploy to production
  4. Merge main back into development to keep branches in sync

Do not merge this PR without Bea's explicit "ship to production" green light.

jacuzzicoding and others added 30 commits May 2, 2026 13:08
chore: back-merge release/v0.8.2-alpha → development
Canonical scope, phasing, and decision record for the v0.9 UI revamp.
Covers 10 implementation phases, 10 locked design decisions, success
criteria checklist, glossary of new/retired components, and open issue
tracking (#59, #60, PR #45).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… Round

Phase 1 of the v0.9.0-beta plan (docs/v0.9-plan.md §6). Plumbing only —
no components consume the new tokens yet; visual output is near-identical
to v0.8.2-alpha.

- Add Meadow palette to src/index.css @theme block as CSS custom
  properties (bg, surface, surface-alt, ink trio, border pair, accent
  trio, warn pair, 5 chip tokens incl. --chip-sea).
- Add Fraunces (opsz 9..144, weights 400/500/600 + italic) and Inter
  (400/500/600/700) via Google Fonts in index.html, src/index.css, and
  public/version-history.html. Register --font-display / --font-sans.
- Mirror tokens in src/lib/colors.ts as new `meadow` export; add
  `fontStacks` export. Legacy `colors` export kept untouched until
  later phases retire its consumers.
- Retire Varela Round entirely: remove all @imports and any
  font-family references (src/index.css, index.html, src/App.tsx
  loading state, public/version-history.html).

Per locked decision #2, Parchment / Midnight / Sakura are intentionally
excluded — Meadow is the only theme for v0.9.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…fonts

v0.9 Phase 1: tokens + fonts (Meadow + Fraunces/Inter)
Worktree-isolated sessions can't see untracked files at the host repo root.
Move the three design curator handoffs into docs/ so future sessions (Phase 5+)
can reference them. Update docs/v0.9-plan.md paths accordingly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…doffs

chore: commit v0.9 design handoffs to repo
- New Sidebar component (280px sticky) with brand, active town card,
  per-category nav with donated/total counts, footer (Export + Settings)
- App shell CSS in index.css: .ac-app grid (280px 1fr), max-width 1440px,
  stacks above main below 980px
- ACCanvas refactored to mount Sidebar + <main className="ac-main">;
  outer gradient/grid background removed in favor of --bg
- Hemisphere toggle relocated to sidebar town card for ACNH (was in
  MuseumHeader); will move into TownManager in Phase 4
- Switch town stub: cycles between towns or opens CreateTownModal —
  full TownManager drawer ships in Phase 4
- Deleted: MuseumHeader, TabBar, TownSwitcher
- CHANGELOG + CLAUDE.md updated

Per docs/v0.9-plan.md Phase 2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- package.json version → 0.9.0-beta (footer/UI version flows from here via vite define)
- README.md: clarify v0.8.2-alpha is last stable, v0.9.0-beta in active dev
- CLAUDE.md: update current-version line to reflect Phase 2 shipped
- docs/v0.9-plan.md: mark Phase 1 (PR #63) and Phase 2 (PR #65) as shipped
- README sea-creatures note updated (TabBar → sidebar nav)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
About + Danger zone sections per locked decisions #3 and #7.
No Appearance section (Meadow-only per #2).

- SettingsPage: About (version, source, live storage summary, credits)
  and Danger zone (reset donations, reset everything) with native confirm()
  guards. Esc and close button navigate back to active town home.
- SettingsRoute wrapper renders Sidebar + SettingsPage so the sidebar
  stays in place at /settings.
- Store: resetActiveTownDonations() + resetAll() (also clears
  ac-curator-search-history from localStorage).
- /settings route added in App.tsx; Sidebar Settings button no longer
  carries the Phase 2 "coming soon" tooltip.
- Styles in index.css mirror docs/design-handoffs/v0.9.2_curator/
  addons-styles.css with the Curator-codename strings dropped.

Build, lint, and 59 unit tests pass.
v0.9 Phase 3: Settings page (About + Danger zone)
Replaces CreateTownModal, EditTownModal, and the Phase 2 sidebar
bridge stubs (window.prompt switcher, Edit/+New buttons, hemisphere
toggle) with a single right-side TownManager drawer mounted at the
App layout level. Drawer is a bottom sheet at <=720px.

Honors locked Decision 1: the inline edit form has no game <select>;
gameId is shown as a read-only badge and never appears in the patch
object passed to updateTown. Honors Decision 5 by removing playerName
from the Town type, store, CSV export, and tests.

Auto-opens in forceCreate mode when towns.length === 0, replacing
the previous CreateTownModal required={noTowns} pattern. Resolves
the v0.8.1 greyed-out-buttons stopgap because the drawer now mounts
above the router and is unaffected by overflow/z-index on category
tabs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ager

v0.9 Phase 4: TownManager drawer + retire modal CRUD
…beta

Add v0.9 plan baseline + verify repo health commands
Rebuilds the collectible row and inline expand panel to match the v0.9
Curator design (monogram glyph, meta line with separators, leaving/new
pills, two-column expand with month grid + stats stack). Wires
data-row-id and a highlightId pulse for the upcoming Phase 6/8 jump-to.

Per-row donate toggle moves into the expand panel (matches the spec).
MonthGrid re-skinned to .ac-monthgrid; category list wraps in .ac-list.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
A bare <span> with aria-label is ignored by screen readers. Adding
role="img" lets the implicit name surface for assistive tech.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ItemExpandPanel already renders sea-creature time in its own 'active
hours' stat. Returning it from itemNotes caused the same string to
appear twice in the row.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…e expand panel

- Add the missing .ac-list rule referenced by ACCanvas (single rounded
  surface; rows still divided by .ac-row border-bottom).
- Add :focus-visible outline on .ac-row-main so keyboard users see focus.
- Remove .ac-expand border-top — .ac-row already draws the seam, the
  pair was rendering as a 2px line.
- When months are absent (fossils, art), collapse .ac-expand to a
  single column instead of leaving the side panel orphaned beside an
  empty 240px slot.
- Add a minimal .ac-expand-section rule so the wrapper has a defined
  min-width inside the grid.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…prop

Round 1 made itemNotes() return undefined for sea creatures, which broke
DetailModal's notes block (it calls itemNotes(item) for the global-search
detail view). Restore itemNotes' "give me the notes string for this item"
contract — return time for sea creatures — and push the duplicate-render
suppression into ItemExpandPanel where the duplicate actually exists
(time is already rendered as the "active hours" stat).

Also drop the dead onToggle prop from CollectibleRow and the
GlobalSearchResults passthrough. Bea confirmed "click into modal is fine
for now" — no inline donation toggle from global search.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v0.9 Phase 5: CollectibleRow + ItemExpandPanel restyle
Adds segmented ProgressMeter (4 or 5 segments by gameId), rebuilt HomeTab
with hero stat + month strip + leaving-soon / just-arrived shelves +
latest donations card, and useJumpToRow hook wiring shelf/recent cards
into ACCanvas's scroll-to + pulse highlight effect.

Honors Locked Decisions 4 (sea in ProgressMeter for ACNL/ACNH) and 10
(scrollIntoView + .ac-row-pulse on jump). No version bump.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat(home): v0.9 Phase 6 — rebuilt HomeTab + ProgressMeter
Replace the flat A–Z list per category with a sectioned page:
Leaving this month / Available now / Out of season / Already donated.
Empty groups hidden; donated items always land in Already donated.
December→January wrap handled. Fossils/art (no months) collapse cleanly
to Available now + Already donated.

CategoryTab owns its own expandedId so only one row is open per tab and
reacts to highlightId so jumps from Home shelves expand the row before
ACCanvas's scroll-to fires.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat(v0.9): Phase 7 — CategoryTab sectioning
Replaces GlobalSearchBar + GlobalSearchResults + SearchHistoryPopover
with a single GlobalSearchDropdown anchored under a Home-tab topbar
search input. Four states: empty + intro hint, empty + recent searches,
no-match, grouped results. Sea group gated to ACNL/ACNH. Art search
matches `name` and `basedOn` (Decision 8). Keyboard nav (↑↓↵esc).
History persists in `ac-curator-search-history` (max 8, deduped).
Result selection fires onJump → setTab + setHighlightId so the row
scroll-to + .ac-row-pulse animation triggers (Decision 10).

Retires the `'search'` ViewId, the Search nav entry, and the
`useSearch` hook.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- GlobalSearchDropdown now commits the user's typed query (not the
  selected item name) into recent searches. commitSearch already trims
  and rejects empty strings.
- Removed duplicate @Keyframes ac-fade in src/index.css (was defined
  twice with identical bodies); kept the earlier definition.

Addresses Copilot review comments on PR #75.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jacuzzicoding and others added 16 commits May 3, 2026 23:35
… rhythm chart

Per-category card grid (3/4/5 cards gated by game data presence) above a
12-column "Yearly rhythm" availability chart with current-month accent
border. Sea creatures included in the chart for ACNL/ACNH (Decision 4),
hemisphere-aware via itemMonths(). Retires AnalyticsView and SectionCard.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v0.9 Phase 9: rebuild StatsTab with per-category cards + yearly rhythm chart
- public/data/acww/art.json: 20 paintings (Wikibooks-sourced)
- public/data/accf/art.json: 23 paintings (Bea-curated list)
- Schema matches acnl/art.json; basedOn strings reuse ACNL phrasing
  verbatim where the real-world reference matches.

Closes #74
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
The art.json files were added in the prior commit but the loader's
GAMES_WITH_ART set still excluded ACWW and ACCF, so getDataPaths
returned null for art on those games and the sidebar's
data.art.length === 0 gate hid the tab.
Phase 9 hardcoded a local GAMES_WITH_ART set in StatsTab that excluded
ACWW/ACCF, so even after the categoryMeta fix the card grid still
rendered only 3 cards on those games. Switch the art and sea_creatures
gates to check data[cat].length > 0, matching the sidebar's philosophy.
Chart cats list left alone — art has no monthly availability.
Bring repo documentation in sync with v0.9.0-beta as Phases 1–9 have
shipped to `development`. No code changes — docs only.

- CLAUDE.md: rewrite version banner, design system block, file tree,
  ACCanvas section, and roadmap to reflect Phases 1–9 (Sidebar,
  TownManager, SettingsPage/Route, CategoryTab/StatsTab, ProgressMeter,
  GlobalSearchDropdown, useJumpToRow, useUIStore, Meadow tokens +
  Fraunces/Inter); flag CategoryProgress as dead pending cleanup; note
  retired components (MuseumHeader, TabBar, TownSwitcher, useSearch,
  AnalyticsView, SectionCard, GlobalSearchBar/Results/HistoryPopover,
  CreateTownModal, EditTownModal, TownNameFields).
- docs/v0.9-plan.md: mark Phases 3, 4, 5, 7, 8, 9 ✅ with PR refs;
  expand Phase 6 ✅ to call out Issue #71; mark Phase 10 ⏳ pending;
  update doc-level status header.
- docs/architecture.md: rewrite as a thin pointer to the canonical
  `.claude/rules/architecture.md` to avoid drift.
- .claude/rules/architecture.md: full rewrite for v0.9 — new shell,
  store actions (resetActiveTownDonations, resetAll), useUIStore,
  Decision 1 (game immutable), Decision 5 (no playerName), highlight
  wiring (Decision 10), Phase 8 search routing.
- .claude/rules/dev-process.md: fix stale dev preview URL.
- README.md: update feature list to describe sidebar, TownManager,
  CategoryTab sectioning, GlobalSearchDropdown, StatsTab, Settings;
  bump version reference text.
- docs/decisions.md: add a 2026-05-03 pointer entry directing readers
  to docs/v0.9-plan.md § 4 for v0.9 locked decisions.

Note: public/version-history.html dev-preview link is current; flagged
in PR but not modified.

Verified: npm run build (clean), npm test (63 passed).
chore(docs): v0.9 doc sweep through Phase 9
CSS-only fixes in src/index.css Phase 10 block — no component changes.

- Touch targets >=44px for drawer close, settings close, town row edit,
  TownManager actions, GlobalSearch history rows, donate button, chevron.
- iOS zoom prevention: search input rendered at 16px on stacked layouts.
- Hero/category title overflow: word-break + further font shrink at <=480px.
- Recent activity row drops category label at <=720px so name+time fit.
- Topbar wraps at <=480px; sidebar foot links get full tap height when stacked.
- GlobalSearchDropdown kbd-hint footer hidden at <=720px (no hardware keyboard).

Verified: build clean, 63 tests pass, lint clean. All Phase 10 checklist items
checked in docs/v0.9-plan.md. CLAUDE.md updated with 980/720/700/480 breakpoint
hierarchy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat(phase-10): mobile responsive verification
Closes #81

Art rows now expand inline like fish/bugs/fossils/sea creatures
(same .ac-row → .ac-expand flow) instead of opening the DetailModal
bottom-sheet. Fixes the v0.9 release blocker — Art was the last
category with a different interaction model post-Phase 5.

ItemExpandPanel: render `basedOn` as primary stat for art (italic
in side stack) and a Crazy Redd authentication note keyed off
`hasFake` (warn = counterfeit-possible; ok = always-genuine).
Note is hidden when `hasFake` is undefined, so ACGCN/ACWW/ACCF/ACNL
art (which lacks the field) just shows basedOn + donate button.

ArtPiece type: add optional `hasFake?: boolean` (ACNH-only).

DetailModal retired — file deleted. It was the only remaining
consumer; global search uses onJump (highlight + scroll) and no
other tab depended on it. CategoryTab drops the `onItemSelect`
prop and `category === 'art'` special-cases. ACCanvas drops the
`selected` state. All affected docs updated (CLAUDE.md retired-
component note, CHANGELOG entry under [Unreleased] v0.9.0-beta).

CSS: `.ac-art-fake-note` (warn/ok variants reusing existing
--warn / --accent tokens) and `.ac-stat-art` italic rendering.

Verified: npm run build, npm test (63/63), npm run lint — all green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sweep of active living docs to reflect that DetailModal was deleted
in #81 and Art now uses the inline ItemExpandPanel.

- README.md: collapse the separate "bottom-sheet detail view" bullet
  into the inline-expand bullet; mention basedOn + Crazy Redd note.
- .claude/rules/architecture.md: ACCanvas, CategoryTab, and modals/
  entries all reframed — DetailModal listed as retired.

Left untouched (history / out of scope):
- CHANGELOG Phase 7 Decisions entry ("Art keeps its bottom-sheet
  DetailModal") — describes a v0.9 Phase 7 decision that was reversed
  in #81. As Phase 7 history it's still accurate. Reported to Bea.
- docs/v0.7-audit.md, docs/v0.7-architecture-proposal.md — historical
  v0.7 docs.
- docs/design-handoffs/v0.9_curator/README.md — design handoff
  snapshot. Reported to Bea.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix(#81): convert Art tab to inline ItemExpandPanel
- CHANGELOG: roll [Unreleased] section into [v0.9.0-beta] - 2026-05-04;
  add fresh empty [Unreleased] above
- App.tsx (#60): hide branch suffix in version footer when branch
  starts with `release/`
- CLAUDE.md, README.md: mark v0.9.0-beta as shipped
- docs/v0.9-plan.md: status header to shipped
- public/version-history.html: add v0.9.0-beta entry to timeline,
  velocity table, and "currently building" → v1.0
Copilot AI review requested due to automatic review settings May 4, 2026 05:53
@vercel
Copy link
Copy Markdown

vercel Bot commented May 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
animalcrossingwebapp Ready Ready Preview, Comment May 4, 2026 5:57am

@jacuzzicoding
Copy link
Copy Markdown
Owner Author

Phase 1 complete — release branch staged, awaiting green light for Phase 2.

Files touched on release/v0.9.0-beta:

  • CHANGELOG.md — rolled [Unreleased] into [v0.9.0-beta] - 2026-05-04; new empty [Unreleased] header above for next cycle.
  • src/App.tsx — Issue Version footer: hide branch suffix on release-branch previews (App.tsx carve-out) #60 fix: version footer now hides the · <branch> suffix when branch.startsWith('release/'). Production hostname behavior unchanged.
  • CLAUDE.md — version banner: marks v0.9.0-beta as shipped 2026-05-04.
  • README.md — version banner: marks v0.9.0-beta as shipped; v0.8.2-alpha noted as last stable on main.
  • docs/v0.9-plan.md — status header: ✅ Shipped 2026-05-04 (all 10 phases merged).
  • public/version-history.html — added v0.9.0-beta entry to timeline + velocity table; "currently building" section bumped to v1.0; velocity banner updated (12 releases / 24 days); footer line refreshed.

Verified locally: npm run build, npm test (63/63), npm run lint all green.

Phase 2 (do not run without explicit go-ahead):

  1. Merge this PR into main
  2. git tag v0.9.0-beta && git push origin v0.9.0-beta
  3. gh release create v0.9.0-beta using the PR body
  4. Verify Vercel prod deploy
  5. Merge main back into development

@jacuzzicoding
Copy link
Copy Markdown
Owner Author

Merged origin/main into the release branch to resolve divergence (PR #58 — v0.8.2-alpha release merge — was on main but not in the release branch's history). Clean merge, no conflicts (release branch was cut from development which already had the v0.8.2 content; main's only divergent commit was the merge commit itself). Verified locally: npm run build, npm test (63/63), npm run lint all green. PR now reports mergeable: MERGEABLE (mergeStateStatus: BLOCKED is the branch-protection gate awaiting review, not a divergence problem).

@jacuzzicoding jacuzzicoding merged commit dfc7de7 into main May 4, 2026
3 checks passed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Release PR for v0.9.0-beta (“Curator” UI revamp), consolidating the redesigned Meadow UI shell, new navigation/search/settings surfaces, town-management changes, stats redesign, and supporting data/docs updates for the first public beta.

Changes:

  • Introduces the v0.9 app shell (Sidebar + TownManager), new Settings route, revamped Home/Category/Stats tabs, and new progress + search utilities.
  • Updates the persisted store model (deprecates playerName, adds reset actions, adds TownPatch and GAME_LIST), and aligns CSV export + view routing with removed Search tab.
  • Ships ACWW/ACCF art data and refreshes documentation/design-handoff assets for v0.9.

Reviewed changes

Copilot reviewed 85 out of 86 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/lib/viewTypes.ts Removes 'search' from ViewId to reflect Search tab retirement.
src/lib/utils.ts Simplifies itemNotes signature; sea creature notes now type-guard driven.
src/lib/uiStore.ts Adds non-persisted Zustand UI store for TownManager open/force-create state.
src/lib/types.ts Adds GAME_LIST; extends ArtPiece with optional hasFake.
src/lib/store.ts Deprecates playerName, adds TownPatch, reset actions, and updates town create/update APIs.
src/lib/store.test.ts Updates tests to match new createTown signature and removed playerName.
src/lib/csvExport.ts Removes playerName from CSV export header and API.
src/lib/colors.ts Adds Meadow token mirror and font stacks for JS-literal usage.
src/lib/categoryMeta.ts Expands GAMES_WITH_ART to include ACWW/ACCF.
src/hooks/useSearch.ts Removes retired global-search hook (replaced by dropdown).
src/hooks/useJumpToRow.ts Adds navigation + highlight helper for scroll-to-row behavior.
src/components/views/SectionCard.tsx Removed (retired by Stats redesign).
src/components/shared/TownNameFields.tsx Removed (no longer used after TownManager changes).
src/components/shared/MonthGrid.tsx Restyles MonthGrid and adds optional current month highlight support.
src/components/search/SearchHistoryPopover.tsx Removed (search UI replaced).
src/components/search/GlobalSearchResults.tsx Removed (search UI replaced).
src/components/search/GlobalSearchBar.tsx Removed (search UI replaced).
src/components/progressMeterUtils.ts Adds segmentsForGame helper for 4 vs 5 segment meters.
src/components/modals/EditTownModal.tsx Removed (retired by TownManager drawer).
src/components/modals/DetailModal.tsx Removed (retired; art now inline-expand).
src/components/modals/CreateTownModal.tsx Removed (retired by TownManager drawer).
src/components/TownSwitcher.tsx Removed (retired by Sidebar + TownManager).
src/components/TabBar.tsx Removed (retired by Sidebar navigation).
src/components/StatsTab.tsx Adds redesigned Stats tab with per-category cards + yearly rhythm chart.
src/components/Sidebar.tsx Adds persistent Sidebar shell with nav counts + export/settings footer.
src/components/SettingsRoute.tsx Adds /settings route wrapper keeping Sidebar mounted.
src/components/SettingsPage.tsx Adds Settings UI (About + Danger zone) with reset actions.
src/components/ProgressMeter.tsx Adds segmented ProgressMeter UI using Meadow chip tokens.
src/components/ProgressMeter.test.ts Unit-tests segmentsForGame.
src/components/MuseumHeader.tsx Removed (retired by Sidebar shell).
src/components/ItemExpandPanel.tsx Updates expand panel layout/stats; adds art basedOn + fake-note support.
src/components/CollectibleRow.tsx Restyles rows (glyph/meta/pills/chevron) and supports highlight pulse.
src/components/CategoryTab.tsx Adds sectioned category lists and inline expand behavior with highlight integration.
src/App.tsx Adds Settings route, mounts TownManager globally, forces create-mode when no towns, and updates version footer suffix rules.
public/version-history.html Updates version-history static page to v0.9.0-beta info + new fonts.
public/data/acww/art.json Adds ACWW art dataset.
public/data/accf/art.json Adds ACCF art dataset.
package.json Bumps version to 0.9.0-beta.
package-lock.json Aligns lockfile package version to 0.9.0-beta.
index.html Switches app font loadout to Fraunces + Inter.
docs/design-handoffs/v0.9_curator/theme.js Adds v0.9 handoff theme tokens (design artifact).
docs/design-handoffs/v0.9_curator/tabs.jsx Adds v0.9 handoff tab mock implementation (design artifact).
docs/design-handoffs/v0.9_curator/shell.jsx Adds v0.9 handoff shell mock (design artifact).
docs/design-handoffs/v0.9_curator/components.jsx Adds v0.9 handoff component mocks (design artifact).
docs/design-handoffs/v0.9_curator/Curator.html Adds v0.9 handoff runnable HTML (design artifact).
docs/design-handoffs/v0.9.2_curator/theme.js Adds v0.9.2 handoff theme tokens (design artifact).
docs/design-handoffs/v0.9.2_curator/shell.jsx Adds v0.9.2 handoff shell mock (design artifact).
docs/design-handoffs/v0.9.2_curator/components.jsx Adds v0.9.2 handoff component mocks (design artifact).
docs/design-handoffs/v0.9.2_curator/README.md Adds v0.9.2 handoff delta notes (design artifact).
docs/design-handoffs/v0.9.1_curator/theme.js Adds v0.9.1 handoff theme tokens (design artifact).
docs/design-handoffs/v0.9.1_curator/shell.jsx Adds v0.9.1 handoff shell mock (design artifact).
docs/design-handoffs/v0.9.1_curator/components.jsx Adds v0.9.1 handoff component mocks (design artifact).
docs/design-handoffs/v0.9.1_curator/README.md Adds v0.9.1 handoff delta notes (design artifact).
docs/design-handoffs/v0.9.1_curator/Curator.html Adds v0.9.1 handoff runnable HTML (design artifact).
docs/design-handoffs/README.md Documents the three v0.9 handoff passes and which is current.
docs/decisions.md Adds pointer entry directing v0.9 locked decisions to the plan doc.
docs/architecture.md Updates architecture doc to v0.9 and points to canonical .claude rules.
README.md Updates repo README to reflect v0.9 UI/feature set and current version.
.claude/rules/dev-process.md Updates dev preview URL used in process checklist.
.claude/rules/architecture.md Updates canonical architecture reference for v0.9 structure and decisions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +18 to +21
chipFish: "oklch(0.62 0.08 230)",
chipBug: "oklch(0.6 0.1 130)",
chipFossil: "oklch(0.55 0.06 60)",
chipArt: "oklch(0.58 0.08 320)",
Comment on lines +12 to +16
<div className="ac-glyph" style={{
background: donated ? tint : "transparent",
borderColor: tint,
color: donated ? "var(--surface)" : tint, backgroundColor: "rgb(98, 174, 118)"
}}>
@jacuzzicoding jacuzzicoding deleted the release/v0.9.0-beta branch May 4, 2026 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing art data for ACWW and ACCF

3 participants