feat(io): MapView model (CellState, RoomCell, Connection, MapView)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
makiolajandClaude Opus 4.8 committed 2026-05-31 20:58:58 +02:00
1 parent 42dbcd9696
commit e10ff2cf99
5 files changed
+40

No files matched your search

@@ -0,0 +1,4 @@
package thb.jeanluc.adventure.io.text;
/** Fog-of-war state of a room on the map. */
public enum CellState { CURRENT, VISITED, KNOWN }
@@ -0,0 +1,4 @@
package thb.jeanluc.adventure.io.text;
/** A corridor between two placed rooms. */
public record Connection(RoomCell from, RoomCell to) {}
@@ -0,0 +1,11 @@
package thb.jeanluc.adventure.io.text;
import java.util.List;
/** Frontend-agnostic snapshot of the visible map: placed cells + connections. */
public record MapView(List<RoomCell> cells, List<Connection> connections) {
public MapView {
cells = List.copyOf(cells);
connections = List.copyOf(connections);
}
}
@@ -0,0 +1,4 @@
package thb.jeanluc.adventure.io.text;
/** A room placed on the map grid at integer coords, with its fog-of-war state. */
public record RoomCell(String id, String name, int x, int y, CellState state) {}