Imported from baumgartner-games/vr (
AGENTS.md). Install upstream withnpx skills add baumgartner-games/vr. Copyright stays with the author.
Projektwissen für Agenten
Dieses Dokument ist der Eingang zum langen Gedächtnis des Projekts: alles, was
in der README bewusst nicht steht. Hier stehen die
Arbeitsregeln — sie gelten in jeder Sitzung — und darunter der
Wegweiser durch die Kapitel in docs/agents/. Wer etwas ändert,
das nicht mehr stimmt, schreibt es dort auch um.
Arbeitsregeln
Alles geht direkt auf main — kein Feature-Branch, kein Pull Request,
solange nicht ausdrücklich etwas anderes gewünscht ist. Das gilt für Menschen
wie für Agenten: entwickeln, committen, git push -u origin main. Wer
ausnahmsweise einen Branch will, sagt das im Auftrag dazu.
Branches werden hinterher weggeräumt. Wer aus irgendeinem Grund auf einem
eigenen Branch entwickelt hat und die Arbeit dann auf main landet — sei es
direkt gepusht oder über einen Pull Request —, löscht denselben Branch danach
sofort wieder, lokal und auf origin:
git push origin --delete <branch>
git branch -d <branch>
Ein Branch, dessen Commits schon in main stecken, hat im Repository nichts
mehr verloren. „Direkter Push auf main" heißt also: am Ende steht dort ein
Commit und kein zusätzlicher Branch. Was ein Agent in seiner eigenen
Arbeitsumgebung tut, ist seine Sache — das Repository bleibt aufgeräumt.
Manche Agenten-Sessions dürfen zwar pushen, aber keine Refs löschen; der
Lösch-Push kommt dann als HTTP 403 zurück. Dann wird das nicht stillschweigend
liegengelassen, sondern im Ergebnis gesagt: welcher Branch übrig ist und mit
welchem Befehl er wegkommt.
Gebaut wird aus vorhandenen Modellen. Wände, Möbel, Böden und alles
andere, was man in einer Welt sieht, kommen aus dem Regal
(public/models/kaykit/, siehe Assetregal) —
keine selbst gerechneten Wände oder Klötze, solange nicht ausdrücklich darum
gebeten wird. Gewünscht: „dass ich eigentlich immer nur existierende Modelle
nutzen will, außer ich sage es explizit". Für Wände heißt das
grid/shelfWalls.ts (planShelfWalls, wallRun, wallSlant); ein Plan
darf Wände für die Rechnung tragen, die Welt räumt sie dann weg
(clearPlanWalls) und stellt die Stücke hin.
Möbel und Stationen kommen aus dem Katalog der Spielelemente
(src/worlds/elements/, siehe Spielelemente).
Ein Spielelement bringt mit, was ein Modell nicht weiß: seine Grundfläche auf
dem Zellgitter (jede Kachel 2 × 2 Zellen, alle gesperrt, bevor irgendetwas
lädt), einen Körper von 1,40 m, die Rohmodelle, aus denen es besteht, und was
man damit tut. Ein Modell aus dem Modellregal ist nur ein Bild. Wer es mit
placeModel als Möbel in eine Welt stellt, baut genau den Fehler, den der
Besitzer immer wieder findet: „Es ist mir öfters aufgefallen dass die Agenten
entweder komplett neue 3d Elemente bauen oder nur die 3d Elemente ohne Physik
Info (2d Grid) platzieren in den Welten." Fehlt ein Element, kommt es in den
Katalog, aus Dateien des Regals zusammengesetzt, und nicht in die Welt.
Ein Menü für alles. Wer eine Auswahl braucht — ein Werkzeug, das fragt,
wonach es suchen soll, ein Gerät mit Einstellungen, eine Frage an den
Spieler —, öffnet eine Seite im einen großen Menü mit dem ✕
(WorldContext.openMenu, eine Seite der Welt, versteckt mit hidden, wenn
sie nur von dort aus erreichbar sein soll). Kein eigenes Menü auf dem Schirm
eines Werkzeugs, keine eigene Tafel, keine andere Bedienung. Gewünscht: „keine
Menüs oder anderen menü interaktionen sollen anders aussehen" (siehe README,
Ein Menü für alles).
Bei sichtbaren Änderungen kommt ein Bild in den Chat. Wer etwas baut,
das man sieht — eine Welt, ein Möbel, eine Tafel, ein Menü, ein Effekt —,
schickt am Ende ein bis zwei Screenshots davon direkt in die Unterhaltung
(in Claude Code: SendUserFile), damit der Besitzer es am Handy sofort sieht.
Gewünscht: „bei visuellen features hier im chat immer ein foto gesendet
werden soll von der sache (so 1-2 bilder), damit ich das am handy direkt sehen
kann." Welche Ansicht:
- Betrifft es die Brille (Hände, Menü-Ebene, Tafeln, alles, was nur in VR
so aussieht): mit der nachgestellten Quest, also
?xr=sim(core/xrEmulator.ts) — oder, wenn es nur um das Bild geht, mit der VR-Ansicht aus dem Menü Spiel-Sicht (core/vrView.ts). - Ist es allgemein (eine Welt, Möbel, Böden, Wände): Von oben, so dass man das Ganze auf einen Blick hat.
Geschossen wird mit Playwright gegen npm run dev (Vorlage:
tools/avatar-shot.mjs; ein vorinstallierter Chromium wird über
SMOKE_EXECUTABLE gefunden). Die Bilder gehören in den Chat, nicht ins
Repository.
Jeder Pull Request erhöht die Patch-Version. Auf der Startseite steht
0.<Build>.<Patch> aus package.json (siehe
Die Seite selbst), und
sie ist nur etwas wert, wenn sie sich bewegt:
npm version patch --no-git-tag-version
Die CI prüft das bei jedem Pull Request gegen den Zielbranch
(tools/version-check.mjs) — bei einem direkten Push auf main gibt es
keinen Zielbranch und damit nichts zu prüfen; wer dort etwas ablädt, das
jemand merken soll, erhöht sie trotzdem. Den mittleren Teil (Build) setzt
von Hand, wer findet, dass etwas Großes fertig ist.
Vor dem Push laufen npm test und npm run build — dieselben zwei Schritte,
die auch die CI bei jedem Push macht (.github/workflows/deploy.yml); der
Build enthält den Typecheck (tsc --noEmit). npm test prüft nur das
Kritische und ist in unter zehn Sekunden durch — wer eine Suite dazutut, muss
begründen, warum sie kritisch ist (siehe Tests).
Lint und Format laufen einmal die Woche in der CI (lint.yml) und nur,
wenn sich seit dem letzten grünen Lauf etwas geändert hat; wer will, ruft
npm run lint und npm run format trotzdem vorher selbst auf.
Sessions, die nicht auf main pushen dürfen
Claude Code im Browser (claude.ai/code) läuft in einem fremden Container und
bekommt vom Harness einen claude/…-Branch zugewiesen; git push -u origin main ist dort nicht möglich, egal was ein paar Absätze weiter oben steht. Für
diese Sessions gilt deshalb der Umweg — aber vollständig, bis der Commit auf
main steht:
- Auf dem zugewiesenen Branch entwickeln, Tests und Build laufen lassen, pushen.
- Pull Request eröffnen, nicht als Draft. Ein Draft ist für GitHub keine fertige Arbeit: mergen lässt er sich nicht, und Auto-Merge lässt sich auf ihm gar nicht erst scharfstellen.
- Warten, bis die CI grün ist, und den PR dann selbst mergen. Auf einen
Menschen wird dabei nicht gewartet: Das Ergebnis dieser Regel ist ein
Commit auf
mainund nicht ein offener Pull Request. - Den Branch löschen, lokal und auf
origin— dieselbe Aufräumregel wie oben, samt demHTTP 403, der gesagt werden will.
Wer am Ende einen offenen PR liegen lässt, hat die Arbeit nicht abgeliefert, sondern nur abgelegt. Fehlt das Recht zum Mergen, steht genau das im Ergebnis, mitsamt der Nummer des PR.
Sobald auf main ein Ruleset mit dem Pflicht-Check Build liegt, ersetzt
GitHubs Auto-Merge den dritten Schritt: einmal scharfstellen, und GitHub mergt
selbst, sobald die CI durch ist. Ohne so ein Ruleset ist jeder PR von der ersten
Sekunde an mergebar, und genau dann lässt GitHub Auto-Merge nicht zu — deshalb
steht hier das Warten und nicht die Automatik.
Linter und Formatierer
npm run lint ist ESLint mit einem kleinen Regelsatz (eslint.config.js).
Klein mit Absicht: Ein Linter, der über Stil schimpft, wird nach zwei Wochen
übergangen; einer, der Fehler findet, wird gelesen. Es steht also nur darin, was
hier schon einmal wehgetan hat — nicht abgewartete Promises (die Welten laden
asynchron), Methoden, die von ihrem Objekt getrennt herumgereicht werden, tote
Variablen. Über die Form entscheidet Prettier, nicht ESLint.
npm run format formatiert die TypeScript-Dateien, npm run format:check prüft
nur. Absichtlich nicht dabei: src/style.css und index.html. Die
einzeiligen CSS-Regeln dort sind handgesetzt und gewollt, und ein Formatierer,
der sie auseinanderzieht, gewinnt nichts.
Zwei Regeln sind ausgeschaltet, und beide aus demselben Grund: Sie hielten
Absicht für Versehen. no-unnecessary-type-assertion hätte 268 Ausrufezeichen
hinter Array-Zugriffen wegoptimiert, die der nächsten Leserin sagen, dass dort
wirklich etwas steht; require-await beanstandet Methoden, die eine
Schnittstelle als async vorschreibt.
Wegweiser
Das Wissen selbst steht in docs/agents/, ein Kapitel je Datei. Die
Aufteilung ist ein Zugeständnis an die Leser: Diese Datei war über ein Megabyte
groß, und ein Nachschlagewerk, das niemand am Stück lesen kann — kein Mensch und
erst recht kein Agent mit begrenztem Kontext —, wird nicht nachgeschlagen,
sondern durchsucht und dabei missverstanden. Oben steht deshalb, was immer
gilt; darunter steht, wo das Übrige liegt.
Wer etwas ändert, ändert es in dem Kapitel, in dem es steht — und trägt ein neues Kapitel hier ein. Der Wegweiser ist die einzige Liste, die vollständig sein muss.
Gesucht wird quer über alle: grep -rn "Stichwort" docs/agents/ findet
auch, was in den beiden langen Kapiteln ohne Zwischenüberschriften steht
(Was drin ist, Haunting / Orbital — beide sind Listen aus fetten
Stichpunkten).
Vor jedem Push
- Tests — Nur das Kritische: was geprüft wird, was weg ist, und Lint einmal die Woche.
Was es gibt
-
Was drin ist — Die Welten, die Zonen und die Spiele: was es gibt und was es tut.
-
Haunting / Orbital — Die Raumstation für eine Quest und zwei Mobilgeräte: Runde, Rollen, Karte, Bots, Monster-Tempo, die Anzeigen des Technikers und sein Ende mit Uhr. Das längste Kapitel.
-
Test Restaurant (
#test-restaurant, Ordner Test) — Die Burgerküche, die der Besitzer aus dem Möbelkatalog geschickt hat (sechs Vorratskisten, Herd, Brett, Platten, Tellerstapel, Mülleimer, alle nach Süden): jede Zeile inSPOTSein Spielelement, jedes mit Stationsart aufAbenutzbar. Darin auch: wo die alten Mini-Küchen, das Burgerband und die Gäste in der Geschichte liegen. -
Hausbau (
#hausbau, Ordner Test) — Ein kleines Haus aus den Wänden des Katalogs, davor je sechs Tapeten- und Bodenkisten: Tapete in die Hand (Kiste oder Katalog), auf eine Wand im Raum zeigen, die Seiten leuchten mit Vorschau,Aklebt; ein Bodenbelag legt sich auf die Kacheln des Raums, in dem man steht; eine Treppe (2 × 8 Zellen) legt die Etage darüber an, die man im Haus nicht sieht; jeder geschlossene Raum bekommt sofort seine Decke, die beim Aufbrechen nur geht, wo oben nichts auf ihr steht. Darin: wie ein Raum gefunden wird (roomTrace) und wie die Tapete je Seite im Shader liegt. Darin: Was darin steht · Tapezieren wie in PlateUp! · Bodenbeläge · Treppen und Etagen · Die Decke über jedem Raum · Die Tapete auf der Wand · Offen · Was wo liegt. -
Das Restaurant (vormals Burgerladen,
#plateup) — Küche und Gastraum, im September 2026 neu aus dem Möbelkatalog: Fliesen, Dielen, die Regalwände der Test Navigation auf den Fugen (auch im Katalog unter Wände, Türen, Fenster), die Küche als Spielelemente, noch ohne Tische und Gäste (plateup/plateUpRoom.ts). Darunter das Spiel nach PlateUp!, wie es bis dahin war (Commit56462b6). Darin: Neu aus dem Möbelkatalog · Das Spiel bis September 2026 · Was wo liegt · Wie es aussieht · Der Spielablauf · Steuerung · Zum Prüfen · Offen. -
Hexland (
#hexland) — Ein Dorfromantik-Klon aus den Kacheln vonmedieval-hexagon: Partie wie im Brettspiel (40 Kacheln, drei offene Aufträge mit genauer Zielgröße, Flaggen, längster Fluss und Weg) oder Kreativ-Modus mit Kachel-Katalog, eigener Menü-Reiter (World.menuTab). Brille: Weltbau, der skaliert; von oben ohne Figur, Leiste ⟲ ✓ ⟳, Gesten zum Neigen und Drehen; alles ebenerdig. Darin: Das Spiel (Partie, Kreativ-Modus, der Reiter) · Bedienung — eine für alle drei Ansichten · Wie es gebaut ist · Offen.
Spielideen
- Spielideen — Die Konzepte der Spiele in einfachem Markdown, eine Datei je Spiel: worum es geht, wie eine Runde läuft, was noch fehlt. Nicht wie es gebaut ist, sondern was es sein soll. Darin: Haunting / Orbital (mit der Liste für den Spieleabend Mitte November 2026) · Restaurant · Taverne · Dungeon · Leitstelle · Wipeout · Apartment · Raumstation · Stadtbau · Abenteuer.
Steuerung
- Steuerung — Das einheitliche Schema (gleiche Absicht, gleicher Knopf), Menüs mit dem Pad, die Tastenhilfe — und die Tabelle: welche Taste, welcher Knopf, welcher Stick, in jeder der drei Ansichten.
- Greifen, Reichweite, Benutzen — Was ein Ding will und womit man es bekommt: Saum, Griff, Trigger und die drei Reichweiten. Darin: Drei Dinge, drei Reichweiten — und ihre Namen · Ein Griff ist auch für das, was kein Werkzeug ist · Vier Reichweiten? Nein — drei, und eine Einschränkung · Was ein Ding will — und womit man es bekommt · Der Feuerlöscher: wo er hingestellt wird und was ihn anmacht · Benutzen mit der Hand — die Brille · Und am Schirm trägt die Figur · Halten oder Tippen — zwei Greif-Arten, beide gültig · Abgelegt wird beim Loslassen und nicht beim Hinlangen · Was in der Brille in der Hand liegt.
- Die Waffe und die Kartzone — Zwei Zonen, die ihre eigene Steuerung mitbringen. Darin: Die Waffe · Die Kartzone.
- Hände, Controller und Griffe — Controller-Modelle, Handhaltung, Handmodell — und die eingemessenen Griffe der Werkzeuge. Darin: Controller-Modelle · Handhaltung · Handmodell: Boxhand oder weißer Handschuh · Eingemessene Griffe · Eine Faust, und sie ist gerechnet · Ein Griff für alle Werkzeuge · Und jetzt hängt ein gekauftes Netz am Halterzylinder · Und was die Küche in die Hand gibt, hängt auch am Halterzylinder (Halten einstellen auf der Detailseite im Möbelkatalog).
- Konfig-Code — Alle Einstellungen als eine Zeichenkette: teilen, einlesen, zurücksetzen. Darin: Der Kurzcode · Über die Leitung · Live auf die Werkzeugseite.
Architektur
- Architektur — Der Überblick: welcher Ordner was tut, und warum die Rechnung neben der Darstellung steht.
- Das Zellgitter — Halbe Kacheln, Figuren auf 2 × 2, Wände unter 45° — und was noch nicht auf Zellen läuft.
- Bildrate in der Brille — Wie man misst (Schild in der Brille,
npm run perf:haunting), was schon gebündelt, eingefroren und gespart ist, das Vorgehen für die nächste Runde und die Fallen dabei. - Wie schön es aussieht — Licht, Schatten, Regler, Wetter und Tageslauf je Welt — und was ein Bild in der Brille kostet.
- Lampen und Lichter — Welche Modelle leuchten, bei Nacht an, Flackern/Blinken/Drehlicht, Typ-Standard und Abweichung je Lampe in der Weltdatei, Rechtsklick-Menü im Einrichten, Finden wie Röntgen. Darin: Die schwarze Kante · Die Brille rechnet kleiner, wenn man es sagt · Die Gitterlinien · Die Hitboxen · Ghosting zeigen · Wände vorn: die Wände des eigenen Raums · Position zeigen · Griffe zeigen · Quest-3-Blickfeld, Sichtfeld hervorheben und Mensch als Boxen · Info-Ansichten: ein Optionsfeld für alle · Squishy: die Figur federt beim Laufen und atmet im Stehen · Weltbau: simulierte Physik-Optik · Untere Ebenen unscharf · Was die Kamera ansieht · Warum tausend Bodenkacheln trotzdem ein Zeichenaufruf sind · Und die Wände auch — nur nicht von oben · Wer sagt, dass er keinen Schatten wirft, wirft keinen · Zwei Zahlen, die man einmal kennen sollte · Die Messstrecke der Küche — und wer die Aufrufe verbraucht · Und eine Tafel malt sich nicht neu, wenn dasselbe daraufsteht · Die Messstrecke der Welten — was die neuen Welten kosten.
- Modelle im Repository — Welche Datei welches Netz hergibt, wie zugeschnitten wird und was es wiegt. Darin: Der zweite Katalog: 156 Stücke, ein Material, eine Textur · Der dritte Katalog: die Wundertüte · Das vierte: ein Regal und kein Katalog · Was aus dem Regal die gebaute Geometrie ersetzt — und was nicht · Eine Build-Nummer an jeder Adresse · Und der Ton wird aufgeschlossen, nicht eingeschaltet · Und dann zog die erste Küche in den zweiten Katalog um · Fünf Zahlen, die aus dem Katalog mehr machen als eine Liste · Anfassen in der Küche · Der Körper unter dem Möbel.
- Zwei Kataloge: Rohmodelle und Spielelemente — Was eine Welt als Möbel hinstellt (
src/worlds/elements/): Grundfläche auf dem Zellgitter, Körper, Rohmodelle und Zweck in einem Stück. Die Regel, die Liste, wie man hinstellt und wie man eines dazutut. Darin: Warum es zwei sind · Die Regel · Was ein Spielelement ist · Die Elemente heute · Natur (breite Laubbäume sperren nur den Stamm, die übrigen Bäume stehen auf einer Zelle) · Die Garderobe (Aöffnet Aussehen, ersetzt Kleiderschrank und Umkleide) · Hinstellen · Der Möbelkatalog im Menü (Detailseite: verschieben, Zellen von oben umtippen, Anpassungen kopieren) · WasAdaran tut: die Stationsschicht · Der Hologramm-Sockel (Awählt ein Modell aus dem Regal, die Ecken frei) · Brettspiel, Rohstoffe, Parcours, Requisiten — und wasAan Möbeln tut (Lampen, Truhen, Fässer, Geschenke, Würfel; Wandstücke) · Ein neues Element · Eine neue Zutat · Was noch nicht umgezogen ist · Braten, Verkohlen, Feuer — und der Löscher · Topf, Spüle und Pommes · Was wo liegt. - Bauen — Der Umbau, während man in einer Welt steht, und die drei Spielmodi. Darin: Der Konstrukt-Raum — gelöscht · Weltbau: von oben, auch in der Brille — und der Bauplatz ist weg (in der Brille wächst das Gestell um zehn, linker Stick fliegt — eingedrückt Sprint —, rechter steigt und dreht; Losgelassenes fällt mit Physik-Optik an seinen Platz) · Bauen, während man darin steht · Der Spielmodus und die Liste der Weltänderungen · Zettel: beschriften, was man baut · Flächen setzen im Baukasten · Wand ziehen wie in Die Sims · Die Werkzeugleiste des Baukastens · Ebenen wie in Die Sims · Räume dekorieren.
- Das Modellregal (KayKit) — Die gekaufte Sammlung als Menü, im Menü Rohmodelle unter der Werkstatt (nur das Bild, zum Nachschlagen): Schubladen, Suchfeld, Ordner für Ordner, mit dem Modell in der Kachel. Darin: Warum ein Regal und kein zweiter Beutel · Was wo liegt · Zwei Spalten in der Brille — und so viele, wie passen, am Schirm · Der Katalog nimmt den ganzen Schirm · Drei Wege hinein: alles, Pakete, Kategorien · Schubladen: Figuren, Möbel, Natur — und sieben weitere · Wo man war, wenn man wiederkommt — und der Weg zurück an den Anfang · Und ein Suchfeld — aber nur am Schirm · Deutsch suchen — ein Wörterbuch und keine 4470 Zeilen · Das Modell in der Kachel — und wie es auf dem Telefon dorthin kommt · In der Kachel stand nur der Kopf — und warum · Ein ⓘ in der Ecke jeder Kachel — und die Seite dahinter · Die genaue Bezeichnung — die Adresse an einem Stück, und ein Knopf daneben · Geladen wird, was zu sehen ist · Fächer in der Brille — und Nachladen beim Scrollen am Schirm · Die Ids sind Adressen · Was beim Nehmen passiert · Was hingestellt wird, rastet auf dem Kachelgitter ein · Das Gitter unter dem Getragenen · Die Kisten des Regals stehen auf einem Deckel · Aus dem Regal wird in der Küche ein Möbel · Aus einem Modell wird ein Gegenstand · Eine Figur, die läuft · Ein Maßstab je Paket — und warum die Ritter zu groß waren · Keine Build-Nummer · Geteilte Geometrie · Grenzen.
- Spielfigur, Karte und Beutel — Wie man aussieht, was am Handgelenk hängt und was aus dem Beutel kommt. Darin: Wie man aussieht (mit Hüte und Köpfe aus den Figuren und dem immersiven Helm) · Was vor einem und an der Hand steht (Brille) · Die Karte in der Hand · Was aus dem Beutel kommt.
- NPCs — Wer hier herumläuft — und wie er sich orientiert: Wegnetz, Wegsuche, Verhalten. Darin: Wer hier herumläuft · Charakter: übernehmen, vormachen, nachspielen · Wie sich NPCs orientieren · Verhalten: Plätze aufsuchen, warten, ausweichen.
- Welten, Kacheln, Portale und Spiegel — Das Kachelgitter des Geländes, eine neue Welt dazutun, Sandbox (vormals Testwelt), Ordner von Welten und die Test Navigation, und wie Portale und Spiegel rechnen. Darin: Welten auf dem Kachelgitter · Eine neue Welt hinzufügen · Wie die Portale funktionieren · Wie die Spiegel funktionieren.
- Zusammen spielen — Peer-to-Peer, Chat, Stimmen, geteilte Objekte, Zuschauen, asymmetrisches Spielen. Darin: Zusammen spielen (Peer-to-Peer) · Chat: Text, und vor allem Codes · Sprechen: Stimmen im Raum · Die Welt teilen: Objekte und Portale · Zuschauen: First und Third Person · Asymmetrisches Spielen.
Die Seiten neben dem Spiel
- Die Werkzeugseite —
tools.html: das Regal, die Vorschau und alles, was daran eingestellt wird. Darin: Eine Welt laufen lassen · Bearbeiten auf der Werkzeugseite · Verbinden: zusehen, während drüben gemessen wird. - Der KayKit-Editor —
kaykit-editor.html: ein Rohmodell von oben auf dem Zellgitter, Größe und Lage per Regler, belegte Zellen in Rot, Änderungen als JSON. - Die Seite selbst — Eingabeseite, das Menü und seine Bereiche, die Startseite mit Weltauswahl, der Weg ins Spiel (Ladebildschirm, Willkommen, eine Meldung mit ✕, ein Stil für Leisten), Vollbild, der Start — und die Seite als App.
Darin: Die Eingabeseite · Der Knopf oben rechts: VR oder Spiel-Sicht · Das Menü: acht Bereiche und eine Tabelle (Brotkrumen, Esc, alte und neue Wege) · Das Menü mit Reitern (das einzige Menü: Inventar, Katalog, Welten, Bauen, Zusammen, Einstellungen; Werkzeuge und Figur; ◀ ▶ vor den Reitern; in der Brille dasselbe als 16:9-Bildschirm zwei Meter vor einem, eine Hand zielt; VR-Ansicht: aus den Augen wie in der Quest 3; Metas Emulator mit
?xr=sim) · Menü → Eingaben · Vollbild, wo keine Brille ist · Die Ränder des Geräts: der sichere Bereich · Die Startseite: eine Welt wählen, einmal drücken · Vom ersten Öffnen bis ins Spiel: der Weg eines neuen Spielers (Ladebildschirm, Willkommens-Karte, in der Brille Blende und Tafeln,--hud-*) · Die Version auf der Startseite · Der Start: erst die Hülle, dann die Welt · Die Seite als App: Manifest, Symbole, Service Worker · Alles herunterladen: ein Knopf, ein Balken, eine ehrliche Dauer — geprüft und geladen wird von selbst, und solange hält es Beitreten auf.
Betrieb
- Deployment — Was ein Deploy für den Service Worker bedeutet — und wie eine veraltete Seite zurückfindet. Darin: Veröffentlicht wird als Fortsetzung und nicht als Neuanfang · Wenn eine Seite aus einem Build läuft, den es nicht mehr gibt · Was ein Deploy für den Service Worker bedeutet · Und was ein Deploy für einen bedeutet, der alles heruntergeladen hat · Der Start nach einem Deploy: was vorgewärmt wird.
