feat: konfigurowalne aspekty i orby (PRE-06) #49

Merged
gitea merged 1 commits from feat/pre06-aspect-settings into master 2026-08-03 15:42:23 +00:00
Owner

Kolejny „czysto". Dotąd orb (8°) i zestaw aspektów były zaszyte w silniku —
astrolodzy pracują na różnych orbach i lubią dokładać aspekty poboczne. Teraz
ustawialne w UI.

Silnik (aspects.py)

find_aspects przyjmuje orb, luminary_bonus, minor. Aspekty poboczne = tylko
trzy
(półsekstyl 30° / półkwadratura 45° / kwinkunks 150°) — bo mają już glify i
barwy w prezentacji i w engine/glyphs.py, więc dokładają się bez ruszania
niczego poza silnikiem
. Bazy zwykle ich nie opisują (brak tokenu w DB_TOKEN),
więc trafiają na kosmogram i do tabeli, ale nie tworzą faset — most
sygnifikatorów po cichu je pomija (skip przy braku tokenu, sprawdzone).

Plumbing (wszystkie warstwy)

Request logiki → build_chart → klient prezentacji → oba handlery (/, /compile)
oraz PDF (/compile/pdf). Ustawienia wędrują między zakładkami (formsync) i
lecą do PDF-a (compile.js) — żeby podsumowanie liczyło aspekty tym samym orbem
co horoskop
(ta sama zasada, co fix podsumowania #46). UI: orb, bonus dla świateł,
checkbox „aspekty poboczne" na obu formularzach.

Weryfikacja (żywy /chart/positions)

Domyślnie 24 aspekty (główne); minor52 (dochodzą quincunx/semisextile/
semisquare); orb 3 → 13, orb 12 → 32. Testy: logika +3, prezentacja +6.
Logika 273, prezentacja 220.

Domyka PRE-06. Następne „czysto": PRE-04 (synastria), DAN-26 (canary), PRE-17.
Dług: chart.html/compile.html — bloki opcji i tabele wołają o wspólny partial.

Kolejny „czysto". Dotąd orb (8°) i zestaw aspektów były **zaszyte** w silniku — astrolodzy pracują na różnych orbach i lubią dokładać aspekty poboczne. Teraz ustawialne w UI. ## Silnik (`aspects.py`) `find_aspects` przyjmuje `orb`, `luminary_bonus`, `minor`. Aspekty poboczne = **tylko trzy** (półsekstyl 30° / półkwadratura 45° / kwinkunks 150°) — bo mają już glify i barwy w prezentacji i w `engine/glyphs.py`, więc dokładają się **bez ruszania niczego poza silnikiem**. Bazy zwykle ich nie opisują (brak tokenu w `DB_TOKEN`), więc trafiają na kosmogram i do tabeli, ale **nie tworzą faset** — most sygnifikatorów po cichu je pomija (skip przy braku tokenu, sprawdzone). ## Plumbing (wszystkie warstwy) Request logiki → `build_chart` → klient prezentacji → oba handlery (`/`, `/compile`) **oraz PDF** (`/compile/pdf`). Ustawienia wędrują między zakładkami (`formsync`) i lecą do PDF-a (`compile.js`) — żeby **podsumowanie liczyło aspekty tym samym orbem co horoskop** (ta sama zasada, co fix podsumowania #46). UI: orb, bonus dla świateł, checkbox „aspekty poboczne" na obu formularzach. ## Weryfikacja (żywy `/chart/positions`) Domyślnie **24** aspekty (główne); `minor` → **52** (dochodzą quincunx/semisextile/ semisquare); orb 3 → **13**, orb 12 → **32**. Testy: logika **+3**, prezentacja **+6**. Logika **273**, prezentacja **220**. Domyka **PRE-06**. Następne „czysto": PRE-04 (synastria), DAN-26 (canary), PRE-17. Dług: chart.html/compile.html — bloki opcji i tabele wołają o wspólny partial.
gitea added 1 commit 2026-08-03 11:16:51 +00:00
feat: konfigurowalne aspekty i orby (PRE-06)
Testy / Testy warstwy logicznej (silnik) (pull_request) Successful in 10m47s
Testy / Testy warstwy prezentacji (dostęp do baz) (pull_request) Successful in 9m27s
Testy / Build obrazu silnika B (swisseph) (pull_request) Successful in 12s
Testy / Kontrola składni wszystkich warstw (pull_request) Successful in 9s
build / build (push) Successful in 26s
Testy / Testy warstwy logicznej (silnik) (push) Successful in 10m30s
Testy / Testy warstwy prezentacji (dostęp do baz) (push) Successful in 9m28s
Testy / Build obrazu silnika B (swisseph) (push) Successful in 12s
Testy / Kontrola składni wszystkich warstw (push) Successful in 8s
b36b3bee19
Dotąd orb (8°) i aspekty były zaszyte w silniku. Astrolodzy pracują na różnych
orbach i lubią dokładać aspekty poboczne — teraz da się to ustawić w UI.

Silnik (aspects.py): `find_aspects` przyjmuje orb, luminary_bonus i `minor`.
Aspekty poboczne = tylko trzy (półsekstyl 30° / półkwadratura 45° / kwinkunks
150°) — bo mają już glify i barwy w prezentacji i w engine/glyphs.py, więc
dokładają się bez ruszania czegokolwiek poza silnikiem. Bazy zwykle ich nie
opisują (brak tokenu), więc trafiają na kosmogram i do tabeli, ale NIE tworzą
faset — most sygnifikatorów po cichu je pomija (skip przy braku tokenu).

Plumbing przez wszystkie warstwy: request logiki, build_chart, klient prezentacji,
oba handlery (/, /compile) ORAZ PDF (/compile/pdf). Ustawienia wędrują między
zakładkami (formsync) i lecą do PDF-a (compile.js) — żeby podsumowanie liczyło
aspekty tym samym orbem co horoskop (ta sama zasada co fix podsumowania #46).
UI: orb, bonus dla świateł, checkbox „aspekty poboczne" na obu formularzach.

Weryfikacja na żywym /chart/positions: domyślnie 24 aspekty (główne); minor → 52
(dochodzą quincunx/semisextile/semisquare); orb 3 → 13, orb 12 → 32. Testy:
logika +3 (minor/orb/bonus), prezentacja +6 (obecność pól, przekazanie przez
warstwy, sync, PDF). Logika 273, prezentacja 220.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea merged commit b36b3bee19 into master 2026-08-03 15:42:23 +00:00
gitea deleted branch feat/pre06-aspect-settings 2026-08-03 15:42:24 +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#49