Files
dogfather-universe/workspace/tafel.html
T
DogFatherGitandClaude Opus 5 a7b5775268 Die Rechtetafel siebt die Karten jetzt wirklich -- und „ab Dabei" steht dran
ZWEI SACHEN, EINE DAVON EIN ECHTER BEFUND.

1) DIE KARTEN KAMEN AN DER RECHTETAFEL VORBEI
Der Bauplan sagt in Kapitel 04 und noch einmal in der Abnahme:
"Leite die sichtbaren Karten aus derselben Rechte-Tafel ab, die
rechte.html verwendet. Eine Rolle sieht nur Karten zu Seiten, die sie
oeffnen darf; pruefe das SERVERSEITIG."

Ich habe dafuer eine Pruefung geschrieben, die die Seite ueber die
ECHTE Schnittstelle sperrt (nicht mit einem UPDATE in der Datenbank --
nur so laeuft tafelLaden() mit). Sie wurde sofort rot: Nach dem Sperren
von bereich.html fuer einen Modi lieferte der Server weiterhin ALLE
ELF Bereichs-Karten.

Im Browser fiel das nicht auf, und das ist der heikle Teil: Die Seite
verbindet jede Karte mit einer Kachel, und die Kachelliste ist
gefiltert -- die Karten verschwanden also auf dem Bildschirm. Die
TEXTE gingen trotzdem hinaus. Eine Oberflaeche, die etwas nicht
anzeigt, ist keine Schranke; genau deshalb steht im Bauplan
"serverseitig".

Jetzt siebt `darfKarte()` an der Quelle. Der Pfad wird aus dem
Schluessel GERECHNET (`bereich:highlight` -> /workspace/bereich.html),
nicht aus einer Zuordnungsliste -- das ist die Umkehrung von
`schluesselVonZiel`, und eine gepflegte Tabelle daneben waere die, die
beim naechsten neuen Brett fehlt. Entschieden wird mit `darfSeite`
selbst; hier wird nichts davon nachgebaut.

Gegenprobe in derselben Pruefung: zuruecksperren -> die Karten sind
wieder da (29 von 29). Und eine Zeile dazwischen, die zaehlt, dass NUR
sie verschwunden sind -- waere mit der Sperre die halbe Anleitung
weggefallen, waere die erste Zeile auch gruen gewesen.

2) „AB DABEI" UND „AB STAMM" AN DER KARTE (Kapitel 04)
"Kann ein Community-Mitglied etwas wegen seiner Stufe noch nicht,
steht das an der Karte."

Auch das abgeleitet: aus TREFF_SCHREIBEN, derselben Tafel, die das
Schreiben ENTSCHEIDET. `null` darin heisst "von aussen schreibt hier
niemand" -- das ist keine Stufe, die man erreicht, und bekommt
deshalb keine Marke. "ab Stamm" an einem Anschlagbrett waere ein
Versprechen, das nie eingeloest wird.

Als Wort, nicht als Schloss-Symbol: Ein Schloss sagt "du darfst
nicht" und laesst offen, ob jemals. "ab Dabei" sagt, dass es kommt --
und wann, steht mit Datum in der Karte "Deine Stufe" darueber. Ruhig
gestaltet, nicht rot: Es ist keine Sperre, sondern eine Auskunft ueber
die Zeit.

GEPRUEFT (pruef-anleitung 166 -> 173)
Die wichtigste der neuen Zeilen ist die, dass die Marke nach dem
Aufstieg VERSCHWINDET. Eine Marke, die bleibt, ist schlimmer als
keine: Sie sagt jemandem, er duerfe etwas nicht, das er laengst darf,
und er probiert es gar nicht erst. Gemessen an drei Karten mit drei
verschiedenen Antworten (Chat: Dabei, Highlights: Stamm,
Anschlagbrett: gar nichts) -- waere die Rechnung grob falsch, traefe
sie alle drei gleich. Dazu die Gegenprobe, dass eine Teamrolle keine
einzige solche Marke bekommt.

Mitgelaufen: pruef-rechtetafel 19, pruef-rechte-umstellen 56,
pruef-css-klassen, pruef-tippziele 13 -- alle gruen. Die
Abnahmezahlen aus Kapitel 13 (14/29/29/34 mit ihrer Aufteilung) sind
nach dem neuen Sieb unveraendert; das ist der Beleg, dass es im
Normalfall nichts wegnimmt.

Im Browser nachgemessen (390 px, echte Anmeldung): Community sieht
vier Marken (Rudel-Chat, Wunschliste, Mitmachen „ab Dabei",
Highlights „ab Stamm"), die rechte Hand keine einzige.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-10-06 17:44:10 +02:00

87 lines
3.2 KiB
HTML

<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Spendentafel</title>
<!-- ======================================================================
DIE SPENDENTAFEL FÜR OBS UND TIKTOK STUDIO (28.09.2026)
Eine Browser-Quelle, die nichts zeigt als die Spendenkarten — auf
DURCHSICHTIGEM Grund, damit sie über dem Bild liegen kann.
KEINE ANMELDUNG, SONDERN EIN SCHLÜSSEL. OBS speichert die
Anmeldung einer Browser-Quelle nicht zuverlässig; eine Quelle,
bei der man sich nach jedem Programmstart neu anmelden muss, ist
mitten in einer Sendung unbrauchbar. Ohne gültigen Schlüssel
antwortet der Server mit 404 und diese Seite bleibt leer.
SIE ZEIGT NUR, WAS OHNEHIN IM STREAM STEHT: Betrag, Name, Gruß,
Stufe. Kein Chat, keine Namen von Zusehenden, keine Bedienung.
In OBS: Quelle → Browser → diese Adresse, Breite 1920, Höhe 1080,
„Eigenes CSS" leer lassen (der Grund ist schon
durchsichtig).
====================================================================== -->
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610061743" />
<style>
/* DURCHSICHTIG BIS AUF DIE KARTEN. OBS legt die Quelle über das
Bild; jede Fläche, die hier steht, deckt dort etwas zu. */
html, body {
margin: 0; padding: 0;
background: transparent;
height: 100%;
overflow: hidden;
font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
}
/* Der Kasten für die Karten füllt das Bild. Wo sie erscheinen,
entscheidet die Ausrichtung — unten links, wie im Saal. */
.obs-tafel {
position: fixed;
inset: 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: flex-start;
gap: 14px;
padding: 48px;
pointer-events: none;
}
/* Auf der Bühne darf sie größer sein als im Saal: Hier deckt sie
nichts zu, was man lesen müsste. */
/* ALLES IN rem. Ein einziger Wert am Wurzelelement (`&g=` in der
Adresse) nimmt damit Schrift, Bild, Polsterung und Rundung
gleichmäßig mit. In Pixeln wäre das die Sorte Zahl, die man an
zwölf Stellen nachziehen muss. */
.obs-tafel .spendenkarte {
max-width: 34rem;
gap: .9rem;
padding: .85rem 1.3rem .85rem .9rem;
border-radius: 1.15rem;
}
.obs-tafel .spendenkarte__betrag { font-size: 2.1rem; }
.obs-tafel .spendenkarte__bild { width: 3.6rem; height: 3.6rem; }
.obs-tafel .spendenkarte__wer { font-size: .95rem; }
.obs-tafel .spendenkarte__stufe { font-size: .8rem; }
.obs-tafel .spendenkarte__gruss { font-size: 1rem; }
/* Steht hier gar nichts, ist das der Normalfall — keine Spende,
keine Karte. Ein Hinweis darauf wäre im Stream zu sehen. */
.obs-fehler {
position: fixed; left: 16px; top: 16px;
padding: 10px 14px;
border-radius: 10px;
background: rgba(140, 20, 30, .9);
color: #fff;
font-size: 14px;
}
</style>
</head>
<body>
<div class="obs-tafel spendentafel" id="tafel" aria-live="polite"></div>
<script src="assets/js/spendenkarte.js?v=202610061743" defer></script>
<script src="assets/js/tafel.js?v=202610061743" defer></script>
</body>
</html>