Initial commit: Theriapolis baseline at port/godot branch point
Captures the pre-Godot-port state of the codebase. This is the rollback anchor for the Godot port (M0 of theriapolis-rpg-implementation-plan-godot-port.md). All Phase 0 through Phase 6.5 work is included; Phase 7 is in flight. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
namespace Theriapolis.Core.Dungeons;
|
||||
|
||||
/// <summary>
|
||||
/// Phase 7 M1 — a connection between two rooms in a dungeon, anchored by
|
||||
/// the door tile on each side. Connections are created by
|
||||
/// <see cref="RoomGraphAssembler"/> when matching one room's outgoing door
|
||||
/// to another's incoming door; they're authoritative for reachability
|
||||
/// (BFS over connections, not over the painted tile array).
|
||||
///
|
||||
/// Door coordinates are in dungeon-local tile space and address the
|
||||
/// *door tile itself* (carved out of the perimeter wall). The door state
|
||||
/// (open / closed / locked) lives in <see cref="Theriapolis.Core.Persistence.DungeonStateSnapshot"/>
|
||||
/// — this record carries only the deterministic baseline.
|
||||
/// </summary>
|
||||
public readonly record struct RoomConnection(
|
||||
int RoomA,
|
||||
int DoorAx,
|
||||
int DoorAy,
|
||||
int RoomB,
|
||||
int DoorBx,
|
||||
int DoorBy,
|
||||
/// <summary>Lock difficulty tier or "" for unlocked. Matches RoomDoor.Lock values.</summary>
|
||||
string Lock = "");
|
||||
Reference in New Issue
Block a user