feat(prezentacja): szkielet kosmogramu — koło horoskopowe SVG (PRE-12) #26

Merged
gitea merged 1 commits from feat/pre12-chartwheel-skeleton into master 2026-07-24 12:32:32 +00:00
Owner

Pierwszy krok rysowania wykresu: szkielet koła — pierścień znaków, podział na
domy i osie. Planety i linie aspektów w kolejnych iteracjach (świadomy wybór:
mniejsze, sprawdzalne kawałki).

Stacked na #25 (glify LOG-22) — baza tego PR to feat/log22-glyphs, bo koło rysuje znaki
glifami, a prezentacja (osobna usługa) dostaje je z API, nie importuje logiki.
Merge #25 najpierw; Gitea wtedy przekieruje bazę tego PR na master i zostanie
sam diff koła.

Jak rysowane

Czysty string SVG po stronie serwera (bez zależności zewnętrznych — spójne
z CSP), ciemny motyw wg palety aplikacji. Znaki barwione wg żywiołu
stonowanymi kolorami czytelnymi na ciemnym tle.

Geometria wg konwencji: Ascendent po lewej, długość rośnie przeciwnie do
ruchu wskazówek. λ → φ = 180° − (λ − Asc); w SVG y rośnie w dół (formuła to
uwzględnia). Zakotwiczenie sprawdzone liczbowo w testach: Asc lewo, Dsc prawo,
oś pozioma; Asc+90° (II dom) na dole.

Elementy: dwa okręgi + piasta, podziałki 5°/10°, granice znaków co 30° z glifem
w sektorze, szprychy domów, numery domów, osie Asc–Dsc / MC–IC w akcencie
z etykietami AC/DC/MC/IC.

Prezentacja nic nie liczy

Wszystko z wyniku /chart/positions: sign_glyphs + glify (LOG-22), angles.decimal
(były), oraz cusps.decimaldołożone tu jedną linią w build_chart. Bez
długości cuspu domy dało się rysować tylko dla whole sign; z nią działa dla
każdego systemu. Zweryfikowane na porphyry: cuspy poza wielokrotnościami
30°, szprychy odchodzą od granic znaków.

Degradacja: silnik bez osi/domów albo starszy wynik bez decimal → puste koło,
nie wyjątek.

Testy

8 nowych (poprawność XML, 12 glifów, 4 osie, numery domów, Asc po lewej liczbowo,
CCW, degradacja). Całość: prezentacja 33, logika 265 / 1 skip. Render
potwierdzony wizualnie: AC=Leo po lewej, MC=Aryes u góry, domy CCW, znaki
czarno-białe/barwione — nie emoji.

Dalej

Kolejne iteracje na kole: planety z glifami na pozycjach + stopnie, potem linie
aspektów w środku (kolor wg typu, pogrubienie <1°), potem PRE-18 (aspectarian).

Pierwszy krok rysowania wykresu: **szkielet** koła — pierścień znaków, podział na domy i osie. Planety i linie aspektów w kolejnych iteracjach (świadomy wybór: mniejsze, sprawdzalne kawałki). > **Stacked na [#25 (glify LOG-22)](https://gitea.czernobog.pl/gitea/astrololo/pulls/25)** — baza tego PR to `feat/log22-glyphs`, bo koło rysuje znaki > glifami, a prezentacja (osobna usługa) dostaje je z API, nie importuje logiki. > **Merge #25 najpierw**; Gitea wtedy przekieruje bazę tego PR na master i zostanie > sam diff koła. ## Jak rysowane Czysty string **SVG po stronie serwera** (bez zależności zewnętrznych — spójne z CSP), **ciemny motyw** wg palety aplikacji. Znaki barwione wg żywiołu stonowanymi kolorami czytelnymi na ciemnym tle. Geometria wg konwencji: **Ascendent po lewej**, długość rośnie przeciwnie do ruchu wskazówek. λ → φ = 180° − (λ − Asc); w SVG y rośnie w dół (formuła to uwzględnia). Zakotwiczenie **sprawdzone liczbowo** w testach: Asc lewo, Dsc prawo, oś pozioma; Asc+90° (II dom) na dole. Elementy: dwa okręgi + piasta, podziałki 5°/10°, granice znaków co 30° z glifem w sektorze, szprychy domów, numery domów, osie Asc–Dsc / MC–IC w akcencie z etykietami AC/DC/MC/IC. ## Prezentacja nic nie liczy Wszystko z wyniku `/chart/positions`: `sign_glyphs` + glify (LOG-22), `angles.decimal` (były), oraz `cusps.decimal` — **dołożone tu jedną linią** w `build_chart`. Bez długości cuspu domy dało się rysować tylko dla whole sign; z nią działa dla **każdego** systemu. Zweryfikowane na **porphyry**: cuspy poza wielokrotnościami 30°, szprychy odchodzą od granic znaków. Degradacja: silnik bez osi/domów albo starszy wynik bez `decimal` → puste koło, nie wyjątek. ## Testy 8 nowych (poprawność XML, 12 glifów, 4 osie, numery domów, Asc po lewej liczbowo, CCW, degradacja). Całość: **prezentacja 33, logika 265 / 1 skip**. Render potwierdzony wizualnie: AC=Leo po lewej, MC=Aryes u góry, domy CCW, znaki czarno-białe/barwione — nie emoji. ## Dalej Kolejne iteracje na kole: planety z glifami na pozycjach + stopnie, potem linie aspektów w środku (kolor wg typu, pogrubienie <1°), potem PRE-18 (aspectarian).
gitea changed target branch from feat/log22-glyphs to master 2026-07-24 11:01:42 +00:00
gitea added 1 commit 2026-07-24 11:01:42 +00:00
feat(prezentacja): szkielet kosmogramu — koło horoskopowe SVG (PRE-12)
build / build (push) Successful in 1m26s
Testy / Testy warstwy logicznej (silnik) (push) Successful in 11m10s
Testy / Testy warstwy prezentacji (dostęp do baz) (push) Successful in 9m55s
Testy / Build obrazu silnika B (swisseph) (push) Successful in 38s
Testy / Kontrola składni wszystkich warstw (push) Successful in 25s
1d7f3e2136
Pierwszy krok rysowania wykresu (PRE-12): SZKIELET koła — pierścień znaków,
podział na domy i osie. Planety i linie aspektów w kolejnych iteracjach.

Rysowane po stronie serwera jako czysty string SVG (bez zależności zewnętrznych
— spójne z CSP). Ciemny motyw, spójny z paletą aplikacji (kolory z --line,
--accent, --muted; glify znaków barwione wg żywiołu w stonowanych kolorach
czytelnych na ciemnym tle).

Geometria wg konwencji astrologicznej: Ascendent po LEWEJ, długość ekliptyczna
rośnie przeciwnie do ruchu wskazówek zegara. Punkt λ → kąt φ = 180° − (λ − Asc);
w SVG y rośnie w dół, co formuła uwzględnia. Zakotwiczenie sprawdzone testami
liczbowo: Asc po lewej, Dsc po prawej, oś pozioma; Asc+90° (II dom) na dole.

Elementy: dwa okręgi + piasta, podziałki co 5°/10°, granice znaków co 30° z
glifem w środku sektora, szprychy domów od pasa do piasty, numery domów w środku
każdego domu, osie Asc–Dsc i MC–IC wyróżnione akcentem z etykietami AC/DC/MC/IC.

Dane bierzemy WYŁĄCZNIE z wyniku /chart/positions — prezentacja nic nie liczy:
- `sign_glyphs` (pierścień 12 znaków) i glify — z LOG-22,
- `angles` z długością `decimal` — już były,
- `cusps` z `decimal` — DOŁOŻONE w tym PR (jedna linia w build_chart). Bez tego
  domy dało się narysować tylko dla whole sign; z długością cuspu działa dla
  KAŻDEGO systemu. Zweryfikowane na porphyry: cuspy poza wielokrotnościami 30°,
  szprychy odchodzą od granic znaków.

Degradacja: silnik bez osi/domów albo starszy wynik bez `decimal` w cuspach →
brak koła (pusty string), nie wyjątek.

Testy: 8 (poprawność XML, 12 glifów, 4 osie, numery domów, Asc po lewej liczbowo,
CCW, degradacja). Całość: prezentacja 33 passed, logika 265 / 1 skipped. Render
potwierdzony wizualnie na horoskopie referencyjnym (AC=Leo po lewej, MC=Aries
u góry, domy CCW).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea merged commit 1d7f3e2136 into master 2026-07-24 12:32:32 +00:00
gitea deleted branch feat/pre12-chartwheel-skeleton 2026-07-24 12:32:33 +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#26