- D.1: Inventory display in NPC info panel (two-column grid below stats)
- D.2: Activity labels for gather/craft/build/dropoff goals
- D.3: Gold color for invention events in feed, lightbulb icon in history
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Runs every 100 ticks, checks each NPC for a probability-based eureka
moment scaled by INT and CUR stats. On trigger, sends LLM request with
available materials context, parses/validates the response, registers
the new item + recipe, emits narration, and records a memory event.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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>
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>
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>
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>
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>
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>
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>
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>