feat: synastria — aspekty między dwoma horoskopami (PRE-04) #51

Merged
gitea merged 1 commits from feat/pre04-synastry into master 2026-08-03 19:01:52 +00:00
Owner

Pierwsza technika relacyjna z pełnym UI (Returns były już dostępne w kalendarzu od
LOG-12). Dwie osoby → aspekty między ich horoskopami (planeta osoby A do
planety osoby B).

Silnik

find_cross_aspects(a, b, orb, luminary_bonus, minor) — każdy obiekt A × każdy
obiekt B; obj1 = osoba A, obj2 = osoba B. Statyczne (dwa natale, brak
wspólnego czasu) → bez applying/separating. Par sztywnych (NN/SN) nie wycinamy
— między dwiema osobami to realny aspekt, nie artefakt definicji. Wspólny matcher
_first_aspect z find_aspects, więc orb / bonus świateł / aspekty poboczne
działają identycznie.

API + UI

  • POST /chart/synastry (dwie osoby + zodiak + ustawienia aspektów) → pozycje obu
    • siatka aspektów z glifami.
  • Zakładka „Synastria": formularz dwóch osób (pętla po a_/b_), tabela
    aspektów A · aspekt · B · orb.

Weryfikacja

Żywe /chart/synastry: 13+13 obiektów, 63 aspekty synastryczne z poprawnymi
glifami i bonusem świateł (A.Sun ☌ B.Venus przy orbie 8.67 = 8+2). Testy: logika
+4, prezentacja +7. Logika 277, prezentacja 228.

Domyka PRE-04 (technika relacyjna: synastria; Solar/Lunar Return już w
kalendarzu). Dalej „czysto": DAN-26 (canary), PRE-17 (konta+audyt), PRE-09/DAN-15.
Naturalne rozszerzenie synastrii na później: bi-wheel (dwa koła na sobie).

Pierwsza technika relacyjna z pełnym UI (Returns były już dostępne w kalendarzu od LOG-12). Dwie osoby → aspekty **między** ich horoskopami (planeta osoby A do planety osoby B). ## Silnik `find_cross_aspects(a, b, orb, luminary_bonus, minor)` — każdy obiekt A × każdy obiekt B; `obj1` = osoba A, `obj2` = osoba B. **Statyczne** (dwa natale, brak wspólnego czasu) → bez applying/separating. Par sztywnych (NN/SN) **nie wycinamy** — między dwiema osobami to realny aspekt, nie artefakt definicji. Wspólny matcher `_first_aspect` z `find_aspects`, więc orb / bonus świateł / aspekty poboczne działają identycznie. ## API + UI - `POST /chart/synastry` (dwie osoby + zodiak + ustawienia aspektów) → pozycje obu + siatka aspektów z glifami. - Zakładka **„Synastria"**: formularz dwóch osób (pętla po `a_`/`b_`), tabela aspektów **A · aspekt · B · orb**. ## Weryfikacja Żywe `/chart/synastry`: 13+13 obiektów, **63** aspekty synastryczne z poprawnymi glifami i bonusem świateł (A.Sun ☌ B.Venus przy orbie 8.67 = 8+2). Testy: logika **+4**, prezentacja **+7**. Logika **277**, prezentacja **228**. Domyka **PRE-04** (technika relacyjna: synastria; Solar/Lunar Return już w kalendarzu). Dalej „czysto": DAN-26 (canary), PRE-17 (konta+audyt), PRE-09/DAN-15. Naturalne rozszerzenie synastrii na później: bi-wheel (dwa koła na sobie).
gitea added 1 commit 2026-08-03 18:56:08 +00:00
feat: synastria — aspekty między dwoma horoskopami (PRE-04)
Testy / Testy warstwy logicznej (silnik) (pull_request) Successful in 10m32s
Testy / Testy warstwy prezentacji (dostęp do baz) (pull_request) Successful in 9m28s
Testy / Build obrazu silnika B (swisseph) (pull_request) Successful in 11s
Testy / Kontrola składni wszystkich warstw (pull_request) Successful in 9s
build / build (push) Successful in 25s
Testy / Testy warstwy logicznej (silnik) (push) Successful in 11m18s
Testy / Kontrola składni wszystkich warstw (push) Successful in 31s
Testy / Build obrazu silnika B (swisseph) (push) Failing after 13m6s
Testy / Testy warstwy prezentacji (dostęp do baz) (push) Failing after 13m25s
7b435d4263
Pierwsza technika relacyjna z pełnym UI (Returns były już w kalendarzu od LOG-12).
Dwie osoby → aspekty MIĘDZY ich horoskopami (planeta osoby A do planety osoby B).

Silnik: `find_cross_aspects(a, b, orb, luminary_bonus, minor)` — każdy obiekt A ×
każdy obiekt B. `obj1` = osoba A, `obj2` = osoba B. Statyczne (dwa natale, brak
wspólnego czasu) → bez applying/separating. Par sztywnych (NN/SN) NIE wycinamy —
między dwiema osobami to realny aspekt, nie artefakt definicji. Wspólny matcher
`_first_aspect` (z find_aspects), więc orb/bonus/aspekty poboczne działają tak samo.

Endpoint `POST /chart/synastry` (dwie osoby + zodiak + ustawienia aspektów) →
pozycje obu + siatka aspektów z glifami. Prezentacja: zakładka „Synastria",
formularz dwóch osób (pętla po a_/b_), tabela aspektów A · aspekt · B · orb.

Weryfikacja na żywym API: 13+13 obiektów, 63 aspekty synastryczne z poprawnymi
glifami i bonusem świateł (A.Sun ☌ B.Venus przy orbie 8.67 = 8+2). Testy: logika
+4 (cross-aspekty, kolejność A/B, brak filtra par sztywnych, brak applying),
prezentacja +7 (trasa, formularz dwóch osób, klient, tabela). Logika 277,
prezentacja 228.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea merged commit 7b435d4263 into master 2026-08-03 19:01:52 +00:00
gitea deleted branch feat/pre04-synastry 2026-08-03 19:01:52 +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#51