feedBack/plugins/career
Byron Gamatos 7ffa6e2c51
feat(career): passport UI — the book, the stamp, the rack (#936)
The Passports tab beside Venues renders the badge journey physically:

- Per-instrument passport book: embossed CSS-leather cover, 3D page-turn
  spread (badge page left, ticket stubs right), Escape/backdrop close.
- Wax-seal commitment ceremony (Stage 0) — pressing the seal commits the
  instrument; opening a first passport runs the ceremony implicitly.
- Rubber-stamp badge slam: earned badges chime + notify immediately, the
  slam (with ink bleed, page shake, deterministic sin-hash jitter) plays
  when the passport is next opened, then the badge is marked seen.
- Ticket-stub repertoire: qualifying songs as collected stubs.
- Brochure rack: unopened genres as "Explore next" invitations — no
  greyed slots, no completion meters (the anti-list as layout).
- Drill relay: on virtuoso:progress bus events the career screen posts
  the full virtuoso.progress localStorage snapshot to the drill-state
  intake (debounced; one-time bootstrap when the server has none).
- Four synthesized sfx (stamp/seal/page/chime, 13 KB total) as plugin
  assets; prefers-reduced-motion disables the theatrics.

Pure logic (ppKey, ppJitter, badge diff/seen) is covered by a bare-vm
node --test suite via a window.__careerPassportTest seam.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 11:56:32 +02:00
..
assets feat(career): passport UI — the book, the stamp, the rack (#936) 2026-07-13 11:56:32 +02:00
tests feat(career): passport UI — the book, the stamp, the rack (#936) 2026-07-13 11:56:32 +02:00
venue-packs/bar feat(career): bundle dive bar venue pack (#927) 2026-07-12 22:58:04 +02:00
passports.json feat(career): passport backend — genre badges computed from stars (#935) 2026-07-13 11:47:59 +02:00
plugin.json feat(career): passport backend — genre badges computed from stars (#935) 2026-07-13 11:47:59 +02:00
routes.py feat(career): passport backend — genre badges computed from stars (#935) 2026-07-13 11:47:59 +02:00
screen.html feat(career): passport UI — the book, the stamp, the rack (#936) 2026-07-13 11:56:32 +02:00
screen.js feat(career): passport UI — the book, the stamp, the rack (#936) 2026-07-13 11:56:32 +02:00
settings.html feat(career): passport backend — genre badges computed from stars (#935) 2026-07-13 11:47:59 +02:00
venues.json feat(career): career plugin — stars, venue tiers, pack downloads (career mode 2/3) (#907) 2026-07-12 22:39:19 +02:00