[ Package conformance ]
Image · >=3.0.0
react-native-view-shot
captureRef renders only the target view's own subtree, as RNViewShot.mm draws the view alone: the tenant sends the target's view tag, shell routes it to the compositor pixel owner, and the compositor draws that mirror node into an offscreen target at the device scale (drawIsolatedNode), clipped to the view's bounds, so an overlapping sibling or overlay is not in the image. snapshotContentContainer resolves the scroll view (the target or its first scroll view child, else rejects with the native message) and renders its whole content at offset zero. captureScreen crops the whole composited app surface, the keyWindow capture. the real package's JS runs from the bundle (per-platform option validation, ViewShot component, captureMode); the RNViewShot TurboModule seam answers captureRef/captureScreen/releaseCapture. a capture the compositor cannot produce rejects with the native error text; there is no placeholder image.82%
API coverage
No visual conformance cases have been published for this package yet. The registry summary below describes what the compat layer implements.
Working (12)
captureRef (target subtree alonesibling overlays excludedclipped to its bounds)snapshotContentContainer (scroll view at full content sizenon-scroll target rejects)captureScreen (full app-surface snapshot)tmpfile/base64/data-uri resultspng/jpg with quality for jpg (webp on Android)explicit width/height as the drawn output sizeupstream option validationViewShot component and captureMode (real package JS)releaseCapture revoking tracked blob URLs
Missing (10)
tmpfile results are blob: URLsnot files under NSTemporaryDirectory/ReactNativeuseRenderInContext is ignored (the view always scales to the requested size)presentation-layer transforms (getBoundingClientRect reports the laid-out rectnot an animated on-screen position)a content-container capture whose scroll view has no laid-out content rejects with the generic capture error rather than the zero-size messagea content-container capture draws the scroll view background and content but not the scroll view borderopacitytransform or filters (native resizes and draws the scroll view itself)Android zip-base64 falls back to plain base64 and raw to png