From b41f8e54e4327d6640088bdc073b4f23b0100bf3 Mon Sep 17 00:00:00 2001
From: BryanMurphy <123925276+BPMData@users.noreply.github.com>
Date: Mon, 26 Oct 2026 10:46:25 -0400
Subject: [PATCH] v30: long worksheets no longer crawl on Mac (Retina) screens
The overlay drew ink on one canvas as tall as the whole worksheet. On a
2x screen a 20-page worksheet made that canvas about 22,000 pixels tall.
Chrome can only hand a canvas up to 16,384 pixels to the graphics chip;
past that it draws with the main processor, and each pen move took about
a tenth of a second. The lab's 1x screens stayed under the limit, which
is why the same file was fine there.
Now the canvas is a band about three screens tall that follows the
scrolling and redraws when it moves. Ink is saved in the same place as
before, so existing ink lines up. Measured on the reported worksheet:
drawing went from about 9 to 60 frames a second on a 2x screen.
Co-Authored-By: Claude Opus 5.5 Your PDF and your ink stay in this browser on this computer. Nothing is uploaded.
Have a Word file? In Word, choose File → Save as PDF, then drop the PDF here.
Have an HTML worksheet? Drop it here to get a _board.html copy you can write on.
- Open again
Back to the HTML worksheet demo · About OverBoard · Board not working? · v29
Back to the HTML worksheet demo · About OverBoard · Board not working? · v30
If something doesn't work the way the page asks, that's fine. That's exactly what I need to know. Just keep going.
Nothing is sent until you press Send at the very end, and you'll see everything first. No worksheets, PDFs or ink are ever included.
-OverBoard v29
+OverBoard v30
diff --git a/app/sw.js b/app/sw.js index c0d7443..b376db6 100644 --- a/app/sw.js +++ b/app/sw.js @@ -1,7 +1,7 @@ // ===== GENERATED by tools/build.py: every file the app needs, with the start of its SHA-256. Do not edit by hand. ===== -const VERSION = '8cc50a0aae17'; +const VERSION = 'dabc7df955e3'; const FILES = { - "../overlay/ink_overlay.html": "060ff1e48ce30bef", + "../overlay/ink_overlay.html": "be692804b7661e70", "../shared/ink-core.js": "f5235bb4ef99a375", "../shared/strings.js": "d0525093455e4d45", "../shared/toolbar.css": "d3155c02c903c96e", @@ -14,14 +14,14 @@ const FILES = { "icons/icon-192.png": "d245e15b36475003", "icons/icon-512.png": "17c1021fe2a0ade1", "icons/maskable-512.png": "0c58f1bdccc9eda9", - "index.html": "5aee5d68789d47b3", + "index.html": "18ce16d379756213", "ink.js": "069771a403be1378", "libs.js": "c09f60186ab9029a", "main.js": "ac823fa04ab55eb2", "manifest.json": "f7ee4a6c6f83cd40", "notebook.js": "47bcfd4f80712344", "offline.js": "6504935b2738711a", - "report/index.html": "7e62da50bf313c77", + "report/index.html": "084e1351caafa212", "store.js": "66af54cd32e6cbd2", "textlayer.js": "1911308ed3e2a8b5", "vendor/pdf-lib@1.17.1/LICENSE.md": "f2c9fc00fdb66eb9", @@ -214,7 +214,7 @@ const FILES = { "vendor/pdfjs-dist@4.10.38/standard_fonts/LiberationSans-BoldItalic.ttf": "a224075ac17495ad", "vendor/pdfjs-dist@4.10.38/standard_fonts/LiberationSans-Italic.ttf": "832b4406dbef2362", "vendor/pdfjs-dist@4.10.38/standard_fonts/LiberationSans-Regular.ttf": "f8ace1f892b2bd9d", - "version.json": "295fa7c505d13cad", + "version.json": "445c090471c65004", "viewer.js": "648b4479c5b68b93" }; // ===== END GENERATED ===== diff --git a/app/version.json b/app/version.json index a369c87..202cad3 100644 --- a/app/version.json +++ b/app/version.json @@ -1,5 +1,5 @@ { - "v": "fe637a0b71d4", + "v": "4d7b27241fc6", "js": [ "embed.js", "export.js", diff --git a/index.html b/index.html index ca57d56..27bdab6 100644 --- a/index.html +++ b/index.html @@ -54,7 +54,7 @@