# tech.tokimeki.kaku.defs

> Published by [tokimeki.blue](https://lexicon.garden/identity/did:plc:4tr5dqti7nmu6g2czpthntak)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:4tr5dqti7nmu6g2czpthntak/tech.tokimeki.kaku.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:4tr5dqti7nmu6g2czpthntak/tech.tokimeki.kaku.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:4tr5dqti7nmu6g2czpthntak/tech.tokimeki.kaku.defs/examples)

## Definitions

### `tech.tokimeki.kaku.defs#postView`

**Type**: `object`

A view of a drawing post with author profile and metadata

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes | CID of the post record |
| `uri` | `string` (at-uri) | Yes | AT-URI of the post record |
| `tags` | `array` | No | Tags for categorization |
| `text` | `string` | No | Optional description or title |
| `image` | `string` (uri) | Yes | URL of the drawing image |
| `author` | `ref` → `app.bsky.actor.defs#profileViewBasic` | Yes | Author profile |
| `createdAt` | `string` (datetime) | Yes | Timestamp when the post was created |
| `indexedAt` | `string` (datetime) | No | Timestamp when the post was indexed |
| `linkedPost` | `ref` → `com.atproto.repo.strongRef` | No | Reference to linked Bluesky post |
| `aspectRatio` | `ref` → `#aspectRatio` | Yes | Aspect ratio of the image |
| `reactionCounts` | `ref` → `#reactionCounts` | No | Counts of each reaction type |
| `viewerReaction` | `ref` → `#reactionType` | No | Current user's reaction to this post |

### `tech.tokimeki.kaku.defs#replyView`

**Type**: `object`

A view of a Bluesky reply to a linked post

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes | CID of the Bluesky reply |
| `uri` | `string` (at-uri) | Yes | AT-URI of the Bluesky reply |
| `text` | `string` | Yes | Reply text content |
| `author` | `ref` → `app.bsky.actor.defs#profileViewBasic` | Yes | Reply author profile |
| `createdAt` | `string` (datetime) | Yes | Timestamp when the reply was created |

### `tech.tokimeki.kaku.defs#aspectRatio`

**Type**: `object`

Width and height representing the aspect ratio of an image

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `width` | `integer` | Yes | Width component of aspect ratio |
| `height` | `integer` | Yes | Height component of aspect ratio |

### `tech.tokimeki.kaku.defs#requestView`

**Type**: `object`

A view of a drawing request with author profile and response count

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes | CID of the request record |
| `uri` | `string` (at-uri) | Yes | AT-URI of the request record |
| `tags` | `array` | No | Tags for categorization |
| `text` | `string` | Yes | Description of what to draw |
| `author` | `ref` → `app.bsky.actor.defs#profileViewBasic` | Yes | Request author profile |
| `isOpen` | `boolean` | Yes | Whether the request is still accepting responses |
| `createdAt` | `string` (datetime) | Yes | Timestamp when the request was created |
| `indexedAt` | `string` (datetime) | No | Timestamp when the request was indexed |
| `targetActor` | `ref` → `app.bsky.actor.defs#profileViewBasic` | No | Specific artist the request is directed to |
| `responseCount` | `integer` | No | Number of responses to this request |
| `referenceImages` | `array` | No | URLs of reference images for the request |

### `tech.tokimeki.kaku.defs#reactionType`

**Type**: `string`

Type of reaction to a post

**Known Values**:
- `suki`
- `tasukaru`
- `sugoi`
- `kawaii`
- `kami`

### `tech.tokimeki.kaku.defs#collectionView`

**Type**: `object`

A view of a collection with author profile and item count

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes | CID of the collection record |
| `uri` | `string` (at-uri) | Yes | AT-URI of the collection record |
| `name` | `string` | Yes | Collection name |
| `author` | `ref` → `app.bsky.actor.defs#profileViewBasic` | Yes | Collection owner profile |
| `isPublic` | `boolean` | No | Whether the collection is publicly visible |
| `createdAt` | `string` (datetime) | Yes | Timestamp when the collection was created |
| `indexedAt` | `string` (datetime) | No | Timestamp when the collection was indexed |
| `itemCount` | `integer` | No | Number of items in the collection |
| `description` | `string` | No | Collection description |

### `tech.tokimeki.kaku.defs#reactionCounts`

**Type**: `object`

Counts of each reaction type on a post

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `kami` | `integer` | No | Count of kami (godly) reactions |
| `suki` | `integer` | No | Count of suki (like) reactions |
| `sugoi` | `integer` | No | Count of sugoi (amazing) reactions |
| `kawaii` | `integer` | No | Count of kawaii (cute) reactions |
| `tasukaru` | `integer` | No | Count of tasukaru (helpful) reactions |

### `tech.tokimeki.kaku.defs#requestResponseView`

**Type**: `object`

A view of a response to a drawing request

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes | CID of the response record |
| `uri` | `string` (at-uri) | Yes | AT-URI of the response record |
| `post` | `ref` → `#postView` | Yes | The drawing post submitted as response |
| `author` | `ref` → `app.bsky.actor.defs#profileViewBasic` | Yes | Response author profile |
| `message` | `string` | No | Optional message to the requester |
| `createdAt` | `string` (datetime) | Yes | Timestamp when the response was created |

## Raw Schema

```json
{
  "id": "tech.tokimeki.kaku.defs",
  "defs": {
    "postView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "author",
        "image",
        "aspectRatio",
        "createdAt"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid",
          "description": "CID of the post record"
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the post record"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 64,
            "maxGraphemes": 32
          },
          "maxLength": 8,
          "description": "Tags for categorization"
        },
        "text": {
          "type": "string",
          "maxLength": 1000,
          "description": "Optional description or title",
          "maxGraphemes": 300
        },
        "image": {
          "type": "string",
          "format": "uri",
          "description": "URL of the drawing image"
        },
        "author": {
          "ref": "app.bsky.actor.defs#profileViewBasic",
          "type": "ref",
          "description": "Author profile"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp when the post was created"
        },
        "indexedAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp when the post was indexed"
        },
        "linkedPost": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref",
          "description": "Reference to linked Bluesky post"
        },
        "aspectRatio": {
          "ref": "#aspectRatio",
          "type": "ref",
          "description": "Aspect ratio of the image"
        },
        "reactionCounts": {
          "ref": "#reactionCounts",
          "type": "ref",
          "description": "Counts of each reaction type"
        },
        "viewerReaction": {
          "ref": "#reactionType",
          "type": "ref",
          "description": "Current user's reaction to this post"
        }
      },
      "description": "A view of a drawing post with author profile and metadata"
    },
    "replyView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "author",
        "text",
        "createdAt"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid",
          "description": "CID of the Bluesky reply"
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the Bluesky reply"
        },
        "text": {
          "type": "string",
          "maxLength": 3000,
          "description": "Reply text content",
          "maxGraphemes": 300
        },
        "author": {
          "ref": "app.bsky.actor.defs#profileViewBasic",
          "type": "ref",
          "description": "Reply author profile"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp when the reply was created"
        }
      },
      "description": "A view of a Bluesky reply to a linked post"
    },
    "aspectRatio": {
      "type": "object",
      "required": [
        "width",
        "height"
      ],
      "properties": {
        "width": {
          "type": "integer",
          "minimum": 1,
          "description": "Width component of aspect ratio"
        },
        "height": {
          "type": "integer",
          "minimum": 1,
          "description": "Height component of aspect ratio"
        }
      },
      "description": "Width and height representing the aspect ratio of an image"
    },
    "requestView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "author",
        "text",
        "isOpen",
        "createdAt"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid",
          "description": "CID of the request record"
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the request record"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 64,
            "maxGraphemes": 32
          },
          "maxLength": 8,
          "description": "Tags for categorization"
        },
        "text": {
          "type": "string",
          "maxLength": 1000,
          "description": "Description of what to draw",
          "maxGraphemes": 300
        },
        "author": {
          "ref": "app.bsky.actor.defs#profileViewBasic",
          "type": "ref",
          "description": "Request author profile"
        },
        "isOpen": {
          "type": "boolean",
          "description": "Whether the request is still accepting responses"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp when the request was created"
        },
        "indexedAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp when the request was indexed"
        },
        "targetActor": {
          "ref": "app.bsky.actor.defs#profileViewBasic",
          "type": "ref",
          "description": "Specific artist the request is directed to"
        },
        "responseCount": {
          "type": "integer",
          "description": "Number of responses to this request"
        },
        "referenceImages": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          },
          "maxLength": 4,
          "description": "URLs of reference images for the request"
        }
      },
      "description": "A view of a drawing request with author profile and response count"
    },
    "reactionType": {
      "type": "string",
      "description": "Type of reaction to a post",
      "knownValues": [
        "suki",
        "tasukaru",
        "sugoi",
        "kawaii",
        "kami"
      ]
    },
    "collectionView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "author",
        "name",
        "createdAt"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid",
          "description": "CID of the collection record"
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the collection record"
        },
        "name": {
          "type": "string",
          "maxLength": 100,
          "description": "Collection name",
          "maxGraphemes": 50
        },
        "author": {
          "ref": "app.bsky.actor.defs#profileViewBasic",
          "type": "ref",
          "description": "Collection owner profile"
        },
        "isPublic": {
          "type": "boolean",
          "default": true,
          "description": "Whether the collection is publicly visible"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp when the collection was created"
        },
        "indexedAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp when the collection was indexed"
        },
        "itemCount": {
          "type": "integer",
          "description": "Number of items in the collection"
        },
        "description": {
          "type": "string",
          "maxLength": 500,
          "description": "Collection description",
          "maxGraphemes": 200
        }
      },
      "description": "A view of a collection with author profile and item count"
    },
    "reactionCounts": {
      "type": "object",
      "properties": {
        "kami": {
          "type": "integer",
          "default": 0,
          "description": "Count of kami (godly) reactions"
        },
        "suki": {
          "type": "integer",
          "default": 0,
          "description": "Count of suki (like) reactions"
        },
        "sugoi": {
          "type": "integer",
          "default": 0,
          "description": "Count of sugoi (amazing) reactions"
        },
        "kawaii": {
          "type": "integer",
          "default": 0,
          "description": "Count of kawaii (cute) reactions"
        },
        "tasukaru": {
          "type": "integer",
          "default": 0,
          "description": "Count of tasukaru (helpful) reactions"
        }
      },
      "description": "Counts of each reaction type on a post"
    },
    "requestResponseView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "author",
        "post",
        "createdAt"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid",
          "description": "CID of the response record"
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the response record"
        },
        "post": {
          "ref": "#postView",
          "type": "ref",
          "description": "The drawing post submitted as response"
        },
        "author": {
          "ref": "app.bsky.actor.defs#profileViewBasic",
          "type": "ref",
          "description": "Response author profile"
        },
        "message": {
          "type": "string",
          "maxLength": 500,
          "description": "Optional message to the requester",
          "maxGraphemes": 150
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp when the response was created"
        }
      },
      "description": "A view of a response to a drawing request"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
