A Fallback Path for a Three.js Galaxy
Choose a starting point
The site's tier detector returns high, mid or low using reduced-motion preferences, data-saving mode, memory, logical cores and coarse-pointer signals. Missing memory information gets a default value rather than automatically forcing the lowest tier.
Detection has a cost
The initial check only looks for WebGL2RenderingContext. Creating a real context can stall software-rendered environments, so it is deferred. The scene still needs a fallback if startup fails.
A fallback should remain a complete page
The static sky keeps navigation and content available. A failed intro should not leave the whole page waiting.
Tiers are approximate
Hardware signals do not measure actual frame rate, and touch devices are not necessarily weak. Real-device observations still inform particle counts and startup timing. The detector is a recoverable starting point, not a universal hardware benchmark.