29bd6612e9
Decouple selection state from renderScene via SelectionContext to prevent all TabView tabs from re-rendering on every selection toggle. Extract LibraryNovelItem as a memo-wrapped component with stable callbacks and primitive props so only affected items re-render. Replace O(n) array lookups with Set-based O(1) checks throughout. Memoize all inline closures, list furniture, and style objects. Fix library[index] bug that used the wrong array for "Update Category" menu action. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>