docs: PWA als künftiges Feature festgehalten (Plan + Roadmap)

Werkbaum soll installierbar werden. Im mitgelieferten Plan als
`#bld.pwa` (M) unter „Build and delivery", mit drei Kindern: Manifest
(XS), Service Worker (S) und die Frage, was aus der Update-Anzeige wird
(S) — je mit Beschreibungsblock nach D48. Status `[ ]`: beschlossen,
nichts investiert.

Die Vorarbeit ist getan und steht in den Beschreibungen: Der Build
liefert eine einzige Datei mit inlinten Schriften, Stilen und Modulen
(D19/D20), es gibt also genau ein Objekt zu cachen, und die Dokumente
liegen ohnehin lokal (D22). Offen ist das Zusammenspiel mit D45: Sitzt
ein Worker vor der Seite, entscheidet er, was ausgeliefert wird — „der
laufende Build gegen den, den der Server schickt" ist dann nicht mehr
dieselbe Aussage. Texte aus ?sourceUrl=/?etherpad= bleiben naturgemäß
online.

Dazu ein Eintrag unter „Kleinere Ideen" in der ROADMAP, der auf
`#bld.pwa` verweist.

Nachgemessen: 154 Knoten (150 + 4), 0 Warnungen, alle IDs eindeutig,
kein Knoten ohne Beschreibung, Stationen 24 -> 27 (die drei neuen
Blätter sind offene Pfadarbeit). 240 Tests grün.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-08-24 10:03:51 +02:00
co-authored by Claude Opus 5
parent b2248c45bc
commit 7904c82481
2 changed files with 36 additions and 0 deletions
+11
View File
@@ -103,6 +103,17 @@ Tastendruck ein Commit); und wer bei einem Backend eigentlich was darf
Ausbaustufe weiterspringen (Regel: erst die Kette auf `fertig`, dann die Ausbaustufe weiterspringen (Regel: erst die Kette auf `fertig`, dann die
nächste Stufe). Das braucht erst Nutzen + Aufwands-Rollup (oben). nächste Stufe). Das braucht erst Nutzen + Aufwands-Rollup (oben).
- Attribut-Syntax für Termine/Meilensteine. - Attribut-Syntax für Termine/Meilensteine.
- **Installierbar als Progressive Web App:** Manifest (Name, Icons,
`display: standalone`) plus ein Service Worker, der die Seite aus dem Cache
beantwortet — dann startet der Editor ohne Netz und bekommt ein eigenes
Fenster samt Symbol. Die Vorarbeit ist getan: Der Build liefert **eine**
Datei mit inlinten Schriften, Stilen und Modulen (D19/D20), es gibt also
genau ein Objekt zu cachen, und die Dokumente liegen ohnehin lokal (D22).
Zu klären ist das Zusammenspiel mit der Update-Anzeige (D45): Sitzt ein
Worker vor der Seite, entscheidet **er**, was ausgeliefert wird — „der
laufende Build gegen den, den der Server schickt" ist dann nicht mehr
dasselbe. Dokumente aus `?sourceUrl=`/`?etherpad=` bleiben naturgemäß
online. Im Plan: `#bld.pwa`.
- Schlagworte `&tag` mit einer Filter-/Hervorheben-Linse im Diagramm: Der Baum - Schlagworte `&tag` mit einer Filter-/Hervorheben-Linse im Diagramm: Der Baum
ist genau eine Zerlegung — ein Tag benennt eine Menge von Knoten quer dazu ist genau eine Zerlegung — ein Tag benennt eine Menge von Knoten quer dazu
(z. B. `&frontend` in feature-geschnittenen Slices). Schreibweise reserviert (z. B. `&frontend` in feature-geschnittenen Slices). Schreibweise reserviert
+25
View File
@@ -82,6 +82,10 @@
- [^] #bld.tests: Unit tests (S) - [^] #bld.tests: Unit tests (S)
- [^] #bld.pages: Published on every push (S) - [^] #bld.pages: Published on every push (S)
- [^] #bld.update: Says when a new build is out (S) %% compares against the running one, see D45 - [^] #bld.update: Says when a new build is out (S) %% compares against the running one, see D45
- [ ] #bld.pwa: Installable as a progressive web app (M)
- [ ] #bld.pwa.manifest: A manifest with name, icons and standalone display (XS)
- [ ] #bld.pwa.sw: A service worker that serves the app offline (S) %% one file to cache
- [ ] #bld.pwa.update: The reload notice moves into the worker (S) %% see D45
- [-] #bld.ghpages: Deploy through a gh-pages branch (S) %% GitHub Actions instead - [-] #bld.ghpages: Deploy through a gh-pages branch (S) %% GitHub Actions instead
- [-] #bld.gfonts: Fonts from Google (XS) %% self-hosted, no third-party request - [-] #bld.gfonts: Fonts from Google (XS) %% self-hosted, no third-party request
- [ ] #be: Backend (XL) - [ ] #be: Backend (XL)
@@ -546,6 +550,27 @@
offers a reload. It compares against itself, not against a remembered offers a reload. It compares against itself, not against a remembered
fetch — a remembered one survives the very reload that resolves it. fetch — a remembered one survives the very reload that resolves it.
#bld.pwa
Installable from the browser and startable like an app, in its own window
and with its own icon. Everything it needs is already in one file, so what
is missing is mostly the declaration that says so.
#bld.pwa.manifest
Name, icons, theme colour and a standalone display mode — the declaration a
browser reads before it offers to install anything. The brand mark exists
and needs the raster sizes an installer asks for.
#bld.pwa.sw
A worker answering from the cache lets the editor start without a network.
There is exactly one object to cache, because the build inlines fonts,
styles and modules; documents live in the browser anyway. Texts pulled from
a URL or a pad stay online by their nature.
#bld.pwa.update
With a worker in front of the page, the reload notice has to come from it:
it decides what gets served, so "the running build against the one the
server sends" is no longer the same comparison.
#bld.ghpages #bld.ghpages
Rejected: the official Actions route needs no extra branch and no deploy Rejected: the official Actions route needs no extra branch and no deploy
key. key.