local ____exports = {}
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
local ____constants = require("core.constants")
local VectorZero = ____constants.VectorZero
local ____readOnly = require("functions.readOnly")
local newReadonlyVector = ____readOnly.newReadonlyVector
local TWO_BY_TWO_BOTTOM_RIGHT = newReadonlyVector(nil, 25, 13)
--- "Vector(0, 0)" corresponds to the top left tile of a room, not including the walls. (The top-left
-- wall would be at "Vector(-1, -1)".)
____exports.L_ROOM_SHAPE_TO_RECTANGLES = {
    [RoomShape.LTL] = {
        verticalTopLeft = newReadonlyVector(nil, 13, 0),
        verticalBottomRight = newReadonlyVector(nil, 25, 13),
        horizontalTopLeft = newReadonlyVector(nil, 0, 7),
        horizontalBottomRight = TWO_BY_TWO_BOTTOM_RIGHT
    },
    [RoomShape.LTR] = {
        verticalTopLeft = VectorZero,
        verticalBottomRight = newReadonlyVector(nil, 12, 13),
        horizontalTopLeft = newReadonlyVector(nil, 0, 7),
        horizontalBottomRight = TWO_BY_TWO_BOTTOM_RIGHT
    },
    [RoomShape.LBL] = {
        verticalTopLeft = VectorZero,
        verticalBottomRight = newReadonlyVector(nil, 25, 6),
        horizontalTopLeft = newReadonlyVector(nil, 13, 0),
        horizontalBottomRight = TWO_BY_TWO_BOTTOM_RIGHT
    },
    [RoomShape.LBR] = {
        verticalTopLeft = VectorZero,
        verticalBottomRight = newReadonlyVector(nil, 25, 6),
        horizontalTopLeft = VectorZero,
        horizontalBottomRight = newReadonlyVector(nil, 12, 13)
    }
}
return ____exports
