# pet.trezy.food

> Published by [trezy.pet](https://lexicon.garden/identity/did:plc:ollch4g7tes2reb5eceiwuol)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:ollch4g7tes2reb5eceiwuol/pet.trezy.food)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ollch4g7tes2reb5eceiwuol/pet.trezy.food/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ollch4g7tes2reb5eceiwuol/pet.trezy.food/examples)

## Definitions

### `pet.trezy.food`

**Type**: `record`

One kind of food. Published by the game, never by a player — the definitions guard refuses these from anybody but the publisher, the same as species and tiers. A food a client cannot draw must render nothing rather than a substitute, so these outlive any given build on purpose.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `string` | Yes | Stable identifier, matching the record key. What a dropped morsel names, and what dropFood validates against. |
| `frame` | `integer` | Yes | Which frame of the food sheet draws this. ⚠ UNLIKE MONEY, WHERE THE FRAME INDEX *IS* THE TIER AND THEREFORE CARRIES MEANING, this is an arbitrary slot. It is carried per record so the sheet stays append-only: a new food takes the next free frame and no existing food moves. A frame past the end of the sheet this build ships is dropped by the client rather than drawn, because empty space at a believable size is a blank rectangle a player would try to feed to something. |
| `displayName` | `string` | Yes | What it is called out loud — the accessible name of a morsel lying on the ground, since the sprite carries no text. |

## Raw Schema

```json
{
  "id": "pet.trezy.food",
  "defs": {
    "main": {
      "key": "any",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "id",
          "displayName",
          "frame"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Stable identifier, matching the record key. What a dropped morsel names, and what dropFood validates against."
          },
          "frame": {
            "type": "integer",
            "minimum": 0,
            "description": "Which frame of the food sheet draws this. ⚠ UNLIKE MONEY, WHERE THE FRAME INDEX *IS* THE TIER AND THEREFORE CARRIES MEANING, this is an arbitrary slot. It is carried per record so the sheet stays append-only: a new food takes the next free frame and no existing food moves. A frame past the end of the sheet this build ships is dropped by the client rather than drawn, because empty space at a believable size is a blank rectangle a player would try to feed to something."
          },
          "displayName": {
            "type": "string",
            "description": "What it is called out loud — the accessible name of a morsel lying on the ground, since the sprite carries no text."
          }
        }
      },
      "description": "One kind of food. Published by the game, never by a player — the definitions guard refuses these from anybody but the publisher, the same as species and tiers. A food a client cannot draw must render nothing rather than a substitute, so these outlive any given build on purpose."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
