# הקשר להמשך ישיר — 0026
תאריך: 2026-05-25 00:30
אפליקציה: Vitruvius

## מה בנוי עכשיו
- **Ribbon פושט לכפתור יחיד:** SplitButton "תקן ג'יבריש" עם dropdown "חזור למקור". 6 הכפתורים הקודמים הוסרו מ-ribbon (קוד נשאר ב-source).
- **`VitruviusStateCache`** ב-`%APPDATA%\Vitruvius\state.json` — מעקב {originalPath, backupPath, fixedAt, format}.
- **`BackupDiscoveryService`** סורק את התיקייה אחר `*.before-vitruvius-*.bak` (כולל הפורמט הישן `-reverse-` של ה-Python).
- **WPF picker** עם RTL, checkboxes, badge "תוקן בעבר".
- **Toast** לא-מודאלי 3 שניות במקום TaskDialog.
- **`CADLinkType.Reload()` תכנותי** — אין צורך ב-Manage Links ידני.
- **באג קריטי שתוקן:** `DwgReverseService` שכח לקרוא את ה-stdout pipe של accoreconsole — `BeginOutputReadLine` פתר. זמן תיקון DWG: 5 שניות (היה timeout >15 דק').
- **diagnostic.log** ב-`%APPDATA%\Vitruvius\diagnostic.log` — אופציה לdebug אוטונומי.
- **M4 בוטל** (Overlay Stub) — DXF reverse + TTF פתרו ויזואלית. הצעד הבא הוא **M5**.

## הצעד הבא
**M5 — DwgReloadHandler (auto re-fix on link reload).** לפי PLAN.md שורה 154 + סעיף "Auto Re-fix on DWG Reload" שורות 126-131:
1. צור `src\Vitruvius.Revit2024\Events\DwgReloadHandler.cs`
2. הרשם ל-`Application.DocumentChanged` ב-`VitruviusApp.OnStartup`
3. סנן ל-`ChangedElement` של type `ImportInstance` עם reload event
4. בדוק ב-`VitruviusStateCache.Has(linkPath)` אם הקובץ תוקן בעבר
5. אם כן → קרא ל-FixGibberishCommand pipeline ישירות (ללא דיאלוג בחירה)
6. אם async/איטי → ToastNotification "Vitruvius: מתקן DWG מעודכן..."

## קבצים רלוונטיים לסשן הבא
- `D:\Vitruvius Ecosystem\Vitruvius\PLAN.md` — סעיף M5 (שורות 126-131, 154)
- `D:\Vitruvius Ecosystem\Vitruvius\src\Vitruvius.Revit2024\VitruviusApp.cs` — להרשם ל-event
- `D:\Vitruvius Ecosystem\Vitruvius\src\Vitruvius.Revit2024\Commands\FixGibberishCommand.cs` — להפיק שיטה ציבורית `FixSilently(path)` לקריאה מ-event handler
- `D:\Vitruvius Ecosystem\Vitruvius\src\Vitruvius.Core\State\VitruviusStateCache.cs` — לבדיקת Has(path)
- מודל בדיקה: `G:\האחסון שלי\עבודות\לוטן\מבנה רואי\A_Mivne roi\A_Mivne roi.rvt`
