- Reveal component: feature & use cards fade-up as they enter the viewport
(IntersectionObserver, staggered), with a :not(.in) pattern so the card
hover-lift is never fought by the reveal transform
- Count component: hero stats ease-out count from 0 on load
- both respect prefers-reduced-motion and fall back to always-visible when
IntersectionObserver is unavailable (no stuck-invisible content)
- verified live: all 3 cards reveal to opacity 1, stats animate
- storefront header 'The mercenary roster' with a value-prop subtitle
- emoji category chips (uses TAG_EMOJI) so tags read as a directory
- always-present dashed 'Publish your own' card in the grid — the roster
never looks empty and it actively drives supply into My Booth
- verified live: header, emoji chips, and add-card all render
- remove dead 3D code: App/GemhallScene/SplashScene/ModelScene (unreferenced
since the 2D pivot) + the three dep and its empty manualChunk
- drop public/models (68MB of unused KayKit/poly-pizza GLBs)
- dist drops ~36MB -> 2.9MB; deploy now extracts to a staging dir and swaps
atomically (preserving .well-known), so users never see a mixed/stale state
and stale chunks no longer accumulate (28 -> 7 assets on the server)
- booth: welcoming first-run onboarding (3 steps to go live) replacing the
bare 'no classes yet' hint
- verified live: 2D home renders, 0 failed requests, booth welcome shows
- replace the lonely floating login form with a two-column 'Join the tavern' page
- left: pitch — headline, three benefit rows (hire/publish/deliver) with icon
tiles, cross-app SSO note, live stats
- right: the auth board (login/signup) in a clean static card
- responsive: stacks form-first on mobile (<=860px)
- verified live on desktop + mobile
- replace barren login gate with a full services hall visible to everyone
- hero banner (emblem, value prop, cyan accent, login CTA)
- Showcase room: LIVE badge, feature chips, subdomain URL preview, and
'log in to claim a subdomain' CTA when logged out; full register UI in
- Netdisk relay + Hosted webagent as designed SOON rooms (shimmer, feature chips)
- new mansion hall CSS; drop old thin mn-card/mn-soon styles
- verified live logged-out render at desktop width
- amerc-api: GET /docs + /docs/:id are public (reads); writes still require auth
- DocsApp/ConsoleShell: publicView mode renders docs read-only when logged out,
with a 'Log in to edit' header CTA; edit/new/delete hidden for anonymous
- Docs nav link now shown to everyone
- seeded 5 quality guides: Quickstart, Publish an agent, Embed a chatbox, Showcase, API reference
- hover a character (barkeep / two patrons) -> parchment speech bubble with flavor
- clicking routes to Browse / My Booth / Mansion — adds life + feature discovery
- verified bubble renders on hover
- 'Embed this agent on any website' is now a prominent block with one-click Copy
(+ copyToast) instead of a buried <details>; usage hint included
- Web PTY mode points to the Backstage/后台 terminal tab
- core loop verified: browse -> Use -> live connected chatbox + embed snippet
- new #/account: profile card (avatar initials + role badge + quick links),
change-password, and agent keys consolidated in one place
- topbar username now opens Account; separate logout button
- password change moved out of the tavern signed-in panel into a proper settings surface
- OpenGraph + Twitter card tags with the concept-art tavern as the preview image
- sharper title/description, theme-color for mobile browser chrome
- removed unused Press Start 2P font request (perf)
- (verified mobile nav/hamburger + layout already responsive — no fix needed)
- agent detail modal header gets the class avatar
- My Booth 'My classes' rows get avatar + online-pulse indicator (matches Browse)
- online instance status dots pulse; consistent visual language across the app
- /api/agents/activity: derived recent events (classes published, instances run,
sessions started, showcases opened) — no new schema
- landing feed with per-kind icons + relative time, auto-refreshes every 15s
- social proof / 'platform is alive' on the home page
- tavern hero now scrolls into a product section: 3 feature cards (browse/publish/deliver)
with CTAs, a 'three ways to use an agent' row (chatbox/web-terminal/reverse-proxy), + footer
- scroll cue under the hero; explains the product to first-time visitors
- footer on all inner pages: wordmark, tagline, link columns (Product/Resources/Platform)
- live status pill (checks /api/health + shows N online · N live sessions) with green pulse
- sticky-bottom layout; makes the app feel complete + builds trust
- amerc-api: owner column migration + /api/keys GET/POST/DELETE (user-scoped)
- My Booth: 'My agent keys' card — mint, list, revoke, with Bearer usage hint
- unblocks any user wiring their own agent to amerc docs/netdisk/platform (was admin-only)
- Home is now the concept tavern art composed in layers (background image +
interactive hotspot layer for nav/Browse Agents/Enter My Booth + live stat chips)
instead of procedural canvas art
- fonts switched to Georgia serif site-wide (matches the art); topbar hidden on home
- removed unused TopDownTavern procedural renderer
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>