diff --git a/server/pruef-kachel-universum.mjs b/server/pruef-kachel-universum.mjs index d4068aea..ad756d81 100644 --- a/server/pruef-kachel-universum.mjs +++ b/server/pruef-kachel-universum.mjs @@ -120,18 +120,60 @@ for (let i = 0; i < liste.length; i++) { } paare.sort((x, y) => x.d - y.d); -/* DIE GRENZE IST GEMESSEN, NICHT GERATEN: 0,0529 war der Stand, den - Filipe zu Recht beanstandet hat. Alles darunter ist nachweislich zu - wenig; 0,09 ist der Wert, unter den die neue Palette nicht fällt. */ +/* ==== DIE GRENZE WAR FUER EINUNDZWANZIG FARBEN GERECHNET (25.09.2026) + + Hier standen ZWEI Bedingungen: kleinster Abstand >= 0,09 und + „kein Paar unter 0,10". Die zweite war seit dem 17.09. nicht mehr + erfuellbar -- nicht schwer, sondern UNMOEGLICH. + + Nachgerechnet (tools/_toene-packen.mjs): Aus allen sRGB-Farben, + die 4,8:1 gegen den Grund halten, nicht blenden und bunt genug + sind, laesst sich fuer eine gegebene Anzahl ein groesster + moeglicher Mindestabstand bestimmen -- eine Kugelpackung: + + 30 Farben -> 0,115 48 Farben -> 0,0925 + 40 Farben -> 0,103 52 Farben -> 0,0840 + 45 Farben -> 0,0974 60 Farben -> 0,0805 + + Bei 21 Farben war 0,10 muehelos. Bei den heutigen 45 liegt die + DECKE bei 0,0974 -- die Forderung „kein Paar unter 0,10" konnte + also niemand erfuellen, mit keiner Palette der Welt. + + WAS DAS ANGERICHTET HAT, ist das eigentlich Schlimme: Diese + Pruefung war dadurch DAUERHAFT rot. Und weil sie ohnehin rot war, + ist die Zeile darueber nicht mehr gelesen worden -- die stand + naemlich auf „kleinster Abstand 0,0154", also auf zwei Farben, + die mit blossem Auge dieselbe sind (#ff8fb4 und #fe8ebe). Acht + solche Paare gab es. Der echte Befund lag acht Tage lang offen + da, hinter einem Fehlalarm versteckt. + + JETZT STEHT HIER EINE BEDINGUNG, DIE ERFUELLBAR IST -- und + daneben die zweite, die den Grund bewacht: Sobald jemand mehr als + 48 Kacheln anlegt, ist 0,09 nicht mehr erreichbar, und dann muss + ueber die Palette gesprochen werden statt still darunter zu + rutschen. Die Zahl ist gemessen, nicht gesetzt. */ const GRENZE = 0.09; +const HOECHSTENS = 48; // darueber ist GRENZE nicht mehr erreichbar + ok(paare[0].d >= GRENZE, - `kleinster Abstand ${paare[0].d.toFixed(4)} (Grenze ${GRENZE}) ` + `kleinster Abstand ${paare[0].d.toFixed(4)} (Grenze ${GRENZE}, ` + + `Decke fuer ${liste.length} Farben rund 0,097) ` + `-- ${paare[0].a.hex}/${paare[0].b.hex}`); + +ok(liste.length <= HOECHSTENS, + liste.length <= HOECHSTENS + ? `${liste.length} Farben -- bis ${HOECHSTENS} ist ${GRENZE} nachweislich erreichbar` + : `${liste.length} Farben: ueber ${HOECHSTENS} ist ein Mindestabstand von ` + + `${GRENZE} rechnerisch nicht mehr moeglich. Entweder weniger ` + + `Kacheln mit eigener Farbe, oder die Grenze neu verhandeln.`); + +/* GEGENPROBE. Eine Pruefung, die immer bestaetigt, bestaetigt nichts: + Zwei Farben, die sich um einen einzigen Bildpunktwert + unterscheiden, MUESSEN hier durchfallen. */ { - const eng = paare.filter((p) => p.d < 0.10).length; - ok(eng === 0, - eng ? `${eng} Paare unter 0,10: ${paare.slice(0, 3).map((p) => `${p.a.hex}/${p.b.hex}`).join(", ")}` - : `kein einziges der ${paare.length} Paare liegt unter 0,10`); + const nah = abstand("#ff8fb4", "#fe8ebe"); // das alte Paar + ok(nah < GRENZE, + `Gegenprobe: #ff8fb4 gegen #fe8ebe misst ${nah.toFixed(4)} und faellt durch`); } { /* KEINE ZWEI GLEICHEN. Das steht als eigene Zeile da, obwohl der diff --git a/workspace/anruf-probe.html b/workspace/anruf-probe.html index 93cf4345..633ab73a 100644 --- a/workspace/anruf-probe.html +++ b/workspace/anruf-probe.html @@ -16,8 +16,8 @@ verdeckt. Gefunden hat es pruef-struktur. Richtig sind `gate.css` (die Farbwerte des Hauses) und `haus.css`. --> - - + + - +