Geviertstriche aus Text, Kommentaren und Doku entfernen
467 Stellen. Nicht durch einen anderen Strich ersetzt, sondern durch das
Satzzeichen, das an der jeweiligen Stelle richtig ist: Doppelpunkt, wo eine
Erlaeuterung folgt; Komma, wo der Satz weiterlaeuft; Punkt, wo zwei
Hauptsaetze aneinanderstiessen. Ein Halbgeviertstrich waere nur derselbe
Griff mit kuerzerem Strich gewesen.
Regelbasiert ersetzt und danach nachgeprueft, weil eine Regel allein nicht
reicht. Gefunden und einzeln korrigiert:
- Eingeschobene Saetze mit Strichpaar. Nur der oeffnende Strich passte ins
Muster, der schliessende blieb als "—," stehen. Drei Stellen, jetzt mit
Klammern oder als eigener Satz.
- Doppelte Doppelpunkte, wo beide Striche eines Paars zu Doppelpunkten wurden
("Globale Regeln: Schrift, Groessen, Abstaende: kommen aus HiveGrid").
Sieben Stellen in Doku und Oberflaeche, jetzt in Klammern.
- Pfade, denen ein Komma statt eines Doppelpunkts folgte.
- Ausgerichtete Kommentartabellen, in denen der Strich eine Spalte war.
Nicht angefasst: drei Geviertstriche, die keine Prosa sind, sondern
Tabellenplatzhalter fuer "kein Wert" (Trichter, Auftraege, Kunden). Dort ist
der Strich die Angabe selbst; ihn zu entfernen liesse leere Zellen zurueck.
tsc, lint, build, verify:carbon und verify:layout laufen sauber.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QPeZNwSeU7qG3RRCwaxEZX
This commit is contained in:
1 parent
e998231fed
commit
6a0b36ddcc
75 files changed
+471
-471
No files matched your search
@@ -48,7 +48,7 @@ if (!palette) {
|
||||
} else {
|
||||
palette.forEach((farbe, i) => {
|
||||
if (farbe !== soll[i]) {
|
||||
fehler.push(`Palette Position ${i + 1}: ${farbe} — Carbon: ${soll[i]}`);
|
||||
fehler.push(`Palette Position ${i + 1}: ${farbe}: Carbon: ${soll[i]}`);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -68,7 +68,7 @@ for (const [feld, refName] of Object.entries(neutraleZuordnung)) {
|
||||
if (ist === null) fehler.push(`CHART.${feld} nicht gefunden`);
|
||||
else if (ist !== sollWert) {
|
||||
fehler.push(
|
||||
`CHART.${feld} = ${ist} — Carbon ${referenz.neutraleWerte[refName].token}: ${sollWert}`
|
||||
`CHART.${feld} = ${ist}: Carbon ${referenz.neutraleWerte[refName].token}: ${sollWert}`
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -79,11 +79,11 @@ const tooltipBg = hexFeld("CHART", "tooltipBg");
|
||||
const tooltipFg = hexFeld("CHART", "tooltipFg");
|
||||
if (tooltipBg !== referenz.tooltip.hintergrund.wert.toLowerCase()) {
|
||||
fehler.push(
|
||||
`CHART.tooltipBg = ${tooltipBg} — Carbon ${referenz.tooltip.hintergrund.token}: ${referenz.tooltip.hintergrund.wert}`
|
||||
`CHART.tooltipBg = ${tooltipBg}: Carbon ${referenz.tooltip.hintergrund.token}: ${referenz.tooltip.hintergrund.wert}`
|
||||
);
|
||||
}
|
||||
if (tooltipFg !== referenz.tooltip.text.wert.toLowerCase()) {
|
||||
fehler.push(`CHART.tooltipFg = ${tooltipFg} — Carbon: ${referenz.tooltip.text.wert}`);
|
||||
fehler.push(`CHART.tooltipFg = ${tooltipFg}: Carbon: ${referenz.tooltip.text.wert}`);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------- Achsen-Tickanzahl */
|
||||
@@ -91,7 +91,7 @@ if (tooltipFg !== referenz.tooltip.text.wert.toLowerCase()) {
|
||||
const raster = theme.match(/nettesRaster\(\s*\n?\s*max: number,\s*\n?\s*maxIntervalle = (\d+)/);
|
||||
if (raster && Number(raster[1]) !== referenz.achsen.ticksYAchse) {
|
||||
fehler.push(
|
||||
`nettesRaster maxIntervalle = ${raster[1]} — Carbon numberOfTicks (y): ${referenz.achsen.ticksYAchse}`
|
||||
`nettesRaster maxIntervalle = ${raster[1]}: Carbon numberOfTicks (y): ${referenz.achsen.ticksYAchse}`
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*
|
||||
* Warum: Textkollisionen treten nur in bestimmten Fensterbreiten auf. Ein
|
||||
* Screenshot bei 1600 px zeigt sie nicht, bei 1280 px schon. Auge und
|
||||
* Einzelscreenshot reichen dafür nicht — das muss gemessen werden.
|
||||
* Einzelscreenshot reichen dafür nicht, das muss gemessen werden.
|
||||
*
|
||||
* Gemessen wird auf Textzeilen (Range.getClientRects), nicht auf Elementkästen:
|
||||
* Sonst melden benachbarte Tabellenzellen mit Innenabstand falsch positiv.
|
||||
@@ -49,7 +49,7 @@ const messen = (MIN) => {
|
||||
if (st.visibility === "hidden" || st.opacity === "0") continue;
|
||||
// Absichtlich bündige Flächen (Segment-Control) ausnehmen
|
||||
if (el.closest("[data-buendig]")) continue;
|
||||
// Nächster Blockcontainer — Wörter innerhalb eines Satzes sind keine Kollision
|
||||
// Nächster Blockcontainer: Wörter innerhalb eines Satzes sind keine Kollision
|
||||
let block = el;
|
||||
while (block && block !== document.body && getComputedStyle(block).display.startsWith("inline")) {
|
||||
block = block.parentElement;
|
||||
@@ -92,7 +92,7 @@ const messen = (MIN) => {
|
||||
}
|
||||
}
|
||||
|
||||
// Die Seite selbst darf nie seitlich scrollen — ein waagerechter
|
||||
// Die Seite selbst darf nie seitlich scrollen, ein waagerechter
|
||||
// Scrollbalken auf Dokumentebene ist immer ein Fehler, kein Kompromiss.
|
||||
const doc = document.documentElement;
|
||||
const seitenUeberlauf = doc.scrollWidth > doc.clientWidth + 1 ? doc.scrollWidth - doc.clientWidth : 0;
|
||||
@@ -119,7 +119,7 @@ for (const breite of BREITEN) {
|
||||
for (const pfad of SEITEN) {
|
||||
const antwort = await seite.goto(BASIS + pfad, { waitUntil: "networkidle" });
|
||||
if (!antwort || antwort.status() >= 400) {
|
||||
console.error(`✗ ${pfad} antwortet mit ${antwort?.status() ?? "keiner Antwort"} — Route existiert nicht.`);
|
||||
console.error(`✗ ${pfad} antwortet mit ${antwort?.status() ?? "keiner Antwort"}: Route existiert nicht.`);
|
||||
process.exit(1);
|
||||
}
|
||||
await seite.waitForTimeout(500);
|
||||
@@ -170,4 +170,4 @@ if (liste.length) {
|
||||
console.error(`\n✗ ${liste.length} Layoutfehler. Mindestabstand ist ${MIN_ABSTAND} px (Carbon $spacing-03).`);
|
||||
process.exit(1);
|
||||
}
|
||||
console.log(`✓ Kein kollidierender Text, kein Überlauf — ${SEITEN.length} Seiten × ${BREITEN.length} Breiten (${BREITEN[0]}–${BREITEN.at(-1)} px).`);
|
||||
console.log(`✓ Kein kollidierender Text, kein Überlauf: ${SEITEN.length} Seiten × ${BREITEN.length} Breiten (${BREITEN[0]}–${BREITEN.at(-1)} px).`);
|
||||
Reference in new issue
Block a user