Add critical instructions and update tracking
- CLAUDE.md: Document that DECOMPILED = production, MAIN = outdated - MERGE_TRACKING.md: List files incorrectly skipped that need comparison - Must compare ALL files, not skip because "they exist" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
64
CLAUDE.md
Normal file
64
CLAUDE.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# CLAUDE.md - CRITICAL INSTRUCTIONS
|
||||
|
||||
## CRITICAL: SOURCE OF TRUTH
|
||||
|
||||
**DECOMPILED CODE = PRODUCTION VERSION (with all fixes/changes)**
|
||||
**MAIN BRANCH = OUTDATED VERSION**
|
||||
|
||||
The decompiled code in `/Users/nible/Documents/GitHub/recovered/source/OpenMaui/` represents the PRODUCTION version that was actually running. It contains all fixes and changes that were made during development. We don't know exactly what was fixed or changed - that work was LOST.
|
||||
|
||||
The main branch is OUTDATED and missing those production fixes.
|
||||
|
||||
DO NOT assume main is correct. DO NOT skip files because "they already exist in main". Compare EVERYTHING and apply the differences from decompiled to bring main up to the production state.
|
||||
|
||||
## Merge Process
|
||||
|
||||
1. **For EVERY file in decompiled**: Compare with main and APPLY THE FIXES
|
||||
2. **Embedded classes**: Files like `LayoutHandler.cs` contain multiple classes (GridHandler, StackLayoutHandler, etc.) - these ALL need to be compared and updated with decompiled fixes
|
||||
3. **Do not skip**: Even if a class "exists" in main, it's likely BROKEN and needs the decompiled version
|
||||
|
||||
## Branch
|
||||
|
||||
- Work on `final` branch only
|
||||
- User will review and merge to main
|
||||
|
||||
## Decompiled Code Location
|
||||
|
||||
- `/Users/nible/Documents/GitHub/recovered/source/OpenMaui/Microsoft.Maui.Platform/` - Views, Types
|
||||
- `/Users/nible/Documents/GitHub/recovered/source/OpenMaui/Microsoft.Maui.Platform.Linux.Handlers/` - Handlers
|
||||
- `/Users/nible/Documents/GitHub/recovered/source/OpenMaui/Microsoft.Maui.Platform.Linux.Hosting/` - Hosting
|
||||
- `/Users/nible/Documents/GitHub/recovered/source/OpenMaui/Microsoft.Maui.Platform.Linux.Services/` - Services
|
||||
|
||||
## Tracking
|
||||
|
||||
Update `/Users/nible/Documents/GitHub/maui-linux-main/MERGE_TRACKING.md` after EVERY change.
|
||||
|
||||
## What Was INCORRECTLY Skipped (Must Be Fixed)
|
||||
|
||||
These were skipped because I wrongly assumed main was correct:
|
||||
|
||||
### Type files deleted (need to compare and update inline versions):
|
||||
- All event args in SkiaView.cs, SkiaCheckBox.cs, etc.
|
||||
- GridLength, GridPosition, AbsoluteLayoutBounds in SkiaLayoutView.cs
|
||||
- MenuItem, MenuBarItem in SkiaMenuBar.cs
|
||||
- ShellSection, ShellContent in SkiaShell.cs
|
||||
- Many more...
|
||||
|
||||
### Handler files not compared:
|
||||
- GridHandler (in LayoutHandler.cs) - NEEDS FIXES FROM DECOMPILED
|
||||
- StackLayoutHandler (in LayoutHandler.cs) - NEEDS FIXES FROM DECOMPILED
|
||||
- ContentPageHandler (in PageHandler.cs) - NEEDS FIXES FROM DECOMPILED
|
||||
|
||||
### View files not compared:
|
||||
- SkiaGrid (in SkiaLayoutView.cs) - NEEDS FIXES FROM DECOMPILED
|
||||
- SkiaStackLayout (in SkiaLayoutView.cs) - NEEDS FIXES FROM DECOMPILED
|
||||
- SkiaAbsoluteLayout (in SkiaLayoutView.cs) - NEEDS FIXES FROM DECOMPILED
|
||||
- SkiaContentPage (in SkiaPage.cs) - NEEDS FIXES FROM DECOMPILED
|
||||
- SkiaFrame (in SkiaBorder.cs) - NEEDS FIXES FROM DECOMPILED
|
||||
|
||||
## Clean Code Rule
|
||||
|
||||
When copying from decompiled, clean up decompiler artifacts:
|
||||
- `_002Ector` → constructor
|
||||
- `((Type)(ref var))` patterns → clean casting
|
||||
- IL comments → remove
|
||||
@@ -385,13 +385,46 @@
|
||||
|
||||
| Date | Files Completed | Notes |
|
||||
|------|-----------------|-------|
|
||||
| - | 0 | Awaiting approval to begin |
|
||||
| 2026-01-01 | 10 Types | Added FlexDirection, FlexWrap, FlexJustify, FlexAlignItems, FlexAlignContent, FlexAlignSelf, FlexBasis, ContextMenuItem, ISkiaQueryAttributable, SkiaTextSpan |
|
||||
| 2026-01-01 | 1 Handler | Added FlexLayoutHandler.cs |
|
||||
| 2026-01-01 | 1 View | Added SkiaFlexLayout.cs |
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ INCORRECTLY SKIPPED - MUST COMPARE AND UPDATE
|
||||
|
||||
These were WRONGLY skipped because I assumed main was correct. Main is OUTDATED - decompiled has the production fixes.
|
||||
|
||||
### Files that need COMPARISON (not skipped):
|
||||
|
||||
**Handlers to compare (embedded in other files):**
|
||||
- [ ] GridHandler - exists in LayoutHandler.cs, COMPARE with decompiled GridHandler.cs
|
||||
- [ ] StackLayoutHandler - exists in LayoutHandler.cs, COMPARE with decompiled StackLayoutHandler.cs
|
||||
- [ ] ContentPageHandler - exists in PageHandler.cs, COMPARE with decompiled ContentPageHandler.cs
|
||||
|
||||
**Views to compare (embedded in other files):**
|
||||
- [ ] SkiaGrid - exists in SkiaLayoutView.cs, COMPARE with decompiled SkiaGrid.cs
|
||||
- [ ] SkiaStackLayout - exists in SkiaLayoutView.cs, COMPARE with decompiled SkiaStackLayout.cs
|
||||
- [ ] SkiaAbsoluteLayout - exists in SkiaLayoutView.cs, COMPARE with decompiled SkiaAbsoluteLayout.cs
|
||||
- [ ] SkiaContentPage - exists in SkiaPage.cs, COMPARE with decompiled SkiaContentPage.cs
|
||||
- [ ] SkiaFrame - exists in SkiaBorder.cs, COMPARE with decompiled SkiaFrame.cs
|
||||
- [ ] SkiaContextMenu - exists in SkiaMenuBar.cs(?), COMPARE with decompiled
|
||||
- [ ] SkiaMenuFlyout - exists in SkiaMenuBar.cs, COMPARE with decompiled
|
||||
|
||||
**Types to compare (embedded in View files):**
|
||||
- [ ] All types in SkiaView.cs (KeyEventArgs, PointerEventArgs, ScrollEventArgs, TextInputEventArgs, Key, KeyModifiers, PointerButton)
|
||||
- [ ] Types in SkiaLayoutView.cs (GridLength, GridPosition, AbsoluteLayoutBounds, AbsoluteLayoutFlags, GridUnitType, StackOrientation)
|
||||
- [ ] Types in SkiaMenuBar.cs (MenuItem, MenuBarItem, MenuItemClickedEventArgs)
|
||||
- [ ] Types in SkiaShell.cs (ShellSection, ShellContent, ShellNavigationEventArgs, ShellFlyoutBehavior)
|
||||
- [ ] And many more...
|
||||
|
||||
---
|
||||
|
||||
## Process
|
||||
|
||||
1. **For NEW files:** Read decompiled → Write clean version → Add to project → Commit
|
||||
2. **For EXISTING files:** Compare main vs decompiled → Apply only NEW changes cleanly → Commit
|
||||
3. **Update this document** after each file
|
||||
4. **Build frequently** to catch errors early
|
||||
1. **DECOMPILED = PRODUCTION (source of truth)**
|
||||
2. **MAIN = OUTDATED (needs updates)**
|
||||
3. **For EVERY file in decompiled**: Compare with main and apply differences
|
||||
4. **Even "existing" files**: Must be compared - they likely have production fixes missing
|
||||
5. **Update this document** after each file
|
||||
6. **Build frequently** to catch errors early
|
||||
|
||||
Reference in New Issue
Block a user