Remove ROADMAP.md from tracking (was in .gitignore)

This commit is contained in:
Hakan Seven committed 2026-04-03 21:56:18 +03:00
1 parent b6c2b1130e
commit 3b9cbd90a1
1 file changed
-276
-276
View File
@@ -1,276 +0,0 @@
# H7CAD — Roadmap
acadrust 0.3.1 referans alınarak hazırlanmıştır.
---
## Mevcut Durum (Özet)
### Entity Desteği
| Durum | Entity'ler |
|-------|-----------|
| **Tam** (render + grips + props + transform) | Point, Line, Circle, Arc, Ellipse, Spline, LwPolyline, Polyline, Polyline2D, Polyline3D, Ray, XLine, Text, MText, Leader, MultiLeader, RasterImage, Wipeout, AttributeDefinition, AttributeEntity, MLine, Table, Tolerance, Face3D, PolygonMesh, PolyfaceMesh |
| **Özel render, kısmi** | Dimension *(tessellate_dimension — grips yok)*, Hatch *(GPU HatchModel — grips yok)*, Insert *(explode_from_document)*, Viewport *(border render)* |
| **Hiç yok** | Solid *(2D dolu katı)*, Solid3D/Region/Body *(ACIS)*, Underlay *(PDF/DWF/DGN)*, Shape *(font glyph)* |
### I/O
- DWG okuma/yazma: R14 → R2018 (AC1032)
- DXF okuma/yazma
- PDF export (PlotSettings entegreli, rotation, offset, scale, window)
### Komutlar
203 benzersiz komut string — çizim, düzenleme, katman, görünüm, annotasyon, yardımcı.
### acadrust Tablo/Object Kullanımı
Kullanılan: `layers`, `linetypes`, `text_styles`, `dim_styles`, `views`, `ucss`, `vports`, `block_records`, `Layout`, `Group`, `PlotSettings`, `SortEntitiesTable`
Kullanılmayan: `MLineStyle`, `TableStyle`, `ImageDefinition`
---
## Kalan İşler
### 1 — Entity Tamamlama
#### 1.1 Dimension Grips ✅
**Öncelik: Yüksek** — **TAMAMLANDI**
- [x] DimLinear: definition point, dim line, text grips
- [x] DimAligned: aynı
- [x] DimAngular: vertex + extension grips
- [x] DimRadius / DimDiameter: center + radius point grip
- [x] Grip ile dimension text konumu düzenleme
**Dosyalar:** `src/entities/dimension.rs`
---
#### 1.2 Hatch Boundary Grips ✅
**Öncelik: Orta** — **TAMAMLANDI**
- [x] Her boundary loop köşesi için grip (Polyline, Line, Arc, EllipticArc, Spline)
- [x] Grip sürükleme → boundary vertex güncelleme → hatch yeniden tessellate
**Dosyalar:** `src/entities/hatch.rs`, `src/scene/mod.rs`
---
#### 1.3 Solid Entity (2D) ✅
**Öncelik: Düşük** — **TAMAMLANDI**
- [x] `TruckConvertible`: wireframe çevre + GPU solid-fill (hatch pipeline)
- [x] Grips: 4 köşe
- [x] Properties: 4 köşe koordinatı, thickness
- [x] `Transformable`
**Dosyalar:** `src/entities/solid.rs`
---
#### 1.4 Underlay (PDF/DWF/DGN Referans)
**Öncelik: Düşük**
- [ ] Wireframe sınır kutusu render (RasterImage gibi)
- [ ] Fade/contrast/clip properties
- [ ] `UNDERLAY` komutu (dosya seçimi olmadan — sadece mevcut entity düzenleme)
**Dosyalar:** yeni `src/entities/underlay.rs`
---
### 2 — Viewport & Kağıt Uzayı
#### 2.1 VPCLIP
**Öncelik: Düşük** | **Bloker: acadrust `Viewport` struct'ında `clip_boundary` alanı yok**
- [ ] Özel overlay ile polygon clip sınırı çizimi
- [ ] VPCLIP komutu
- [ ] Clip boundary grip düzenlemesi
---
#### 2.2 Yeni Viewport Default Freeze Listesi
**Öncelik: Düşük** | **Bloker: acadrust VPLAYER NEWFRZ desteği yok**
- [ ] MVIEW ile oluşturulan yeni viewport'lara dondurulmuş layer listesi uygulanması
---
#### 2.3 Per-Viewport Arka Plan Rengi
**Öncelik: Düşük**
- [ ] Viewport entity'sine arka plan rengi alanı (custom veya overlay)
- [ ] wgpu pipeline'da per-viewport clear color
---
#### 2.4 Layer UI — Per-Viewport Görünürlük
**Öncelik: Düşük**
- [ ] Layer panelinde her viewport için ayrı freeze/thaw göstergesi
---
#### 2.5 Plot Style Table (CTB/STB)
**Öncelik: Orta**
- [ ] CTB (color-based) dosya okuma/yazma
- [ ] STB (named) dosya okuma/yazma
- [ ] PDF export sırasında plot style renk/kalınlık dönüşümü
- [ ] PlotSettings'e CTB/STB referansı
---
#### 2.6 PDF Shade Plot (Hidden Line Removal)
**Öncelik: Düşük**
- [ ] PDF export sırasında shade_plot_mode = Hidden → arka taraftaki kenarları gizle
- [ ] Depth sorting + backface culling (wireframe model için)
---
### 3 — Koordinat Sistemi
#### 3.1 WCS ↔ UCS Dönüşüm
**Öncelik: Orta**
Şu an tüm komutlar WCS (world) koordinatında çalışıyor.
- [ ] Aktif UCS matrisini komutlara entegre (giriş noktaları UCS → WCS dönüşümü)
- [ ] Snap grid'i UCS düzlemine hizala
- [ ] `UCS` komutu ile gerçek koordinat sistemi geçişi
**Dosyalar:** `src/scene/mod.rs`, `src/app/commands.rs`
---
#### 3.2 UCS Icon Render ✅
**Öncelik: Düşük** — **TAMAMLANDI**
- [x] Model space sol alt köşesinde XYZ eksen oku çizimi (iced canvas overlay)
- [x] Kamera rotasyonuna göre eksen yönleri dinamik olarak hesaplanıyor
- [x] `UCSICON` komutu ile toggle (ON/OFF)
---
### 4 — Style Yöneticileri (UI Dialogları)
#### 4.1 DimStyle Dialog
**Öncelik: Orta**
`DIMSTYLE LIST/NEW/SET` komutları mevcut; tam UI yok.
- [ ] Tüm DimStyle özelliklerini gösteren panel/dialog
- [ ] Ok tipi seçici (DIMBLK/DIMBLK1/DIMBLK2) — acadrust `dimblk` alanı var
- [ ] Tolerans format ayarları (DIMTOL, DIMLIM)
- [ ] Preview ile gerçek zamanlı önizleme
**Dosyalar:** yeni `src/ui/dimstyle_dialog.rs`
---
#### 4.2 TextStyle Font Browser
**Öncelik: Düşük**
`STYLE LIST/NEW/FONT/WIDTH/OBLIQUE` komutları mevcut; dosya browser yok.
- [ ] Sistem font listesi
- [ ] SHX font listesi (assets/fonts/)
- [ ] Önizleme metni
**Dosyalar:** yeni `src/ui/textstyle_dialog.rs`
---
#### 4.3 MLineStyle Yöneticisi
**Öncelik: Düşük**
`MLineStyle` acadrust'ta mevcut (`objects/mline_style.rs`) ama H7CAD hiç kullanmıyor.
- [ ] MLineStyle oluştur/düzenle (çizgi sayısı, offset, renk, linetype)
- [ ] Caps (başlangıç/bitiş çizgi, yay)
- [ ] MLINE komutuna stil seçimi entegre
**Dosyalar:** yeni `src/ui/mlinestyle_dialog.rs`
---
#### 4.4 TableStyle Yöneticisi
**Öncelik: Düşük**
`TableStyle` acadrust'ta mevcut (`objects/table_style.rs`) ama kullanılmıyor.
- [ ] Başlık satırı, veri satırı, sütun başlığı stilleri
- [ ] Font, renk, kenarlık, hizalama
- [ ] TABLE komutuna stil seçimi entegre
---
### 5 — Render İyileştirmeleri
#### 5.1 Wipeout Gerçek Maskeleme
**Öncelik: Düşük**
Şu an sadece wireframe sınır çiziliyor.
- [ ] SortEntitiesTable draw order entegrasyonu ile beyaz/arka plan renkli dolgu
- [ ] Polygon şeklini doldur (hatch solid benzeri)
---
#### 5.2 Tolerance GD&T Box Render
**Öncelik: Düşük**
Şu an sadece ham metin gösteriliyor.
- [ ] Gerçek feature control frame kutuları (bölmeli dikdörtgen)
- [ ] GD&T sembol seçici (Φ, ⊕, ○, □ vb.)
---
#### 5.3 IMAGE Komutu / Raster Pipeline
**Öncelik: Düşük**
RasterImage entity render yok (sadece sınır kutusu + X).
- [ ] PNG/JPEG/BMP decode (image crate)
- [ ] GPU texture upload + quad render
- [ ] `IMAGE` komutu: dosya seçimi dialog
- [ ] `ImageDefinition` object yönetimi
---
### 6 — 3D / ACIS
#### 6.1 Solid3D / Region / Body (ACIS)
**Öncelik: Çok Düşük** | **Bloker: SAT/SAB parser gerektirir**
acadrust `Solid3D`, `Region`, `Body` entity'lerini parse ediyor ama ACIS kernel yok.
- [ ] SAT text parse → B-rep half-edge yapısı
- [ ] Basit tessellation (flat shading, display-only)
- [ ] ACIS primitives: Box, Cylinder, Cone, Sphere, Torus
---
## Hızlı Referans — Kalan İşler Öncelik Sırası
| # | Özellik | Öncelik | Zorluk |
|---|---------|---------|--------|
| 1 | Dimension grips | Yüksek | Orta |
| 2 | WCS↔UCS dönüşüm | Orta | Yüksek |
| 3 | DimStyle dialog | Orta | Orta |
| 4 | Plot style table CTB/STB | Orta | Orta |
| 5 | Hatch boundary grips | Orta | Orta |
| 6 | Solid entity (2D) | Düşük | Kolay |
| 7 | Underlay entity | Düşük | Kolay |
| 8 | UCS icon render | Düşük | Kolay |
| 9 | Wipeout maskeleme | Düşük | Orta |
| 10 | MLineStyle yöneticisi | Düşük | Orta |
| 11 | TableStyle yöneticisi | Düşük | Orta |
| 12 | TextStyle font browser | Düşük | Kolay |
| 13 | IMAGE / raster pipeline | Düşük | Yüksek |
| 14 | Per-viewport arka plan rengi | Düşük | Yüksek |
| 15 | PDF shade plot | Düşük | Yüksek |
| 16 | VPCLIP | Düşük | Yüksek + Bloker |
| 17 | Solid3D / ACIS | Çok Düşük | Çok Yüksek |