app.atmobb.actor.profile

lexicons.atmobb.app

Documentation

A user's atmoBB account defaults and per-forum overrides. Lives in the user's repo.

main record

A user's atmoBB account defaults and per-forum overrides. Lives in the user's repo.

Record Key literal:self Fixed literal value

Properties

avatar blob Optional

No description available.

maxSize: 1.0 MB
avatarBuilder ref #avatarBuilder Optional

Legacy layered-avatar recipe from an earlier builder. atmobb ignores it; clients should read the `avatar` blob.

banner ref #banner Optional

Patterned banner across the top of the profile page.

createdAt string datetime Optional

An RFC 3339 formatted timestamp.

currently string Optional

What the member is up to right now, shown under the headline.

maxLength: 800 bytesmaxGraphemes: 80 graphemes
description string Optional

Default free-text bio, shown on the profile's About panel unless overridden for a forum.

maxLength: 2560 bytesmaxGraphemes: 256 graphemes
displayName string Optional

No description available.

maxLength: 640 bytesmaxGraphemes: 64 graphemes
forumProfiles array of ref #forumProfile Optional

Per-forum overrides for profile fields and notification preferences. Other fields inherit account defaults.

forumThemes array of ref #forumTheme Optional

Per-forum personal theme overrides. Omit a forum to use the global theme; an empty theme preserves that forum's own styling.

headline string Optional

Short line shown under the member's name on their profile page.

maxLength: 800 bytesmaxGraphemes: 80 graphemes
notifications boolean Optional

Whether connected forums may notify this account. Defaults to true; never grants relay permission.

panels array of ref #panel Optional

Profile page panels in display order. Panels missing from the list follow in the default order; unknown ids are ignored.

maxLength: 32 items
profileSkin string Optional

Color skin visitors see on this member's profile page. Omit to use the forum's look; forums may turn skins off.

maxLength: 64 bytes
Known values: classic, sky, bubblegum, midnight, forest
pronouns string Optional

No description available.

maxLength: 640 bytesmaxGraphemes: 64 graphemes
theme string Optional

Personal color theme across forums. Omit to follow each forum's default styling.

maxLength: 64 bytes
Known values: classic, sky, bubblegum, midnight, forest
title string Optional

Self-chosen user title, shown under the username where the forum allows it.

maxLength: 640 bytesmaxGraphemes: 64 graphemes
website string uri Optional

A valid URI.

View raw schema
{
  "description": "A user's atmoBB account defaults and per-forum overrides. Lives in the user's repo.",
  "key": "literal:self",
  "record": {
    "properties": {
      "about": {
        "description": "Long-form About me on the profile page, separate from the short bio in description.",
        "items": {
          "refs": [
            "app.atmobb.richtext.block#text",
            "app.atmobb.richtext.block#quote",
            "app.atmobb.richtext.block#code",
            "app.atmobb.richtext.block#image"
          ],
          "type": "union"
        },
        "maxLength": 20,
        "type": "array"
      },
      "avatar": {
        "accept": [
          "image/png",
          "image/jpeg",
          "image/webp",
          "image/gif"
        ],
        "maxSize": 1000000,
        "type": "blob"
      },
      "avatarBuilder": {
        "description": "Legacy layered-avatar recipe from an earlier builder. atmobb ignores it; clients should read the `avatar` blob.",
        "ref": "#avatarBuilder",
        "type": "ref"
      },
      "banner": {
        "description": "Patterned banner across the top of the profile page.",
        "ref": "#banner",
        "type": "ref"
      },
      "createdAt": {
        "format": "datetime",
        "type": "string"
      },
      "currently": {
        "description": "What the member is up to right now, shown under the headline.",
        "maxGraphemes": 80,
        "maxLength": 800,
        "type": "string"
      },
      "description": {
        "description": "Default free-text bio, shown on the profile's About panel unless overridden for a forum.",
        "maxGraphemes": 256,
        "maxLength": 2560,
        "type": "string"
      },
      "displayName": {
        "maxGraphemes": 64,
        "maxLength": 640,
        "type": "string"
      },
      "forumProfiles": {
        "description": "Per-forum overrides for profile fields and notification preferences. Other fields inherit account defaults.",
        "items": {
          "ref": "#forumProfile",
          "type": "ref"
        },
        "type": "array"
      },
      "forumThemes": {
        "description": "Per-forum personal theme overrides. Omit a forum to use the global theme; an empty theme preserves that forum's own styling.",
        "items": {
          "ref": "#forumTheme",
          "type": "ref"
        },
        "type": "array"
      },
      "headline": {
        "description": "Short line shown under the member's name on their profile page.",
        "maxGraphemes": 80,
        "maxLength": 800,
        "type": "string"
      },
      "notifications": {
        "description": "Whether connected forums may notify this account. Defaults to true; never grants relay permission.",
        "type": "boolean"
      },
      "panels": {
        "description": "Profile page panels in display order. Panels missing from the list follow in the default order; unknown ids are ignored.",
        "items": {
          "ref": "#panel",
          "type": "ref"
        },
        "maxLength": 32,
        "type": "array"
      },
      "profileSkin": {
        "description": "Color skin visitors see on this member's profile page. Omit to use the forum's look; forums may turn skins off.",
        "knownValues": [
          "classic",
          "sky",
          "bubblegum",
          "midnight",
          "forest"
        ],
        "maxLength": 64,
        "type": "string"
      },
      "pronouns": {
        "maxGraphemes": 64,
        "maxLength": 640,
        "type": "string"
      },
      "signature": {
        "description": "Rendered under every post, phpBB style. Keep it short; clients may truncate.",
        "items": {
          "refs": [
            "app.atmobb.richtext.block#text",
            "app.atmobb.richtext.block#quote",
            "app.atmobb.richtext.block#code",
            "app.atmobb.richtext.block#image"
          ],
          "type": "union"
        },
        "maxLength": 3,
        "type": "array"
      },
      "theme": {
        "description": "Personal color theme across forums. Omit to follow each forum's default styling.",
        "knownValues": [
          "classic",
          "sky",
          "bubblegum",
          "midnight",
          "forest"
        ],
        "maxLength": 64,
        "type": "string"
      },
      "title": {
        "description": "Self-chosen user title, shown under the username where the forum allows it.",
        "maxGraphemes": 64,
        "maxLength": 640,
        "type": "string"
      },
      "website": {
        "format": "uri",
        "type": "string"
      }
    },
    "type": "object"
  },
  "type": "record"
}
avatarBuilder object

Legacy built avatar as part + colour choices. Kept so existing records stay valid.

Properties

accessory ref #part Optional

No description available.

eyebrows ref #part Optional

No description available.

eyes ref #part Optional

No description available.

facialFeature ref #part Optional

No description available.

facialHair ref #part Optional

No description available.

hairBack ref #part Optional

No description available.

hairFront ref #part Optional

No description available.

hat ref #part Optional

No description available.

mouth ref #part Optional

No description available.

neckwear ref #garment Optional

No description available.

nose ref #part Optional

No description available.

skin string Required

Skin tone id; drives body, head, nose and facial-feature colouring.

top ref #garment Optional

No description available.

v integer Required

Recipe schema version.

minimum: 1
View raw schema
{
  "description": "Legacy built avatar as part + colour choices. Kept so existing records stay valid.",
  "properties": {
    "accessory": {
      "ref": "#part",
      "type": "ref"
    },
    "eyebrows": {
      "ref": "#part",
      "type": "ref"
    },
    "eyes": {
      "ref": "#part",
      "type": "ref"
    },
    "facialFeature": {
      "ref": "#part",
      "type": "ref"
    },
    "facialHair": {
      "ref": "#part",
      "type": "ref"
    },
    "hairBack": {
      "ref": "#part",
      "type": "ref"
    },
    "hairFront": {
      "ref": "#part",
      "type": "ref"
    },
    "hat": {
      "ref": "#part",
      "type": "ref"
    },
    "mouth": {
      "ref": "#part",
      "type": "ref"
    },
    "neckwear": {
      "ref": "#garment",
      "type": "ref"
    },
    "nose": {
      "ref": "#part",
      "type": "ref"
    },
    "skin": {
      "description": "Skin tone id; drives body, head, nose and facial-feature colouring.",
      "type": "string"
    },
    "top": {
      "ref": "#garment",
      "type": "ref"
    },
    "v": {
      "description": "Recipe schema version.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "v",
    "skin"
  ],
  "type": "object"
}
banner object

A CSS-drawn banner: a pattern over a color swatch.

Properties

pattern string Optional

No description available.

maxLength: 32 bytes
Known values: plain, stars, scanlines, checker
swatch string Optional

No description available.

maxLength: 32 bytes
Known values: coral, rust, plum, berry, navy, teal, pine, slate
View raw schema
{
  "description": "A CSS-drawn banner: a pattern over a color swatch.",
  "properties": {
    "pattern": {
      "knownValues": [
        "plain",
        "stars",
        "scanlines",
        "checker"
      ],
      "maxLength": 32,
      "type": "string"
    },
    "swatch": {
      "knownValues": [
        "coral",
        "rust",
        "plum",
        "berry",
        "navy",
        "teal",
        "pine",
        "slate"
      ],
      "maxLength": 32,
      "type": "string"
    }
  },
  "type": "object"
}
forumProfile object

No description available.

Properties

avatar blob Optional

No description available.

maxSize: 1.0 MB
banner ref #banner Optional

No description available.

currently string Optional

No description available.

maxLength: 800 bytesmaxGraphemes: 80 graphemes
description string Optional

No description available.

maxLength: 2560 bytesmaxGraphemes: 256 graphemes
displayName string Optional

No description available.

maxLength: 640 bytesmaxGraphemes: 64 graphemes
fields array of string Required

Only listed fields override defaults. A listed field with no value explicitly clears it (avatar falls back to Bluesky); remove it from this list to inherit again.

forum string did Required

A decentralized identifier (DID).

headline string Optional

No description available.

maxLength: 800 bytesmaxGraphemes: 80 graphemes
notifications boolean Optional

No description available.

panels array of ref#panel Optional

No description available.

maxLength: 32 items
profileSkin string Optional

No description available.

maxLength: 64 bytes
Known values: classic, sky, bubblegum, midnight, forest
pronouns string Optional

No description available.

maxLength: 640 bytesmaxGraphemes: 64 graphemes
title string Optional

No description available.

maxLength: 640 bytesmaxGraphemes: 64 graphemes
website string uri Optional

A valid URI.

View raw schema
{
  "properties": {
    "about": {
      "items": {
        "refs": [
          "app.atmobb.richtext.block#text",
          "app.atmobb.richtext.block#quote",
          "app.atmobb.richtext.block#code",
          "app.atmobb.richtext.block#image"
        ],
        "type": "union"
      },
      "maxLength": 20,
      "type": "array"
    },
    "avatar": {
      "accept": [
        "image/png",
        "image/jpeg",
        "image/webp",
        "image/gif"
      ],
      "maxSize": 1000000,
      "type": "blob"
    },
    "banner": {
      "ref": "#banner",
      "type": "ref"
    },
    "currently": {
      "maxGraphemes": 80,
      "maxLength": 800,
      "type": "string"
    },
    "description": {
      "maxGraphemes": 256,
      "maxLength": 2560,
      "type": "string"
    },
    "displayName": {
      "maxGraphemes": 64,
      "maxLength": 640,
      "type": "string"
    },
    "fields": {
      "description": "Only listed fields override defaults. A listed field with no value explicitly clears it (avatar falls back to Bluesky); remove it from this list to inherit again.",
      "items": {
        "knownValues": [
          "displayName",
          "description",
          "pronouns",
          "website",
          "signature",
          "avatar",
          "title",
          "notifications",
          "profileSkin",
          "banner",
          "headline",
          "currently",
          "about",
          "panels"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "forum": {
      "format": "did",
      "type": "string"
    },
    "headline": {
      "maxGraphemes": 80,
      "maxLength": 800,
      "type": "string"
    },
    "notifications": {
      "type": "boolean"
    },
    "panels": {
      "items": {
        "ref": "#panel",
        "type": "ref"
      },
      "maxLength": 32,
      "type": "array"
    },
    "profileSkin": {
      "knownValues": [
        "classic",
        "sky",
        "bubblegum",
        "midnight",
        "forest"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "pronouns": {
      "maxGraphemes": 64,
      "maxLength": 640,
      "type": "string"
    },
    "signature": {
      "items": {
        "refs": [
          "app.atmobb.richtext.block#text",
          "app.atmobb.richtext.block#quote",
          "app.atmobb.richtext.block#code",
          "app.atmobb.richtext.block#image"
        ],
        "type": "union"
      },
      "maxLength": 3,
      "type": "array"
    },
    "title": {
      "maxGraphemes": 64,
      "maxLength": 640,
      "type": "string"
    },
    "website": {
      "format": "uri",
      "type": "string"
    }
  },
  "required": [
    "forum",
    "fields"
  ],
  "type": "object"
}
forumTheme object

No description available.

Properties

forum string did Required

A decentralized identifier (DID).

theme string Required

No description available.

maxLength: 64 bytes
Known values: , classic, sky, bubblegum, midnight, forest
View raw schema
{
  "properties": {
    "forum": {
      "format": "did",
      "type": "string"
    },
    "theme": {
      "knownValues": [
        "",
        "classic",
        "sky",
        "bubblegum",
        "midnight",
        "forest"
      ],
      "maxLength": 64,
      "type": "string"
    }
  },
  "required": [
    "forum",
    "theme"
  ],
  "type": "object"
}
garment object

A garment choice: which type (e.g. jacket, tie) in which colour.

Properties

color string Required

No description available.

type string Required

No description available.

View raw schema
{
  "description": "A garment choice: which type (e.g. jacket, tie) in which colour.",
  "properties": {
    "color": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type",
    "color"
  ],
  "type": "object"
}
panel object

No description available.

Properties

hidden boolean Optional

Hidden from visitors. Absent means shown.

id string Required

No description available.

maxLength: 32 bytes
Known values: about, pinned, stamps, regulars, activity, guestbook, bluesky, signature
View raw schema
{
  "properties": {
    "hidden": {
      "description": "Hidden from visitors. Absent means shown.",
      "type": "boolean"
    },
    "id": {
      "knownValues": [
        "about",
        "pinned",
        "stamps",
        "regulars",
        "activity",
        "guestbook",
        "bluesky",
        "signature"
      ],
      "maxLength": 32,
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "type": "object"
}
part object

A part choice: a shape id and, where the part is colourable, a palette colour id.

Properties

color string Optional

No description available.

shape string Required

No description available.

View raw schema
{
  "description": "A part choice: a shape id and, where the part is colourable, a palette colour id.",
  "properties": {
    "color": {
      "type": "string"
    },
    "shape": {
      "type": "string"
    }
  },
  "required": [
    "shape"
  ],
  "type": "object"
}

Lexicon Garden

@