Skip to content

refactor(rust): collapse save layer and trim unused APIs - #5

Open
h2cone wants to merge 1 commit into
mainfrom
refactor/collapse-save-and-trim-runtime
Open

refactor(rust): collapse save layer and trim unused APIs#5
h2cone wants to merge 1 commit into
mainfrom
refactor/collapse-save-and-trim-runtime

Conversation

@h2cone

@h2cone h2cone commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Summary

Collapse the unused save facade into core::progress and delete room-session helper modules that only forwarded work. This is mostly a code-size cut: 40 files, +193 / -2349.

Gameplay impact

  • Continue / death still use a single in-memory checkpoint. Unused save-slot APIs are gone.
  • The player aim indicator is removed from player.tscn.
  • World map no longer handles click-to-select; mouse events pass through.
  • Pressure plates resolve their door only via LDtk target_id, not target_room.
  • Unused Godot-facing entity/UI methods and signals (checkpoint, key/lock, crate freeze, door toggle, etc.) are gone.

What changed

  • core::progress owns the process-local store directly; save/ is deleted.
  • player_spawner, portal_connector, and room_event_connector are inlined into GameRoomManager / PlayerRuntime.
  • Player input and animation use fixed action/animation names instead of unused config structs.
  • Room size is the existing ROOM_WIDTH / ROOM_HEIGHT constants.
  • Unused glicol-exporter crate and a leftover .depren tileset file are deleted.
  • Docs (AGENTS.md, ARCHITECTURE.md) match the new module map.

Test plan

  • cd rust; cargo test --locked — 93 passed
  • New Game resets progress and starts at the initial room
  • Continue loads the last checkpoint when one exists
  • Death with a checkpoint respawns there; death without one restarts
  • Stars, keys, locks, and explored rooms persist across room loads
  • Pressure plates still open their linked switch doors
  • World map still highlights the current / explored rooms

Fold the unused save facade into core::progress and drop
save-slot machinery that never shipped. Inline room-session
helpers into GameRoomManager, remove the unused aim
indicator and unused Godot-facing entity/UI bindings, and
delete the unused glicol-exporter crate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant