Surface renderers

The human interaction grammars, separated from what they happen to be reading. A renderer renders; it reads nothing and authorizes nothing, which is what lets the same masonry or the same stream-to-topic keyboard project a different owner without being rebuilt.

renderer
vertical
canonical_name
VerticalRenderer
donor
Pixelfed
grammar
one subject at a time, full bleed, vertical travel; the next is always already the next thing rather than a choice from a grid
seam
the reaction and action rail beside the subject
renders
VerticalDiscovery; any pattern whose records are occurrences ranked by attention
extents
page workspace
cannot_infer
continuous travel -> endorsement of what came next; the order is a ranking and never a recommendation the estate stands behind
extracted_from
/discover
renderer
stage
canonical_name
StageRenderer
donor
Mobilizon
grammar
on-now rail, one room held open, calendar block, organizer, tags, action zone, what this room published, also-tonight, schedule, live track that pins the newest and pauses while you scroll, theatre mode
seam
the action block and the side rail beside the stage
renders
LiveCreatorRoom; any pattern whose records are one occurrence you stay inside rather than pass through
extents
page workspace
cannot_infer
a room being open -> anything being broadcast; this stage publishes status, and a media slot that is empty is empty rather than pending
extracted_from
/stage
renderer
thread
canonical_name
ThreadRenderer
donor
Zulip
grammar
stream to topic to message, unread per stream and per topic, a new-since-last-opened divider, sender grouping, sticky date separators, a hover action bar, J/K through messages and N/P through topics, jump to latest
seam
the message action bar
renders
MomentThread; activity streams, watched sources, capability changes, federation peers, agent exchanges -- any pattern whose records are a timeline somebody follows
extents
workspace
cannot_infer
a machine event rendered as a message -> a person having said it; the grammar is conversational and the speaker is named honestly
extracted_from
/channels
renderer
board
canonical_name
BoardRenderer
donor
Pinry
grammar
masonry over variable-height visual cards; the picture is the row and the column is whatever is left
seam
the pin footer and its detail
renders
EphemeralBoard; collections, product mood boards, project reference, community boards -- any pattern whose records are things you look at before you read
extents
page section
cannot_infer
a generated field -> a photograph of the subject; a card without an image says so on the frame
extracted_from
/board
renderer
community
canonical_name
CommunityRenderer
donor
lemmy-ui
grammar
dense listing rows, post and card grammar, an action bar per row, the visual density of a place where a lot is happening and none of it is being sold to you
seam
the post action bar
renders
InterestCommunity; the federation view, member graphs, governance -- any pattern whose records are what a group is doing
extents
page section
cannot_infer
a dense list -> an active community; density is a layout and not a measure of participation
extracted_from
/community
renderer
market
canonical_name
MarketRenderer
donor
Next.js Commerce
grammar
a facet rail, result density, sort, grid and list, a compare tray up to four, a sticky detail, and the protocol chain drawn as stages reached rather than a bar run to the end
seam
the detail pane and the compare tray
renders
HeterogeneousMarket; capability, compute, model, agent skill, job, ticket, sponsorship, grant, funding route, rental, property, contractor, merchant offer, group buy -- any pattern whose records carry an offer
extents
page workspace
cannot_infer
a stage reached -> any later one; the collapses skip, and paid does not read as delivered
extracted_from
/listings
renderer
search
canonical_name
PropertySearchRenderer
donor
grammar
a persistent query, recent searches, value and category filters, sortable dense rows, a distribution strip, a rank strip, a sticky detail, a saved tray, keyboard navigation
seam
the sticky detail
renders
ParcelSearch; any pattern whose records are a large set you narrow rather than a small set you browse
extents
page workspace
cannot_infer
an assessed value -> a price; the roll says what an assessor published
extracted_from
/parcels
renderer
spatial
canonical_name
SpatialRenderer
donor
MapLibre GL JS
grammar
a map canvas with a basemap, a popup, and a detail that stays while the map moves
seam
the popup and the sticky detail
renders
HabitatMap; venues, events, presences, merchants, offers, rides, properties -- any pattern whose records carry a position
extents
page section workspace
cannot_infer
a drawn shape -> a located one; where the roll carries area and no position the map draws true area at the view centre and says so, rather than geocoding quietly
extracted_from
/parcels
renderer
work
canonical_name
WorkRenderer
donor
Plane
grammar
issue and obligation density: grouped rows, state chips, assignee, blocking relations, and an action row per obligation
seam
the issue action row
renders
ObligationInbox; approval queues, funding requirements, commitments, waiting -- any pattern whose records are things that block other things
extents
workspace
cannot_infer
an open obligation -> work anybody has claimed; and a funding requirement is not funding
extracted_from
/inbox
renderer
inspector
canonical_name
WorldInspector
donor
grammar
one subject, its presences per territory and mode, its standing addresses, its audiences, the views available to this caller, and its machine representations -- the AddressPlane made human
seam
the mode and verb inspector
renders
AddressPlaneDoor; the subject index -- any pattern whose records are coordinates rather than content
extents
page workspace
cannot_infer
a presence -> a permission; eligibility is per caller and is decided where the effect lands
extracted_from
/territory
renderer
watch
canonical_name
WatchRenderer
donor
grammar
one addressed media program held in a chaptered player with transcript adjacency, theatre posture and subject-keyed local playback continuity
seam
the player controls, chapter rail and transcript adjacency
renders
MediaProgram; any representation manifest whose playable asset, chapters and transcript are separately owned
extents
page workspace
cannot_infer
playback position or a completed chapter -> identity, attention, authority, endorsement, or a right to redistribute the asset
extracted_from
/w