Proof

react-native-vector-icons

NOT stubbed — the real pure-JS package (createIconSet, the named MaterialIcons/FontAwesome/Ionicons/… exports with their own bundled glyph maps, the Text-based Icon component) runs unmodified from the bundle. sootsim provides only the native parts: all 19 icon TTFs are shipped as engine assets and registered with the CanvasKit font provider under every fontFamily spelling upstream passes (the iOS UIAppFonts native-linking analog), so `<MaterialIcons name="home"/>` renders the real glyph with no `loadFont()` call; the RNVectorIcons/RNVectorIconsManager/RNVectorIconsModule native names back getImageSource/getImageSourceSync (real OffscreenCanvas glyph rasterisation) and loadFont.
92%
API coverage
No visual proof cases have been published for this package yet. The registry summary below describes what the compat layer implements.
Working
every named export (MaterialIcons, FontAwesome, Ionicons, MaterialCommunityIcons, Feather, AntDesign, Entypo, EvilIcons, Foundation, Octicons, SimpleLineIcons, Zocial, Fontisto, FontAwesome5 brand/regular/solid, FontAwesome6 brand/regular/solid) renders real glyphs via the bundled+registered TTFs; createIconSet / createIconSetFromFontello / createIconSetFromIcoMoon (upstream pure-JS, runs from bundle); Icon.Button; getImageSource / getImageSourceSync (real rasterised glyph via OffscreenCanvas + FontFace); loadFont / loadFontWithFileName; hasIcon / getRawGlyphMap / getFontFamily (upstream)
Missing
FontAwesome 5/6 Pro faces (license-restricted, cannot bundle — Free brand/regular/solid work); getImageSource returns a worker blob: URL rather than a native file:// path (functionally equivalent for <Image source>); custom-font flows still depend on the consumer registering their own TTF via expo-font/metro asset (handled by those seams)