Extract the copy-pasted "re-resolve on theme repaint" MutationObserver into a shared hooks/use-theme-epoch (useThemeEpoch + onThemeRepaint) and consume it from the star map, image-gen placeholder, and useIsDark instead of each hand- rolling its own root observer. Keeps the post-paint read the canvas probes need (useTheme() would read stale CSS — child effects run before applyTheme). Also: light-mode band depth (inner wash), travelling-glow core scramble, and dark-only timeline bloom. |
||
|---|---|---|
| .. | ||
| use-delayed-true.ts | ||
| use-image-download.ts | ||
| use-media-query.ts | ||
| use-mobile.ts | ||
| use-resize-observer.ts | ||
| use-theme-epoch.ts | ||