One glass language for every Bible Translation app. Scripture stays legible; everything around it is quiet.
Generative Glass is the shared system behind 3D Review, the FIA companion, Aquifer Window and the apps that follow. Surfaces are translucent frosted glass over a slow aurora, edges are hairlines of light, depth is diffuse. The aurora and the glass itself are parametric: they respond to the passage, its script, and where a project is in its process. The apps have different building blocks; the material, the type, the motion and the voice are the same.
3D Review
Surveys from teams, communities, churches and consultants on the health of the process
FIA
Companion for the FIA process of understanding scripture before drafting
Aquifer Window
Browse and open translation resources: images, maps, articles, key terms
Four families. Ink for text, paper for the studio, aurora for what lives behind glass, and an accent budget of exactly three colors. Status is carried by aurora tint and by shape, never by a fifth accent. Saturation arrives only through imagery.
{{ g.name }}
{{ g.note }}
Foundations
Type
Two roles. UI type is SF Pro (Display for titles and numerals, Text for reading sizes), weights 400 to 700. Scripture is the one exception: it gets a reading face per script, so Hebrew, Greek, Arabic and Devanagari render in a serif drawn for that script, never in a fallback. UI never changes with the scripture language.
--type-hero 28 / 1.16 · 500 · −0.02em
Good morning, Miriam
--type-card-title 19 / 1.24 · 600 · −0.015em
River assessment, in preparation
--type-time 17 / 1.3 · 600 · Display
Ruth 2:1–13 · 24 responses · 09:41
--type-body 15 / 1.4 · 400
Short role-specific surveys reveal the health of the translation process.
--type-label 13 / 1.35 · 500
Here to take the survey?
--type-caption 12 / 1.3 · 400
Last synced 2 min ago · River project
--type-overline 9 / 1.2 · 600 · +0.14em
Translator · Community · Church · Consultant
Scripture reading faces
17 / 1.6 · 400 · tracking 0 · Noto Serif family, one face per script · RTL flips the passage, not the UI
{{ sc.name }} {{ sc.font }}
1{{ sc.text }}
Foundations
Glass
Every surface carries three things at once: a 0.5px white hairline, an inset top light, and a faint prismatic sheen on the diagonal. Blur only where a surface floats over content it does not own. Never more than two glass levels stacked. Scripture always sits on fill 3 or higher.
Gutter 18 on mobile, 24 on desktop · card padding 18 · stack gap 10 · inline gap 8 · scripture measure 34 to 40em.
Corner radii
{{ r.token }}{{ r.px }}
Keys and grid cells 6, tiles 14 to 18, image wells 22, cards 28, sheets 34. Everything interactive is a full pill. Nothing has a sharp corner.
Foundations
Motion
Organic and viscous. Nothing snaps, nothing fades linearly. Sequenced in three beats: what leaves softens, what connects draws, what arrives rises. A particle ring precedes anything about to expand.
Stroke only, 1.7px, round caps and joins, 24px grid, monochrome. Lucide outlines. The 16 mapped today; BT apps will need book, headphones, users, check, cloud-off and message-circle from the same set. No emoji, ever. Metaphor graphics (jar fill, plant growth) are illustrations, not icons.
{{ ic }}
Library
Glass primitives
The material components every BT app builds from, live from the bundle. The travel kit's content components (FlightCard, RouteArc, WeatherPill, MapCanvas) are retired; DestinationCard, CategoryTile, SpotHero and RouteList are kept and generalized below as resource, category, place and step surfaces.
GlassButton
glass · solid · dark · quiet · sm / md / lg. One primary per screen.
OpenShow me howTake the surveyNot nowResolveSubmit
GlassIconButton · GlassChip
Pills everywhere. Hover lifts 1px and glows; press scales .972
Ruth 2COMMUNITYHere to take the survey?Browse a sample assessment
GlassInput · composer row
58px, fill 2, strong blur, focus glow. Voice is first-class: many reviewers speak, not type.
Header widgets
StatusBar · Avatar · DotRing · Filament. Avatar shown with an Aquifer place image (UBS Images 831521); user photos come from the app's account, never from the system.
Mounted from the compiled bundle
These four are the real design-system components, mounted from the compiled bundle (GenerativeGlassDesignSystem_1a4c8e). The specimens further down are the same designs written out by hand for the docs and will be replaced by bundle mounts as the page is rebuilt.
Library · Bible Translation
BT components
Seven content components shared across the apps, plus the five structural ones (tab bar, sheet, fields, search, desktop shell). Not every app uses every block; each one follows the card recipe so mixing them never looks mixed.
ScripturePassage
Fill 3 minimum. Verse numbers in overline ink, footnotes as superscript, key terms as inline chips. RTL scripts flip the passage block only; the header stays LTR.
{{ passage.ref }}{{ passage.version }}
Up to date
{{ v.n }}{{ v.text }}
{{ passage.src }}
Key terms
Key term · {{ term.source }}
{{ term.label }}
{{ term.def }}
Open in glossary
ReviewThread
Anchored to a verse. Role as overline, time as caption. Resolving softens the thread instead of hiding it.
Ruth 2:3 · 2 comments{{ resolvedLabel }}
{{ c.initials }}
{{ c.name }}{{ c.role }}{{ c.when }}
{{ c.text }}
Reply
ProgressGrid
Book by chapter. Stage is an aurora tint on a 6px cell: sky Understand, peach Translate, lavender Revise and check, mint done. Empty cells are fill 1. Stage names are per process; this is one ladder.
{{ b.book }}
{{ b.pct }}
UnderstandTranslateRevise and checkDone
SurveyQuestion
3D Review. Bands, not scores: four pills with a jar-fill mark, a single hue. One question per screen, perspective as overline. Free-text is optional and comes after.
Community · 3 of 8Illustrative
When the team reads a new draft aloud, how well does your community follow it?
Anything you want to add? Optional.
ResourceCard · SyncBadge
Aquifer or Door43 item: type as overline chip on the image, title, then source · id · licence. Specimens are live Aquifer records. SyncBadge has three states and lives top-right of any card that can be stale.
{{ r.type }}
{{ r.title }}
{{ r.meta }}
Up to date
Syncing 3 items
Offline · saved on device
GlassTabBar
Floating pill, fill 3, strong blur. Active item gets a solid pill and its title; the rest are glyph only. Apps pick their own four.
GlassSheet
Fill 4, heavy blur, 34px top radius. Content behind recedes: scale .94, blur 6px, opacity .5.
River project
River assessment
Invite a collaborator
Collaborators can open the workspace. Survey participants only need the survey link.
Copy invite linkOpen workspace access
Form fields
GlassField · GlassSelect · GlassToggle · GlassSegmented. Labels are caption-size above; focus is a glow, never a ring.
Allow a viewer link
GlassSearch + FilterChips
Aquifer Window. Search reuses GlassInput with a leading glyph. Selected chips invert; the row bleeds off the edge.
CatalogRow · Door43
The same browse pattern the Aquifer Window uses, pointed at the Door43 catalog. Subject as overline, title in the resource's own script and direction, owner/repo in mono, release as chip. Rows group by language; RTL titles align end.
{{ c.subject }}
{{ c.title }}
{{ c.id }}
{{ c.release }}{{ c.meta }}
{{ catalogNote }}
Desktop shell · 3D Review
Context side panel (projects and their assessments), four phases across the top of the assessment, a grid of report cards. Viewer and participant routes drop the side panel entirely.
3D Review
New assessment
River project
River assessmentPrepare
Earlier assessmentUnderstand
Hill project
No assessments yet
All projects
Organize in a workspace
River project
River assessment
Responses
Translator12
Community8
Church5
Consultant1
Quality band · simple
Growing
Detailed view available
Reflection
Community follows the drafts when they are read aloud; written copies are harder. Discuss with the team before the next round.
Next steps
Open viewer link for church leadersInvite a consultantRepeat when it is appropriate
Library · Bible Translation
LanguagePicker
One picker for every place a language is chosen: the app's own locale, a filter on resources, an attribute on a project or passage, the target of a translation, or a gateway pair. Thousands of languages, so the list is never browsed cold: a Suggested group comes first (recent, then this person's project languages, then the device locale, then gateway languages), and typing matches autonym, English name, code, region and alternate names. Every row carries coverage per resource type in three states, and the row itself never lies about what exists.
Universe by context
Filter hides languages with nothing in the current source. Attribute, target, pair show every language; empty ones read “no resources yet” and stay selectable. UI locale shows every language; ones the app is not localized in fall back to a gateway language with a note.
Coverage, per resource type
Chips for Bible · Notes · Words · Maps light up per language. Available is a filled chip. AI-translatable is the chip with an AI tag: a resource an LLM handles well that can be produced on demand. None is a dashed hairline. AI is one rung on a confidence ladder (draft, checked, published) that resource metadata will carry later; the mark is designed to grow into that ladder.
Row and data
Autonym first in its own script and direction, English name, then code in mono. List is the union of Door43 /languages and Aquifer localizations, keyed by BCP-47. Sorted by English name after the Suggested group, since autonyms cannot share one alphabet. Sheet on mobile, popover on desktop, same rows.
Context
{{ lpTitle }}
{{ lpCount }}
{{ g.label }}
{{ lpEmptyText }}
AvailableAIAI-translatableNone
Generative
Generative rules
The aurora is seeded by scripture: testament sets the hue family, genre sets the blob layout. The glass is parametric: passage length sets fill, script sets blur, process stage tints the sheen, nesting depth steps the radius. Every output snaps to a ladder step, so the result is always a token, never an arbitrary value.
Testament → hue family
Genre → blob layout
{{ genreNote }}
Script → blur
Stage → sheen tint
{{ gCss }}
{{ gEyebrow }}
{{ gStageLabel }}
{{ gTitle }}
{{ gBody }}
Nested surface · radius {{ gNestRadius }}
Rule 1 · Aurora from scripture
Old Testament: sky and lavender, cool. New Testament: peach and lemon, warm. Genre places the blobs: Law is a steady horizon, Poetry pools low, Prophecy rises, Gospel centers, Epistle spreads evenly, Apocalyptic is high and asymmetric.
Rule 2 · Fill from length
Scripture never sits below fill 3. Up to 8 verses: fill 3. Longer: fill 4. UI cards keep the full ladder from fill 1.
Rule 3 · Blur from script
Scripts with diacritics, points or conjuncts need a calmer ground. Latin: medium. Greek: medium. Hebrew with points, Arabic: strong. Devanagari: strong. Any script at caption size: heavy.
Rule 4 · Sheen from stage, radius from depth
Understand tints the refraction sky, Translate peach, Revise and check lavender. Stage names are per process. Each nesting level steps the radius 28 → 22 → 18 → 14; two glass levels max.
Generative · concept
Project constellation
A partner's projects as a drifting field instead of a list. Each project is a glass orb whose inner aurora is generated from its state. Clusters sit where their region is: orbs are placed on a Natural Earth projection, and a hairline world outline can be drawn under them or switched off. Click a region name to zoom to it, World to return. For a coordinator with forty projects this is the home screen; for a translator with one it is a single orb.
Focus and opacity · last activity (quiet projects drift out of focus)
Dashed ring · assessment open; solid hairline · reported
Photo inside · project cover image, if the team set one
Position · region cluster, drift within it
Assessment timeline
The same encoding compressed: one aurora thumbnail per assessment, left to right by time. Repeat when it is appropriate; the strip shows the rhythm without prescribing one.
Resource stack
Aquifer Window: resources attached to a passage as stacked cards, each with a palette extracted from its image, fanned on hover.
Content
Voice and copy
Calm, second person, short. The app speaks to one named person and never about itself. It never grades a team; it shows bands and asks questions. Scripture is quoted exactly and never paraphrased in UI copy.
Rules
CasingSentence case. Overlines uppercase at 9px. Book names and references as the translation writes them: Ruth 2:3, 1 Cor 13.
LengthTitles two lines max. Supporting copy one sentence. Survey questions one sentence, one idea.
ResultsBands, never raw scores. Simple and detailed levels for different readers. Findings are proposed until the team ratifies them.
CadenceNever prescribe one. "Repeat when it is appropriate." Point to stage guidance, not a universal schedule.
RolesTranslator, Community, Church, Consultant, Viewer. Participants are never called users.
NeverEmoji, exclamation marks, em dashes, "I", grades, percentages on people, "AI" in participant-facing copy.