feat(prezentacja): obiekty na kosmogramie — glify, stopnie, retrogradacja (PRE-12) #27

Merged
gitea merged 1 commits from feat/pre12-wheel-planets into master 2026-07-24 14:14:51 +00:00
Owner

Etap 2 rysowania koła (po szkielecie): obiekty na swoich pozycjach.

Każdy obiekt dostaje kreskę na wewnętrznej krawędzi pasa w prawdziwej pozycji,
glif, stopień w znaku i znacznik retrogradacji ℞ (dodatkowo kolorem, żeby dało się
ją wyłapać nie czytając znak po znaku).

Rozsuwanie ciasnych skupisk — sedno etapu

W horoskopie referencyjnym Merkury i Wenus dzieli 0,41°, Wenus i Księżyc 3,68°.
Bez rozsuwania glify rysują się jeden na drugim.

Rozsuwamy tylko glify. Kreska zostaje w prawdziwej pozycji, a gdy glif jest
odsunięty, łączy je cienka linia odniesienia — wykres nie może kłamać o tym,
gdzie planeta faktycznie stoi
.

Dwa błędy złapane przy weryfikacji

Oba wyszły z pomiarów, nie z „wygląda dobrze":

1. Podpisy stopni zlewały się w skupiskach. O ciasnocie decyduje nie glif, tylko
podpis — leży bliżej środka (r=130), gdzie ten sam kąt to mniej pikseli. Stąd odstęp
8° zamiast 7°, podpis bez „°" (jak w programach astrologicznych) i mniejszy font.
Teraz: glify min 20,9 px, podpisy 18,1 px (próg 16).

2. Rozsuwanie w ogóle nie działało na prawdziwych danych — Wenus lądowała
dokładnie na Księżycu (0,3 px od siebie; na renderze Księżyc po prostu znikał).
Przyczyna: odstęp liczony modulo 360. Przesunięcie, które przerzucało obiekt
za sąsiada, dawało lukę ~359,9° zamiast ujemnej — algorytm uznawał, że jest luzem,
i kończył. Poprawka: rozwijamy kąty do osi monotonicznej, gdzie ujemna luka
zostaje ujemna i zawsze się ją wyłapie. Test regresyjny na dokładnie tych danych,
sprawdzony sabotażem (po przywróceniu modulo czerwienieje).

Przy okazji

Etykiety osi (AC/DC/MC/IC) przeniesione poza koło — w środku wchodziły w pierścień
obiektów i zasłaniały glify. ViewBox 440→470, koło bez zmian, margines mieści etykiety.

Testy

11 nowych: regresja rozsuwania, zachowanie kolejności, obiekty bez kolizji
nieruszone (wykres kłamie jak najmniej), zawinięcie przez 0°, awaryjny równy rozkład
przy przepełnieniu, stopień w znaku (nie długość absolutna), retrogradacja,
niekompletny obiekt nie wywala rysunku. Całość: prezentacja 44, logika 265 / 1 skip.

Potwierdzone wizualnie: całe skupisko ☉/☽/♀/☿ czytelne i rozdzielone.

Etapy kosmogramu

  1. Szkielet ✓ · 2. Obiekty ← ten PR · 3. Linie aspektów · 4. Dopracowanie
    (Lots, tooltips, stopnie cuspów) · 5. PRE-18 aspectarian · 6. Wizualizacje LOG-07
Etap 2 rysowania koła (po szkielecie): **obiekty na swoich pozycjach**. Każdy obiekt dostaje kreskę na wewnętrznej krawędzi pasa w **prawdziwej** pozycji, glif, stopień w znaku i znacznik retrogradacji ℞ (dodatkowo kolorem, żeby dało się ją wyłapać nie czytając znak po znaku). ## Rozsuwanie ciasnych skupisk — sedno etapu W horoskopie referencyjnym **Merkury i Wenus dzieli 0,41°**, Wenus i Księżyc 3,68°. Bez rozsuwania glify rysują się jeden na drugim. Rozsuwamy **tylko glify**. Kreska zostaje w prawdziwej pozycji, a gdy glif jest odsunięty, łączy je cienka linia odniesienia — **wykres nie może kłamać o tym, gdzie planeta faktycznie stoi**. ## Dwa błędy złapane przy weryfikacji Oba wyszły z **pomiarów**, nie z „wygląda dobrze": **1. Podpisy stopni zlewały się w skupiskach.** O ciasnocie decyduje nie glif, tylko podpis — leży bliżej środka (r=130), gdzie ten sam kąt to mniej pikseli. Stąd odstęp 8° zamiast 7°, podpis bez „°" (jak w programach astrologicznych) i mniejszy font. Teraz: glify **min 20,9 px**, podpisy **18,1 px** (próg 16). **2. Rozsuwanie w ogóle nie działało na prawdziwych danych** — Wenus lądowała **dokładnie na Księżycu** (0,3 px od siebie; na renderze Księżyc po prostu znikał). Przyczyna: odstęp liczony **modulo 360**. Przesunięcie, które przerzucało obiekt *za* sąsiada, dawało lukę ~359,9° zamiast ujemnej — algorytm uznawał, że jest luzem, i kończył. Poprawka: rozwijamy kąty do osi **monotonicznej**, gdzie ujemna luka zostaje ujemna i zawsze się ją wyłapie. Test regresyjny na dokładnie tych danych, **sprawdzony sabotażem** (po przywróceniu modulo czerwienieje). ## Przy okazji Etykiety osi (AC/DC/MC/IC) przeniesione **poza koło** — w środku wchodziły w pierścień obiektów i zasłaniały glify. ViewBox 440→470, koło bez zmian, margines mieści etykiety. ## Testy **11 nowych**: regresja rozsuwania, zachowanie kolejności, obiekty bez kolizji nieruszone (wykres kłamie jak najmniej), zawinięcie przez 0°, awaryjny równy rozkład przy przepełnieniu, stopień **w znaku** (nie długość absolutna), retrogradacja, niekompletny obiekt nie wywala rysunku. Całość: **prezentacja 44, logika 265 / 1 skip**. Potwierdzone wizualnie: całe skupisko ☉/☽/♀/☿ czytelne i rozdzielone. ## Etapy kosmogramu 1. ~~Szkielet~~ ✓ · 2. **Obiekty** ← ten PR · 3. Linie aspektów · 4. Dopracowanie (Lots, tooltips, stopnie cuspów) · 5. PRE-18 aspectarian · 6. Wizualizacje LOG-07
gitea added 1 commit 2026-07-24 13:50:20 +00:00
feat(prezentacja): obiekty na kosmogramie — glify, stopnie, retrogradacja (PRE-12)
Testy / Testy warstwy logicznej (silnik) (pull_request) Successful in 11m57s
Testy / Testy warstwy prezentacji (dostęp do baz) (pull_request) Successful in 9m55s
Testy / Build obrazu silnika B (swisseph) (pull_request) Successful in 38s
Testy / Kontrola składni wszystkich warstw (pull_request) Successful in 27s
build / build (push) Successful in 1m4s
Testy / Testy warstwy logicznej (silnik) (push) Successful in 11m46s
Testy / Testy warstwy prezentacji (dostęp do baz) (push) Successful in 9m54s
Testy / Build obrazu silnika B (swisseph) (push) Successful in 33s
Testy / Kontrola składni wszystkich warstw (push) Successful in 25s
40c9bf7988
Etap 2 rysowania koła (po szkielecie): obiekty na swoich pozycjach.

Każdy obiekt dostaje: kreske na wewnetrznej krawedzi pasa w PRAWDZIWEJ pozycji,
glif, stopien w znaku i znacznik retrogradacji ℞ (dodatkowo kolorem, zeby dalo
sie ja wylapac nie czytajac znak po znaku).

ROZSUWANIE CIASNYCH SKUPISK — sedno tego etapu. W horoskopie referencyjnym
Merkury i Wenus dzieli 0,41°, Wenus i Ksiezyc 3,68°: bez rozsuwania glify
rysuja sie jeden na drugim. Rozsuwamy tylko GLIFY; kreska zostaje w prawdziwej
pozycji, a gdy glif jest odsuniety, laczymy je cienka linia odniesienia — wykres
nie moze klamac o tym, gdzie planeta faktycznie stoi.

Bledy zlapane przy weryfikacji (oba wyszly z pomiarow, nie z „wyglada dobrze"):

1. PODPISY STOPNI zlewaly sie w skupiskach. O ciasnocie decyduje nie glif, tylko
   podpis — lezy blizej srodka (r=130), gdzie ten sam kat to mniej pikseli.
   Stad odstep 8° zamiast 7°, podpis bez „°" (jak w programach astrologicznych)
   i mniejszy font. Teraz: glify min 20,9 px, podpisy 18,1 px (prog 16).

2. ROZSUWANIE NIE DZIALALO na prawdziwych danych — Wenus ladowala DOKLADNIE na
   Ksiezycu (0,3 px). Przyczyna: odstep liczony modulo 360. Przesuniecie, ktore
   przerzucalo obiekt ZA sasiada, dawalo luke ~359,9° zamiast ujemnej, wiec
   algorytm uznawal, ze jest luzem, i konczyl. Poprawka: rozwijamy katy do osi
   MONOTONICZNEJ, gdzie ujemna luka zostaje ujemna i zawsze sie ja wylapie.
   Test regresyjny na dokladnie tych danych; sprawdzony sabotazem (po przywroceniu
   modulo czerwienieje).

Etykiety osi (AC/DC/MC/IC) przeniesione POZA kolo — w srodku wchodzily w pierscien
obiektow i zaslanialy glify (Ksiezyc znikal pod linia MC). ViewBox 440→470, kolo
bez zmian, margines mieści etykiety.

Testy: 11 nowych (regresja rozsuwania, zachowanie kolejnosci, obiekty bez kolizji
nieruszone, zawiniecie przez 0°, awaryjny rowny rozklad, stopien w znaku,
retrogradacja, niekompletny obiekt nie wywala rysunku). Calosc: prezentacja 44,
logika 265 / 1 skip. Potwierdzone wizualnie: cale skupisko Slonce/Ksiezyc/Wenus/
Merkury czytelne i rozdzielone.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea merged commit 40c9bf7988 into master 2026-07-24 14:14:51 +00:00
gitea deleted branch feat/pre12-wheel-planets 2026-07-24 14:14:51 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gitea/astrololo#27