MCPcopy Index your code
hub / github.com/Shopify/react-native-skia

github.com/Shopify/react-native-skia @v2.6.9 sqlite

repository ↗ · DeepWiki ↗ · release v2.6.9 ↗
2,921 symbols 8,183 edges 786 files 305 documented · 10% 4 cross-repo links
README

React Native Skia

High-performance 2d Graphics for React Native using Skia

CI npm version issues

skia

Checkout the full documentation here.

React Native Skia brings the Skia Graphics Library to React Native. Skia serves as the graphics engine for Google Chrome and Chrome OS, Android, Flutter, Mozilla Firefox and Firefox OS, and many other products.

Getting Started

Installation instructions

Contributing

For detailed information on library development, building, testing, and contributing guidelines, please see CONTRIBUTING.md.

Graphite

Skia has two backends: Ganesh and Graphite. Ganesh is the default backend. Graphite is available as an experimental preview in the @next distribution channel:

yarn add @shopify/react-native-skia@next

This is highly experimental and not recommended for production use. Skia Graphite requires Android API Level 26 or above.

If you prefer to build Skia yourself with Graphite support, you can do so with SK_GRAPHITE=1 yarn build-skia. React Native Skia automatically detects Graphite via a marker file included in the prebuilt libs.

Extension points exported contracts — how you extend this code

SkottieFactory (Interface)
(no doc) [8 implementers]
packages/skia/src/skia/types/Skottie.ts
TestsProps (Interface)
(no doc)
apps/example/src/Tests/Tests.tsx
SnippetValidationResult (Interface)
(no doc)
apps/docs/src/validate-twoslash.ts
PhoneProps (Interface)
(no doc)
apps/remotion/src/components/Phone.tsx
SkJSIInstance (Interface)
(no doc) [6 implementers]
packages/skia/src/skia/types/JsiInstance.ts
SerializedProps (Interface)
(no doc)
apps/example/src/Tests/deserialize.ts
SnackProps (Interface)
(no doc)
apps/docs/src/components/Snack.tsx
ShaderFilterProps (Interface)
(no doc)
apps/remotion/src/components/ShaderFilter.tsx

Core symbols most depended-on inside this repo

Make
called by 258
packages/skia/src/skia/types/Skottie.ts
vec
called by 200
packages/skia/src/skia/core/Vector.ts
draw
called by 198
packages/skia/src/renderer/__tests__/setup.tsx
Paint
called by 175
packages/skia/src/dom/types/SkDOM.ts
eval
called by 167
packages/skia/src/renderer/__tests__/setup.tsx
fromValue
called by 160
packages/skia/src/skia/web/JsiSkRect.ts
setColor
called by 137
packages/skia/src/skia/types/Paint/Paint.ts
build
called by 137
packages/skia/src/skia/types/Path/PathBuilder.ts

Shape

Method 1,311
Function 1,061
Interface 323
Class 184
Enum 42

Languages

TypeScript93%
Java7%

Modules by API surface

packages/skia/src/dom/types/SkDOM.ts58 symbols
packages/skia/src/skia/web/JsiSkPath.ts56 symbols
packages/skia/src/skia/types/Path/Path.ts55 symbols
packages/skia/src/sksg/Recorder/Recorder.ts48 symbols
packages/skia/src/sksg/Recorder/ReanimatedRecorder.ts47 symbols
packages/skia/src/skia/types/Recorder.ts45 symbols
packages/skia/src/skia/web/JsiSkCanvas.ts44 symbols
packages/skia/src/skia/types/Skottie.ts41 symbols
packages/skia/src/renderer/__tests__/setup.tsx39 symbols
packages/skia/src/skia/web/JsiSkPathBuilder.ts36 symbols
packages/skia/src/skia/types/Canvas.ts35 symbols
packages/skia/src/skia/types/Path/PathBuilder.ts34 symbols

Dependencies from manifests, versioned

@babel/core7.29.6 · 1×
@babel/plugin-proposal-explicit-resource-management7.27.4 · 1×
@babel/plugin-transform-class-properties7.28.0 · 1×
@babel/plugin-transform-explicit-resource-management7.28.0 · 1×
@babel/plugin-transform-flow-strip-types7.25.9 · 1×
@babel/plugin-transform-nullish-coalescing-operator7.28.0 · 1×
@babel/preset-env7.28.0 · 1×
@babel/preset-flow7.28.0 · 1×
@babel/preset-react7.28.0 · 1×
@babel/preset-typescript7.28.0 · 1×
@babel/runtime7.25.0 · 1×
@blazediff/core1.4.0 · 1×

For agents

$ claude mcp add react-native-skia \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact