Uhr: Stundenverlauf abgeflacht, Lichtkante auf die richtige Achse gedreht

Filipe: "kontrollier bitte nur noch einmal ab dass keine striche krum
sind, kein runder kreis der schief verlaeuft oder so, perfektionier die
stunden noch bissl auch bitte."

Nachgemessen statt nachgesehen. Drei Funde, zwei davon echt.

1. DIE LICHTKANTE LAG AUF DER FALSCHEN ACHSE.

   Das SVG `.uhr__ring` traegt `rotate(-90deg)`, damit die Ringe oben
   beginnen. Diese Drehung gilt auch fuer einen `translate` darin --
   ein `translateY` erscheint auf dem Bildschirm deshalb als "links".
   Gemessen an den Kaesten stand bei allen vier Lagen dy = 0: Kante
   nach links, Schlagschatten nach rechts, waehrend die Kachel selbst
   ihren Schatten mit `0px 14px` nach unten wirft. Zwei Lichter in
   einem Koerper.

   Sichtbar war es als heller Strich, der bei den oberen Balken LAENGS
   durchlief statt auf der Oberkante zu sitzen -- der "Kratzer", der an
   den Stunden schon zweimal gestoert hat. Die Kante war vorher
   verschmaelert worden; das hat ihn gedaempft, aber nicht beseitigt,
   weil die Ursache die Richtung war und nicht die Breite.

   Jetzt translateX. Nachgemessen: dx = 0, Kante nach oben, Schatten
   nach unten -- dieselbe Lichtrichtung wie der Kachelschatten. Die
   hellste Stelle im Querschnitt liegt bei r = 34,1; rechnerisch soll
   sie bei 31,5 + 2,6 = 34,1 liegen.

2. DIE ZWOELF STUNDENBALKEN WAREN UNTERSCHIEDLICH HELL.

   Ein Verlauf laeuft diagonal ueber die ganze Zeichnung. Auf einem
   durchgehenden Bogen ist das Material; auf zwoelf getrennten Balken
   bekommt jeder eine andere Farbe. Gemessen, beide Faehrten im selben
   Lauf:

     alt   75 bis 145, Faktor 1,93
     neu  114 bis 147, Faktor 1,29

   Der tiefe Stopp #a81f2c traf die Plaetze 0 bis 3 -- die Stunden 1
   bis 4, also genau die Balken, die als erste gezeichnet werden. Ein
   75er neben einem 145er sieht nicht nach Licht aus, sondern nach
   Ausfall. Minute und Sekunde behalten ihren vollen Verlauf: Bei 60
   Gliedern liegen die Nachbarn dicht genug, dass der Wechsel als
   Politur gelesen wird.

3. VIER TOTE BREITENREGELN, die 620 Zeilen spaeter ueberschrieben
   wurden (2,6/3/3,6 statt der gezeichneten 3,2/5/5,8). Sie haben
   nichts kaputtgemacht, aber sie haben mich beim Nachrechnen des
   Kantenversatzes in die Irre gefuehrt -- entfernt, mit Verweis auf
   die eine lebende Stelle. Dabei fiel auf, dass der Versatz der Stunde
   noch mit einer Kantenbreite von 0,9 rechnete, obwohl sie laengst
   0,6 ist: 2,05 statt 2,20.

NICHT KRUMM war der Rest, auch das gemessen: 9 runde Elemente, 0 Eier;
alle 15 Kreise der Uhr auf demselben Mittelpunkt; Kasten exakt
quadratisch; Umfaenge stimmen auf 0,01 Einheiten zum Muster. Die 30
gefundenen Drehungen sind samt und sonders gewollt (Chilis, Husky,
Wasserzeichen -8 Grad).

Geprueft: pruef-start-ansicht, pruef-css-klassen, pruef-buehne -- alle
gruen. Jede Messung mit Gegenprobe.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-09-09 03:42:00 +02:00
co-authored by Claude Opus 5
parent 6676998af8
commit 74ae4c292e
2 changed files with 104 additions and 17 deletions
+53 -9
View File
@@ -5475,9 +5475,17 @@ body[data-fremde-sicht="ja"]::after {
vertauschte Umfaenge sieht aus wie eine haengende Uhr: Der Bogen
endet dann nie dort, wo er soll. U = 2 * pi * r, ausgerechnet und
nicht geschaetzt. */
/* DIE BREITEN STEHEN NICHT HIER, SONDERN IM ABSCHNITT "Der Ring wird
dunkel" WEITER UNTEN (Sekunde 3,2 / Minute 5 / Stunde 5,8).
Bis zum 09.09.2026 standen an dieser Stelle noch 2,6 / 3 / 3,6 --
Werte, die seit dem Umbau vom selben Tag nie mehr gezeichnet wurden,
weil die spaeteren Regeln bei gleicher Spezifitaet gewinnen. Sie sind
entfernt statt korrigiert: Zwei Zahlen fuer dieselbe Sache sind der
Fehler, nicht die falsche von beiden. Wer die Breite aendert, aendert
sie unten -- und muss dann auch den Kantenversatz oben nachziehen. */
.uhr__sekunde {
stroke: url(#uhr-sekunde-farbe);
stroke-width: 2.6;
stroke-dasharray: 285.88; /* r = 45.5 */
stroke-dashoffset: 285.88;
}
@@ -5485,7 +5493,6 @@ body[data-fremde-sicht="ja"]::after {
den beiden farbigen Bahnen. */
.uhr__minute {
stroke: url(#uhr-minute-farbe);
stroke-width: 3;
stroke-dasharray: 241.90; /* r = 38.5 */
stroke-dashoffset: 241.90;
}
@@ -5493,7 +5500,6 @@ body[data-fremde-sicht="ja"]::after {
sie bewegt sich in fuenf Minuten um ein halbes Grad. */
.uhr__stunde {
stroke: url(#uhr-stunde-farbe);
stroke-width: 3.6;
stroke-dasharray: 197.92; /* r = 31.5 */
stroke-dashoffset: 197.92;
}
@@ -5507,7 +5513,6 @@ body[data-fremde-sicht="ja"]::after {
stroke-width: 4.6;
}
.uhr__schatten .uhr__sekunde { stroke-width: 3.8; }
.uhr__schatten .uhr__minute { stroke-width: 4.2; }
/* DIE BELEUCHTETE OBERKANTE. Duenner, hell, nach oben versetzt: Sie
schaut oben hervor und verschwindet unten -- genau das tut eine
@@ -5555,7 +5560,17 @@ body[data-fremde-sicht="ja"]::after {
Sekunde (3,2 - 0,9) / 2 = 1,15 -> noch 0,75
Minute (5,0 - 0,9) / 2 = 2,05 -> noch 1,65
Stunde (5,8 - 0,9) / 2 = 2,45 -> noch 2,05
Stunde (5,8 - 0,6) / 2 = 2,60 -> noch 2,20
DIE STUNDE RECHNET MIT 0,6, NICHT MIT 0,9 (nachgezogen 09.09.2026).
Ihre Kante wurde weiter oben auf 0,6 verschmaelert ("ein Hauch, kein
Strich") -- der Versatz hier blieb aber auf dem Wert stehen, der zu
0,9 gehoerte. Das ist genau der Fehler, der in dieser Datei schon
mehrfach vorkam: Eine Zahl wird geaendert, die zweite Zahl, die aus
ihr folgt, nicht. Folge waren 0,15 Einheiten (0,37 px) zu wenig
Versatz -- der Lichtstrich lag knapp INNERHALB der Oberkante statt
auf ihr. Wer die Breite der Kante wieder anfasst, aendert diese
Zeile mit.
`px` in einem SVG-Transform sind Einheiten des viewBox, keine
Bildpunkte -- die Uhr skaliert damit mit, ohne dass sich das
@@ -5564,10 +5579,39 @@ body[data-fremde-sicht="ja"]::after {
Dass die Kante immer NACH OBEN versetzt ist und nicht senkrecht zum
jeweiligen Balken, ist Absicht: Es ist ein Licht von oben, kein
aufgemalter Rand. Oben streift es die Oberkante, unten die
Unterkante -- genau das tut Licht. */
.uhr__kante .uhr__sekunde { transform: translateY(-0.75px); }
.uhr__kante .uhr__minute { transform: translateY(-1.65px); }
.uhr__kante .uhr__stunde { transform: translateY(-2.05px); }
Unterkante -- genau das tut Licht.
ES MUSS translateX SEIN, NICHT translateY (09.09.2026, gemessen).
Das SVG `.uhr__ring` traegt `transform: rotate(-90deg)`, damit die
Ringe oben beginnen und nicht rechts. Diese Drehung gilt fuer ALLES
darin -- auch fuer einen Versatz. Ein `translateY` innerhalb des
SVG erscheint auf dem Bildschirm deshalb nicht als "oben", sondern
als "links".
Nachgemessen an den Kaesten (`getBoundingClientRect`, also in
Bildschirmkoordinaten) stand bei allen vier Lagen dy = 0:
Schatten Stunde dx 1,25 dy 0 -> nach RECHTS
Kante Sekunde dx -2,62 dy 0 -> nach LINKS
Kante Minute dx -4,67 dy 0 -> nach LINKS
Kante Stunde dx -5,93 dy 0 -> nach LINKS
Das Licht kam also von der Seite, waehrend die Kachel selbst ihren
Schlagschatten mit `0px 14px` nach UNTEN wirft -- zwei Lichter in
einem Koerper. Sichtbar war es als heller Strich, der bei den
Balken oben LAENGS durchlief statt auf der Oberkante zu sitzen;
genau der "Kratzer", der an den Stunden gestoert hat. Die
Verschmaelerung der Kante auf 0,6 hat ihn gedaempft, aber nicht
beseitigt -- weil die Ursache die Richtung war, nicht die Breite.
Die Drehung bildet SVG-x auf Bildschirm-"oben" ab, deshalb steht
hier jetzt ein POSITIVES translateX. Die Betraege bleiben, sie
waren nie das Problem. Wer die Drehung des Rings anfasst, muss
diese vier Zeilen und die zwei `transform` im HTML mitdrehen. */
.uhr__kante .uhr__sekunde { transform: translateX(0.75px); }
.uhr__kante .uhr__minute { transform: translateX(1.65px); }
.uhr__kante .uhr__stunde { transform: translateX(2.2px); }
/* DIE ZIFFERNINSEL (07.09.2026).
+51 -8
View File
@@ -327,13 +327,56 @@
<!-- STUNDE: Rot. Sie ist die langsamste Bahn und traegt
die kraeftigste Farbe -- was sich kaum bewegt, darf
auffallen, ohne zu stoeren. -->
auffallen, ohne zu stoeren.
DER VERLAUF IST FLACHER ALS BEI DEN ANDEREN BEIDEN --
und zwar, weil die Stunde aus ZWOELF EINZELNEN BALKEN
besteht (09.09.2026, nachgemessen auf Filipes Bitte
"perfektionnier die stunden noch bissl").
Ein Verlauf laeuft diagonal ueber die ganze Zeichnung.
Auf einem DURCHGEHENDEN Bogen liest sich das als
Material: das Licht wandert, der Ring bleibt einer.
Auf zwoelf getrennten Balken erwischt aber jeder eine
andere Stelle des Verlaufs -- und wer eine andere
Farbe hat, sieht aus wie ein anderes Ding.
GEMESSEN, nicht gerechnet -- beide Faehrten im
selben Lauf, an denselben zwoelf Balkenmitten
(r = 31,5), Mittel ueber die Balkenlaenge:
alt 81 98 85 75 145 116 117 136 130 104 140 102
-> 75 bis 145, Faktor 1,93
neu 122 127 121 114 147 131 133 144 141 123 143 129
-> 114 bis 147, Faktor 1,29
Der tiefe Stopp #a81f2c traf ausgerechnet die Plaetze
0 bis 3, also die Stunden 1 bis 4: Genau die Balken,
die als erste gezeichnet werden, waren die
dunkelsten. Ein 75er Balken neben einem 145er sieht
nicht nach Licht aus, sondern nach Ausfall.
(Meine erste RECHNUNG dazu lag bei der Zuordnung
daneben -- sie hatte die -90-Grad-Drehung des SVG
vergessen und die dunklen Balken bei 5 und 6
vermutet. Die Spanne stimmte ungefaehr, die Stelle
nicht. Deshalb stehen hier Messwerte.)
Jetzt Faktor 1,29. Das ist genug
Unterschied, damit die Reihe nach Material aussieht
und nicht nach Aufkleber -- und zu wenig, als dass ein
Balken fehlen koennte. Der Kopf (heller plus Schein)
bleibt das Hellste in der Reihe.
Minute und Sekunde behalten ihren vollen Verlauf: Bei
60 Gliedern liegen die Nachbarn so dicht, dass der
Wechsel als Politur gelesen wird, nicht als Luecke. -->
<linearGradient id="uhr-stunde-farbe" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#ff9aa0" />
<stop offset="28%" stop-color="#e33f4c" />
<stop offset="52%" stop-color="#ff7d86" />
<stop offset="74%" stop-color="#a81f2c" />
<stop offset="100%" stop-color="#ff6b76" />
<stop offset="0%" stop-color="#fb8f97" />
<stop offset="28%" stop-color="#e05e6b" />
<stop offset="52%" stop-color="#f27c87" />
<stop offset="74%" stop-color="#d95463" />
<stop offset="100%" stop-color="#ee717d" />
</linearGradient>
<!-- MINUTE: Schwarzsilber. Vier Stopps, damit es nach
@@ -402,7 +445,7 @@
KEIN Weichzeichner, nirgends: Die Tiefe entsteht aus
dem Versatz, nicht aus Unschaerfe. -->
<g class="uhr__schatten" transform="translate(0 0.55)">
<g class="uhr__schatten" transform="translate(-0.55 0)">
<circle class="uhr__sekunde" data-ring="sekunde" cx="50" cy="50" r="45.5" />
<circle class="uhr__minute" data-ring="minute" cx="50" cy="50" r="38.5" />
<circle class="uhr__stunde" data-ring="stunde" cx="50" cy="50" r="31.5" />
@@ -440,7 +483,7 @@
Entfernt statt ausgeblendet: Genau daran bin ich heute
schon einmal haengengeblieben. -->
<g class="uhr__kante" transform="translate(0 -0.4)">
<g class="uhr__kante" transform="translate(0.4 0)">
<circle class="uhr__sekunde" data-ring="sekunde" cx="50" cy="50" r="45.5" />
<circle class="uhr__minute" data-ring="minute" cx="50" cy="50" r="38.5" />
<circle class="uhr__stunde" data-ring="stunde" cx="50" cy="50" r="31.5" />