Upon further looking, I actually found that they actually did everything on-chain.
They stored their SVG layers in another contract, which can be found in their Github repo. An example of this would be:
If I want to follow something similar, by storing the SVG layers in another contract, how can I then link my main contract to multiple storage contracts and read from them?
Thank you