namespace Theriapolis.Core.Dungeons; /// /// Phase 7 M1 — a connection between two rooms in a dungeon, anchored by /// the door tile on each side. Connections are created by /// 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 /// — this record carries only the deterministic baseline. /// public readonly record struct RoomConnection( int RoomA, int DoorAx, int DoorAy, int RoomB, int DoorBx, int DoorBy, /// Lock difficulty tier or "" for unlocked. Matches RoomDoor.Lock values. string Lock = "");