The main window holds any number of documents, which are called Canvas. Each canvas can have any number of Layers, arranged as a list. Each layer represents an individual bitmap in the size of the canvas. Depending on each layer's blending mode, they are composed on top of each other to form the final canvas bitmap.
Each layer can contain any number of Objects, which are created with WonderBrush's tools, e.g. brush strokes, shapes, text objects or filters. Each object has a set of properties which define the unique appearance of the object on the layer.
At any time, it is possible to reorder the layers, or edit the objects they contain. This could be called non-linear editing. It is also possible to change most of an object's properties later on. This could be called non-destructive editing, because adding another object (like a filter) does not actually destroy any pixel data.
An open WonderBrush document references up to two files: one is a file in some export format (e.g. an SVG document, some bitmap format like PNG or JPEG, etc.). The other is a full-featured project file.
The canvas resolution can be changed at any time, with all objects being resized accordingly. This makes WonderBrush a kind of hybrid of bitmap and vector editor.