mobile-ink notes surface #3832
markm39
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
First of all, thank you for the amazing work on React Native Skia. It is one of the most important libraries in the React Native ecosystem, and the fact that it makes Skia realistically accessible from RN is a huge part of why this project is possible.
I wanted to share something I’ve been working on: a Notability/GoodNotes-style drawing engine for React Native.
Selection editing
Large notebook performance
Repo: https://github.com/mathnotes-app/mobile-ink
npm: https://www.npmjs.com/package/@mathnotes/mobile-ink
Mobile Ink is an iOS-first native drawing engine for notes-app workloads. Apple Pencil input, smooth strokes, pixel erasing, selection, shape recognition, serialization, preview export, zoom/scroll, and continuous multi-page notebooks.
The UI layer is React Native, but the actual ink surface is a custom native
MTKViewbacked by a C++ Skia drawing engine. It depends on react-native-skia for Skia native libraries/headers, but it does not render the drawing surface through React Native Skia’s React<Canvas>API.I started building this because I couldn’t find an open-source mobile drawing/canvas engine that handled the kind of stress a real notes app needs: long documents, fast page crossing, Pencil latency, native memory pressure, and smooth interaction while editing.
I’d love feedback from people who know Skia/native rendering, especially around:
Thanks again for all the work on this library. Happy to share more details about the architecture if useful.
Beta Was this translation helpful? Give feedback.
All reactions