Commit Graph

218 Commits

Author SHA1 Message Date
root 57f3832b0b feat(industry): add invention validation pipeline
Validates LLM-generated invention JSON: checks inputs exist in
ItemRegistry, rejects name collisions (case-insensitive), validates
categories, and generates snake_case itemIds from names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:46:06 +00:00
root b6a08c8bd8 feat(industry): add InventionTimeline singleton for tracking inventions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:44:44 +00:00
root 66247276cd feat(llm): add invention prompt template
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:43:56 +00:00
root b8e63ba96d feat(config): add invention tuning values to industryConfig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:43:53 +00:00
root 878c6fe2b2 fix(industry): check toolRequired in findCraftable
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:33:58 +00:00
root 412e4dab7a docs: mark Phase B (crafting + building) as complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:31:13 +00:00
root 4e1ddf0e75 test(systems): add industry integration tests for gather/craft/build lifecycle
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:30:16 +00:00
root c7fd106011 feat(game): wire industrySystem, craftingSystem, buildingSystem, dropoffSystem into game loop
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:27:57 +00:00
root 82324f7666 feat(systems): integrate craft/build/dropoff goals into brain and movement
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:27:03 +00:00
root e0e5c6615e feat(systems): add industrySystem with craft/build/gather decision tree
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:25:39 +00:00
root 9247a8c6e4 feat(systems): add dropoffSystem for stockpile item transfer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:25:38 +00:00
root 5aa42d829b feat(systems): add buildingSystem with structure progress tracking
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:22:58 +00:00
root 6140823c99 feat(systems): add craftingSystem with input consumption and output production
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:22:19 +00:00
root 4399a1cd34 feat(industry): add RecipeRegistry with seed recipes for tools and structures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:20:38 +00:00
root e532c85d6b feat(config): add crafting and building tuning values 2026-03-08 23:19:10 +00:00
root b019beff82 feat(shared): add craft, build, dropoff goal types
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:19:05 +00:00
root dbe8ecd82e feat: Phase A — harvestable map + gathering system
Adds resource generation (water ponds, stone deposits, trees), NPC gathering
behavior driven by a new productivity need, inventory system, and client-side
stone tile rendering. 304 tests passing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:54:51 +00:00
root bfaa0ce6b8 docs: mark Phase A (harvestable map + gathering) as complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:52:52 +00:00
root 2abcb7b1e1 feat(client): render stone terrain tiles as gray overlays
Stone tiles now display as gray rectangles with darker borders instead of
being hidden under the base grass layer. Also treats stone as a land tile
for water edge autotiling so water/stone boundaries render correctly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:52:10 +00:00
root 25d842e367 feat(systems): pause movement during gathering, wire gathering into game loop
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:50:48 +00:00
root 3a075b68e0 feat(protocol): broadcast inventory and resource tiles to clients
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:50:38 +00:00
root 5fba656c62 feat(systems): add gatheringSystem with timer, stat modifier, and inventory
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:49:47 +00:00
root 61c463c1c7 feat(brain): add gather goal when productivity is low
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:47:51 +00:00
root e1edbd47c6 feat(needs): add productivity decay to needsDecaySystem
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:46:57 +00:00
root 4670bfc08b feat(spawner): add productivity need and inventory to spawned NPCs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:45:34 +00:00
root 096597e7e5 feat(loop): register ItemRegistry and load resource tiles
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:44:59 +00:00
root 429523f3b4 feat(map): generate water ponds, stone deposits, and tree resources
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:43:47 +00:00
root b3a9197aec feat(industry): add inventory helper functions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:41:18 +00:00
root 25546b5f44 feat(industry): add ItemRegistry with seed resources
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:41:03 +00:00
root 4f48c65fe3 feat(config): add industry config for gathering and map generation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:40:33 +00:00
root 53750df48b feat(shared): add productivity need, gather goal, inventory, STONE terrain
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:40:09 +00:00
root f6792baf68 docs: phase resource system design into 4 independent implementation stages
Break the monolithic 2.2 design into Phases A-D that can each be
implemented in a separate session with cleared context. Each phase
section is self-contained with all needed specs and file references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:28:17 +00:00
root ce2caa4ae1 fix(memory): use auto-incrementing id as tick proxy for recency scoring
Events recorded with tick: 0 now get a meaningful tick value from the
service's internal counter, ensuring selectForPrompt recency scoring
works correctly. Also fixed preferTypes to accept readonly arrays.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:09:01 +00:00
root ccb53d8a17 docs: mark task 2.1 (NPC event memory) as complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:05:46 +00:00
root cb59636cd9 feat(memory): add shared history context to social narration prompts
When narrating social interactions, the LLM now receives up to 3 shared
history events between the two NPCs, enabling more contextual narrations
that reference past encounters.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:04:52 +00:00
root 1db8935de3 feat(memory): integrate event memory into thought generation context
Replace the simple last-2-narration-events approach with smart selection
of up to 5 memory events, preferring types relevant to the thought trigger
(social events for post-interaction, need events for need-critical).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:04:46 +00:00
root 7194321e1b feat(memory): add client memory events, History tab in NPC info panel
Wire SocketClient to receive memory-event and memory-history socket
events. GameScene stores per-NPC memory events and updates the info
panel in follow mode. NpcInfoPanel gains a third "History" tab showing
a reverse-chronological event log with emoji icons per event type.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:02:16 +00:00
root 1a83814a0f feat(memory): record need crisis, recovery, and goal change events
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:59:42 +00:00
root 1b114a1897 feat(memory): record tier changes and bond dissolution events
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:58:09 +00:00
root ef7a792750 feat(memory): record spawned, social, proposal, and bond events
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:56:42 +00:00
root 2c4a0d1f75 feat(memory): wire EventMemoryService into GameLoop and SocketServer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:54:56 +00:00
root 1f5cafe2fd feat(memory): add EventMemoryService with smart selection and tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:52:46 +00:00
root ba487839fd feat(memory): add MemoryEvent types and socket events to shared
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:50:08 +00:00
root 48332b104c docs: add NPC event memory implementation plan (task 2.1)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:46:48 +00:00
root 7f2097be0e docs: add NPC event memory system design (task 2.1)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:41:31 +00:00
root 35d1bb0bee fix: update socialSystem tests to match new tuning values
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:19:16 +00:00
root d58e623c14 tweak: reduce stat drift rates and increase social cooldowns
- Halve sociability/empathy drift on positive outcome (0.05 -> 0.025)
- Halve temperament drift on negative outcome (0.02 -> 0.01)
- Increase social global cooldown (50 -> 75 ticks)
- Increase social pair cooldown (300 -> 450 ticks)
- Increase base proposal cooldown (500 -> 750)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:18:03 +00:00
root eb79c5e481 fix(thought): add missing trigger types and prevent emoji overlap
- determineTrigger now detects post_interaction (recent social outcome),
  need_critical, idle (wandering), and periodic triggers
- Track active emoji per NPC, destroy previous before showing new one

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:16:24 +00:00
root 22956c2050 docs: mark task 1.4 (NPC inner monologue) as complete
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:12:51 +00:00
root daddf2583d feat(thought): wire client socket, GameScene thought handling, emoji animation, and info panel display
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 21:12:00 +00:00