root
03f837f95f
feat: use bond-aware classification in state serializer
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 19:34:22 +00:00
root
0bfeef7fa1
feat: add proposal interaction handling to social system
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 19:33:22 +00:00
root
66596fb96d
feat: add proposal queuing and bond-aware despawn to relationship system
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 19:24:32 +00:00
root
bf2a9817ab
fix: update tests for new SocialState shape and Devoted tier
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 19:21:58 +00:00
root
db808bca86
feat: initialize bond registry singleton and update spawner
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 19:21:54 +00:00
root
f8ad3a6f0c
feat: rename Partner tier to Devoted, add bond-aware classification
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 19:20:26 +00:00
root
7b70b9c8bf
feat: add proposal system config values
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 19:18:40 +00:00
root
925f8a7494
feat: add bond registry with helpers for mutual relationships
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 19:16:33 +00:00
root
6b32e115b0
feat: add singleton support to World ECS
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 19:14:13 +00:00
root
97c2176b75
feat: wire relationship system into spawner, game loop, and serializer
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 15:35:59 +00:00
root
4f5e4f34ba
feat: add relationshipSystem with delta calculation and despawn handling
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 15:34:46 +00:00
root
df0f036cf2
feat: emit lastOutcome from socialSystem for relationship processing
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 15:31:47 +00:00
root
cdfc35d5da
feat: add relationship classification helpers with tests
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 15:30:22 +00:00
root
87ab1b4c10
feat: add relationship config with tuning values
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 15:29:38 +00:00
root
7d196524d6
fix: clamp baseline drift both directions, make updateStats private
...
- Add Math.max(3, ...) to baseline drift in socialSystem to prevent
stats drifting below minimum (was only clamping upward with Math.min)
- Make NpcInfoPanel.updateStats private (only called from updateInfo)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 14:31:29 +00:00
root
0fc186b4f3
feat: serialize effective stats in entity state broadcast
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 14:27:24 +00:00
root
c7b998dbd0
feat: add event-based transient stat modifiers on social outcomes
...
Positive outcomes add +1 sociability modifier (100 ticks).
Negative outcomes add -1 sociability and -1 empathy modifiers (100 ticks).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 14:26:20 +00:00
root
78cede4b32
feat: add baseline stat drift on social interaction outcomes
...
Positive social outcomes drift sociability and empathy up (+0.05),
negative outcomes drift temperament up (+0.02), capped at 18.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 14:25:49 +00:00
root
fbe06e9d79
feat: integrate perception, sociability, and empathy into social system
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 14:23:21 +00:00
root
42b574259f
feat: integrate constitution into needs decay rates
...
High constitution slows hunger/energy decay, low constitution speeds it.
Uses getEffectiveStat helper which defaults to 10 for entities without
stats, preserving backward compatibility.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 14:22:09 +00:00
root
c5d75fa0b0
feat: wire stats into NPC spawner and game loop
...
Add stats and statModifiers components to spawnNPC, and run
statModifierSystem as the first system in the GameLoop update cycle.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 14:20:43 +00:00
root
e90e69ce35
feat: add statModifierSystem with needs-based modifiers
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 14:19:26 +00:00
root
aebfad07ce
feat: add getEffectiveStat helper for computed stat values
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 14:17:49 +00:00
root
9c6834c05f
feat: add 3d6 stat generation for NPCs
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 14:15:29 +00:00
root
7e5f430204
feat: handle spawn-npc socket event with cap and position logic
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 13:37:36 +00:00
root
1576e6b717
feat: add optional positionHint to spawnNPC
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 13:36:37 +00:00
root
fa02a6e93e
feat: add findNearestWalkable method to GameMap
...
Adds a method that searches outward from a center position in Manhattan
distance rings to find the nearest walkable tile within a given radius.
Returns null if no walkable tile is found. Includes 5 tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 13:35:00 +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
8daecfaa3f
feat: wire socialSystem into game loop, spawner, and state serializer
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 13:06:08 +00:00
root
7cfc8c0537
feat: add social interaction guards to brain and movement systems
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 13:05:05 +00:00
root
ac3f26a470
feat: implement socialSystem with proximity detection and phase state machine
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 13:02:31 +00:00
root
d0a7bfc4bc
test: add failing tests for social interaction system
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 13:00:34 +00:00
root
0cf48ded61
feat: add NPC name generator and broadcast names in entity state
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 04:33:42 +00:00
root
d46677389f
feat: generate portrait features (brows, eyes, mouths) for NPCs
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 04:31:22 +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
fc29bc204c
fix: give player entities an appearance component for avatar mode rendering
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 20:21:05 -05:00
andy
8fee2faf1e
feat: add Socket.io server with state broadcasting and player input handling
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 19:13:07 -05:00
andy
ca05d36bc0
feat: add game loop with NPC spawning and system execution
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 18:53:19 -05:00
andy
a8e18b9535
feat: add random appearance generator for NPC spawning
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 18:38:30 -05:00
andy
83660609fc
feat: implement NPC systems (needs decay, brain, movement)
...
Add three ECS systems for NPC simulation:
- needsDecaySystem: decrements hunger/energy each tick, clamped at 0
- npcBrainSystem: goal selection based on need thresholds with pathfinding
- movementSystem: advances entities along computed paths
Includes 8 passing tests covering decay, goal prioritization, and movement.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 18:19:07 -05:00
andy
30ea2f42c2
feat: add GameMap and A* pathfinding with tests
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 18:13:31 -05:00
andy
733d1eb795
feat: implement lightweight ECS core with tests
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 18:12:48 -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