I am current implementing a parser for the Aseprite file format, following the format specification on GitHub. The documentation is really good!
The only thing that is a bit unclear to me is the User Data Chunk and its Property Maps.
The following questions came up for me regarding the property maps:
Regarding the “vector” property (type 0x0011):
Which element types can the vector contain? (Is it all property types? And if so, can it even contain vectors, or a nested property map?)
Regarding the “nested property map” (type 0x0012):
Can it contain another nested property map, so that theoretically, there would be no nesting limit?
You can assign a keyboard shortcut to open the developer console by going to Edit > Keyboard shortcuts, then searching for it in the input with the magnifying glass.
As far as I can tell, a vector can contain the same data types that a properties map can, including a property map, a vector and some – but not all – Aseprite specific objects (points, rectangles, sizes, uuids). A vector can contain a mixture of data types. A property map can contain another property map; not sure of any nesting limits.
I don’t know much on implementation details, but if you wanted to look at the source code, here are some places to start: