Files
dogfather-universe/workspace/hilfe.html
T
DogFatherGitandClaude Opus 5 74c74a08ab Reaction: Geschwindigkeit, zwei neue Anordnungen, zweites Video
Filipes Wunsch: „auch bei den videos sachen wie pause
geschwindigkeit. meine kamera größer machen video kleiner. nur mein
bild, nur das video, möglichkeit zwischen allem zu wechseln so wie ich
will, auch gerne so dass ich vielleicht noch ein zweites nebenbei
vorbereiten kann so dass ich hin und her switchen kann."

GESCHWINDIGKEIT
Sechs Stufen von 0,5× bis 2× (0,25× fehlt mit Absicht — bei einem
Viertel klingt Sprache wie ein defektes Band). Sie gilt für ALLE: Wer
sie nur bei sich umstellte, redete über eine Stelle, die die anderen
noch nicht gesehen haben. Die OBS-Bühne zieht sie mit nach — ohne das
liefe der Stream nach fünf Minuten auf 1,5× zweieinhalb Minuten hinter
dem Saal her.
Und der Zuschauer SIEHT sie: ein kleines Schild „1,5×
Geschwindigkeit" auf der Leinwand, nur wenn es nicht 1× ist. Ohne das
hält jeder Zweite seine Leitung für kaputt.
Zwei Fallen, die dabei zugemacht wurden: Der Fünf-Sekunden-Takt des
Hosts schreibt das Tempo NICHT mit (sonst drehte ein Takt mit altem
Wert die Einstellung zurück), und nach jedem Videowechsel wird es neu
gesetzt (YouTube stellt beim Laden auf 1 zurück). Gesetzt wird nur,
was `getAvailablePlaybackRates()` hergibt — einen unmöglichen Wert
ignoriert der Player schweigend, und dann stünde der Knopf auf 1,5
und es liefe 1,0.

ZWEI ANORDNUNGEN MEHR
„Nur Video" und „Nur Kamera" sind kein weiteres Größenverhältnis,
sondern ein Weglassen — und genau das braucht OBS: Dort liegt die
Kamera ohnehin als eigene Quelle, die Bühnenseite soll sie nicht
doppelt zeigen. `display: none` und nicht `opacity: 0`: ein
unsichtbarer YouTube-Rahmen spielt weiter und hält den Ton.
Tasten 1–5, wie vorher 1–3.

DAS ZWEITE VIDEO — und warum es nicht die Warteschlange ist
Die Schlange ist eine Reihenfolge: eins nach dem anderen, das
Gespielte ist weg. Filipe will etwas anderes — zwei Videos
NEBENEINANDER, hin und her, und jedes merkt sich seine Stelle. Mit
der Schlange nachgebaut wäre es eine Schlange, aus der man nie wieder
herauskommt. Der Umschalter steht nur da, wenn es etwas zum Umschalten
GIBT; ein Knopf, der „kein zweites Video" antwortet, ist im Live eine
Falle. Getauscht wird in EINEM Schreibvorgang (BEGIN IMMEDIATE) —
ein Abbruch dazwischen hätte dasselbe Video auf beiden Seiten und die
gemerkte Stelle des anderen verloren. Und die Stelle kommt vom Host
und nicht aus der Datenbank: dort steht der Stand vom letzten Takt,
bis zu fünf Sekunden alt.
Was daneben bereitliegt, sieht nur, wer sendet — es ist die Rückhand,
und die verrät man nicht vorher (`zweit` ist aus `oeffentlich()`
ausgenommen).

DER FEHLER, DEN DIE MESSUNG GEFUNDEN HAT
Bei „Nur Kamera" war der Kamerabehälter 2175 px breit in einer
1072 px breiten Leinwand — von zwei Gästen stand nur einer im Bild,
der zweite lag hinter `overflow: hidden`. Auf dem Bildschirmfoto sah
das aus wie eine Anordnung für einen, und niemand hätte gefragt, wo
der zweite geblieben ist.
Zwei Ursachen: Die Leinwand ist ein Raster mit einer Spalte nach
Inhaltsbreite — ein zu breites Kind im Fluss zieht die Spalte mit, und
`width: 100%` bezog sich danach auf die gewachsene Spalte. Die
Begrenzung wuchs also mit dem, was sie begrenzen sollte; `max-width:
calc(50% - 8px)` rechnete gegen denselben Wert und war wirkungslos.
Jetzt `position: absolute; inset: 0` (kann das Raster nicht mehr
aufziehen) und `flex: 1 1 0; min-width: 0` an den Fenstern — eine
Regel, die nicht rechnet, kann sich nicht verrechnen.
Die Messung prüft seitdem bei JEDER Anordnung, ob alle Kamerafenster
innerhalb der Leinwand liegen.

GEMESSEN, NICHT ANGENOMMEN
Dass in der Datenbank 1.5 steht, sagt nichts darüber, ob das Video
schneller läuft. Die Messung liest deshalb die Uhr der Regie zweimal
ab und rechnet nach: 1× → 1,00 Sekunden je Sekunde, 2× → 2,00.
Der Umschalter ebenso: hin, zurück, und die Uhr steht wieder bei 79 s
statt bei 0.

GEPRUEFT
pruef-reaktion: 260 Prüfungen (vorher 216), 0 Fehler.
pruef-buehne 36, pruef-struktur, pruef-meldungen, pruef-tippziele,
pruef-css-klassen alle grün. mess-reaktion: Rückgabewert 0, kein
einziges ACHTUNG.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-28 09:48:26 +02:00

160 lines
7.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>Vertraulich melden · Das Rudel</title>
<meta name="robots" content="noindex, nofollow" />
<link rel="manifest" href="/workspace/app.webmanifest" />
<meta name="theme-color" content="#06090f" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609280947" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609280947" />
<link rel="stylesheet" href="assets/css/gate.css?v=202609280947" />
<link rel="stylesheet" href="assets/css/start.css?v=202609280947" />
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609280947" />
<link rel="stylesheet" href="assets/css/module.css?v=202609280947" />
<link rel="stylesheet" href="assets/css/haus.css?v=202609280947" />
</head>
<body class="start">
<div class="schleier" aria-hidden="true"></div>
<header class="kopfleiste">
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
<path d="M14.5 5.5 8 12l6.5 6.5" />
</svg>
<span class="zurueck-knopf__text">Zurück</span>
</button>
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Das&nbsp;Rudel</a> · Vertraulich</span></p>
<div class="kopfleiste__rechts">
<span class="wer" id="wer">…</span>
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
</div>
</header>
<main class="inhalt inhalt--breit">
<section class="kopf-zeile">
<div>
<p class="marke">Das Rudel · Vertraulich</p>
<h1 class="titel" id="seiten-titel">Vertraulich melden</h1>
<p class="unterzeile" id="seiten-unter">
Wenn etwas nicht stimmt – hier schreibst du direkt an DogFather.
</p>
</div>
</section>
<!-- ==================================================================
WARUM HIER "VERTRAULICH" STEHT UND NICHT "ANONYM"
Filipe hat es "anonym" genannt, und gegenüber den anderen
Mitgliedern ist es das auch: Niemand sonst sieht diese Meldungen,
kein Modi, kein anderes Mitglied.
Aber DogFather und die rechte Hand sehen den Namen — so ist es
bestellt, und es ist auch richtig so: Ohne Namen kann man
niemandem helfen. Wer glaubt, er schreibe unerkannt, schreibt
anders und fühlt sich hinterher getäuscht. Deshalb steht der
Satz oben im Formular, bevor jemand tippt.
============================================================== -->
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
<!-- Der Hinweis, wer mitliest. Steht VOR allem anderen. -->
<div class="vertrauen" id="vertrauen">
<span class="vertrauen__zeichen" aria-hidden="true">
<svg viewBox="0 0 24 24">
<path d="M12 3.2 5 6v5.6c0 4.3 2.9 7.6 7 9.2 4.1-1.6 7-4.9 7-9.2V6z" />
<path d="M9.2 12.2l2 2 3.6-4" />
</svg>
</span>
<p class="vertrauen__text" id="vertrauen-text">
<strong>DogFather und die rechte Hand lesen mit – sonst niemand.</strong>
Sie sehen auch deinen Namen. Kein anderes Mitglied und niemand aus
der Moderation bekommt diese Meldungen zu Gesicht.
</p>
</div>
<!-- ---- NEU MELDEN (nur für Mitglieder) ------------------------- -->
<section class="hilfe-block" id="neu-block" hidden>
<div class="hilfe-block__kopf">
<h2 class="hilfe-block__titel">Etwas melden</h2>
<button type="button" class="knopf knopf--klein" id="neu-auf">Neue Meldung</button>
</div>
<form class="hilfe-form" id="neu-form" hidden>
<label class="feld">
<span class="feld__schild">Worum geht es? <span class="feld__pflicht">kurz</span></span>
<input type="text" id="neu-betreff" maxlength="120" autocomplete="off"
placeholder="z. B. Jemand geht mich im Chat immer wieder an" />
</label>
<label class="feld">
<span class="feld__schild">Was ist passiert?</span>
<textarea id="neu-text" rows="6" maxlength="4000"
placeholder="Schreib so viel, wie du willst. Wann war es, wer war dabei, was ist passiert?"></textarea>
</label>
<p class="hilfe-form__hinweis">
Nach dem Absenden wartest du auf eine Antwort. Erst wenn eine da
ist, kannst du wieder schreiben – so geht nichts durcheinander.
</p>
<div class="hilfe-form__fuss">
<button type="submit" class="knopf" id="neu-senden">Meldung abschicken</button>
<button type="button" class="knopf knopf--still" id="neu-zu">Abbrechen</button>
<span class="hilfe-form__stand" id="neu-stand" role="status" aria-live="polite"></span>
</div>
</form>
</section>
<!-- ---- DIE LISTE ----------------------------------------------- -->
<section class="hilfe-block">
<div class="hilfe-block__kopf">
<h2 class="hilfe-block__titel" id="listen-titel">Deine Meldungen</h2>
<span class="hilfe-block__zahl" id="listen-zahl"></span>
</div>
<div id="liste" aria-busy="true"><p class="leise">wird geladen …</p></div>
</section>
<!-- ---- EIN FALL ------------------------------------------------- -->
<section class="hilfe-block" id="fall-block" hidden>
<div class="hilfe-block__kopf">
<h2 class="hilfe-block__titel" id="fall-titel">…</h2>
<button type="button" class="knopf knopf--klein knopf--still" id="fall-zurueck">Zur Liste</button>
</div>
<p class="fall-kopf" id="fall-kopf"></p>
<div id="verlauf"></div>
<form class="hilfe-form hilfe-form--antwort" id="antwort-form" hidden>
<label class="feld">
<span class="feld__schild" id="antwort-schild">Deine Antwort</span>
<textarea id="antwort-text" rows="4" maxlength="4000"></textarea>
</label>
<div class="hilfe-form__fuss">
<button type="submit" class="knopf" id="antwort-senden">Absenden</button>
<button type="button" class="knopf knopf--still" id="fall-schliessen" hidden>Fall abschließen</button>
<span class="hilfe-form__stand" id="antwort-stand" role="status" aria-live="polite"></span>
</div>
</form>
<!-- EIN <div>, KEIN <p> (20.09.2026). Seit dem Abschluss drei
Saetze enthaelt, stehen hier <p>-Elemente darin -- und ein
<p> in einem <p> ist ungueltig: Der Browser schliesst das
aeussere selbst und schiebt den Rest daneben. Das faellt
erst am Bildschirm auf, nicht im Quelltext. -->
<div class="fall-warten" id="fall-warten" hidden></div>
</section>
</main>
<script src="assets/js/meldung.js?v=202609280947" defer></script>
<script src="assets/js/nachfrage.js?v=202609280947" defer></script>
<script src="assets/js/wahl.js?v=202609280947" defer></script>
<script src="assets/js/bereiche.js?v=202609280947" defer></script>
<script src="assets/js/installieren.js?v=202609280947" defer></script>
<script src="assets/js/kopf.js?v=202609280947" defer></script>
<script src="assets/js/glocke.js?v=202609280947" defer></script>
<script src="assets/js/hilfe.js?v=202609280947" defer></script>
</body>
</html>