CanvasSet
A CanvasSet works the same way Set does, except it always renders its content onto an internal texture (see Canvas). This used to be the original implementation for sets and CanvasSet exists mainly for legacy reasons.
In most cases, Set is the recommended choice over CanvasSet.
Related articles
Sample NoveltyML
<CanvasSet name="My set">
<State name="Happy">
<Image texture="Happy face" />
</State>
<State name="Sad">
<Image texture="Sad face" />
</State>
</CanvasSet>