{{-- ✅ Uranyen 90° Dial — astro-seek.com'un 90° dial SVG çıktısının birebir
portu. Tüm geometri ChartVisualizerService::buildUranianDialLayout()'ta
hesaplanır (onların 700x700 tuvali → bizim 800x800, s=398/349); bu şablon
sadece hazır koordinatları basar. Katman sırası da astro-seek ile aynı:
zemin → sayı bandı → gezegen altlıkları → gezegenler → dönen disk →
konum noktaları → merkez gösterge → kenar çemberleri. --}}
@php
$L = $uranianDialLayout ?? null;
@endphp
@if ($L)
@php
$dCx = $L['cx'];
$dCy = $L['cy'];
$R = $L['radii'];
// Midpoint Trees modu: yıldız rozeti/sektör süsleri gizlenir, merkezde
// astro-seek'in AXIS paneli gösterilir (bkz. buildUranianDialLayout).
$mpMode = !empty($L['midpointMode']);
@endphp
{{-- ✅ İLİŞKİ DIAL'I — B kişisi halkasının beyaz zemini (ana zeminden ÖNCE
basılır ki dial alanı üstte kalsın; dış sınır çemberi en sonda,
"Kenar çemberleri" bölümünde çizilir). --}}
@if (!empty($L['pairRing']))
@endif
{{-- Zemin --}}
{{-- 1. Sayı bandı: tikler + 0-89 etiketleri (tıklanınca disk o değere döner) --}}
@foreach ($L['scaleTicks'] as $t)
@endforeach
@foreach ($L['numbers'] as $n)
{{ $n['text'] }}
@endforeach
{{-- 2a. Beyaz glif altlıkları (tik/çizgilerin üstünde temiz zemin) --}}
{{-- ✅ is_extra taşıyan noktalar (asteroid/sabit yıldız katalogları) her
katmanda extra-item extra-hidden + data-key ile basılır: varsayılan
gizli, "Ekstra Noktalar" modalındaki checkbox'la panel.js
updateExtraVisibility() gösterip gizler. --}}
@foreach ($L['planets'] as $dp)
@endforeach
{{-- 2b. Gezegenler: renkli işaret çizgisi + (gerekirse) kesik kılavuz + glif --}}
@foreach ($L['planets'] as $dp)
@if (!empty($dp['marker']))
@endif
{{-- ✅ B halkası çentiği: gerçek konum, halkanın iç kenarında kişi renginde tik --}}
@if (!empty($dp['ringTick']))
@endif
@if (!empty($dp['guide']))
@endif
@endforeach
{{-- 3. Dönen disk (JS: uranian-dial-pointer.js sürükleyerek döndürür).
data-dial-degree: dial modülü (90/60/45/30) — JS dönüş açısı ↔ dial
değeri çevrimini (faktör = 360/derece) buradan türetir. --}}
@if (!$mpMode)
{{-- Dev soluk sektör burç glifleri (Koç/Boğa/İkizler = kardinal/sabit/değişken)
— renk astro-seek mavisi yerine site temasının ana rengi (#2f8f7a). --}}
@foreach ($L['disk']['sectorGlyphs'] as $sg)
{{ $sg['t'] }}
@endforeach
{{-- 8 köşeli yıldız rozeti + 0/30/60 sektör eksenleri + 16. harmonik bağlantılar --}}
@foreach ($L['disk']['sectorLines'] as $sl)
@endforeach
@foreach ($L['disk']['connectors'] as $cl)
@endforeach
@endif
{{-- Gri tutma yayları + ince tik halkası + ±karşı-skala --}}
@foreach ($L['disk']['rimArcs'] as $arc)
@endforeach
@foreach ($L['disk']['fineTicks'] as $ft)
@endforeach
@foreach ($L['disk']['counterLabels'] as $cl)
{{ $cl['text'] }}
@endforeach
{{-- Artı şeklindeki eksen okları (üst uç kırmızı = okuma ekseni) --}}
@foreach ($L['disk']['arrowHeads'] as $ah)
@endforeach
{{-- Gezegen konum noktaları (statik, diskin ÜSTÜNDE — r=258 çemberi üzerinde) --}}
{{-- ✅ Ekstra noktaların konum işaretçisi de gizli başlamalı — önceki denemede
bu katman atlandığı için yüzlerce nokta halka boyunca hep görünüyordu. --}}
@foreach ($L['planets'] as $dp)
@endforeach
@if ($mpMode)
{{-- 4. MIDPOINT TREES modu — eksene (kırmızı ok, mod-45 iki kol) orb
içinde denk gelen tüm orta noktalar artık haritada değil, sağ
paneldeki "Midpoint Ağacı" sekmesinde (bkz. panel.blade.php +
uranian-dial-pointer.js) canlı listelenir. Haritada sadece
çiftleri birbirine bağlayan mavi simetri çizgileri kalır. Veri
(data-pairs / data-objects) görünmez bir taşıyıcı grupta gömülü;
uranian-dial-pointer.js diski her döndüğünde bunu okuyup hem bu
çizgileri hem de sekmedeki satırları günceller. --}}
{{-- Merkez gösterge (küçük): dial modundakiyle aynı canlı AXIS değeri --}}
0°00'
@else
{{-- 4. Merkez gösterge (statik): ibrenin gösterdiği dial açısı --}}
0°00'
@endif
{{-- Kenar çemberleri (astro-seek en sonda yeniden çizer — disk üstüne net kontur) --}}
@if (!empty($L['pairRing']))
{{-- ✅ Dış halkaların sınır çemberleri (B halkası + varsa transit halkası) --}}
@foreach ($L['pairRing']['bounds'] ?? [$L['pairRing']['outer']] as $ringBound)
@endforeach
@endif
{{-- ✅ İLİŞKİ DIAL'I LEJANTI: panel görünümünde CSS ile gizli
(.uranian-pair-legend → display:none, bkz. panel.css); sadece
büyütülmüş (Fancybox) görünümde gösterilir. Paylaşım PNG'sinde de
çıkar (SVG serileştirmede harici CSS uygulanmadığı için) — orada
isimlerin görünmesi zaten istenen davranış. --}}
@if (!empty($L['pairLegend']))
@php
$lx = (float) ($L['pairLegend']['x'] ?? 14);
$legendRows = [['p' => $L['pairLegend']['a'], 'dy' => 0], ['p' => $L['pairLegend']['b'], 'dy' => 26]];
if (!empty($L['pairLegend']['c'])) {
$legendRows[] = ['p' => $L['pairLegend']['c'], 'dy' => 52];
}
@endphp
@foreach ($legendRows as $leg)
{{ $leg['p']['name'] }}
@endforeach
@endif
@endif