function Canvas.getEmptySpot(L)if L:isFull()then return false,constants.Errors.CanvasFull end local w={}for L,s in ipairs(L.spots)do if not s:hasArt()then table.insert(w,s)end end local s=L.rng:NextInteger(1,#w)return true,w[s]end

function Canvas:getEmptySpot()
	if self:isFull() then
		return false, constants.Errors.CanvasFull
	end

	local emptySpots = {}
	for _, spot in ipairs(self.spots) do
		if not spot:hasArt() then
			table.insert(emptySpots, spot)
		end
	end

	local spotIndex = self.rng:NextInteger(1, #emptySpots)

	return true, emptySpots[spotIndex]
end
