From 7db4dec6e31b6f98c76f7b562005d75fb49dc90d Mon Sep 17 00:00:00 2001 From: markm39 Date: Tue, 19 May 2026 21:30:39 -0500 Subject: [PATCH] chore(release): bump version to 0.3.1 --- CHANGELOG.md | 8 ++++++++ MathNotesMobileInk.podspec | 2 +- README.md | 5 ++--- package-lock.json | 4 ++-- package.json | 2 +- src/__tests__/ContinuousEnginePool.test.tsx | 2 ++ 6 files changed, 16 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2a9c1a..cf7a914 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to `@mathnotes/mobile-ink` will be documented here. +## [0.3.1] - 2026-05-20 + +- Added crisp settled zoom rendering with scale-aware native drawables and cached stroke tiles. +- Stabilized zoom viewport math so drawing coordinates stay aligned through fast zoom and pan cycles. +- Capped high-zoom native drawable scale to keep Apple Pencil drawing responsive at deep zoom levels. +- Improved large PDF notebook behavior, page background windowing, and selection gesture exclusion regions. +- Fixed an iOS drawable resize recursion that could crash dev builds on launch. + ## [0.3.0] - 2026-05-15 - Added the Android native ink renderer with Skia Ganesh GPU rendering and React Native view integration. diff --git a/MathNotesMobileInk.podspec b/MathNotesMobileInk.podspec index fce2542..cb1b050 100644 --- a/MathNotesMobileInk.podspec +++ b/MathNotesMobileInk.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "MathNotesMobileInk" - s.version = "0.2.0" + s.version = "0.3.1" s.summary = "Native Skia/Metal mobile ink engine for React Native" s.homepage = "https://github.com/mathnotes-app/mobile-ink" s.license = { :type => "Apache-2.0", :file => "LICENSE" } diff --git a/README.md b/README.md index 1aac9f8..0b8729c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Production-grade React Native ink primitives extracted from the MathNotes canvas npm version npm downloads CI status - GitHub release + GitHub release license

@@ -37,7 +37,7 @@ mobile-ink is currently used in production in MathNotes: https://apps.apple.com/ | Area | Current support | | --- | --- | | iOS Apple Pencil drawing | Used in production | -| Native rendering | Custom iOS `MTKView` and Android `TextureView` backed by the shared C++ Skia engine | +| Native rendering | Custom iOS `MTKView` and Android `TextureView` backed by the shared C++ Skia engine, with cached high-resolution settled zoom rendering | | Continuous notebooks | Fixed native engine pool with momentum scroll and pinch zoom | | Tools | Pen, highlighter, crayon, calligraphy, eraser, selection, and shape recognition | | Serialization | JSON notebook payloads plus native page load/save/export helpers | @@ -174,7 +174,6 @@ Near-term work is focused on making the public package easier to adopt and easie - Improve install and troubleshooting docs for React Native and Expo dev-client apps. - Add more integration recipes for save/load, tool switching, and app-owned storage. - Tighten selection transform performance for large stroke groups. -- Improve edge-case zoom behavior near page and canvas boundaries. - Continue hardening the example app as a small regression harness. - Add the Android native benchmark runner and expose Android benchmark controls in the example app. diff --git a/package-lock.json b/package-lock.json index 88c6f2d..a934d2f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mathnotes/mobile-ink", - "version": "0.3.0", + "version": "0.3.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mathnotes/mobile-ink", - "version": "0.3.0", + "version": "0.3.1", "license": "Apache-2.0", "devDependencies": { "@babel/core": "^7.25.2", diff --git a/package.json b/package.json index baaab21..8ff21df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mathnotes/mobile-ink", - "version": "0.3.0", + "version": "0.3.1", "description": "Production-grade React Native ink engine with native Skia drawing and continuous canvas primitives.", "license": "Apache-2.0", "author": "BuilderPro LLC", diff --git a/src/__tests__/ContinuousEnginePool.test.tsx b/src/__tests__/ContinuousEnginePool.test.tsx index 6cae79d..5db70d6 100644 --- a/src/__tests__/ContinuousEnginePool.test.tsx +++ b/src/__tests__/ContinuousEnginePool.test.tsx @@ -49,6 +49,8 @@ const mockStartBenchmarkRecording = jest.fn(async () => true); const mockStopBenchmarkRecording = jest.fn(async () => mockRunBenchmark()); const mockNativeCanvasProps: any[] = []; +jest.setTimeout(15000); + jest.mock("../NativeInkCanvas", () => { const React = require("react"); const { View } = require("react-native");