local ____exports = {}
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
local RoomShape = ____isaac_2Dtypescript_2Ddefinitions.RoomShape
local ____roomShapeVolumes = require("objects.roomShapeVolumes")
local ONE_BY_ONE_CONTENTS_HEIGHT = ____roomShapeVolumes.ONE_BY_ONE_CONTENTS_HEIGHT
local ONE_BY_ONE_CONTENTS_WIDTH = ____roomShapeVolumes.ONE_BY_ONE_CONTENTS_WIDTH
local ONE_BY_ONE_LAYOUT_SIZE = {ONE_BY_ONE_CONTENTS_WIDTH, ONE_BY_ONE_CONTENTS_HEIGHT}
local TWO_BY_ONE_VERTICAL_LAYOUT_SIZE = {ONE_BY_ONE_CONTENTS_WIDTH, ONE_BY_ONE_CONTENTS_HEIGHT * 2}
local TWO_BY_ONE_HORIZONTAL_LAYOUT_SIZE = {ONE_BY_ONE_CONTENTS_WIDTH * 2, ONE_BY_ONE_CONTENTS_HEIGHT}
local TWO_BY_TWO_LAYOUT_SIZE = {ONE_BY_ONE_CONTENTS_WIDTH * 2, ONE_BY_ONE_CONTENTS_HEIGHT * 2}
--- The dimensions of a room shape's layout. This is NOT the size of the room's actual contents! For
-- that, use `ROOM_SHAPE_BOUNDS`.
-- 
-- For example, a horizontal narrow room has a layout size of equal to that of a 1x1 room.
____exports.ROOM_SHAPE_LAYOUT_SIZES = {
    [RoomShape.SHAPE_1x1] = ONE_BY_ONE_LAYOUT_SIZE,
    [RoomShape.IH] = ONE_BY_ONE_LAYOUT_SIZE,
    [RoomShape.IV] = ONE_BY_ONE_LAYOUT_SIZE,
    [RoomShape.SHAPE_1x2] = TWO_BY_ONE_VERTICAL_LAYOUT_SIZE,
    [RoomShape.IIV] = TWO_BY_ONE_VERTICAL_LAYOUT_SIZE,
    [RoomShape.SHAPE_2x1] = TWO_BY_ONE_HORIZONTAL_LAYOUT_SIZE,
    [RoomShape.IIH] = TWO_BY_ONE_HORIZONTAL_LAYOUT_SIZE,
    [RoomShape.SHAPE_2x2] = TWO_BY_TWO_LAYOUT_SIZE,
    [RoomShape.LTL] = TWO_BY_TWO_LAYOUT_SIZE,
    [RoomShape.LTR] = TWO_BY_TWO_LAYOUT_SIZE,
    [RoomShape.LBL] = TWO_BY_TWO_LAYOUT_SIZE,
    [RoomShape.LBR] = TWO_BY_TWO_LAYOUT_SIZE
}
return ____exports
