Proof

expo-splash-screen

real upstream package — not intercepted. the app's expo-splash-screen JS runs over the ExpoSplashScreen module (native-seams/expo-splash-screen.ts, mirroring ios/SplashScreenModule.swift), which also answers expo-router's internal prevent and maybe-hide calls. full splash wired to the Peach canvas boot splash, including the app's REAL configured artwork. the config plugin's image + backgroundColor (+ imageWidth, resizeMode, dark variant) and the legacy expo.splash / expo.ios.splash blocks are parsed and painted on boot exactly like the native splash window. setOptions({fade,duration}) is honored: hideAsync()/hide() cross-dissolve the splash over the configured duration (default 400ms, fade default off — mirroring ios/SplashScreenManager.swift hide()); preventAutoHideAsync holds the splash until the app hides it. matches upstream index.native.ts semantics.
100%
API coverage
No visual proof cases have been published for this package yet. The registry summary below describes what the compat layer implements.
Working (6)
preventAutoHideAsync (holds splash)hideAsynchide (sync)setOptions (fade + duration drive the real canvas fade)configured splash image + backgroundColor + imageWidth + resizeMode + dark variant painted on boot (config plugin + legacy expo.splash)SplashScreenOptions type
Missing—