Open on the inside Open file formats
Asunder documents use open, documented file formats. The archive structure, JSON schemas, and binary
layouts are described here so files can be inspected, parsed, and migrated independently of the application.
Documented internals
Both formats are standard ZIP archives. Document data is stored as human-readable JSON, binary payloads
use documented layouts, and version markers are present at every level. The full archive structure, JSON
schemas, and binary formats are described on the pages below.
We want to collaborate
These specifications are a starting point. If you're building tools that read or write these formats,
we'd like to hear what's missing or unclear. Feedback and corrections from developers and toolmakers
are welcome.
What open means here
These formats evolve with the applications. We keep the file structure documented and inspectable across
versions. Any .asunder or .trellis file can be renamed to .zip and
extracted with standard tools — the contents are plain JSON and documented binary payloads, not a
proprietary blob.
The file extension is only the wrapper. The actual contract is the archive structure, the JSON sections,
the binary payloads, the version markers, and the rules for how they fit together. Each plugin that
contributes data to the file writes to its own namespaced key, so sections can be read or ignored
independently. A file from any version should be parseable without reverse engineering.
When the format changes, we document what changed, what stayed the same, and how older files load.
Version numbers are embedded at the manifest level and within individual sections, so a parser can detect
the format version before attempting to read the rest. The point of publishing a format is that it can be
depended on.
Markmaker .asunder
ZIP archive containing manifest metadata, plugin-keyed document JSON, raster tile binaries
(one PNG per tile per layer), and optional plugin payloads for brushes, palettes, and other
editor state.
Read the Markmaker format page
Trellis .trellis
ZIP archive containing shared manifest data, a vector scene-graph stored as JSON (objects,
paths, styles, artboard layout), and embedded raster assets when the document includes
placed images.
Read the Trellis format page