# Döküm Kontrol — Tasarım Spec'i

Tarih: 2026-06-13
Konum: `src/service/fikoyt-ui/src/lib/fiko-three-js/IFikoThreeJS/fiko-dokum-kontrol/`

## Amaç
Parça yüklüyken tek tıkla, dökümde çıkacak tıkanma/sıkıntıları (dolmama, çekme, ani kesit, hapsolan hava) saniyeler içinde **3D sahnede** etiketleyip önlem önermek. SPH sistemine dokunulmaz (faz 2). Öncelik: hızlı ön-kontrol → görsel → mühendislik.

## Çekirdek mantık
Tüm göstergeler **tek bir cidar-kalınlığı alanından** türetilir (`FikoGPUThicknessAnalyzer`, GPU, mevcut). Voxel doluluk grid'i hapsolan hava + modül teyidi için. Ayrı kırılgan hesap yok → hızlı + tutarlı.

1. **İnce cidar** → kalınlık < `minCidarMm` (alaşıma göre) → dolmama/soğuk birleşme
2. **Sıcak nokta** → modül (kalınlık/2, cm) yerel maksimum > eşik → çekme/gözeneklilik
3. **Ani kesit** → komşu kalınlık oranı > eşik → gerilim/çatlak
4. **Hapsolan hava** → voxel grid'de üst yüzeyde kapanan cep (yukarı normal + üstü dolu) → hava deliği gerek
5. **Genel not (A-F)** → 4 göstergenin ağırlıklı skoru (0-100) + özet

Sorunlu vertex'ler komşuluğa göre kümelenir → her küme bir `IDokumBolge` (merkez, şiddet, değer, öneri).

## Yolluk sistemi (öner + manuel + doğrula)
- **Otomatik öner:** `FikoGatingTasarim.hesapla()` reuse → sıcak noktaya besleyici, hapsolan havaya hava deliği, geometriye dolum girişi. Hayalet işaretçi (`kabulEdildi=false`).
- **Manuel:** HUD'dan tip seç → parçaya tıkla → eleman yerleşir. Düzenle/sil.
- **Doğrula:** besleyici modülü sıcak nokta modülünden büyük mü, delik en üst hava cebinde mi, dolum girişi ince cidardan geçmiyor mu → ✓/✗.
- Elemanlar veri olarak saklanır (`FikoBesleyici/HavaDeligi/DokumGirisi` serialize) → faz 2 girdisi.

## Sahne içi sunum (HUD)
- Renkli ısı bölgeleri (vertex renklendirme) + **lider çizgili etiketler** (`AnnotationManager` + `CALLOUT` reuse)
- Sol üst not rozeti (A-F + "N uyarı · M kritik"), sağ üst "Kontrol Et" + "Yolluk Öner"
- Etikete tıkla → kamera o bölgeye uçar + detay
- **Etiket görünüm modu toggle:** Hepsi / Hover / Seçim / Gizli — localStorage'da hatırlanır
- Renkler: ince=#34d3ff, sıcak=#ff3b3b, kesit=#ffb02e, hava=#a855f7

## Entegrasyon
`Fiko3DComponent` `acDokumSimulasyonuDialog()` (.ts:2306, buton .html:225) → "Döküm Kontrol" olarak yeni bileşeni açar, `anaGosterim: this.fikoThreejs` ile. Meshler `aktifMeshler` deseniyle (wall-thickness gibi) alınır. SPH dosyaları durur.

## Dosyalar
```
fiko-dokum-kontrol/
  IDokumKontrol.ts              → sözleşme (YAZILDI)
  FikoDokumGostergeler.ts       → 4 gösterge + not (saf, IGostergeMotoru) + test
  FikoYollukYonetici.ts         → öner/doğrula (IYollukMotoru, FikoGatingTasarim reuse)
  FikoDokumKontrol.ts           → orkestratör (IDokumKontrolMotor): mesh birleştir→voxel→thickness→gösterge→yolluk
  fiko-dokum-kontrol.component.ts → sahne içi HUD (OnPush, signal, FikoYTKokBilesenComponent)
```

## Reuse haritası
- Cidar kalınlığı: `fiko-analiz/wall-thickness/gpu/FikoGPUThicknessAnalyzer.ts` → `analyze(meshes, cfg)`
- Yolluk tasarım: `fiko-sph-sivi/analiz/FikoGatingTasarim.ts` → `hesapla()`, `meshOlustur()`
- Eleman sınıfları: `fiko-sph-sivi/elemanlar/FikoBesleyici|FikoHavaDeligi|FikoDokumGirisi.ts`
- Etiket: `fiko-annotation/annotation-manager/AnnotationManager.ts` + `CalloutAnnotation.ts`
- Tipler: `uyar-dokum/kusur-tahmin/kusur-tahmin.interface.ts` (ISicakNokta, modül vb.)

## Test
`FikoDokumGostergeler` saf fonksiyonları (eşik, modül, skor, kümeleme) + yolluk doğrulama (besleyici modül kıyası) birim testle.

## Faz planı
- **Faz 1 (bu):** statik geometri tabanlı hızlı kontrol + yolluk öner/yerleştir
- **Faz 2:** SPH dolum simülasyonu (yolluk girdisiyle), animasyon
- **Faz 3:** tam mühendislik (katılaşma zamanı, Niyama, gözeneklilik)
