Conformance

@shopify/react-native-skia

real canvaskit-wasm backing via the engine instance (`globalThis.__sootsimCanvasKit`); declarative <Canvas> snapshots each commit through an offscreen SkSurface and mounts the encoded PNG as a host image. zero second canvaskit bundle.
92%
API coverage
0.00% diffiOS 27.0
Graded crop: canvas
0.00% diffiOS 27.0
Graded crop: canvas
Working (26)
<Canvas> with offscreen SkSurface paint→PNG→host <Image><Path>/<Rect>/<RoundedRect>/<Circle>/<Oval>/<Line>/<Fill>/<Image>/<Text>/<Paragraph>/<Picture>/<Group> primitivestransform/origin/matrix and rect/rrect/path clip props on groups and drawingsCircle c/cx/cy and rect-prop geometry with shared-value props<LinearGradient>/<RadialGradient>/<SweepGradient>/<TwoPointConicalGradient> with local transformstile modesflags and sweep angles<ColorShader> paint shaders<BlurMask>/<Blur>/<Mask>/<Shadow> mask + image filters<BackdropFilter>/<BackdropBlur><DashPathEffect>/<DiscretePathEffect>/<CornerPathEffect>Skia.Path and Skia.PathBuilder following the native path API of the installed version (mutable paths before 2.6.0; Skia.PathBuilderstatic path shapes and once-per-method deprecation warnings from 2.6.0; immutable paths from 2.14.0 through 3.x)Skia.Paint/Color/Shader/MaskFilter/ImageFilter/ColorFilter/Font/Typeface/FontMgr/ParagraphBuilder factoriesbuilt paragraph layout/paint/metricsSkia.MakeImageFromEncodedSkia.XYWHRect/LTRBRect/RRectXY/Point/Matrixvec/rect and 4x4 scale/translate/multiply helpersuseImage (fetches+decodes through canvaskit)useFont (loads typeface from ArrayBuffer / URL)useFonts (URLmoduleand Metro asset-id sources with matchFamilyStyle)useCanvasRef + ref.makeImageSnapshotuseValue/useDerivedValue/useComputedValue/useValueEffect/useClockValue listener modelBlendMode/StrokeCap/StrokeJoin/FillType/PaintStyle/TileMode/BlurStyle/FontWeight/FontStyle/FontSlant/FontWidth/ClipOp/PathVerb/PathOp/TextAlign/TextDirection enums.
Missing (10)
Skia.Path.MakeFromText<RuntimeShader> SkSL compilation+uniform-binding pipeline<Points>/<TextPath>/<Glyphs>/<ImageSVG>/<Vertices>/<Patch>/<Atlas>/<FitBox>/<Box>/<BoxShadow> (each logs a one-time hint and renders null)<Paint> as a declarative componentuseTouchHandler full gesture state machine (we forward a minimal touch handler shape; consumers should use Pressable wrappers for hit-testing)reanimated worklet-driven canvas redraws (`useSharedValueEffect` subscribes only to the local SkiaValue listener shape; Canvas display-list encoding and setTick/setDataUrl updates remain owned by React useLayoutEffectso redraws still reconcile through React)advanced ParagraphBuilder run/style APIs beyond pushStyle/pop/addText/reset and built paragraph layout/paint/metricsSkia.SVG.MakeFromString (canvaskit-wasm omits svg parsing in the size-tuned builds we ship)GPU SkSurface backing on offscreen paints (we use software MakeSurface so each Canvas paint runs on cpu; deferred until a real engine host element owns its own GrDirectContext for paint-only animation).