--[[
	Keeps track of a single surface canvas. Manages all of the spots in a single canvas as well.
]]

local HttpService = game:GetService("HttpService")
local constants = require(script.Parent.Parent.Constants)

local Canvas = {}
Canvas.__index = Canvas

function Canvas.new()
	local self = {
		id = HttpService:GenerateGUID(false),

		-- Table list of all spots in the canvas
		spots = {},

		-- RNG instance to be injected
		rng = Random.new(),
	}

	setmetatable(self, Canvas)

	return self
end
