Der Einführungs-Fahrplan
Wie ein bestehendes System Schritt für Schritt zu einer Invisible-Oberfläche kommt — von unten nach oben, jeder Schritt liefert sofort nutzbaren Wert.
Die Reihenfolge folgt dem Schichtenmodell von unten nach oben — jeder Schritt liefert sofort nutzbaren Wert und baut auf dem vorigen auf. Genau diesen Weg ist der Prototyp bereits gegangen; er ist die Blaupause.
1. Design-Tokens erfassen
Inventur der Markenwerte des Bestandssystems: Farben, Größen, Radien, Schatten, Typografie → als Referenz-Tokens (rohe Werte) und semantische Tokens (Bedeutung: „das ist unsere Primär-Aktion") anlegen. Themes für Kunden-Brandings, Target-Schicht für Desktop-Dichte.
✔ Ergebnis: tokens.css — jede spätere Schicht erbt automatisch. Ab jetzt gilt: ein Token ändern = überall geändert.
2. UI Elements definieren & standardisieren
Inventur der Grundbausteine im Bestand (wie viele Button-Varianten gibt es wirklich?), dann pro Baustein EINE Definition mit Props-Enums statt Wildwuchs: ui.button mit variant primary|secondary|ghost — nicht 14 CSS-Klassen. Formular-Familie, Icons (kuratierte Whitelist), Status-Anzeigen.
✔ Ergebnis: der atomare Standard-Baukasten — ab hier wird nichts Doppeltes mehr gebaut.
3. Layouts
Raster, Stapel, Spalten, Reihe als reine Anordnungs-Bausteine — responsive über fluide Mechanik und pro Breakpoint wählbare Props. Damit entfallen Spezial-Container in jedem Feature.
✔ Ergebnis: Anordnung ist komponierbar statt pro Seite handgebaut.
4. Components bauen — pro Einsatzgebiet
Verhalten mit Slots und Events, kategorisiert nach Ziel: Desktop (Window, Table, Tabs, Toolbar), Website (Navigation, Accordion, Card), Shop (Product-Card, Cart-Line), Formular (Combobox, Date-Picker), Overlay (Modal, Drawer, Toast). Jede Component deklariert, welche Targets sie unterstützt.
✔ Ergebnis: interaktive Standard-Bausteine mit einheitlichem Event-Vertrag.
5. Blocks bauen — pro Kanal
Fertige Kompositionen, mit denen Nicht-Entwickler Seiten bauen: Marketing (Hero, Features, Pricing, FAQ, Testimonials), E-Commerce (Product-Grid, Checkout-Abschnitte), Application (Page-Heading, Stats), Website (Header, Footer). Schlank parametrisiert — Inhalte kommen aus der Instanz.
✔ Ergebnis: die Sprache, in der Marketing denkt und arbeitet.
6. Templates je Kanal
Seitengerüste als Slot-Regeln: template.page (Nav Pflicht oben, Fuß Pflicht unten), template.app.shell (Seitenleiste), template.email.message (Fuß Pflicht — eine Abmeldung gehört in jede Nachricht). Sie erzwingen Konsistenz über alle Seiten eines Kanals.
Wann eine neue Vorlage berechtigt ist
Nur bei EIGENEN SLOTS. Eine andere Erlaubnis-Liste im selben Slot rechtfertigt keine Vorlage — dann erweitert man die bestehende. Anderes Aussehen ist ein Theme, andere Ausgabe-Technik ein Ziel-Profil.
Der Fall, der die Regel erzwungen hat: template.dev.portal hatte dieselben Slots wie die Seiten-Vorlage und ließ nur vier Bausteine mehr zu. Ergebnis — drei völlig verschiedene Seiten bauten alle auf einer Entwicklerportal-Vorlage, weil es die einzige war, die sie ließ. Beide sind seit dem 08.08.2026 zu template.page zusammengeführt.
7. Rendering & Anbindung ans Bestandssystem
Zwei Anbindungswege, die parallel laufen dürfen:
- Ganze Oberflächen: Surface-JSON → Produktionsrenderer → Target-Profil.
- Fragmente in Bestandsseiten:
invisible_render_id('component.card', $props, …)rendert einzelne Bausteine mitten in vorhandene Seiten — schrittweise Ablösung statt Big Bang.
Für den Desktop existiert der eingebaute Übergangsmechanismus: component.window kann Inhalte als legacy-iframe (die heutige Seite läuft unverändert im neuen Fenster weiter) ODER als integrated-page (neue Invisible-Surface) anzeigen. Altes und Neues laufen im selben Desktop nebeneinander — migriert wird App für App.
✔ Ergebnis: Bestandssystem und Invisible koexistieren — kein Stichtag, kein Risiko.
Später: das CMS-Produkt (Builder, Publish)
Visuelles Seiten-Bauen und der Publish-Workflow sind das Produkt auf dem Framework (Invisible CMS) — kein Framework-Bestandteil. Der Stand von 2026 liegt in archiv/; ob und wie er wiederkommt, entscheidet die Produktwerdung (PRODUKT-KONZEPT.md).
Das Zielbild: der designbare Enterprise-Desktop
Beispiel
Der semantische Token radius.overlay (Fenster-/Dialog-Rundung) wird im Theme von 12px auf 4px gestellt → alle Fenster des Desktops, alle Modals und Toasts übernehmen den neuen Standard — ohne dass eine einzige Definition oder Seite angefasst wird. Dasselbe gilt für color.action.primary (jeder Button, überall), Dichte pro Target, komplette Kunden-Themes.
Das ist der eigentliche Hebel der Architektur: Design wird eine Konfigurationsentscheidung, keine Umbau-Aufgabe.