org.simocracy.gathering

gainforest.earth

Documentation

A governance or funding event that users can create and participate in.

main record

A governance or funding event that users can create and participate in.

Record Key tid Timestamp-based ID

Properties

appRoute string Optional

Internal app route path (e.g. /senate, /ftc-sf) for built-in events

maxLength: 1000 bytes
buildingImageUrl string Optional

URL of the building/venue image for this gathering. Can be an absolute URL or a path relative to the app (e.g. /senate.png, /frontiertower.webp).

maxLength: 5000 bytes
createdAt string datetime Required

Timestamp when the record was created

dates string Optional

Human-readable date range (e.g. March 14-15, 2026)

maxLength: 1000 bytesmaxGraphemes: 100 graphemes
description string Optional

Full event description with details, agenda, etc.

maxLength: 30000 bytesmaxGraphemes: 3000 graphemes
gatheringType string Required

Type of gathering

Known values: funding, governance, hybrid
image blob Optional

Cover image for the event (ATProto blob)

maxSize: 1.0 MB
location string Optional

Physical or virtual location

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
name string Required

Display name of the event

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
shortDescription string Optional

Brief summary for cards and previews

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
simSize string Optional

Size of sim avatars in this gathering's world. large=48px, normal=32px (senate default), small=20px (ftc-sf default).

Known values: large, normal, small
status string Required

Current status of the gathering

Known values: application, upcoming, active, completed
url string Optional

External link (e.g. Luma registration page)

maxLength: 5000 bytes
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "name",
      "gatheringType",
      "status",
      "createdAt"
    ],
    "properties": {
      "url": {
        "type": "string",
        "maxLength": 5000,
        "description": "External link (e.g. Luma registration page)"
      },
      "name": {
        "type": "string",
        "maxLength": 3000,
        "description": "Display name of the event",
        "maxGraphemes": 300
      },
      "dates": {
        "type": "string",
        "maxLength": 1000,
        "description": "Human-readable date range (e.g. March 14-15, 2026)",
        "maxGraphemes": 100
      },
      "image": {
        "type": "blob",
        "accept": [
          "image/png",
          "image/jpeg",
          "image/webp"
        ],
        "maxSize": 1000000,
        "description": "Cover image for the event (ATProto blob)"
      },
      "status": {
        "type": "string",
        "description": "Current status of the gathering",
        "knownValues": [
          "application",
          "upcoming",
          "active",
          "completed"
        ]
      },
      "simSize": {
        "type": "string",
        "description": "Size of sim avatars in this gathering's world. large=48px, normal=32px (senate default), small=20px (ftc-sf default).",
        "knownValues": [
          "large",
          "normal",
          "small"
        ]
      },
      "appRoute": {
        "type": "string",
        "maxLength": 1000,
        "description": "Internal app route path (e.g. /senate, /ftc-sf) for built-in events"
      },
      "location": {
        "type": "string",
        "maxLength": 3000,
        "description": "Physical or virtual location",
        "maxGraphemes": 300
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Timestamp when the record was created"
      },
      "description": {
        "type": "string",
        "maxLength": 30000,
        "description": "Full event description with details, agenda, etc.",
        "maxGraphemes": 3000
      },
      "gatheringType": {
        "type": "string",
        "description": "Type of gathering",
        "knownValues": [
          "funding",
          "governance",
          "hybrid"
        ]
      },
      "buildingImageUrl": {
        "type": "string",
        "maxLength": 5000,
        "description": "URL of the building/venue image for this gathering. Can be an absolute URL or a path relative to the app (e.g. /senate.png, /frontiertower.webp)."
      },
      "shortDescription": {
        "type": "string",
        "maxLength": 3000,
        "description": "Brief summary for cards and previews",
        "maxGraphemes": 300
      },
      "descriptionFacets": {
        "type": "array",
        "items": {
          "ref": "app.bsky.richtext.facet",
          "type": "ref"
        },
        "description": "Rich text facets for description"
      },
      "shortDescriptionFacets": {
        "type": "array",
        "items": {
          "ref": "app.bsky.richtext.facet",
          "type": "ref"
        },
        "description": "Rich text facets for shortDescription"
      }
    }
  },
  "description": "A governance or funding event that users can create and participate in."
}

Lexicon Garden

@