At this level
pics.2bit · 1- pics.2bit.challenge.entry record One of the author's own photos entered into a challenge for one of its prompts. One entry per person per prompt is enforced by this app's AppView rather than the record key: its write path deletes an author's earlier entry for a prompt before writing the new one, and where another client leaves several, the newest counts.
- pics.2bit.challenge.join record The author taking part in a challenge. Joining is how a challenge comes to be offered wherever the author posts - nobody is signed up for a challenge they didn't join - and it's public, like a follow, so a challenge can show who's taking part before anyone has entered. Entering a prompt joins too. One join per person per challenge is enforced by this app's AppView rather than the record key: its write path won't write a second, and where another client leaves several, they count once. Leaving de
- pics.2bit.challenge.list record A photo challenge: a named set of prompts, published by its organizer, that anyone can enter by writing a pics.2bit.challenge.entry for one of their own photos. The record key is a short readable slug (e.g. `gbcamtober-2026`) and is only unique within the organizer's repo, so a challenge is always named by organizer and key together - in URLs as `<organizer handle>/<rkey>`, in records by its at-uri.
- pics.2bit.feed.comment record A comment on a 2bit.pics post record.
- pics.2bit.feed.like record A like on any 2bit.pics post record.
- pics.2bit.feed.photo record A single low-resolution photo. The core record of 2bit.pics. Its pixels live in `content`: a four-shade mono photo or a color trichrome, either one a stack of one or more 2bpp exposures whose planes sit in a blob rather than on the record. `image` and `colors` are what records written before `content` existed carry instead; a record carrying neither `content` nor `image` is not a photo, and this app's AppView refuses to write one and skips one arriving from the network rather than indexing a pho
- pics.2bit.feed.photogate record A photo author's statement about the comments on one of their photos, modeled on app.bsky.feed.threadgate. Comments live in their authors' repos, so a photo's author cannot delete one; instead they list it here, in their own repo, and the AppView folds it out of the thread - still one tap away for anyone who asks, the way Instagram and Bluesky treat hidden comments. The record key must be the photo's own rkey, and a gate is only honored in the repo that holds the photo - one written anywhere els