Generator node
Poster Text
The living poster: every page throws a design GRID — a big feature slot, a few smaller rows in golden-ish proportion, big again; a landscape box first splits into newspaper columns. Words from the Transcription stream pour into the slots in reading order, stretched to fill them on the font's width axis — placed once, with confidence, never moved. Full poster: hold, Melt, new grid. Caps styling, weight Emphasis for capitalized words, axis-morph entrances, scrub-exact Timeline. Fill reports how full the poster is.
Inputs
| Port | Type | Default |
|---|---|---|
| EnableOff: the node's texture is cleared and nothing draws. The poster state is kept, so re-enabling continues where it was. | bool | true |
| SegmentsThe word stream from a Transcription node's Segments output. Live folds ONLY finalized words into a confidence ledger — the recognizer's volatile guesses never reach the poster (a touch more delay, total stability). Timeline replays scrub-exact on the audio clock. | structure | — |
| ColorInk RGBA, applied as a live tint — word textures are white masks, so a color cable animates freely. The debug outline reuses the RGB. | color | (1, 1, 1, 1) |
| Axis FromWhere a line's entrance STARTS along the liquid axis, 0–1 over its range (0 = hairline on a weight axis). Words settle at the font member's resting value — boosted for Emphasis. On a static font this sets the squeeze depth. | float | 0 |
| Appear TimeHow long a line takes to settle: alpha, the axis morph, and (live) the growth from the staging strip into final size all share it. | float | 0.45 |
| Auto TimingOn (default): live words commit on the adaptive ~0.24 s beat. Off: Word Interval rules the beat. Timeline reveals are always the audio clock — a line appears when its last word was spoken. | bool | true |
| Word IntervalSeconds between live word commits when Auto Timing is off (clamped 0.05–5, compresses under backlog). Timeline ignores it. | float | 0.25 |
| CapsOn (default): everything renders in capitals — the poster look. The original capitalization still decides which words get Emphasis. | bool | true |
| Emphasis0–1: MAJOR words rest HEAVIER on the font's weight axis — up to halfway toward the axis maximum. Emphasis Mode decides who is major. Needs a variable font with a weight axis; 0 turns it off. | float | 1 |
| Emphasis ModeWho gets the emphasis. Caps: words capitalized in speech (works in every language). Nouns & Names / Names Only use Transcription's on-device lexical tags — semantic typography; languages without tagging (Latvian included) fall back to Caps. | int | 1 |
| Glue FunctionOn (default): function words ('of', 'the'…) never take a cell — they ride their next heavy word as a small prefix ('of the NIGHT'). Special rows also step aside for function words, saving the big slot for a concept. Needs word tags; untagged languages behave as before. | bool | false |
| Min SizeThe ink-height FLOOR in Grafit units — no word may go micro. A ruler word that cannot reach it in a split cell claims the WHOLE row; a full-row word condenses on the width axis toward the floor; stacks only open when their half-rows clear it. Glued prefixes floor at 70% of this. | float | 0.08 |
| Max SizeThe ink-height ceiling in Grafit units — a lone short word stops here instead of exploding across the poster. Never drops below Min Size. | float | 0.4 |
| CorrectionsWhat a LIVE finalization may do to standing ink. All: every revision swaps in place. Fitting (default): digit↔spelled-number reshuffles (5 vs FIVE) never touch the poster; other swaps land only if the new ink fits the frozen cell (±30%). Off: placed ink is final. Future placements always use the corrected text. | int | 1 |
| Color ModeSingle: everything in Color. By Class: each lexical class gets its own ink — the class color ports appear. A live shader tint, so color cables animate freely; untagged words keep the base Color. | int | 1 |
| Noun ColorBy Class: ink for nouns and numbers — usually the poster's anchor color. | color | — |
| Verb ColorBy Class: ink for verbs — the motion words. | color | (0.55, 0.75, 1, 1) |
| Adjective ColorBy Class: ink for adjectives and adverbs — the flavor words. | color | (0.9, 0.62, 0.9, 1) |
| Name ColorBy Class: ink for names — people, places, organizations. The accent. | color | (1, 0.84, 0.3, 1) |
| Function ColorBy Class: ink for function words (articles, prepositions, pronouns…) — usually the quiet gray. | color | (0.55, 0.55, 0.6, 1) |
| FeatureThe big slot's cut of the remaining column height (0.15–0.55, golden-ish 0.34 default). Each page's grid opens with a feature slot, follows with Detail rows, then features again — tapering down the column. | float | 0.34 |
| DetailPlain rows between the SPECIAL rows (1–5; 2 = every third row is special). A special row shoots bigger: its word lands at natural width, and a leftover of half the row or more becomes a stacked column — two half-rows, one word each. | int | 3 |
| ColumnsNewspaper columns. 0 (default) = auto by aspect: a landscape box splits into 2–3 vertical columns, each running the feature/detail rhythm; portrait stays single. 1–4 forces the count. | int | 1 |
| Stretch0–1: how hard words stretch to fill their slot — first along the font's width axis (when it has a visible one), then a bounded quad stretch. 0 = natural widths, 1 = flush at (almost) any cost. | float | 0 |
| Row PadAir around the ink, as a fraction of the ink height (0–0.6). Rows lock to the actual glyph coverage — 0 means letters touch their cell edges; the default 0.1 is a tight poster breath. | float | 0.05 |
| Column PadHorizontal air in Grafit units (0–0.2): between words in a row, between the newspaper columns, and before a special row's stacked column. Gutter stays the vertical spacing between rows. | float | 0.05 |
| Breath0–1: the settled poster oscillates its variable axis around resting — ink density pulses, positions frozen. Timeline breath is keyed to word age (scrub-safe). Static fonts do not breathe. | float | 0 |
| Breath RateBreath cycles per second (0.02–4); per-word phase offsets make the poster shimmer rather than pump. Hidden while Breath is 0. | float | 0.5 |
| Hold TimeLIVE: the designer's floor — the MINIMUM a completed poster stands before the next word may replace it (words wait in the ledger). 0 = absolute continuity: the first new word starts the old poster's exit and opens the new page in the same breath. A completed poster otherwise stands as long as the speech pauses. | float | 0 |
| ClearHow the full poster leaves. Melt: the ink thins to hairline and evaporates in a writing-order wave. Unwrite: the pen re-traces left to right. Together melts everything at once; Instant is a hard cut. | int | 1 |
| Clear TimeTotal seconds the clear takes (0.05–10). The live writer waits it out after the reading hold — fresh ink never lands on leaving ink. Hidden on Instant. | float | 1.2 |
| Max WidthThe poster width in Grafit units (viewport short edge = 2). Together with Box Height it decides the auto column count. Clamped to at least 0.2. | float | 0.8 |
| Box HeightThe poster height in Grafit units. The grid's feature/detail rhythm fills it top-down; a word with no slot left turns the page: hold, melt, new grid. | float | 1.5 |
| GutterSpacing between the grid's sub-areas and columns, Grafit units (0–0.2). Also the breathing room that keeps the poster from reading as one slab. | float | 0.01 |
| Box DebugDraws the outer frame AND the thrown grid's sub-areas (features brighter than rows) so the design skeleton is visible before and while words land. Design aid only. | bool | false |
| XPoster center X in Grafit units (0 = screen center). | float | 0 |
| YPoster center Y in Grafit units (0 = screen center). | float | 0 |
Outputs
| Port | Type |
|---|---|
| Image | image |
| Width | float |
| Height | float |
| Active Count | int |
| Fill | float |
How It Works
Poster Text is the living Swiss poster. Every page throws a design grid first: a feature slot, golden-ish detail rows tapering down the column, landscape boxes split into newspaper columns — jittered deterministically by the page's own seed, so no two pages share a skeleton and both clocks agree on which one they are drawing.
Words from the Transcription stream pour into the slots in reading order and are stretched flush into them on the font's width axis. A feature slot takes one word sized to its height; a row glues words left to right, and the word that would leave a sliver stretches to close it. Every decision is made at placement, once, and never revisited — the next word glues around what is already standing.
Typography controls: Caps styling with a Minor Scale for words spoken lowercase, weight-axis Emphasis for capitalized ones, and Min/Max Size so no word ever goes micro. Box Debug draws the grid skeleton itself, at three weights, so you can see the design before the words land.
A full poster holds, melts (Clear and Clear Time), and a new grid is thrown. Class-coloured ink, the corrections gate and scrub-exact Timeline behaviour are shared with Kinetic Text and Liquid Text. Fill reports how full the poster is.
Use Cases
- Live poster from speech — A microphone into Transcription into Poster Text and the room's words become a designed page, live.
- Title sequences — Timeline mode over a pre-transcribed narration gives a deterministic, scrub-exact typographic sequence.
- Editorial screens — The newspaper-column behaviour makes a landscape output read as a spread rather than a banner.
- Installation signage — Long Hold Time and a slow Clear turn it into a page that changes on the hour.
- Design study — Box Debug alone, with no words, is a generative Swiss grid.
Tips
- Feature controls how much of the page the big slot takes — it is the single knob that changes the poster's character most.
- Box Debug first, words second. Seeing the skeleton makes every other setting obvious.
- Max Width and Box Height define the page; Gutter and Row Pad define its air.
- Emphasis works on the font's weight axis, so it needs a variable font to show — the effect is subtle on a static one.
- Placement is final by design. If a word looks wrong, change the grid, not the word.
- Grid jitter uses a stable integer hash, so the same page always throws the same grid, live or on replay.
Open Poster Text in the interactive catalog →
Poster Text is one of 381 nodes in Grafit Pro.
Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.