Skip to content

Releases: MarsLuay/handwriting-natively

0.1.53 — Resilient handwriting input

Choose a tag to compare

@MarsLuay MarsLuay released this 21 Sep 20:12

What's Changed

  • fix: Delegate non-draw mouse panning to ViewerMousePan by @MarsLuay in #34
  • ⚡ perf: Optimize textAt to remove unnecessary array allocation by @MarsLuay in #35
  • 🧪 add tests for normalizeRotation by @MarsLuay in #36
  • 🧪 [Testing] Add test suite for shapeResizeHandle function by @MarsLuay in #37
  • 🧪 add tests for setElementCssProps by @MarsLuay in #38
  • 🧪 test: add coverage for getDebugNodeId by @MarsLuay in #39
  • 🧪 add tests for isToolId by @MarsLuay in #40
  • 🧪 Add tests for TextAnnotationSession by @MarsLuay in #41
  • 🧪 Add tests for normalizeVaultPath by @MarsLuay in #42
  • 🧪 Add comprehensive tests for isElement type guard by @MarsLuay in #43
  • 🧪 [Testing Improvement] Add tests for isHTMLElement and dom typeGuards by @MarsLuay in #45
  • 🧪 Add tests for text annotation commands by @MarsLuay in #47
  • 🔒 Fix weak PRNG used for IDs in ViewerInkSession by @MarsLuay in #49
  • 🧹 Extract normalizedCoordinateScale to shared math utility by @MarsLuay in #57
  • 🧪 Add missing error tests for unequal replacement set lengths in AnnotationCommands by @MarsLuay in #58
  • 🧪 [testing improvement] Add tests for sameTextRunStyle by @MarsLuay in #61
  • 🧪 Add tests for getDebugNodeId by @MarsLuay in #44
  • 🧪 Add test coverage for resolveDrawingTool by @MarsLuay in #46
  • ⚡ Optimize clearFreehandDrawings by retrieving only requested page strokes by @MarsLuay in #48
  • 🧪 Add tests for TextAnnotationSession by @MarsLuay in #50
  • 🧪 test: add missing tests for isHTMLCanvasElement by @MarsLuay in #51
  • 🧪 Add unit tests for TextAnnotationCommands by @MarsLuay in #52
  • 🧪 Add tests for Document Identity handling by @MarsLuay in #53
  • ⚡ Optimize InkSession.all() redundant array allocation by @MarsLuay in #54
  • ⚡ Optimize applyDeletedPagesToSession loop in ViewerInkSession by @MarsLuay in #55
  • 🧹 Extract escapeXml into shared utility by @MarsLuay in #56
  • 🧪 [testing improvement description] by @MarsLuay in #62
  • 🧪 Add missing tests for isInkDrawTool and related tools in model.ts by @MarsLuay in #63
  • 🧪 Add comprehensive unit tests for isElementInDocument cross-window type guard by @MarsLuay in #64
  • 🧪 [Add tests for text annotation commands] by @MarsLuay in #65
  • 🧪 [Add tests for ReplaceTextAnnotationCommand] by @MarsLuay in #66
  • 🧹 Code Health: Refactor clamp functions into shared math utility by @MarsLuay in #59
  • 🧹 Consolidate duplicate clampUnit and clamp01 utilities by @MarsLuay in #60
  • 🐛 [bug fix] Prevent crash in touch panning and text hit testing by @MarsLuay in #67
  • ⚡ Optimize StrokeSpatialIndex spatial query allocation overhead by @MarsLuay in #68
  • ⚡ perf: remove O(N^2) complexity in zoomSettleQueue shift by @MarsLuay in #74
  • ⚡ perf: optimize O(N^2) complexity in onPdfPageContentMutation by @MarsLuay in #73
  • ⚡ Optimize O(N^2) complexity in onPdfPageContentMutation by @MarsLuay in #72
  • ⚡ [performance] Optimize zoom settle queue O(N^2) array shift by @MarsLuay in #71
  • ⚡ perf: optimize O(N^2) drifted page calculation by @MarsLuay in #70
  • ⚡ perf(ViewerInkSession): prevent layout thrashing in zoomSettlePageOrder by @MarsLuay in #69
  • 🧪 test: add error path coverage for rich text style parsing by @MarsLuay in #75
  • 🧹 Remove redundant console logs in favor of VaultDebugLog by @MarsLuay in #76
  • 🧹 [Code Health] Remove redundant console.error in notebook creation by @MarsLuay in #77
  • 🔒 Fix incomplete HTML escaping in escapeXml by @MarsLuay in #94
  • 🔒 Fix XSS Vulnerability in setElementCssProps by @MarsLuay in #97
  • 🔒 Fix CSS Injection / XSS Vulnerability in PdfExportService by @MarsLuay in #95
  • 🧪 test: add coverage for safeReleasePointerCapture by @MarsLuay in #81
  • 🧪 test: add coverage for resolvePullStretchTarget by @MarsLuay in #78
  • 🧪 [testing improvement] Add unit tests for resolveLastPdfPage by @MarsLuay in #90
  • 🧹 [Code Health] Remove redundant console.error calls in main.ts by @MarsLuay in #79
  • 🧹 refactor: remove redundant console calls in favor of vaultDebugLog by @MarsLuay in #80
  • 🧹 [Code Health] Replace console.warn with proper logging framework by @MarsLuay in #82
  • 🧪 test: add unit tests for overlayOffsetInParent by @MarsLuay in #83
  • 🧹 refactor: Replace raw console.warn calls with the proper logging framework by @MarsLuay in #84
  • 🧪 add error path coverage for retainRecentEntries log parsing by @MarsLuay in #86
  • 🧹 Extract common drawing tool width options mapping and preview logic into a shared helper function by @MarsLuay in #87
  • 🧹 [Code Health] Refactor active touches tracking to reduce duplication by @MarsLuay in #88
  • ⚡ Fix layout thrashing in scheduleViewportPaint by @MarsLuay in #89
  • 🧹 Extract duplicated targetLabel into describeTarget by @MarsLuay in #91
  • 🧹 Refactor deeply nested logic in diagnosePdfSidebarOverlap by @MarsLuay in #92
  • 🧹 [Code Health] Replace console.warn with proper logging framework in BasePdfAdapter by @MarsLuay in #96
  • 🧹 Refactor: Remove deprecated VaultSyncWriter file by @MarsLuay in #101
  • ⚡ Optimize clearHitsOnPage DOM collection iteration by @MarsLuay in #102
  • ⚡ perf: Optimize string allocation and array allocation in StrokeSpatialIndex cellsFor by @MarsLuay in #104
  • 🧹 Refactor PointerRouter to use isTextToolRoute helper by @MarsLuay in #98
  • 🧹 [Code Health] Extract complex condition in PullToAddPageGesture by @MarsLuay in #99
  • 🧹 Refactor createDefaultSettings to improve code health by @MarsLuay in #100
  • 🧹 Refactor installPointerProbe for improved readability by @MarsLuay in #103
  • ⚡ Debounce session traversal for file-open events by @MarsLuay in #105
  • 🧹 [code health improvement] Restore normal PDF scrolling when Draw mode is inactive by @MarsLuay in #106

Full Changelog: 0.1.52...0.1.53

What's Changed

Read more

0.1.52

Choose a tag to compare

@MarsLuay MarsLuay released this 07 Aug 02:57

Summary

  • Improve stylus handling after pen hover and prevent palm contacts from interrupting drawing or touch gestures.
  • Keep two-finger wheel panning in PDF content while native PDF sidebar scrolling stays native.
  • Shift-click PDF thumbnails to select a page range, then use Delete or Backspace to remove the selected pages together.

Full Changelog: 0.1.51...0.1.52

0.1.51

Choose a tag to compare

@github-actions github-actions released this 02 Aug 02:10

Summary

  • Zooming a PDF with ink feels snappier: the page under your tip soft-updates first, then sharpens a moment later instead of freezing on a long redraw.
  • Drawing while zoomed or mid-gesture stays aligned with the soft ink layer, with fewer blank flashes and dual-scale glitches.
  • Stabilized pen strokes look smoother on long freehand lines, and Apple Pencil / touch handling is less likely to lock scrolling or steal strokes at the page edge.

0.1.45

Choose a tag to compare

@github-actions github-actions released this 01 Aug 19:06

Full Changelog: 0.1.44...0.1.45

0.1.44

Choose a tag to compare

@github-actions github-actions released this 01 Aug 09:40

Full Changelog: 0.1.43...0.1.44

0.1.43

Choose a tag to compare

@github-actions github-actions released this 01 Aug 05:02

Full Changelog: 0.1.42...0.1.43

0.1.42

Choose a tag to compare

@github-actions github-actions released this 31 Jul 21:49

Full Changelog: 0.1.41...0.1.42

0.1.41

Choose a tag to compare

@github-actions github-actions released this 31 Jul 20:25

Full Changelog: 0.1.27...0.1.41

0.1.27

Choose a tag to compare

@MarsLuay MarsLuay released this 31 Jul 08:50
  • Typed text annotations appear in Obsidian’s native PDF find bar (Cmd/Ctrl+F); freehand ink stays non-searchable.
  • Fix PDF find missing Handwriting Natively text on first search (patch after lazy extract), dropping suffix hits (_pageDiffs), rematch storms on scroll, and short scroll-to-match for overlay boxes.
  • Pull past the bottom of a PDF (trackpad, wheel, or grab-pan) to rubber-band, fill a progress ring, and snap in a new blank page (GoodNotes-style).
  • Harden Draw-mode pointer routing after zoom/overlay reattach; ignore native textLayer hits while drawing; clear stale multi-touch IDs.

Full Changelog: 0.1.26...0.1.27

0.1.26

Choose a tag to compare

@github-actions github-actions released this 30 Jul 01:34

Full Changelog: 0.1.25...0.1.26