# garden.lexicon.exultant-zebra.tile

> Published by [ngerakines.me](https://lexicon.garden/identity/did:plc:cbkjy5n7bk3ax2wplmtjofq2)

✓ This is the authoritative definition for this NSID.

## Description

A Web Tile record for DASL.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:cbkjy5n7bk3ax2wplmtjofq2/garden.lexicon.exultant-zebra.tile)
- [Documentation](https://lexicon.garden/lexicon/did:plc:cbkjy5n7bk3ax2wplmtjofq2/garden.lexicon.exultant-zebra.tile/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:cbkjy5n7bk3ax2wplmtjofq2/garden.lexicon.exultant-zebra.tile/examples)

## Definitions

### `garden.lexicon.exultant-zebra.tile`

**Type**: `record`

A tile with a name and associated resource or bundle.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `icon` | `blob` | No | Optional icon image for the tile. |
| `name` | `string` | Yes | The name of the tile. |
| `facets` | `array` | No | Rich text facets for the description (links, mentions, hashtags). |
| `params` | `array` | No | Input parameters this tile accepts. When present, the tile runtime shows a configuration form for required parameters without defaults before loading the tile. |
| `content` | `union` | Yes | The tile content, either a single resource or a bundle. |
| `aspectRatio` | `string` | No | Declared aspect ratio for tile rendering. |
| `description` | `string` | No | Optional rich text description of the tile. |
| `interactions` | `ref` → `#interactions` | No | Declaration of the XRPC methods, collections, and services this tile interacts with. |
| `loadingImage` | `blob` | No | Optional loading screen image for the tile. |

### `garden.lexicon.exultant-zebra.tile#param`

**Type**: `object`

Declares an input parameter for a tile, similar to XRPC query parameters.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | Parameter name, used as a URL search param key. Must not start with an underscore. |
| `type` | `string` | Yes | Parameter value type. |
| `default` | `string` | No | Default value for this parameter, encoded as a string. |
| `required` | `boolean` | No | Whether this parameter must be provided before loading the tile. |
| `description` | `string` | No | Human-readable description of this parameter. |

### `garden.lexicon.exultant-zebra.tile#interactions`

**Type**: `object`

Declares the AT Protocol interactions a tile performs. Methods listed here gate which XRPC calls the tile is allowed to attempt (the user must still grant per-method consent). Collections and services are informational metadata for display and auditing.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `methods` | `array` | No | XRPC method NSIDs this tile may call. When present, the tile runtime restricts XRPC calls to only these methods. When absent, all server-allowed methods may be called (with user consent). |
| `services` | `array` | No | AT Protocol service proxy targets this tile interacts with, identified by DID and service endpoint fragment. |
| `collections` | `array` | No | Repository collection NSIDs this tile reads from or writes to. |

## Raw Schema

```json
{
  "id": "garden.lexicon.exultant-zebra.tile",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "content"
        ],
        "properties": {
          "icon": {
            "type": "blob",
            "accept": [
              "image/png",
              "image/jpeg"
            ],
            "maxSize": 1048576,
            "description": "Optional icon image for the tile."
          },
          "name": {
            "type": "string",
            "description": "The name of the tile."
          },
          "facets": {
            "type": "array",
            "items": {
              "ref": "app.bsky.richtext.facet",
              "type": "ref"
            },
            "description": "Rich text facets for the description (links, mentions, hashtags)."
          },
          "params": {
            "type": "array",
            "items": {
              "ref": "#param",
              "type": "ref"
            },
            "description": "Input parameters this tile accepts. When present, the tile runtime shows a configuration form for required parameters without defaults before loading the tile."
          },
          "content": {
            "refs": [
              "garden.lexicon.exultant-zebra.masl#resource",
              "garden.lexicon.exultant-zebra.masl#main"
            ],
            "type": "union",
            "description": "The tile content, either a single resource or a bundle."
          },
          "aspectRatio": {
            "type": "string",
            "description": "Declared aspect ratio for tile rendering.",
            "knownValues": [
              "1:1",
              "2:1",
              "3:1",
              "1:2",
              "1:3"
            ]
          },
          "description": {
            "type": "string",
            "maxLength": 3000,
            "description": "Optional rich text description of the tile."
          },
          "interactions": {
            "ref": "#interactions",
            "type": "ref",
            "description": "Declaration of the XRPC methods, collections, and services this tile interacts with."
          },
          "loadingImage": {
            "type": "blob",
            "accept": [
              "image/png",
              "image/jpeg"
            ],
            "maxSize": 1048576,
            "description": "Optional loading screen image for the tile."
          }
        }
      },
      "description": "A tile with a name and associated resource or bundle."
    },
    "param": {
      "type": "object",
      "required": [
        "name",
        "type"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 64,
          "description": "Parameter name, used as a URL search param key. Must not start with an underscore."
        },
        "type": {
          "type": "string",
          "description": "Parameter value type.",
          "knownValues": [
            "string",
            "integer",
            "boolean"
          ]
        },
        "default": {
          "type": "string",
          "description": "Default value for this parameter, encoded as a string."
        },
        "required": {
          "type": "boolean",
          "description": "Whether this parameter must be provided before loading the tile."
        },
        "description": {
          "type": "string",
          "maxLength": 1000,
          "description": "Human-readable description of this parameter."
        }
      },
      "description": "Declares an input parameter for a tile, similar to XRPC query parameters."
    },
    "interactions": {
      "type": "object",
      "properties": {
        "methods": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "XRPC method NSIDs this tile may call. When present, the tile runtime restricts XRPC calls to only these methods. When absent, all server-allowed methods may be called (with user consent)."
        },
        "services": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "AT Protocol service proxy targets this tile interacts with, identified by DID and service endpoint fragment."
        },
        "collections": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "nsid"
          },
          "description": "Repository collection NSIDs this tile reads from or writes to."
        }
      },
      "description": "Declares the AT Protocol interactions a tile performs. Methods listed here gate which XRPC calls the tile is allowed to attempt (the user must still grant per-method consent). Collections and services are informational metadata for display and auditing."
    }
  },
  "lexicon": 1,
  "description": "A Web Tile record for DASL."
}
```
