jpmschweitzer and Claude Fable 5
257d979aed
refactor(simulation): split the input.rs and dialogue.rs dispatchers (T-1062)
...
input.rs 2,739 → 858 lines: per-domain action handlers moved to their
owning modules (inventory, movement, stance, examine, follow, interaction,
save_io, settings, bridge::debug, economy, vision_cone, bookmark,
test_world reset + new teleport.rs); input.rs keeps the queue, the thin
dispatch table, and pause/cooldown glue. All 9 type_complexity allows
dissolved via one PlayerInputQuery alias.
dialogue.rs → dialogue/ directory module: selection (631), response
(1,473), confrontation (714), mod.rs (226, shared session components +
re-exports — public paths preserved). Documented seam deviation:
process_walk_away lives with confrontation (D-064/D-063 share the same
world-response shape).
Mechanical, zero behavior change: determinism + golden_suite byte-identical
(independently re-verified); 1,504 lib tests unchanged — 23 input tests
moved with their subjects, 53 dialogue tests redistributed, zero deleted.
System scheduling registrations untouched (input_plugin.rs 0-line diff).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-12 17:07:36 +02:00
jpmschweitzer and Claude Opus 4.6
9f755f2a62
feat(simulation): persist SelectedBookmark across save/load ( #863 , #862 )
...
Adds Serialize/Deserialize to SelectedBookmark and wires it into
SaveStateV1 so a loaded game remembers which bookmark and starting
location the player picked. Replaces the TODO at bookmark/mod.rs:95
(originally deferred to Sprint 37 alongside #614 ).
Also refactors BookmarkPlugin to accept an injected BookmarkRegistry
via BookmarkPlugin::new(registry) (#862 ). The Default constructor
still wires the canonical tycoon registry — injection is for tests
and future TOML loading. Flagged in PR #132 review as a follow-up.
Updates bookmark spec §4.4 to remove the v0.2-deferred scope note.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-22 08:54:21 +02:00
jpmschweitzer and Claude Opus 4.7
13530910c9
fix(server): PR #132 review round 2 — 14 actionable comments addressed
...
Blockers (4):
- Wire cargo deny check into pre-pr-server (was dead config) (#1 )
- ConfirmBookmark idempotency guard: SimError ProtocolError on retry (#2 )
- D-080 amendment: transfer_npc_knowledge retained-but-dormant honest doc (#3 )
- SelectedBookmark v0.2 transient scope; save/load deferred to #863 (#4 )
Issues (8):
- ConfirmBookmark validation tests: unknown id, invalid location,
valid path, double-confirm guard (#5 )
- snapshot_with_bookmark_catalog fixture for client #618 decode tests (#6 )
- generate_brands: replace 5 raw .unwrap() with eprintln+exit pattern (#7 )
- npc_knowledge_transfer.rs: stale run_npc_conversations refs cleaned (#8 )
- monologue.rs: residual D-078 "overheard conversations" doc removed (#9 )
- 5 test files: orphan blank lines from removed conversation_* fields (#10 )
- BookmarkCatalog: add PartialEq, Eq derives (matches sibling) (#11 )
Nits (2):
- culture_tag doc: describe BookmarkRegistry::build_catalog behavior,
remove "until #679 lands" placeholder (#13 )
- generate_brands seed=1 canonical comment (#14 )
Follow-ups filed:
- #862 — BookmarkPlugin::new(registry) injection (#12 deferred)
- #863 — Wire SelectedBookmark into SaveState (Sprint 37)
Pre-pr-server: fmt clean, clippy clean, deny clean, build clean.
nextest save_io failures pre-existing parallelism issue (sequential
cargo test --lib passes 20/20).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-19 18:04:46 +02:00
jpmschweitzer and Claude Sonnet 4.6
e86e53ec06
feat(engine): retire D-078 overheard conversation system ( #848 )
...
Per R-012: delete conversation.rs, both overheard content files, and
remove all 6 wire-up points (social_plugin, bridge/types, monologue,
voice/integration). Protocol version 22 → 23. Scope confirmed by
#842 audit — npc/ and content/global/ untouched. Surviving NPC
components (NpcName, NpcColorIndex, NpcConversation) migrated to
simulation/npc_components.rs for use by D-080 knowledge propagation.
Also applies pre-existing cargo fmt debt (names.rs and 4 others).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 14:08:26 +02:00
jpmschweitzer and Claude Sonnet 4.6
c19d84f2e3
feat(simulation): bookmark definition system with bridge protocol ( #614 )
...
BookmarkPlugin, BookmarkRegistry, SelectedBookmark resources. Tycoon bookmark
defined; PROTOCOL_VERSION bumped to 22. RequestBookmarkCatalog + ConfirmBookmark
actions wired into process_player_input via BookmarkInputParams SystemParam bundle
(resolves Bevy's 16-system-param limit). build_catalog() accepts optional
CultureResolver for D-128 location-culture mapping. Snapshot delivery at tick-0
via SnapshotBuffer.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-19 13:12:43 +02:00