# FikoYT Engineering Platform — Yol Haritası

Native C++23 / Vulkan / OCCT tabanlı CAD/CAM/CAE platformu.
Her milestone: derlenir + testler yeşil + çalışır durumda teslim edilir.

## Durum

| Milestone | Kapsam | Durum |
|-----------|--------|-------|
| M0 | Çekirdek iskelet: CMake monorepo, fiko::core matematik (Vec/Mat4/Quat/AABB/Donusum), hassasiyet sistemi, test çatısı | ✅ TAMAM |
| M1 | Win32 pencere + Vulkan bootstrap (instance→device→swapchain→sunum), swapchain yeniden kurma | ✅ TAMAM |
| M2 | Render pipeline: SPIR-V shader derleme (glslc), grafik pipeline, derinlik tamponu, VMA bellek, kamera (orbit/pan/zoom), GPU sonsuz grid | ✅ TAMAM |
| M3 | Mesh altyapısı: vertex/index tampon (staging upload), Dear ImGui docking UI (koyu tema, istatistik paneli) | ✅ TAMAM |
| M3.5 | Merkezi parametrik sahne (Dugum/Sahne), GPU picking (R32_UINT + geri okuma), hover/seçim vurgusu, CATIA ağacı + Özellikler paneli, uzun basış menüsü | ✅ TAMAM |
| M3.6 | Premium UX: yumuşak kamera (üstel sönüm, animasyonlu geçiş), komut paleti (Ctrl+Space), hızlı görünümler (Space), F/Shift+F çerçeveleme, çift tıklama davranışları, orta tık pivot, ALT komboları, Segoe UI + Türkçe glifler, merkezi KomutKaydi | ✅ TAMAM |
| M4 | Geometri çekirdeği: OCCT 8.0 B-rep (`motor/geometri`, pimpl), primitifler, boolean (birleşim/çıkarma/kesişim), yüz-bazlı üçgenleme→GPU, STEP içe/dışa aktarma, hacim/alan (GProp) | ✅ TAMAM |
| M5 | BREP topoloji seçimi (Gövde/Yüz/Kenar/Nokta kipleri, GPU pick uvec2=gövde+tür+ordinal), görünür kenar wireframe, yüz/kenar/nokta hover+seçim vurgusu, XCAF renkli STEP okuma, kare-arası flicker düzeltmesi (görsel-başına derinlik + sunum semaforu) | ✅ TAMAM |
| M6 | UX cilası: kenar z-fighting (NDC shader derinlik kaydırma + adaptif near/far), grid kaldırıldı, tam-genişlik toolbar → menü çubuğu, Segoe UI Symbol ikonları, taşınabilir paneller, CATIA kamera (orta-tık merkezleme, imlece zoom) | ✅ TAMAM |
| M7 | MDI editör düzeni: 3D sahne offscreen dokuya render (SRGB, render-to-texture) → ImGui docking penceresinde; DockSpace + menü/araç çubuğu ana pencerede; Ürün Ağacı/3D Görünüm/Özellikler dockable sekmeler; viewport-yerel girdi (ImGui IO tabanlı, WantCaptureMouse sorunu çözüldü); CATIA tarzı navigasyon pusulası (sağ üst, X/Y/Z eksenleri, tıkla-snap) | ✅ TAMAM |
| M5 | Doküman modeli: feature ağacı (DAG), undo/redo, rollback, .fikocad formatı, otomatik kayıt | ⬜ |
| M6 | Sketcher: düzlem seçimi, 2D geometri, kısıt çözücü (coincident/parallel/distance/radius...), tam tanımlı eskiz | ⬜ |
| M7 | Part Design: pad/pocket/hole/fillet/chamfer/shell/pattern/mirror, parametrik ifadeler | ⬜ |
| M8 | Ölçüm + analiz: mesafe/açı/yarıçap, kesit düzlemi, kütle özellikleri, eğrilik/zebra analizi, GPU picking | ⬜ |
| M9 | Assembly: ürün ağacı, mate kısıtları, çakışma/girişim tespiti, patlatılmış görünüm, BOM | ⬜ |
| M10 | Drawing: görünüş çıkarma (HLR), ölçülendirme, GD&T, şablonlar, PDF/DXF export | ⬜ |
| M11 | CAM: 2.5D/3D takım yolları (facing/pocket/adaptive/kontur), simülasyon, post-processor (Fanuc/Siemens/Haas) | ⬜ |
| M12 | CAE + SDK: mesh generator, lineer statik çözücü entegrasyonu, Python scripting, plugin API | ⬜ |

## Kurallar

- Her milestone sonunda: derleme temiz, testler yeşil, `fikocad.exe --oto-test` geçer.
- Placeholder/sahte algoritma yok — her özellik gerçek ve çalışır.
- Sıcak yollarda sıfır tahsis, çift hassasiyet (f64) geometri, f32 render.
- Bağımlılıklar: OCCT 8.0 (vcpkg, `D:\__sistem__\ProgramFiles\vcpkg`), Dear ImGui (vendored), VMA (vendored), başka yok. OCCT DLL'leri derlemede exe yanına kopyalanır.

## Araç Zinciri (bu makine)

- MSVC 19.44 → `D:\__sistem__\ProgramFiles\VsStudio` (vcvars64.bat)
- CMake 4.0.3 + Ninja → `D:\__sistem__\ProgramFiles\AndroidSdk\cmake\3.22.1\bin\ninja.exe`
- Vulkan SDK 1.3 → `D:\__sistem__\ProgramFiles\vulkan1.3` (glslc, shaderc, validation layer dahil)
- Derleme: `.\insa.ps1 -Yapi Release -Test` · Çalıştırma: `.\insa.ps1 -Calistir`
