{
  "id": "note-1772851947498-ujdbzwenk",
  "title": "Working list",
  "content": "---\n  Critical Issues\n\n  1. 495+ Console.WriteLine calls — Debug logging pollution throughout production code. Replace with ILogger\n  or conditional diagnostics.\n  2. Memory leak in GestureManager — _gestureState and _tapTracking dictionaries never cleaned up for removed\n  views.\n  3. Reflection-based gesture invocation — typeof(TapGestureRecognizer).GetMethod(\"SendTapped\",\n  BindingFlags.NonPublic) is fragile and will break across MAUI updates.\n  4. No exception handling in rendering pipeline — A bad view implementation in SkiaRenderingEngine.Render()\n  can crash the entire application.\n  5. Version mismatch — .nuspec shows 1.0.0-preview.1 while .csproj shows 1.0.0-rc.1.\n  6. Potential text binding recursion in EntryHandler.OnTextChanged — two-way sync without reentrancy guard.\n\n  ---\n  Medium Issues\n\n  ┌───────────────────────┬──────────────────────────────────────────────────────────────────────────────┐\n  │         Issue         │                                   Location                                   │\n  ├───────────────────────┼──────────────────────────────────────────────────────────────────────────────┤\n  │ Massive file sizes    │ SkiaEntry (57K lines), SkiaEditor (54K), SkiaLabel (41K) — should be split   │\n  ├───────────────────────┼──────────────────────────────────────────────────────────────────────────────┤\n  │ Test coverage ~3%     │ Only 10 test files for 321 source files                                      │\n  ├───────────────────────┼──────────────────────────────────────────────────────────────────────────────┤\n  │ Hard-coded thresholds │ SwipeMinDistance=50, SwipeMaxTime=500ms, region merge=30% — not configurable │\n  ├───────────────────────┼──────────────────────────────────────────────────────────────────────────────┤\n  │ No feature detection  │ Assumes AT-SPI2, IBus available — crashes on minimal installs                │\n  ├───────────────────────┼──────────────────────────────────────────────────────────────────────────────┤\n  │ .bak file in VCS      │ SkiaItemsView.cs.bak should be removed                                       │\n  ├───────────────────────┼──────────────────────────────────────────────────────────────────────────────┤\n  │ Incomplete features   │ EntryHandler.MapReturnType() commented out, various TODOs                    │\n  └───────────────────────┴──────────────────────────────────────────────────────────────────────────────┘\n\n  ---\n  Priority Recommendations\n\n  Before 1.0 release:\n  1. Replace all Console.WriteLine with proper logging (ILogger or conditional #if DEBUG)\n  2. Fix GestureManager memory leaks — add cleanup on view disconnect\n  3. Add try-catch around view rendering in the engine\n  4. Remove reflection in gesture handling — use interface or delegate pattern\n  5. Align nuspec/csproj versions\n  6. Add feature detection for optional services\n\n  Near-term:\n  1. Split files over 10K lines into partial classes or separate concerns\n  2. Expand test coverage significantly (target 50%+)\n  3. Extract duplicate text rendering code into shared utilities\n  4. Make rendering thresholds configurable\n",
  "createdAt": 1772851947495,
  "updatedAt": 1772851991179,
  "tags": []
}