Eén stylesheet en één rendermodule waarmee een antwoord van Luna de vorm krijgt die de inhoud draagt. Luna levert per blok een componentnaam en de velden van dat component, de rest is vast. De blokken hieronder staan op de tokens van het OS zelf, dus ze kleuren mee met elke tenant.
Links wat de rail nu doet met een antwoord: alles wordt een alinea, dus de lezer moet zelf de cijfers, de tabel en het risico eruit halen. Rechts hetzelfde antwoord, dezelfde woorden, met de blokken eromheen.
Links de invoer van Luna, rechts wat de rendermodule ervan maakt. Er zit geen model tussen die twee: GenUI.bouw(json) is deterministisch, raakt het netwerk niet en levert bij een onbekend component gewoon de tekst.
Elk blok met het criterium waarop het gekozen wordt. Dat criterium staat in componenten.json en is daarmee ook de instructie aan het model dat de blokken kiest.