page.corvus.drawing

A drawing canvas containing an ordered sequence of shapes

Repository @corvus.page did:plc:3qc4cbzcriye72qqqodeda26 namespace authority
Details · object
Kindobject
Authoritycorvus.page
Indexed

Object

object

Properties

The canvas background as a CSS color string; omitted or empty for transparent

blockId

requiredstring · at-uri

The AT-URI of this block record

The canvas height in pixels

The shapes in the drawing as a sequence of shape block ids in z-order (later = on top)

The name of the drawing

The canvas width in pixels

#ellipse

object

An ellipse or circle (set rx == ry for a circle)

Properties

blockId

requiredstring · at-uri

The AT-URI of this block record

cx

ref

Center X coordinate in pixels

cy

ref

Center Y coordinate in pixels

fill

ref

Fill style as a CSS color string; omitted or empty for no fill

Opacity from 0 to 1 (defaults to 1)

Rotation in radians around (cx, cy) (defaults to 0)

rx

ref

X radius in pixels

ry

ref

Y radius in pixels

Stroke style as a CSS color string; omitted or empty for no stroke

Stroke width in pixels (defaults to 1)

#group

object

A named collection of shape block ids — a tag that lets a set of shapes be referred to together (selected, named, toggled). Membership is order-independent; z-order comes from #main.shapes

Properties

blockId

requiredstring · at-uri

The AT-URI of this block record

name

ref

The display name of the group

The set of member shape block ids

#image

object

A placed image — positions and sizes a page.corvus.contentBlocks#image within the drawing. The image asset itself lives in the referenced block (its blob, alt text, and aspect ratio); this variant only carries the placement

Properties

blockId

requiredstring · at-uri

The AT-URI of this block record

Height in pixels

Register whose value is the at-uri of the page.corvus.contentBlocks#image block to render

Opacity from 0 to 1 (defaults to 1)

Rotation in radians around the image's center (defaults to 0)

Width in pixels

x

ref

Top-left X coordinate in pixels

y

ref

Top-left Y coordinate in pixels

#path

object

A vector path — a sequence of commands that map directly to canvas path operations. Commands are inline values in the sequence and have no stable identity across edits (editing a command means deleting and re-inserting it). Use #stroke instead for freehand brush traces.

Properties

blockId

requiredstring · at-uri

The AT-URI of this block record

The path commands as an RGA sequence of #pathCommand objects

fill

ref

Fill style as a CSS color string; omitted or empty for no fill

Opacity from 0 to 1 (defaults to 1)

Rotation in radians applied around (x, y) at render time (defaults to 0)

Stroke style as a CSS color string; omitted or empty for no stroke

Stroke width in pixels (defaults to 1)

x

ref

Origin X offset applied to the path at render time (defaults to 0)

y

ref

Origin Y offset applied to the path at render time (defaults to 0)

#pathCommand

object

A single path command. Used inline as a value in a #path.commands sequence — NOT its own block, NOT addressable, no stable identity across edits

Properties

coords

array

Coordinate arguments; interpretation depends on op. Angles for the A command are encoded in milliradians (0 to 2π × 1000) so they fit an integer

itemsinteger

op

requiredstring

M=moveTo (x,y); L=lineTo (x,y); C=bezierCurveTo (cp1x,cp1y,cp2x,cp2y,x,y); Q=quadraticCurveTo (cpx,cpy,x,y); A=arc (cx,cy,r,startAngle,endAngle,counterclockwise); Z=closePath (no coords)

  • knownValues: M | L | C | Q | A | Z

#rect

object

An axis-aligned rectangle, optionally rotated around its center

Properties

blockId

requiredstring · at-uri

The AT-URI of this block record

Corner radius in pixels (defaults to 0)

fill

ref

Fill style as a CSS color string; omitted or empty for no fill

Height in pixels

Opacity from 0 to 1 (defaults to 1)

Rotation in radians around the rect's center (defaults to 0)

Stroke style as a CSS color string; omitted or empty for no stroke

Stroke width in pixels (defaults to 1)

Width in pixels

x

ref

Top-left X coordinate in pixels

y

ref

Top-left Y coordinate in pixels

#stroke

object

A freehand stroke — a brush trace captured atomically. Sample points are written once as a single register value; individual points are not edited collaboratively. To redo the stroke, replace the points register

Properties

blockId

requiredstring · at-uri

The AT-URI of this block record

Brush color as a CSS color string

Opacity from 0 to 1 (defaults to 1)

The stroke's samples as a single register whose value is an array of #strokePoint objects

Rotation in radians applied around (x, y) at render time (defaults to 0)

Brush width in pixels (base width if pressure modulates)

x

ref

Origin X offset applied to the stroke at render time (defaults to 0)

y

ref

Origin Y offset applied to the stroke at render time (defaults to 0)

#strokePoint

object

A single sample within a #stroke. Used inline as an element of #stroke.points

Properties

pressure

integer

Optional pen pressure, 0-255 (0 = lift, 255 = max)

  • minimum: 0
  • maximum: 255

x

requiredinteger

X coordinate in pixels

y

requiredinteger

Y coordinate in pixels

#text

object

A text label rendered with canvas fillText/strokeText

Properties

Horizontal alignment relative to (x, y) — 'left', 'center', or 'right' (defaults to 'left')

blockId

requiredstring · at-uri

The AT-URI of this block record

fill

ref

Fill style as a CSS color string; omitted or empty for no fill

Font family as a CSS font-family string

Font size in pixels

Opacity from 0 to 1 (defaults to 1)

Rotation in radians around (x, y) (defaults to 0)

Stroke style as a CSS color string; omitted or empty for no stroke

Stroke width in pixels (defaults to 0)

text

ref

The text content as a text sequence (editable per-character)

Font weight as a CSS font-weight value

x

ref

Anchor X coordinate in pixels

y

ref

Anchor Y coordinate in pixels (text baseline)

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Freehand ink strokes. The view box is the area of drawing space the block shows, scaled to the block's width; strokes may reach past it.