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 NARROW_HORIZONTAL_TOP_LEFT_POSITION = newReadonlyVector(nil, 0, 2)
local NARROW_VERTICAL_TOP_LEFT_POSITION = newReadonlyVector(nil, 4, 0)
--- "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.ROOM_SHAPE_TO_TOP_LEFT_POSITION = {
    [RoomShape.SHAPE_1x1] = VectorZero,
    [RoomShape.IH] = NARROW_HORIZONTAL_TOP_LEFT_POSITION,
    [RoomShape.IV] = NARROW_VERTICAL_TOP_LEFT_POSITION,
    [RoomShape.SHAPE_1x2] = VectorZero,
    [RoomShape.IIV] = NARROW_VERTICAL_TOP_LEFT_POSITION,
    [RoomShape.SHAPE_2x1] = VectorZero,
    [RoomShape.IIH] = NARROW_HORIZONTAL_TOP_LEFT_POSITION,
    [RoomShape.SHAPE_2x2] = VectorZero,
    [RoomShape.LTL] = newReadonlyVector(nil, 13, 0),
    [RoomShape.LTR] = VectorZero,
    [RoomShape.LBL] = VectorZero,
    [RoomShape.LBR] = VectorZero
}
return ____exports
