pub.leaflet.blocks.drawing

leaflet.pub

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "fill": {
      "description": "A filled polygon, painted with the nonzero rule: the region a stroke encloses.",
      "properties": {
        "color": {
          "description": "A CSS hex color, or one of the document theme's colors: primary (text), accent, or tertiary (faded text).",
          "type": "string"
        },
        "points": {
          "description": "Flattened vertices as x, y pairs in drawing space. The last joins back to the first.",
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "required": [
        "points",
        "color"
      ],
      "type": "object"
    },
    "main": {
      "description": "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.",
      "properties": {
        "fills": {
          "description": "Painted in order, beneath the strokes.",
          "items": {
            "ref": "#fill",
            "type": "ref"
          },
          "type": "array"
        },
        "strokes": {
          "items": {
            "ref": "#stroke",
            "type": "ref"
          },
          "type": "array"
        },
        "viewBox": {
          "ref": "#viewBox",
          "type": "ref"
        }
      },
      "required": [
        "viewBox",
        "strokes"
      ],
      "type": "object"
    },
    "stroke": {
      "description": "One pen stroke, drawn in order, rendered as a variable-width outline of its input points (as perfect-freehand does).",
      "properties": {
        "color": {
          "description": "A CSS hex color, or one of the document theme's colors: primary (text), accent, or tertiary (faded text).",
          "type": "string"
        },
        "points": {
          "description": "Flattened input points as x, y, pressure triples: x and y in drawing space, pressure from 0 to 1000.",
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "simulatePressure": {
          "description": "The input had no real pressure (a mouse or finger); derive it from the stroke's speed instead.",
          "type": "boolean"
        },
        "size": {
          "description": "The stroke's base diameter in drawing space.",
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "points",
        "color",
        "size"
      ],
      "type": "object"
    },
    "viewBox": {
      "properties": {
        "height": {
          "minimum": 1,
          "type": "integer"
        },
        "width": {
          "minimum": 1,
          "type": "integer"
        },
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      },
      "required": [
        "x",
        "y",
        "width",
        "height"
      ],
      "type": "object"
    }
  },
  "id": "pub.leaflet.blocks.drawing",
  "lexicon": 1
}

Validate Record

Validate a record against pub.leaflet.blocks.drawing

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:btxrwcaeyodrap5mnjw2fvmz
CID
bafyreigbsjhjlxbpn4edoeyhqrk22e6vi7ez2y6jm7oxuk2axqwiz7i6li
Indexed At
2026-09-29 05:17 UTC
AT-URI
at://did:plc:btxrwcaeyodrap5mnjw2fvmz/com.atproto.lexicon.schema/pub.leaflet.blocks.drawing

Version History (2 versions)

Similar Lexicons

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

  • A drawing block — a vector image composed of shapes that render onto an HTML canvas 2D context. The drawing's `shapes` sequence holds shape block ids in z-order (later = on top). Each shape variant below is its own bl…

Lexicon Garden

@