Export Format
Ideallo documents can be exported as self-contained JSON files for backup, sharing, and interoperability.
File Format
- File extension:
.ideallo - Content type:
application/vnd.cloudillo.ideallo+json - Format version:
3.0.0 - Encoding: UTF-8 JSON
v3 generic export format
Since format version 3.0.0, Ideallo uses the generic exportYDoc() serializer from @cloudillo/crdt. All Yjs types carry inline @T type markers and data keys match the raw CRDT shared type names. See v3 Generic Export Format for the full specification.
Envelope Structure
Envelope Fields
| Field | Type | Description |
|---|---|---|
contentType |
string |
Always "application/vnd.cloudillo.ideallo+json" |
appVersion |
string |
Ideallo version that created this export |
formatVersion |
string |
Export format version (currently "3.0.0") |
exportedAt |
string |
ISO 8601 timestamp of export |
Data Fields
| Key | @T |
Yjs Type | Description |
|---|---|---|---|
m |
M |
Y.Map |
Document metadata (name, background color, grid settings) |
o |
M |
Y.Map<StoredObject> |
All objects keyed by ObjectId, using compact field names |
r |
A |
Y.Array<string> |
Z-order array of ObjectId values (index 0 = backmost) |
txt |
M |
Y.Map<Y.Text> |
Text content keyed by ObjectId – Y.Text with text and delta fields |
geo |
M |
Y.Map<Y.Array<number>> |
Polygon vertices keyed by ObjectId – flat [x, y, x, y, ...] arrays |
paths |
M |
Y.Map<string> |
SVG path strings keyed by ObjectId |
Text content preserves formatting in v3
The txt entries are Y.Text instances serialized with @T: "T", containing both text (plain text) and delta (Quill Delta operations). This preserves rich text formatting. In pre-v3 exports, text was a plain string from Y.Text.toJSON().
Numeric Precision
All numeric values are rounded to 3 decimal places in the export to produce cleaner output. For example, a position of [100.123456, 200.789012] becomes [100.123, 200.789].
Complete Example
A minimal whiteboard with a rectangle, text label, sticky note, and freehand path:
In this example:
- Rectangle (
aB3x_Qm7kL9p): Blue filled rectangle with rounded corners, custom stroke color - Text (
Xk2nR8vH_wYq): Text label positioned inside the rectangle, using default stroke color - Sticky (
m4Jf_L1pZq8w): Yellow sticky note with reminder text - Freehand (
Hw5_qT2mLkJx): Wavy freehand path with custom stroke width, SVG path data stored inpathsmap - The
rarray lists objects from back to front – the rectangle is behind everything, and the freehand path is on top - All
Y.Mapentries carry"@T": "M", the z-order array carries"@T:A", and text content uses"@T": "T"withtextanddeltafields