screen6: Bei DogFather steht jetzt eine Krone
Filipe, 22.09.2026: "bei dogi soll kein husky sein sondern eine krone. die auch extrem auffaellt damit man den unterschied extrem erkennt." WARUM ER RECHT HAT: Drei der fuenf Kacheln auf der Anmeldewand trugen denselben Husky -- DogFather, rechte Hand, linke Hand. Drei gleiche Zeichen untereinander sind kein Zeichen mehr, sondern Tapete; man liest dann nur noch die Namen, und dafuer braucht es kein Bild. WARUM GOLD: Die anderen vier Zeichen liegen alle im Blaubereich (Husky silbern, Pfote blau, Community blaugrau). Eine Krone im selben Farbkreis waere eine andere Form, aber kein anderer Eindruck. Gold ist der einzige Hauston, der hier noch nicht vergeben ist -- und der, den eine Krone ohnehin hat. Es sind vorhandene Hausfarben und kein Leuchten: Der Unterschied kommt aus Form und Farbkreis, nicht aus Helligkeit. Die Wand bleibt augenschonend. WAS SIE NICHT HEISST: Der Untertitel bleibt "Ueberblick & Entscheidungen" -- eine AUFGABE, kein Rang. Die vier anderen Rollen behalten ihre Zeichen unveraendert, an den Texten aendert sich nichts. Das Zeichen sagt "das ist die Rolle, die du suchst", nicht "der steht ueber den anderen". EIN FUND BEIM BAUEN: `.rolle__zeichen` faerbt jedes Rollenzeichen mit dem Ton der Rolle ein -- gedacht fuer gezeichnete Striche. Der Husky (ein Foto) und die Pfote (eigene Verlaeufe) merken davon nichts, weil eine Flaeche ohne `stroke` die Regel stillschweigend ignoriert. Die Krone haette sie sichtbar abbekommen: ein blauer Rand um eine goldene Krone. Ausdruecklich abbestellt. DIE PRUEFUNG HIELT DIE ALTE VORGABE FEST und wurde zu Recht rot: Sie verlangte seit dem 10.09., dass die rechte Hand DASSELBE Zeichen traegt wie DogFather. Beide Fassungen geben eine Anweisung von Filipe wieder; dazwischen ist die linke Hand dazugekommen. Statt die Paarliste umzuschreiben -- die beim naechsten Umbau wieder danebenlaege -- prueft sie jetzt die Eigenschaft, um die es geht: Jede Kachel traegt ein Zeichen, DogFathers kommt genau einmal vor, es ist auf der Seite auch definiert (ein `use` auf eine vertippte Kennung zeichnet lautlos nichts), und die zwei Haende lesen sich weiter als Paar. Mit Gegenprobe. pruef-crew-adresse 153/0 (von 148), pruef-css-klassen grün. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -491,23 +491,69 @@ for (const [rolle, name] of [["admin", "DogFather"], ["hand", "Rechte Hand"], ["
|
||||
ok(wandCrew.text.includes(`data-rolle="${rolle}"`) && wandCrew.text.includes(`>${name}<`),
|
||||
`crew.: die Kachel "${name}" steht da`);
|
||||
}
|
||||
/* WELCHES ZEICHEN AUF WELCHER KACHEL (Filipe, 10.09.2026: "bei rechte
|
||||
hand soll der husky sein und bei modis soll die pfote sein").
|
||||
/* WELCHES ZEICHEN AUF WELCHER KACHEL
|
||||
---------------------------------------------------------------------
|
||||
HIER STAND BIS ZUM 22.09.2026 DAS GEGENTEIL, und beide Fassungen
|
||||
geben eine Anweisung von Filipe wieder:
|
||||
|
||||
Geprueft wird die ZUORDNUNG, nicht das Aussehen: DogFather und die
|
||||
rechte Hand tragen dasselbe, der Modi ein anderes. So gelesen haelt
|
||||
die Pruefung auch dann, wenn die Zeichen selbst eines Tages neu
|
||||
gezeichnet werden -- gewollt ist die Gruppe, nicht der Husky. */
|
||||
10.09.: "bei rechte hand soll der husky sein und bei modis soll
|
||||
die pfote sein" -> DogFather und rechte Hand gleich.
|
||||
22.09.: "bei dogi soll kein husky sein sondern eine krone. die
|
||||
auch extrem auffaellt damit man den unterschied extrem
|
||||
erkennt." -> DogFather eigenes Zeichen.
|
||||
|
||||
Dazwischen ist die LINKE Hand dazugekommen. Damit trugen DREI von
|
||||
fuenf Kacheln denselben Husky -- und drei gleiche Zeichen
|
||||
untereinander sind kein Zeichen mehr, sondern Tapete.
|
||||
|
||||
WAS JETZT GEPRUEFT WIRD, ist deshalb nicht mehr eine einzelne
|
||||
Zuordnung, sondern die Eigenschaft, um die es geht: Jede Kachel
|
||||
traegt ein Zeichen, und das von DogFather kommt kein zweites Mal
|
||||
vor. Das haelt auch, wenn die Zeichen neu gezeichnet werden oder
|
||||
eine sechste Rolle dazukommt -- eine abgeschriebene Paarliste
|
||||
haette beim naechsten Umbau wieder danebengelegen.
|
||||
|
||||
Die zwei Haende teilen sich weiterhin eines, und das ist Absicht:
|
||||
Sie haben denselben Untertitel ("vertritt und koordiniert") und
|
||||
lesen sich als Paar. Geprueft wird deshalb nicht "alle
|
||||
verschieden", sondern "DogFather ist einmalig". */
|
||||
{
|
||||
const zeichenVon = (rolle) => {
|
||||
const stelle = wandCrew.text.indexOf(`data-rolle="${rolle}"`);
|
||||
if (stelle < 0) return null;
|
||||
return (/href="(#r-[a-z]+)"/.exec(wandCrew.text.slice(stelle, stelle + 400)) || [])[1] || null;
|
||||
return (/href="(#r-[a-z-]+)"/.exec(wandCrew.text.slice(stelle, stelle + 400)) || [])[1] || null;
|
||||
};
|
||||
const [zAdmin, zHand, zModi] = ["admin", "hand", "modi"].map(zeichenVon);
|
||||
ok(!!zAdmin && zHand === zAdmin,
|
||||
`crew.: die Rechte Hand traegt dasselbe Zeichen wie DogFather (${zHand} / ${zAdmin})`);
|
||||
const zeichen = Object.fromEntries(ERWARTETE_REIHE.map((r) => [r, zeichenVon(r)]));
|
||||
const ohne = ERWARTETE_REIHE.filter((r) => !zeichen[r]);
|
||||
ok(ohne.length === 0 && ERWARTETE_REIHE.length > 0,
|
||||
ohne.length ? `crew.: ohne Zeichen: ${ohne.join(", ")}`
|
||||
: `crew.: jede der ${ERWARTETE_REIHE.length} Kacheln traegt ein Zeichen`);
|
||||
|
||||
const zAdmin = zeichen.admin;
|
||||
const wieOft = Object.values(zeichen).filter((z) => z === zAdmin).length;
|
||||
ok(!!zAdmin && wieOft === 1,
|
||||
`crew.: DogFathers Zeichen (${zAdmin}) kommt genau einmal vor (${wieOft})`);
|
||||
ok(zAdmin === "#r-krone", `crew.: und es ist die Krone (${zAdmin})`);
|
||||
|
||||
/* Das Zeichen muss es auch GEBEN. Ein `use` auf eine Kennung, die
|
||||
nirgends steht, zeichnet nichts -- und zwar lautlos: keine
|
||||
Fehlermeldung, kein leeres Kaestchen, einfach nichts. Genau so
|
||||
saehe eine vertippte Kennung aus. */
|
||||
ok(wandCrew.text.includes('id="r-krone"'),
|
||||
"crew.: und die Krone ist auf der Seite auch definiert");
|
||||
|
||||
/* GEGENPROBE: Die Messung muss einen Verstoss auch sehen koennen.
|
||||
Zwei erfundene Verteilungen, eine richtig, eine mit doppeltem
|
||||
DogFather-Zeichen. */
|
||||
const zaehl = (v) => Object.values(v).filter((z) => z === v.admin).length;
|
||||
ok(zaehl({ admin: "#r-krone", hand: "#r-husky", modi: "#r-pfote" }) === 1
|
||||
&& zaehl({ admin: "#r-husky", hand: "#r-husky", modi: "#r-pfote" }) === 2,
|
||||
"crew.: Gegenprobe -- ein doppelt vergebenes Zeichen wuerde auffallen");
|
||||
|
||||
const zModi = zeichen.modi;
|
||||
ok(!!zModi && zModi !== zAdmin, `crew.: der Modi ein eigenes (${zModi})`);
|
||||
ok(zeichen.hand === zeichen.linke && !!zeichen.hand,
|
||||
`crew.: die zwei Haende lesen sich als Paar (${zeichen.hand} / ${zeichen.linke})`);
|
||||
}
|
||||
|
||||
/* Die Namen kommen aus den Kacheln, nicht aus einer Liste in gate.js --
|
||||
|
||||
Reference in New Issue
Block a user