mirror of
https://github.com/phranck/TUIkit.git
synced 2026-06-20 09:54:37 +00:00
Replace RenderNotifier with clean AppState and RenderCache singletons: - Add AppState.shared static singleton for global access - Add RenderCache.shared static singleton for memoization - Remove RenderNotifier enum completely - Remove RenderNotifierKey from EnvironmentValues - StateBox.didSet uses AppState.shared directly - AppStorage.wrappedValue setter uses AppState.shared directly - NotificationService.post() uses AppState.shared directly - Spinner animation uses AppState.shared directly - NotificationHostModifier animation uses AppState.shared directly - TUIContext uses RenderCache.shared by default (injectable for tests) - Update test infrastructure to isolate RenderCache per test Architecture: Pure singleton pattern with no global state registry. All 1069 tests pass, no new compiler warnings. This completes the full elimination of RenderNotifier and provides a clean, explicit architecture where AppState.shared is the single source of truth for render triggers.