Prezillo supports 14 object types, all sharing a common set of base 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
p
string
—
Parent ContainerId (omitted if root-level)
vi
string
—
ViewId — if set, xy is relative to this view’s origin
proto
string
—
Prototype ObjectId — inherit properties from this object
xy
[number, number]
(required)
Position [x, y] — global canvas coords or view-relative if vi is set
wh
[number, number]
(required)
Dimensions [width, height]
r
number
0
Rotation in degrees (omitted if 0)
pv
[number, number]
[0.5, 0.5]
Pivot point relative (0–1), center is default
o
number
1
Opacity (0–1, omitted if 1)
v
false
true
Visible — only stored when false
k
true
false
Locked — only stored when true
hid
true
false
Hidden — visible in editor at 50% opacity, invisible in presentation mode
n
string
—
User-assigned name
si
string
—
Shape StyleId reference
ti
string
—
Text StyleId reference
s
ShapeStyle
—
Inline shape style overrides (applied on top of si chain)
ts
TextStyle
—
Inline text style overrides (applied on top of ti chain)
Object Type Codes
Code
Name
Description
R
Rect
Rectangle with optional corner radius
E
Ellipse
Ellipse/circle
L
Line
Two-point line with optional arrows
P
Path
Freeform SVG path
G
Polygon
Multi-point polygon or polyline
T
Text
Rich text box
I
Image
Uploaded image
M
Embed
Embedded media (iframe, video, audio)
C
Connector
Object-to-object connector with routing
Q
QR Code
QR code generator
F
Poll Frame
Interactive voting element
Tg
Table Grid
Visual grid layout with snap points
S
Symbol
Reference to symbol library
V
State Variable
Displays dynamic runtime values
Per-Type Fields
Rect (R)
Field
Type
Default
Description
cr
number | [number, number, number, number]
—
Corner radius — single value for uniform, or [topLeft, topRight, bottomRight, bottomLeft]
Ellipse (E)
No additional fields beyond the base.
Line (L)
Field
Type
Default
Description
pts
[[number, number], [number, number]]
(required)
Start and end points relative to bounding box
sa
ArrowDef
—
Start arrow
ea
ArrowDef
—
End arrow
Path (P)
Field
Type
Default
Description
d
string
(required)
SVG path data (M, L, C, Z commands, etc.)
Polygon (G)
Field
Type
Default
Description
pts
[number, number][]
(required)
Array of points
cl
boolean
—
Closed polygon (if true, last point connects to first)
Text (T)
Field
Type
Default
Description
tx
string
—
Legacy plain text (migrated to rt map on load)
mh
number
—
Minimum height — original height at creation for auto-sizing
Rich text content is stored as a Y.Text entry in the rt map (keyed by the same ObjectId), using Quill Delta format. See Document Structure > Rich Text Storage.
Image (I)
Field
Type
Default
Description
fid
string
(required)
File ID from the Cloudillo media/file system
Embed (M)
Field
Type
Default
Description
mt
'iframe' | 'video' | 'audio'
(required)
Media type
src
string
(required)
Source URL
Connector (C)
Field
Type
Default
Description
so_
string
—
Start ObjectId (uses so_ to avoid conflict with style override s.o)
sa
AnchorPoint
—
Start anchor point
eo
string
—
End ObjectId
ea
AnchorPoint
—
End anchor point
wp
[number, number][]
—
Waypoints for manual routing
rt
RoutingCode
—
Routing algorithm
sar
ArrowDef
—
Start arrow
ear
ArrowDef
—
End arrow
QR Code (Q)
Field
Type
Default
Description
url
string
(required)
URL to encode
ecl
QrErrorCorrectionLevel
'M'
Error correction level
fg
string
'#000000'
Foreground color (hex)
bg
string
'#ffffff'
Background color (hex)
Poll Frame (F)
Field
Type
Default
Description
sh
'R' | 'E'
'R'
Frame shape: R=rectangle, E=ellipse
lb
string
—
Label text to display on the frame
Table Grid (Tg)
Field
Type
Default
Description
c
number
(required)
Column count
rw
number
(required)
Row count
cw
number[]
—
Column widths as proportions (0–1, equal if omitted)
rh
number[]
—
Row heights as proportions (0–1, equal if omitted)
Border styling uses the inherited ShapeStyle (s field) for line color and thickness.