2026rt — Source Overview

index.ts
Entry point. main() wires together Game, Viewport, and game loop.
dmap.ts
Holds dungeon map data: Tile kinds, DMap grid class, Point type, and generateDungeon(). Pure map/data.
game.ts
Game MODEL, which combines the mutable game state: map, player's position.
rdisplay.ts
ROT.JS display setup: createDisplay() loads font, builds/mounts rot.js display, keeps canvas scaled to window.
viewport.ts
Viewport: owns rot.js display, renders fixed-size view of dungeon centered on player via draw(game).
move-player.ts
"Turn" logic: the key-to-delta MOVEMENT table, movePlayer(game, key),
gameloop.ts
async input loop: gameLoop(game, viewport) awaits key presses via inputKey(), then redraws when player moves.
TRY