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