Ideallo supports 9 object types, all sharing a common set of base fields and inline style fields with type-specific extensions.
Base Fields
Every stored object has the following fields defined by StoredObjectBase:
Field
Type
Default
Description
t
ObjectTypeCode
(required)
Object type discriminant
xy
[number, number]
(required)
Position [x, y] on the infinite canvas
r
number
0
Rotation in degrees (omitted if 0)
pv
[number, number]
[0.5, 0.5]
Pivot point normalized 0–1 (omitted if center)
lk
true
false
Locked – only stored when true
sn
true
false
Snapped – Smart Ink auto-detected as shape (only stored when true)
Inline Style Fields
Every stored object also includes inline style fields from StoredStyle:
Field
Type
Default
Description
sc
string
'n0'
Stroke color (palette key or CSS color)
fc
string
'transparent'
Fill color (palette key or CSS color)
sw
number
2
Stroke width in pixels
ss
StrokeStyleCode
'S' (solid)
Stroke style
op
number
1
Opacity (0–1)
All style fields are optional – when omitted, the default value is used. Only non-default values are stored.
No global style system
Unlike Prezillo, Ideallo has no global style definitions or style inheritance. All style properties are stored inline on each object. This keeps the format simple and avoids the complexity of style cascading for a whiteboard use case.
Object Type Codes
Code
Name
Has Content Map
Description
F
Freehand
paths
Bezier path stored as SVG path string
R
Rectangle
–
Rectangle with optional corner radius
E
Ellipse
–
Ellipse/circle
L
Line
–
Two-point line
A
Arrow
–
Two-point arrow with configurable arrowheads
T
Text
txt
Text label with rich text content
P
Polygon
geo
Multi-vertex polygon (triangle, pentagon, etc.)
S
Sticky
txt
Sticky note with rich text content
I
Image
–
Uploaded image
Per-Type Fields
Freehand (F)
Field
Type
Default
Description
wh
[number, number]
(required)
Bounding box [width, height] of the path
pid
string
–
Path content ID. If omitted, the object’s own ID is used as the key in the paths map. Set explicitly for linked copies
cl
true
false
Closed path – only stored when true
The SVG path data (e.g., "M 0 0 C 10 5 20 10 30 15") is stored in the paths map, not on the object itself.
Rectangle (R)
Field
Type
Default
Description
wh
[number, number]
(required)
Dimensions [width, height]
cr
number
–
Corner radius (omitted if sharp corners)
Ellipse (E)
Field
Type
Default
Description
wh
[number, number]
(required)
Dimensions [width, height]
No additional fields beyond wh.
Line (L)
Field
Type
Default
Description
pts
[[number, number], [number, number]]
(required)
Start and end points as absolute canvas coordinates [[startX, startY], [endX, endY]]
Absolute coordinates
Unlike Prezillo where line points are relative to the bounding box, Ideallo stores line and arrow endpoints as absolute canvas coordinates.
Arrow (A)
Field
Type
Default
Description
pts
[[number, number], [number, number]]
(required)
Start and end points as absolute canvas coordinates [[startX, startY], [endX, endY]]
ah
ArrowheadPosition
'E' (end)
Where to draw arrowheads (omitted if end-only, the default)
Text (T)
Field
Type
Default
Description
wh
[number, number]
(required)
Dimensions [width, height]
tid
string
–
Text content ID. If omitted, the object’s own ID is used as the key in the txt map. Set explicitly for linked copies
ff
string
–
Font family override
fz
number
–
Font size override
Rich text content is stored as a Y.Text entry in the txt map (keyed by the object’s own ID or the tid value), using Quill Delta format. See Document Structure > Text Content.
Polygon (P)
Field
Type
Default
Description
gid
string
–
Geometry content ID. If omitted, the object’s own ID is used as the key in the geo map. Set explicitly for linked copies
Vertices are stored in the geo map as a flat Y.Array<number> of interleaved coordinate pairs: [x1, y1, x2, y2, ...].
Sticky (S)
Field
Type
Default
Description
wh
[number, number]
(required)
Dimensions [width, height]
tid
string
–
Text content ID. If omitted, the object’s own ID is used as the key in the txt map. Set explicitly for linked copies
Sticky notes use the standard fc (fill color) field for their background color and store rich text content in the txt map, identical to Text objects.