social.twinkl.homepage.tile

kandake.africa

{
  "id": "social.twinkl.homepage.tile",
  "defs": {
    "main": {
      "key": "any",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "x",
          "y",
          "w",
          "h",
          "tile",
          "createdAt"
        ],
        "properties": {
          "h": {
            "type": "integer",
            "minimum": 1,
            "description": "Desktop height in grid rows."
          },
          "w": {
            "type": "integer",
            "minimum": 1,
            "description": "Desktop width in grid columns."
          },
          "x": {
            "type": "integer",
            "minimum": 0,
            "description": "Desktop grid column (0-based, 8-column grid)."
          },
          "y": {
            "type": "integer",
            "minimum": 0,
            "description": "Desktop grid row (0-based)."
          },
          "page": {
            "type": "string",
            "maxLength": 256,
            "description": "Optional sub-page identifier this tile belongs to; absent means the main page."
          },
          "tile": {
            "ref": "ing.dasl.masl#masl",
            "type": "ref",
            "description": "The portable, DASL-aligned tile payload."
          },
          "source": {
            "type": "string",
            "format": "at-uri",
            "description": "Optional at:// URI of an external canonical tile record (e.g. ing.dasl.masl) rendered through the DASL tiles loader. When set, the inline tile payload serves as fallback metadata for contexts without the loader."
          },
          "mobileH": {
            "type": "integer",
            "minimum": 1
          },
          "mobileW": {
            "type": "integer",
            "minimum": 1
          },
          "mobileX": {
            "type": "integer",
            "minimum": 0
          },
          "mobileY": {
            "type": "integer",
            "minimum": 0
          },
          "version": {
            "type": "integer",
            "minimum": 0,
            "description": "Record schema version for future migrations."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime"
          },
          "autoActivate": {
            "type": "boolean",
            "description": "For a source-referencing tile, render its live content immediately on page load instead of the default click-to-activate preview card. Ignored when source is unset."
          }
        }
      },
      "description": "A placed Web Tile on the actor's customizable home page. Inspired by the DASL tile proposal (darobin/dasl.ing#95) but adapted for Twinkl v1: tile resources carry inline content + contentType rather than content-addressed `src` (no CID infrastructure yet), so the structure can gain an optional `src` later without breaking. Geometry is co-located on the record (8-column grid). The tile payload renders in a null-origin sandboxed iframe."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against social.twinkl.homepage.tile

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:lrphxvv25aibthe7xoc2eeyy
CID
bafyreiht3qcedjj32bf5ddknx32ekat6fhf76aassp6gqw6ga4xf5iu6x4
Indexed At
2026-07-17 14:20 UTC
AT-URI
at://did:plc:lrphxvv25aibthe7xoc2eeyy/com.atproto.lexicon.schema/social.twinkl.homepage.tile

Referenced Schemas (1)

Lexicon Garden

@