Implements Timmy as an economic peer with sovereign Nostr presence:
- nostr.js: New module handling keypair lifecycle (localStorage),
NIP-01 signed notes, NIP-57 zap requests, NIP-58 badge awards,
relay broadcast, and an economic activity feed
- app.js: Imports nostr module; adds 3D holographic "ECONOMIC" panel
on the left side of the Nexus showing live npub + activity feed;
wires /zap, /vouch, /note, /identity, /relays chat commands;
animates economic panel scanline in game loop
- index.html: Adds Nostr identity HUD widget (top-right) showing npub
with Zap, Vouch, and ID buttons; Zap modal and Vouch modal for
point-and-click economic actions; inline module script for modal UX
- style.css: Full design system for .nostr-panel, .nostr-modal,
form inputs, action buttons, status indicators, and zapFlash
keyframe animation on incoming zaps
Keypair persists in localStorage (timmy_nostr_privkey_v1).
Broadcasts to damus.io, relay.nostr.band, nos.lol, relay.snort.social.
Fixes#13
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>