feat(logic): glify astrologiczne — konwersja tekst↔symbol (LOG-22) #25
Reference in New Issue
Block a user
Delete Branch "feat/log22-glyphs"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Warunek wstępny pod kosmogram (PRE-12): planety i znaki na kole rysujemy
symbolami. Nowy moduł
engine/glyphs.py.Saturn→ ♄,Pisces→ ♓,conjunction→ ☌,Fortune→ ⊗Saturn(znosi obecność/brak selektora wariantu)glyphifytokenów[XX[Sa [Pis 26°08' [conj [PF→♄ ♓ 26°08' ☌ ⊗(stopnie nietknięte)Pokrycie: 10 planet/świateł, węzły + Lilith + Chiron, 12 znaków, aspekty
(główne + minor), retrogradacja ℞, Fortuna ⊗.
DAN-18 „tylko tekst, nigdy emoji" — potraktowane serio
Sam selektor wariantu nie wystarcza — i to wyszło dopiero wizualnie
w przeglądarce, nie z testów. Trzy warstwy obrony:
U+FE0Ena znakach zodiaku i ♀/♂ (mają wariant emoji);☉ i reszta go nie dostają (zbędny),
font-variant-emoji: text,font-familycelujący w monochromatyczne fonty symboli przed emoji.Bez pkt. 3 macOS/Chromium renderował znaki ♈–♓ jako kolorowe kafelki Apple
Color Emoji mimo VS15 — planety wychodziły tekstem, znaki nie. Stack
Apple Symbols / Segoe UI Symbol / Noto Sans Symbols2naprawił render (sprawdzonena zrzucie: czarno-białe symbole). Nigdzie nie emitujemy
U+FE0F— pilnuje testu.Wpięcie
build_chart: każda pozycja →glyph(planeta) +sign_glyph(znak, zależny odzodiaku → po przesunięciu); osie i Loty tak samo (Fortuna ⊗, reszta Lotów bez
standardowego symbolu →
None); aspekty → glif;result["sign_glyphs"]topierścień 12 znaków gotowy pod koło.
UI: kolumna „Sym." w tabeli pozycji (planeta + znak) i symbol przy aspekcie.
Testy
14 nowych: kompletność (każdy obiekt/znak/aspekt ma glif), dwukierunkowość
(round-trip w obie strony), DAN-18 (brak FE0F, znaki mają VS15, ☉ nie), przykład
glyphifyz wymagań. Całość: logika 265 passed / 1 skipped, prezentacja 25.Dalej
To odblokowuje PRE-12 (kosmogram) — mamy już glify per obiekt/znak/aspekt
i pierścień 12 znaków w wyniku. Następny krok: szkielet koła (SVG po stronie
serwera).