[ Package conformance ]
UI Components · >=0.1.0
@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
No visual conformance cases have been published for this package yet. The registry summary below describes what the compat layer implements.
Working (21)
<Canvas> with offscreen SkSurface paint→PNG→host <Image><Path>/<Rect>/<RoundedRect>/<Circle>/<Oval>/<Line>/<Fill>/<Image>/<Text>/<Paragraph>/<Picture>/<Group> primitivesshared-value group transformsrect/rrect group clipping<LinearGradient>/<RadialGradient>/<SweepGradient>/<ColorShader> paint shaders<BlurMask>/<Blur>/<Mask>/<Shadow> mask + image filters<BackdropFilter>/<BackdropBlur><DashPathEffect>/<DiscretePathEffect>/<CornerPathEffect>Skia.Path/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)
<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)path-shaped group clipping<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).