Commit Graph

16 Commits

Author SHA1 Message Date
root 02a8fc7ce8 fix: prevent async race in sprite creation and emoji lifecycle leak
Two bugs fixed:

1. NPC sprites not fully rendering: createEntitySprite is async but was
   called without await from handleStateUpdate. Concurrent state updates
   triggered multiple simultaneous creation calls for the same entity.
   The second call composited before textures loaded, producing empty
   spritesheets. Fixed with a creatingEntities guard set.

2. Interaction emojis not appearing after first use: animationend
   listener was attached during removal (when animation had already
   completed), so it never fired. Ghost entries in activeEmojis map
   blocked future emoji creation. Fixed by self-cleaning via
   animationend listener attached at creation time.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 13:18:20 +00:00
root d011dcf183 fix: address code review - pair-based phase transitions and emoji animation lifecycle
- Process phase transitions per-pair instead of per-entity to avoid
  double-processing (latent bug for future side effects)
- Restore independent outcome rolls per NPC (as designed)
- Let emoji CSS animation finish before removing DOM element, preventing
  visual pop when server broadcast timing doesn't align with animation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 13:12:01 +00:00
root 2a6c928c75 feat: show Socializing activity in NPC info panel during interactions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 13:08:47 +00:00
root cabb129fdf feat: add floating emoji overlay for NPC social interactions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 13:07:40 +00:00
root 836ea77c73 fix: allow game.conlon.fun in vite dev server
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 04:49:05 +00:00
root 4374914b29 fix: filter player entities from follow mode, remove redundant updateNeeds, show NPC name in mode text
- getNpcIds() now excludes player-controlled entities
- Remove double updateNeeds call in handleStateUpdate (updateInfo already calls it)
- Mode text shows NPC name instead of just ID

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 04:43:40 +00:00
root 03849c9505 style: EarthBound-inspired NPC info panel with doubled borders and pixel aesthetic
Authentic SNES RPG window styling: doubled rounded borders with gap,
deep indigo palette, portrait frame, diamond separators, gradient
need bars with numeric readout, diagonal shine overlay.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 04:40:11 +00:00
root d8d3e75157 feat: add Press Start 2P pixel font for NPC info panel
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 04:38:49 +00:00
root dfed8401e4 feat: integrate NPC portrait panel with follow mode in GameScene
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 04:37:42 +00:00
root ffdfd1474e feat: add NpcInfoPanel HTML/CSS overlay with EarthBound-style UI
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 04:35:46 +00:00
root 1bbbba477b feat: add PortraitCompositor for layered NPC portrait images
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 04:35:20 +00:00
andy b94ad32806 feat: viewport modes, configurable server URL, deployment docs
- Add follow mode (F key) to cycle camera between NPCs
- Make server URL configurable via VITE_SERVER_URL env var
- Add comprehensive README with Debian LXC deployment guide
- Add character sprite assets to repo
- Add design docs and implementation plans

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 22:25:53 -05:00
andy 6ffa52ffba feat: implement game scene with entity rendering, camera, and input
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:01:59 -05:00
andy 2305b48df2 feat: add character compositor that layers skin + accessories into cached textures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 19:13:07 -05:00
andy 8b2e895da2 feat: add client entry point, boot scene, and socket client
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 18:53:09 -05:00
andy 39c19568c1 feat: scaffold monorepo with shared, server, and client packages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 18:09:07 -05:00