Proof
No visual proof cases have been published for this package yet. The registry summary below describes what the compat layer implements.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 coverageWorking
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)