[ Package conformance ]
Image · >=3.0.0
react-native-view-shot
captureRef/captureScreen return REAL captured pixels: the tenant resolves the target node's absolute rect (unstable_getBoundingClientRect), shell routes the native request, and the compositor pixel owner crops + re-encodes that region of the active app surface (createImageBitmap(offscreen, sx,sy,sw,sh) + OffscreenCanvas convertToBlob). The data-uri is coerced into the requested result shape (tmpfile blob URL / base64 / data-uri). validateOptions mirrors upstream src/index.tsx warning text; ViewShot exposes capture() with mount/continuous/update captureMode; releaseCapture revokes tracked blob URLs. When compositor cannot sample the surface (no painted pixels or fully out of bounds), it falls back to a validly-encoded placeholder of the right size so uploads/share/<Image> still get a working result — one fallback path, no toggle.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 (9)
captureRef (real pixels of the target subtree region via shell snapshot)captureScreen (full app-surface snapshot)tmpfile/base64/data-uri resultspng/jpg/webp formats with quality for lossyexplicit width/height as output dimsvalidateOptions parity with upstream warning textViewShot component with capture() ref methodcaptureMode mount/continuous/updatereleaseCapture revoking tracked blob URLs
Missing (7)
true subtree isolation (the compositor crops a screen rectangleso an overlapping sibling/overlay inside the bbox is included — real captureRef renders only the target's hierarchy)presentation-layer transforms (getBoundingClientRect reports the laid-out rectnot an animated/transformed on-screen position)zip-base64 falls back to plain base64raw format falls back to pngsnapshotContentContainer (full scroll content beyond the viewport — only the painted surface region is available)