# סיכום סשן — 0013
תאריך: 2026-05-19 17:47
אפליקציה: VitStudio
נושא: M1 שלד פלאגין

## מה נבנה/הושלם — M1 ✓ אומת
שלד פלאגין Revit מלא, נבנה, נפרס, ואומת ויזואלית ב-Revit 2024.3:

- **`VitStudio.slnx`** — Solution. .NET 10 SDK יוצר פורמט slnx (XML) ולא .sln קלאסי. MSBuild של VS18 (Community 2026) תומך בו.
- **`src\VitStudio.Core\VitStudio.Core.csproj`** — netstandard2.0, nullable enable
- **`src\VitStudio.Core\VitStudioInfo.cs`** — static class, מקור אמת יחיד: Product="VitStudio", Module="VitStudio RTL Fix", Version="0.1.0", Vendor, VendorEmail. משותף לכל adapter עתידי (2025/2026)
- **`src\VitStudio.Revit2024\VitStudio.Revit2024.csproj`** — net48, PlatformTarget x64, references RevitAPI/RevitAPIUI עם `<Private>false</Private>`, ProjectReference ל-Core, `.addin` כ-None CopyToOutputDirectory
- **`src\VitStudio.Revit2024\VitStudioApp.cs`** — IExternalApplication. CreateRibbonTab("VitStudio") עטוף try/catch על Autodesk.Revit.Exceptions.ArgumentException (tab משותף בין מודולים), CreateRibbonPanel("VitStudio","RTL Fix"), PushButtonData "VitStudio_About" → AboutCommand
- **`src\VitStudio.Revit2024\Commands\AboutCommand.cs`** — IExternalCommand, [Transaction(ReadOnly)], TaskDialog עם גרסה/vendor
- **`src\VitStudio.Revit2024\VitStudio.addin`** — manifest, AddInId GUID `44d77e69-c17d-46a1-b947-c547de4cee39`, Assembly path `VitStudio\VitStudio.Revit2024.dll` (יחסי ל-Addins)

נפרס: `.addin` → `C:\ProgramData\Autodesk\Revit\Addins\2024\` · DLLs+pdb → `Addins\2024\VitStudio\`

## החלטות שהתקבלו
- **slnx ולא sln** — .NET 10 default, השארנו כך (VS18 תומך). לא הכרחנו פורמט ישן.
- **PlatformTarget x64** ב-Revit2024.csproj — כי RevitAPI הוא AMD64; בלעדיו אזהרת MSB3270. AnyCPU היה רץ בפועל (Revit x64) אבל x64 נכון ושקט.
- **GUID קבוע** ב-addin — לא לייצר חדש בכל build (Revit מזהה addin לפי AddInId).
- **tab משותף עם try/catch** — ארכיטקטורה למודולים עתידיים (LayerEdit וכו') שיוסיפו panels לאותה לשונית בלי לקרוס.
- **Core כ-netstandard2.0** — לוגיקה משותפת חוצת-גרסאות-Revit; רק ה-adapter תלוי-Revit הוא net48.

## בעיות שנפתרו
- **`dotnet new sln` יצר .slnx, ו-`dotnet sln VitStudio.sln add` נכשל** ("Could not find solution"). פתרון: לעבוד עם `VitStudio.slnx` ישירות (`dotnet sln VitStudio.slnx add ...`).
- **אזהרת MSB3270** (MSIL מול AMD64 על RevitAPI/RevitAPIUI). פתרון: `<PlatformTarget>x64</PlatformTarget>` → build נקי לחלוטין.

## מה לא עבד / צריך להיזהר
- אל תניח `.sln` — .NET 10 כאן מייצר `.slnx`. כל פקודות dotnet sln / MSBuild צריכות לקבל `VitStudio.slnx`.
- **אסמבלי לא חתום** — Revit מציג דיאלוג "Security - Unsigned Add-In" בכל עלייה. בפיתוח "Always Load" פותר. M9 (installer) / M11 (בטא) ידרשו חתימה דיגיטלית או הנחיית משתמש מתועדת. לא נפתר עדיין — נדרש בהמשך.
- בנייה הבאה: לארכב DLL ישן ב-`Addins\2024\VitStudio\OLD\` עם timestamp לפני העתקת חדש (כלל גלובלי). M1 היה build ראשון — לא היה מה לארכב.

## קבצים שנוצרו/שונו
- `D:\Vitruvius Ecosystem\VitStudio\VitStudio.slnx` — נוצר
- `D:\Vitruvius Ecosystem\VitStudio\src\VitStudio.Core\VitStudio.Core.csproj` — נוצר
- `D:\Vitruvius Ecosystem\VitStudio\src\VitStudio.Core\VitStudioInfo.cs` — נוצר
- `D:\Vitruvius Ecosystem\VitStudio\src\VitStudio.Revit2024\VitStudio.Revit2024.csproj` — נוצר
- `D:\Vitruvius Ecosystem\VitStudio\src\VitStudio.Revit2024\VitStudioApp.cs` — נוצר
- `D:\Vitruvius Ecosystem\VitStudio\src\VitStudio.Revit2024\Commands\AboutCommand.cs` — נוצר
- `D:\Vitruvius Ecosystem\VitStudio\src\VitStudio.Revit2024\VitStudio.addin` — נוצר
- `C:\ProgramData\Autodesk\Revit\Addins\2024\VitStudio.addin` + `Addins\2024\VitStudio\*.dll` — נפרס
- `D:\Vitruvius Ecosystem\CLAUDE.md` — עודכן: כותרת VitStudio → "M1 ✓", נתיב פרויקט תוקן (אין יותר VitRevit), בלוק "M1 build facts (learnings)" נוסף, Milestone status M1 ✓ / הצעד הבא M2

## הצעד הבא — M2: DwgLinkScanner (~4 ימים)
לפי PLAN.md (Milestone M2 + "קבצים קריטיים" #3):
1. NuGet `IxMilia.Dxf` → `VitStudio.Core`
2. `src\VitStudio.Core\Dwg\DwgLinkScanner.cs` — איתור `ImportInstance`/`RevitLinkInstance` type=DWG ב-Document, חילוץ נתיב קובץ מקור
3. קריאה ישירה מהדיסק (Revit API לא חושף שמות פונטים — מפרק SHX לעקומות): IxMilia.Dxf ל-DXF; binary DWG header parse ל-DWG → Text Style table
4. `src\VitStudio.Core\Dwg\TextStyleDetector.cs` — אילו Text Styles משתמשים ב-SHX
5. פקודה זמנית "Scan (debug)" שמדפיסה ב-TaskDialog את רשימת פונטי ה-SHX שזוהו — אימות מול fixture `A_Mivne roi.rvt`
