social.twinkl.homepage.tile
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.
Details · record, key any
| Kind | record |
|---|---|
| Record key | any |
| Authority | homepage.twinkl.social |
| Indexed |
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"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.",
"key": "any",
"record": {
"properties": {
"autoActivate": {
"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.",
"type": "boolean"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"h": {
"description": "Desktop height in grid rows.",
"minimum": 1,
"type": "integer"
},
"mobileH": {
"minimum": 1,
"type": "integer"
},
"mobileW": {
"minimum": 1,
"type": "integer"
},
"mobileX": {
"minimum": 0,
"type": "integer"
},
"mobileY": {
"minimum": 0,
"type": "integer"
},
"page": {
"description": "Optional sub-page identifier this tile belongs to; absent means the main page.",
"maxLength": 256,
"type": "string"
},
"source": {
"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.",
"format": "at-uri",
"type": "string"
},
"tile": {
"description": "The portable, DASL-aligned tile payload.",
"ref": "ing.dasl.masl#masl",
"type": "ref"
},
"updatedAt": {
"format": "datetime",
"type": "string"
},
"version": {
"description": "Record schema version for future migrations.",
"minimum": 0,
"type": "integer"
},
"w": {
"description": "Desktop width in grid columns.",
"minimum": 1,
"type": "integer"
},
"x": {
"description": "Desktop grid column (0-based, 8-column grid).",
"minimum": 0,
"type": "integer"
},
"y": {
"description": "Desktop grid row (0-based).",
"minimum": 0,
"type": "integer"
}
},
"required": [
"x",
"y",
"w",
"h",
"tile",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "social.twinkl.homepage.tile",
"lexicon": 1
}