Proof

expo-image-manipulator

the real package JS runs over an ExpoImageManipulator native seam that follows ios/ImageManipulatorModule.swift: manipulate takes a url or an image ref, the Context chains resize/rotate/flip/crop/reset onto one render task, and Image.saveAsync encodes and writes Caches/ImageManipulator/<UUID>.<ext>. Pixels go through OffscreenCanvas with the transformers sizing rules (resize rounds up at scale 1, rotate floors the rotated bounds, crop rejects out-of-range rects and clips the integral rect). iOS has no extent, so upstream skips it as on device.
93%
API coverage
No visual proof cases have been published for this package yet. The registry summary below describes what the compat layer implements.
Working (7)
manipulateAsync and ImageManipulator.manipulate over datafile and http urls and expo-image refsuseImageManipulatorContext resize/rotate/flip/crop/reset/renderAsyncImage width/height/saveAsync with jpeg/png/webpcompress and base64native exception codes and messages
Missing
ph:// and assets-library:// photo library sources reject as not found, decoding uses the browser codecs (webp output depends on the browser encoder), and EXIF orientation is applied at decode again after reset