Zum Ansehen, nicht zum Ausliefern. Vier Ansichten unten umschaltbar. Alles mit einem gestrichelten Marker hat heute keine Gegenstelle in der Produktion. Die Kopfzeile oben ist die aus web/portal/index.html, Sprache Deutsch, DE/EN-Umschalter erhalten. Farben, Radien und Schatten sind wörtlich aus apps/mobile/src/theme/tokens.ts.
Ansicht
Tour
Klasse 7b Hamburg
VeröffentlichtCode 7KQM4T2PSpieltag Fr, 31.07. um 09:304 Teams, 23 Spots
8Entwürfe
6Fertig gemeldet
4Sinnvoll Backend fehlt
9Von dir abgenommen
Kein Soll, kein Balken. 25 bis 30 Spots pro Runde sind ein Richtwert zur Orientierung, keine Grenze. Mehr bauen als gebraucht ist ausdrücklich gewollt, du wählst am Ende aus.
Backend blockiert: harte Grenze 30
Karte der Tour
23 Spots
Dein EntwurfAbgenommenFertig gemeldet, wartet auf dichVon einem anderen Team belegt, Inhalt bleibt verdecktGeofence-Radius, 10 bis 500 m
Der gestrichelte Kreis ist der Radius, in dem gestempelt werden kann. Er entscheidet im Spiel und war bisher unsichtbar. Hier lässt er sich am Rand ziehen, und die Zahl steht in jeder Spot-Zeile. Die weissen Ringe zeigen nur, dass ein Ort schon belegt ist, nie was dort gebaut wurde.
Unterseite · Baukasten
Ein Spot pro Zeile
1
53.55073, 9.99302 Radius 60 m
Rathausmarkt, Nordseite
Stadtgeschichte Backend fehlt
Frage · Auswahl aus vierIn welchem Jahr wurde das Hamburger Rathaus fertiggestellt?
1886189719011912
Erklärung, danach sichtbar 184 / 400Der Bau dauerte elf Jahre. Die 112 Meter des Turms waren Absicht: Hamburg wollte nach dem Grossen Brand von 1842 zeigen, dass es sich aus eigener Kraft wieder aufgebaut hat.
Worauf achten 52 / 200Schau über dem Hauptportal auf die goldene Inschrift.
rathausmarkt.webp · 96 KB
Vorschau 12 KB wird in der Zeile geladen, das grosse Bild erst beim Antippen.
Backend fehlt: zwei Grössen
EntwurfATeam AlsterGeändert vor 2 Stunden
2
53.54291, 9.98764 Radius 25 m
Speicherstadt, Wasserschloss
Architektur Backend fehlt
Frage · SchätzenWie viele Brücken führen über die Kanäle der Speicherstadt?
Antwort 20Toleranz plus minus 3
Erklärung, danach sichtbar 143 / 400Die Speicherstadt steht auf Eichenpfählen im Wasser. Deshalb braucht sie so viele Brücken: die Kanäle waren die Strassen, auf denen die Waren kamen.
Worauf achten 44 / 200Stell dich mittig auf die Brücke und zähle.
Kein Foto
JPEG oder WebP, höchstens 500 KB. Grössere Bilder verkleinert die Seite selbst, bevor sie sendet.
Wartet auf dichSTeam SpeicherGemeldet vor 40 Minuten
3
53.56118, 9.96204 Radius 15 m
Planten un Blomen, Musikpavillon
Natur Backend fehlt
Frage · Foto machenFotografiert euer Team vor dem Pavillon.
Erklärung, danach sichtbar 121 / 400Der Park war 1953 die erste Internationale Gartenbauausstellung Deutschlands. Der Pavillon ist davon übrig geblieben.
pavillon.webp · 214 KB
Aus einem 4,1 MB Handyfoto verkleinert, im Browser, vor dem Senden.
AbgenommenHTeam HafenAbgenommen gestern, 16:12
Willkommen. Hier baut ihr euer eigenes Stadtspiel.
Du legst eine Tour an, verteilst Codes an die Teams, und die Teams füllen die Spots. Am Ende nimmst du ab, was rein soll.
1Tour anlegenEin Titel, eine Stadt, ein Spieltag. Mehr braucht es zum Start nicht.
2Codes verteilenJedes Team bekommt einen Code. Damit kommt es auf die einfache Seite und baut seine Spots.
3Abnehmen und spielenDu siehst jeden Spot, nimmst ab was passt, und startest den Spieltag.
Wie viele Spots brauchen wir?
25 bis 30 pro Runde sind ein guter Richtwert. Es ist aber keine Grenze: baut lieber mehr und wählt danach aus. Du siehst jederzeit, wie viele Entwürfe es gibt, was fertig gemeldet ist und was du schon abgenommen hast.
Eigene Seite · kein Board, keine Spalten
Du hast einen Code?
Gib ihn ein und du kommst direkt zu den Spots, die dein Team bauen soll. Anmelden musst du dich dafür nicht.
Den Code hast du von der Person, die das Spiel eingerichtet hat. Gross- und Kleinschreibung ist egal.
Wer nur einen Code hat, soll kein Board sehen. Eine Spalte, ein Ziel: Code rein, Spot bearbeiten, abschicken. Das Board mit Übersicht, Abnahme und Spieltag ist die andere Seite und gehört dem Host.
A
Team Alster
Klasse 7b Hamburg · Abgabe bis Donnerstag, 30.07. um 18:00
3 von 6 fertig
Vor dem Losgehen
Tour im WLAN vorladen
Lade jetzt alles herunter, solange du gutes Netz hast. Vor Ort ist das Netz oft schlecht, genau dann würde die Karte nachladen. Backend und App fehlen noch
Vorrat für „Klasse 7b Hamburg"18,4 MB
Spots, Fragen und Erklärungen23 Spots, vollständig0,4 MB
Fotos in klein und grossLinks gelten bis Samstag, 01.08. Danach müssen sie erneuert werden.5,1 MB
Kartenausschnitt der Tour
Damit auf dem Weg keine graue Fläche kommt.12,9 MB
Noch nicht vollständig. Bleib im WLAN, bis hier „bereit für unterwegs" steht.
Was du unterwegs baust oder stempelst, geht nicht verloren: es wird gespeichert und beim nächsten Netz nachgesendet.
Spot 4 von 6
Landungsbrücken, Brücke 3
Höchstens 120 Zeichen.
53.54561, 9.96854 · Radius 45 m
Tippe auf die Karte, um den Punkt zu setzen. Am kleinen weissen Griff ziehst du den Kreis grösser oder kleiner. Der Kreis ist der Bereich, in dem gestempelt werden kann, zwischen 10 und 500 Meter.
Backend fehlt Die Auswahl kann heute nicht gespeichert werden. In der Tabelle für Team-Spots gibt es kein Feld dafür.
Höchstens 400 Zeichen.
Höchstens 200 Zeichen.
Zwischen 0 und 1000.
Foto auswählen oder hierher ziehenJPEG oder WebP, höchstens 500 KB. Ist dein Bild grösser, verkleinern wir es hier im Browser, bevor etwas gesendet wird.
Ausgewählt: IMG_4417.HEIC, 4,1 MB
In WebP umgewandelt und auf 1600 Pixel verkleinert
Wird gesendet: 412 KB, passt unter die Grenze
Wenn ein Bild sich nicht klein genug rechnen lässt, sagen wir das im Klartext und du kannst ein anderes wählen. Es scheitert nie stillschweigend.
Wenn alle sechs Spots fertig sind, kannst du sie gemeinsam abschicken. Danach schaut sich der Host sie an.
Zwei Funde, die einem ratifizierten Owner-Entscheid widersprechen. Nicht selbst aufgelöst, hiermit gemeldet.
1. Harte Grenze von 30 Spots pro Team, live in der Produktion. Der Entscheid sagt: „Überbauen ist gewollt, mehr bauen als gebraucht, dann auswählen", 25 bis 30 nur als Richtwert. Gemessen ist das Gegenteil: der Trigger tour_group_spots_enforce_cap_trg auf tour_group_spots ist aktiv und wirft bei der 31. Einfügung „group already has the maximum of 30 spots". Überbauen ist heute technisch unmöglich. Der Entwurf zeigt darum keinen Balken gegen eine Zahl, markiert die Stelle aber rot.
2. Kategorie pro Spot hat kein Feld. Der Entscheid verlangt die Kategorie in jeder Spot-Zeile. tour_group_spots hat keine Spalte category. Die Nachbartabelle tour_own_stops hat sie. Im Entwurf ist die Kategorie überall dargestellt und überall als fehlend markiert.
Je Element: was dahinter liegt
Gemessen an bxdadqcchsaomdolputr, der Produktion. Nur gelesen, nichts geschrieben.
Element im Entwurf
Quelle
Stand
Seitenmenü „Wo es hakt", Zahlen je Zustand
teacher_group_overview status · member_count · spot_count · points_total
Bucket group-spot-photos: 512 000 Bytes, nur image/jpeg und image/webp, nicht öffentlich
vorhanden. Die Grenze im Entwurf ist diese, keine erfundene
Reihenfolge verschieben, Spot einschieben
reorder_tour_spots
fehlt in der Produktion Gemessen: existiert nicht. Die Pfeile in der Zeile sind darum sichtbar, aber inaktiv
Kategorie pro Spot
Spalte category auf tour_group_spots
fehlt
„Sinnvoll" als eigener Zustand
kein Feld
fehlt Der Zustand ist ein Host-Urteil und hat heute keine Ablage. tour_groups.status kennt nur draft, submitted, approved, rejected. Im Entwurf darum als offene Kontur, nicht als gefüllter Status
Zwei Bildgrössen, Vorschau und gross
eine Spalte photo_url
fehlt Heute gibt es nur ein Bild pro Spot
Tour vorladen, Fortschritt, „bereit für unterwegs"
kein Ablauf vorhanden. Bausteine ja: stampOutbox.ts, questionAttemptQueue.native.ts, backgroundHintImages.ts
fehlt
Kartenausschnitt offline
nichts vorhanden
fehlt
Echte Karte statt gezeichnetem Raster
im Web nicht angebunden. Im App-Teil ist @rnmapbox/maps in 7 Dateien, im Web-Build ersetzt src/web-stubs/rnmapbox.js jeden Aufruf durch nichts
fehlt für das Web Braucht eine Owner-Handlung, siehe unten
Zwei Regeln des Backends, die die Oberfläche vorher sagen muss
Ein Spot kann nicht in ein anderes Team wandern. Der Trigger lehnt das ab und verweist darauf, ihn zu löschen und im Zielteam neu anzulegen. Der Entwurf bietet darum kein Verschieben zwischen Teams an, sondern nur innerhalb einer Liste.
Sobald ein Team fertig gemeldet hat, kann nur noch der Host ändern. Für das Team ist die Zeile dann gesperrt. Genauso, wenn ein Team archiviert ist: dann muss es erst zurückgeholt werden. Beides muss die Oberfläche vorher sagen, nicht erst als Fehler danach.
Owner-Handlungen
Nur Namen. Keine Werte, nicht gekürzt, nicht als Vorschau.
1. Ein öffentlicher Mapbox-Schlüssel für das Web. Vorgeschlagener Name: MAPBOX_PUBLIC_TOKEN_WEB. Er gehört in die Umgebung, nie in eine eingecheckte Datei. Bitte auf die eigene Domain einschränken und nur mit Lese-Rechten anlegen. Setzen kann das nur der Owner.
2. Entscheiden, was mit der Grenze von 30 passiert. Anheben, ganz aufheben, oder der Entscheid „Überbauen ist gewollt" wird eingeschränkt. Ohne diese Entscheidung ist Punkt 3 der Owner-Entscheide nicht baubar.
3. Die fehlenden Datenbank-Änderungen freigeben, in dieser Reihenfolge: reorder_tour_spots anwenden, Spalte für die Kategorie, Ablage für „sinnvoll", zweite Bildgrösse. Jede einzeln, jede von einem zweiten Agenten gegrillt, jede vom Owner freigegeben. Anwenden ist nichts, was ein Entwurf tut.
// So wird die Karte eingebunden. Nur der Name, niemals ein Wert.const token = process.env.MAPBOX_PUBLIC_TOKEN_WEB;
// fehlt der Name in der Umgebung, zeigt die Seite eine ehrliche Meldung// und nicht eine leere graue Flaeche.
Antwort auf die Owner-Frage
Was das System vor Ort braucht
Fünf Punkte. Keine eigenen Bildschirme, sondern Eigenschaften der Bildschirme oben. Je ein Satz, was existiert und was nicht.
Punkt
Was existiert
Was fehlt
1. Foto-Upload
Der Bucket group-spot-photos ist da und schliesst das Thema ab: 500 KB, nur JPEG oder WebP, nicht öffentlich.
Das Verkleinern im Browser vor dem Senden. Ohne das scheitert ein 4-MB-Handyfoto stillschweigend, und genau das verbietet CLAUDE.md. Im Entwurf ist es ein sichtbarer Schritt mit Klartext-Meldung.
2. Signierte Links
Nichts. Der Bucket ist privat, Anzeigen braucht also einen Link mit Ablauf.
Die Ablaufzeit muss länger sein als der Vorlauf. Wird eine Tour drei Tage vorher geladen und der Link gilt eine Stunde, sind am Spieltag die Fotos weg. Der Entwurf zeigt darum in der Vorrat-Liste, bis wann die Links gelten.
3. Offline-Vorrat
Die Bausteine sind gebaut: stampOutbox.ts puffert Stempel, questionAttemptQueue.native.ts puffert Antworten, backgroundHintImages.ts lädt Bilder vor. Kein Netz vor Ort heisst also kein verlorener Stempel.
Der Ablauf drumherum: „Code im WLAN eingeben, alles für diese Tour laden, losgehen." Es gibt keinen Schritt, der das anstösst, und keine Aussage, ob die Tour vollständig geladen ist. Im Entwurf sitzt er auf der Code-Seite, weil dort der Code eingegeben wird.
4. Kartenkacheln
Nichts. Im Web ist die Karte gar nicht angebunden, im App-Teil lädt sie nach, während man läuft.
Der Ausschnitt der Tour muss vorher mit. Kacheln werden genau dann nachgeladen, wenn das Netz schlecht ist, also unterwegs. Ohne Vorladen steht eine Gruppe vor einer grauen Fläche. Der Host stösst es auf der Karten-Unterseite an, der Spieler sieht das Ergebnis in der Vorrat-Liste.
5. Zwei Bildgrössen
Das ausgelieferte Format ist schon sparsam: 50 WebP gegen 6 in PNG oder JPG.
Pro Spot gibt es nur ein Bild. 500 KB sind fürs Hochladen richtig, für eine Liste zu viel: auf 25 bis 30 Spots gerechnet ist das der Unterschied zwischen etwa 15 MB und unter 1 MB beim Öffnen der Seite. Der Entwurf lädt in der Zeile eine kleine Vorschau und das grosse Bild erst beim Antippen.
Was dieser Entwurf aus dem Plan vom 23.07. übernimmt
Der Plan Host-Dashboard Redesign 2026-07-23 lag mit owner_decision_needed und wurde nie entschieden. Übernommen sind: die echte Startseite statt einer flachen Tour-Liste (Gap A), die Zahlen je Zustand statt fünf Zeilen selbst zusammenzurechnen (Gap B), der Hinweis „seit 3 Tagen nichts gebaut" statt reiner Zahlen (Gap C), Leerzustände mit einer Handlung darin statt nur einem Satz (Gap D), das Team-Entfernen als Archivieren (Gap G), und ein Ort, der sagt wo man steht (Gap H). Zwei seiner offenen Fragen sind durch Messung erledigt: Umbenennen und Archivieren gibt es beide schon.
Neu gegenüber dem Plan, weil der Owner es am 26.07. entschieden hat: die zweite, einfache Seite für Leute mit Code, ein Spot pro Zeile mit allen Daten, und kein festes Spot-Soll.
Gestalterische Selbstauskunft
Damit der Richter am gerenderten Frame prüfen kann, was Absicht war.
Die eine laute Entscheidung. Jede Spot-Zeile trägt ihren eigenen Kartenausschnitt mit sichtbarem Geofence-Kreis. Das ist das Detail, das man nicht aus einer Vorlage kopieren kann, und es beantwortet genau die Owner-Kritik „it's not understandable": man sieht sofort, wo der Spot liegt und wie gross der Stempelbereich ist. Alles andere tritt bewusst zurück.
Warum es nicht wie Monday aussieht. Monday ordnet in dichte Spalten. Hier trägt eine Zeile einen Gegenstand, mit Luft, und die Zustände sind vier Zahlen in einer durchgehenden Leiste statt vier gleicher Kachel-Klone. Der Owner wollte weniger Dichte und mehr Ordnung, nicht Monday.
Abstands-Logik. 20 px zwischen den vier Zonen einer Spot-Zeile, weil sie verschiedene Bedeutungen tragen. 12 px zwischen Feldern innerhalb einer Zone, weil sie verwandt sind. 6 px zwischen Label und Wert, weil sie zusammengehören. Kein Abstand ist zufällig gleich.
host-board-v1-2026-07-26.html · Entwurf, kein Produktionscode · web/portal/** wurde nicht angefasst, nur gelesen
Karten sind gezeichnete Platzhalter. Es wird kein Kartendienst geladen und kein Schlüssel verwendet. Kopfzeile nach web/portal/index.html:264, Farben, Radien und Schatten nach apps/mobile/src/theme/tokens.ts.