Right now the Three.js integration is explicitly integrated as a "Shadow" class and called inside the Canvas class. It needs to be converted to be more general use. We need to look at how Layers are called too. We should probably pass layer args directly to the Layer class instead of parsing them out inside the Canvas, it's creating code duplication the way it is setup currently. We should also have a CreateLayer2D and CreateLayer3D methods instead of using the same CreateLayer?
Right now the Three.js integration is explicitly integrated as a "Shadow" class and called inside the Canvas class. It needs to be converted to be more general use. We need to look at how Layers are called too. We should probably pass layer args directly to the Layer class instead of parsing them out inside the Canvas, it's creating code duplication the way it is setup currently. We should also have a CreateLayer2D and CreateLayer3D methods instead of using the same CreateLayer?