From 5955078526fade3efd7407467c2fe2e9e5f6b244 Mon Sep 17 00:00:00 2001 From: Damien Gallagher Date: Fri, 30 Oct 2026 16:16:56 +0000 Subject: [PATCH 01/23] Add text recognition (OCR) for scanned PDFs Scanned PDFs are pictures of pages with no text, so search, selection, highlights and Ask AI had nothing to work with. Folio now offers "Recognize text" on a scan, reads the pages on the device with Tesseract (bundled, offline, English), and feeds the words back to pdf.js as the page's own text. - Detection: a page counts as a scan when it has no text, or a picture covers most of it and the embedded text covers little (a stamp, a header). Recognized words are added to the PDF's own text, and words that repeat it are dropped. - Runs in the background starting at the page being read, one or two workers, and is saved per document so a scan is only read once. Password-protected files are never stored. - Specks are filtered out: low-confidence short words, and symbols that are unsure or tiny next to the line's text. Line size comes from Tesseract's row height, since word boxes swell around specks. - Ask AI sees the recognized text and is told it came from OCR. - New layout for this feature: components/ocr, hooks/ocr, lib/ocr, with tests beside each file. - Adds Vitest (160 tests) and runs it in CI on all three platforms; the smoke test now recognizes a generated scan. Fixes the lockfile so native optional packages keep their libc markers. Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01D6GG856opX3UVvPvBq8EWK --- .github/workflows/ci.yml | 1 + .gitignore | 1 + AGENTS.md | 14 +- CONTRIBUTING.md | 5 +- README.md | 9 + THIRD_PARTY_NOTICES.md | 2 + package-lock.json | 542 +++++++++++++++++- package.json | 9 +- scripts/copy-assets.test.ts | 47 ++ scripts/copy-pdfjs-assets.mjs | 16 +- scripts/fixtures/scanned-sample.pdf | Bin 0 -> 729312 bytes scripts/smoke-test.mjs | 16 +- src/AiPanel.test.ts | 103 ++++ src/AiPanel.tsx | 52 +- src/App.tsx | 45 ++ src/components/ocr/OcrBanner/OcrBanner.css | 21 + .../ocr/OcrBanner/OcrBanner.test.tsx | 85 +++ src/components/ocr/OcrBanner/OcrBanner.tsx | 44 ++ src/components/ocr/index.ts | 1 + src/hooks/ocr/index.ts | 1 + src/hooks/ocr/useOcrState.ts | 10 + src/lib/ocr/index.ts | 4 + src/lib/ocr/session/OcrSession.test.ts | 527 +++++++++++++++++ src/lib/ocr/session/OcrSession.ts | 214 +++++++ src/lib/ocr/storage/ocrStore.test.ts | 110 ++++ src/lib/ocr/storage/ocrStore.ts | 30 + src/lib/ocr/text/geometry.test.ts | 69 +++ src/lib/ocr/text/geometry.ts | 25 + src/lib/ocr/text/pages.test.ts | 61 ++ src/lib/ocr/text/pages.ts | 24 + src/lib/ocr/text/scan.test.ts | 101 ++++ src/lib/ocr/text/scan.ts | 57 ++ src/lib/ocr/text/words.test.ts | 190 ++++++ src/lib/ocr/text/words.ts | 72 +++ src/lib/ocr/types.ts | 25 + src/recent.ts | 6 +- vitest.config.ts | 10 + 37 files changed, 2515 insertions(+), 34 deletions(-) create mode 100644 scripts/copy-assets.test.ts create mode 100644 scripts/fixtures/scanned-sample.pdf create mode 100644 src/AiPanel.test.ts create mode 100644 src/components/ocr/OcrBanner/OcrBanner.css create mode 100644 src/components/ocr/OcrBanner/OcrBanner.test.tsx create mode 100644 src/components/ocr/OcrBanner/OcrBanner.tsx create mode 100644 src/components/ocr/index.ts create mode 100644 src/hooks/ocr/index.ts create mode 100644 src/hooks/ocr/useOcrState.ts create mode 100644 src/lib/ocr/index.ts create mode 100644 src/lib/ocr/session/OcrSession.test.ts create mode 100644 src/lib/ocr/session/OcrSession.ts create mode 100644 src/lib/ocr/storage/ocrStore.test.ts create mode 100644 src/lib/ocr/storage/ocrStore.ts create mode 100644 src/lib/ocr/text/geometry.test.ts create mode 100644 src/lib/ocr/text/geometry.ts create mode 100644 src/lib/ocr/text/pages.test.ts create mode 100644 src/lib/ocr/text/pages.ts create mode 100644 src/lib/ocr/text/scan.test.ts create mode 100644 src/lib/ocr/text/scan.ts create mode 100644 src/lib/ocr/text/words.test.ts create mode 100644 src/lib/ocr/text/words.ts create mode 100644 src/lib/ocr/types.ts create mode 100644 vitest.config.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6dbf94c..4a99db1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,6 +25,7 @@ jobs: cache: npm - run: npm ci - run: npm audit --omit=dev --audit-level=high + - run: npm test - run: npm run build - name: Smoke test (Linux, virtual display) if: runner.os == 'Linux' diff --git a/.gitignore b/.gitignore index 0aa1709..9f91dd9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ release release-test release-*/ dev-app-update.yml +public/ocr diff --git a/AGENTS.md b/AGENTS.md index 1f32652..1def0bf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -38,7 +38,19 @@ Folio ships for **Windows, macOS, and Linux from one codebase**. Every change an All of these files are produced by the release build and published together; `scripts/check-release.mjs` lists them. +## Code layout + +New code is grouped by layer, then by feature, so a feature's pieces sit beside the others of their kind: + +- `src/components//` React components (each in its own folder with its CSS and test), +- `src/hooks//` hooks, +- `src/lib//` everything that isn't UI: logic, storage, and the session or controller behind a feature. + +Each folder has an `index.ts` that exports what the rest of the app may use; import from there, not from deep paths. +Tests sit next to the file they test (`Thing.ts` and `Thing.test.ts`). Text recognition (OCR) is the first feature laid out +this way (`components/ocr`, `hooks/ocr`, `lib/ocr`); older files in `src/` can move over as they are touched. + ## Code style Match the surrounding code: comments explain why, not what; user-facing text is plain and short. Run -`npx tsc --noEmit`, `npm run build`, and `npm run smoke` before committing. +`npx tsc --noEmit`, `npm test`, `npm run build`, and `npm run smoke` before committing. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b738d04..40007aa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,8 @@ attach it, or describe how to make one. For security issues, follow [SECURITY.md 2. Run `npm run app` to build and launch the desktop app, or `npm run dev` for the browser version with hot reload. To develop the desktop shell against the dev server, start `npm run dev` and then run `FOLIO_DEV_URL=http://localhost:5173 npx electron .` (development builds only). -3. Run `npm run build` before opening a pull request. It type-checks and builds, and CI runs the same check. +3. Run `npm test` and `npm run build` before opening a pull request. The tests are fast (Vitest, next to the code they + cover); the build type-checks and builds. CI runs both. Keep changes focused, match the surrounding code style, and describe what you changed and how you tested it. Folio aims to stay simple, fast, and private: no telemetry, no accounts, and no network access beyond updates and @@ -43,5 +44,5 @@ workflow repeats that check and opens an issue if anything is off. **Never publish any other way** (no hand-made `gh release` uploads or single-platform builds); see [AGENTS.md](AGENTS.md). Signing certificates are set up as repository secrets; see [SIGNING.md](SIGNING.md). -CI (`.github/workflows/ci.yml`) type-checks, builds, and runs `npm run smoke` on all three platforms for every push to +CI (`.github/workflows/ci.yml`) runs `npm test`, type-checks, builds, and runs `npm run smoke` on all three platforms for every push to `main` and every pull request. diff --git a/README.md b/README.md index a8ed00a..6f8eeb5 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,11 @@ Or build Folio yourself from source (below). transparency, colors, and images instead of switching to its print styles. - **Password-protected PDFs:** enter the password to read and annotate a protected document. These documents are not kept in the recent library, and their annotations and AI conversations are not persisted locally between sessions. +- **Scanned PDFs:** when a document is a picture of pages with no text, Folio offers **Recognize text**. It reads the + pages on your device, starting with the one you're on, and you can keep reading meanwhile. Afterwards search, selection, + highlights, and Ask AI work on the scan. Recognition is English only for now, can make mistakes on poor scans (Ask AI + is told when text came from recognition), and is saved with the document so it only runs once. Folio's own copy of the + PDF isn't changed; **Save a copy** doesn't add the recognized text. - **Sample document:** try the built-in tour from the home screen without finding a PDF first. URL opening and webpage conversion require the desktop app. Failed downloads leave your current document open. @@ -207,6 +212,10 @@ network requests only to: you selected, and the conversation go to the provider you chose: OpenAI for ChatGPT, or Anthropic through your installed Claude Code. Their privacy terms apply to that data. +Recognizing text in scanned PDFs happens entirely on your device: the recognition engine and its English model ship +inside Folio and make no network requests. Recognized text is stored with the document on this computer, except for +password-protected PDFs, which are never stored. + For ChatGPT, Folio stores its sign-in tokens in its data folder (below, under `ai`), encrypted with the system's credential protection (Windows data protection, the macOS Keychain, or the Linux secret store; if a Linux desktop has no secret store, you sign in again each time Folio starts), and never exposes them to the page. For Claude, Folio runs your own Claude Code with every tool disabled; diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md index 32f6225..06d2bb7 100644 --- a/THIRD_PARTY_NOTICES.md +++ b/THIRD_PARTY_NOTICES.md @@ -15,6 +15,8 @@ they cover, and Electron's and Chromium's licenses are in the app's installation | pdf.js standard fonts: Liberation | Liberation font license (GPLv2 with font exception) | Red Hat, Inc. | | pdf.js CMaps | BSD-3-Clause | Adobe Systems Incorporated | | pdf.js ICC profile | CC0-1.0 | | +| [Tesseract OCR](https://github.com/tesseract-ocr/tesseract) via [tesseract.js](https://github.com/naptha/tesseract.js) and `tesseract.js-core` | Apache-2.0 | Tesseract OCR authors, tesseract.js contributors | +| Tesseract English language data (`@tesseract.js-data/eng`) | MIT (wrapper); model from `tessdata_best`, Apache-2.0 | tesseract.js contributors, Tesseract OCR authors | | [React](https://react.dev) and React DOM | MIT | Meta Platforms, Inc. and affiliates | | [Electron](https://www.electronjs.org) | MIT | GitHub Inc., OpenJS Foundation and contributors | | Chromium (bundled with Electron) | BSD-3-Clause and others | The Chromium Authors | diff --git a/package-lock.json b/package-lock.json index f9ce914..c21ffc1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,17 +12,21 @@ "electron-updater": "^6.8.11" }, "devDependencies": { + "@tesseract.js-data/eng": "^1.0.0", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^6.1.2", "electron": "^45.1.0", "electron-builder": "^26.18.0", + "fake-indexeddb": "^6.2.7", "pdfjs-dist": "^6.4.299", "playwright-core": "^1.64.1", "react": "^19.3.1", "react-dom": "^19.3.1", + "tesseract.js": "^7.0.0", "typescript": "^7.0.2", - "vite": "^8.3.5" + "vite": "^8.3.5", + "vitest": "^4.1.12" } }, "node_modules/@electron-internal/extract-zip": { @@ -342,6 +346,13 @@ "node": ">=18.0.0" } }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@malept/cross-spawn-promise": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", @@ -1045,6 +1056,13 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", @@ -1058,6 +1076,13 @@ "node": ">=10" } }, + "node_modules/@tesseract.js-data/eng": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@tesseract.js-data/eng/-/eng-1.0.0.tgz", + "integrity": "sha512-mbTumm6KQPUHyzTPQaF3ObXYnx0SqqfV2nabqFVQBwD6Kl7PhGSLSzOlfFTWy0P3BjghaSKA2W9GB19Jk+ZcTg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/cacheable-request": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", @@ -1071,6 +1096,17 @@ "@types/responselike": "^1.0.0" } }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, "node_modules/@types/debug": { "version": "4.1.13", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", @@ -1081,6 +1117,20 @@ "@types/ms": "*" } }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.10.tgz", + "integrity": "sha512-lTyOMnOcmRBzdCv6/4zUZCrEhV0xrqQiUZBZtVcbmLHBXKLnN8q89v/wKRF/Q0HbwVsqbIG3o5HDoFl9sduM+g==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/fs-extra": { "version": "9.0.13", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", @@ -1525,6 +1575,119 @@ } } }, + "node_modules/@vitest/expect": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.12.tgz", + "integrity": "sha512-vFlTt+YEu9WBpNjdGayNmlMVzrWPi1+sv853/7t2FU7hpO5gAFBKHzQmkCq5Xjpr+evegF2994LQT3hF3mRlqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.12", + "@vitest/utils": "4.1.12", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.12.tgz", + "integrity": "sha512-fKShNpKZzupWZuY0z7egydvL0sqW4INEZBEExMBMAa6izlENEVHwoXgdaTCaBZ5fwlr4xf2o1wXC83n9RpO+NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.12", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.12.tgz", + "integrity": "sha512-XW9O8+Mxx4VpCtkYdMJLZQQwsVryP9wk7cPKDxtXFfwSak6yRh5+2fep/Y0XF/ElBvJHq8bcYdi6aeuai0opZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.12.tgz", + "integrity": "sha512-NKlVKCr5QnCe8jijdMnmkpHHU+WTqiLFR6G0pHji9uRjXK9xJl1k1nTw6F3pOOj2PDcsDt2GKQMI7wIsaT491w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.12", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.12.tgz", + "integrity": "sha512-ko1y1Qgb/slzQ9mr+b89Cuqud8WG1TKtsPD8r7ZUBdvVOGt85Af2HwCqHujrhwJq95hs/9RM7fcAPg57o1vlzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.12", + "@vitest/utils": "4.1.12", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.12.tgz", + "integrity": "sha512-RGq9x4JNGNTZHEJxvN0oSiJjeSCExm0n2gZKKJZHY9cX5AVA6M7VJILBT3ZJ/tJ/0J9uWT7fETV9/btoi//vSg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.12.tgz", + "integrity": "sha512-Q3awXrwOfEV+qc3WmO5ONyE0yO7Q1gQ9/oyHxGLZ/pl7N3NO/ZztqQwKLuwMkV+CA1JYSIeO3gkHnRDIo4AVaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.12", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, "node_modules/@xmldom/xmldom": { "version": "0.8.15", "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.15.tgz", @@ -1782,6 +1945,16 @@ "node": ">=12.0.0" } }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", @@ -1861,6 +2034,13 @@ "dev": true, "license": "MIT" }, + "node_modules/bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==", + "dev": true, + "license": "MIT" + }, "node_modules/boolean": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", @@ -1982,6 +2162,16 @@ "node": ">= 0.4" } }, + "node_modules/chai": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.3.0.tgz", + "integrity": "sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2120,6 +2310,13 @@ "dev": true, "license": "MIT" }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -2649,6 +2846,13 @@ "node": ">= 0.4" } }, + "node_modules/es-module-lexer": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.2.tgz", + "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==", + "dev": true, + "license": "MIT" + }, "node_modules/es-object-atoms": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", @@ -2710,6 +2914,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/expect-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz", + "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/exponential-backoff": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", @@ -2717,6 +2941,16 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/fake-indexeddb": { + "version": "6.2.7", + "resolved": "https://registry.npmjs.org/fake-indexeddb/-/fake-indexeddb-6.2.7.tgz", + "integrity": "sha512-g0ghQ+BmU3CSZaHup5FigEAAtCmtNyxkrmID7OAeK2qONHghw1aQ2l2T1RxmfhP1H1tEXVRWArUTGVCk5832ww==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -3190,6 +3424,13 @@ "node": ">= 14" } }, + "node_modules/idb-keyval": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.3.0.tgz", + "integrity": "sha512-um+2dgAWmYsu615EXpWVwSmapJhON0G43t3Ka/EVaohzPQXSMqKEqeDK/oIW3Ow+BXaF2PvSc+oBTFp793A5Ow==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3219,6 +3460,13 @@ "node": ">=8" } }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true, + "license": "MIT" + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -3678,6 +3926,16 @@ "node": ">=10" } }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, "node_modules/matcher": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", @@ -3859,6 +4117,27 @@ "semver": "^7.3.5" } }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-gyp": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.4.0.tgz", @@ -3977,6 +4256,20 @@ "node": ">= 0.4" } }, + "node_modules/obug": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.2.1.tgz", + "integrity": "sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -3987,6 +4280,16 @@ "wrappy": "1" } }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "dev": true, + "license": "MIT", + "bin": { + "opencollective-postinstall": "index.js" + } + }, "node_modules/p-cancelable": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", @@ -4033,6 +4336,13 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, "node_modules/pdfjs-dist": { "version": "6.4.299", "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-6.4.299.tgz", @@ -4338,6 +4648,13 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true, + "license": "MIT" + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -4568,6 +4885,13 @@ "node": ">=8" } }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -4627,6 +4951,13 @@ "license": "BSD-3-Clause", "optional": true }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, "node_modules/stat-mode": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", @@ -4637,6 +4968,13 @@ "node": ">= 6" } }, + "node_modules/std-env": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.3.0.tgz", + "integrity": "sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==", + "dev": true, + "license": "MIT" + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -4754,6 +5092,32 @@ "fs-extra": "^10.0.0" } }, + "node_modules/tesseract.js": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tesseract.js/-/tesseract.js-7.0.0.tgz", + "integrity": "sha512-exPBkd+z+wM1BuMkx/Bjv43OeLBxhL5kKWsz/9JY+DXcXdiBjiAch0V49QR3oAJqCaL5qURE0vx9Eo+G5YE7mA==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "bmp-js": "^0.1.0", + "idb-keyval": "^6.2.0", + "is-url": "^1.2.4", + "node-fetch": "^2.6.9", + "opencollective-postinstall": "^2.0.3", + "regenerator-runtime": "^0.13.3", + "tesseract.js-core": "^7.0.0", + "wasm-feature-detect": "^1.8.0", + "zlibjs": "^0.3.1" + } + }, + "node_modules/tesseract.js-core": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tesseract.js-core/-/tesseract.js-core-7.0.0.tgz", + "integrity": "sha512-WnNH518NzmbSq9zgTPeoF8c+xmilS8rFIl1YKbk/ptuuc7p6cLNELNuPAzcmsYw450ca6bLa8j3t0VAtq435Vw==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/tiny-async-pool": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/tiny-async-pool/-/tiny-async-pool-1.3.0.tgz", @@ -4780,6 +5144,23 @@ "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==", "license": "MIT" }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.3.1.tgz", + "integrity": "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/tinyglobby": { "version": "0.2.17", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", @@ -4797,6 +5178,16 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tinyrainbow": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.2.0.tgz", + "integrity": "sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/tmp": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", @@ -4817,6 +5208,13 @@ "tmp": "^0.2.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", @@ -5031,6 +5429,103 @@ } } }, + "node_modules/vitest": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.12.tgz", + "integrity": "sha512-5eWdz2yb3ajxWF3C8C4TjkXl7FGm3n2E/VlazALrQHzK7nYMSGFnCZto0bbPNl77AwkOZVLk0YnBAejUu0NiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.12", + "@vitest/mocker": "4.1.12", + "@vitest/pretty-format": "4.1.12", + "@vitest/runner": "4.1.12", + "@vitest/snapshot": "4.1.12", + "@vitest/spy": "4.1.12", + "@vitest/utils": "4.1.12", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.12", + "@vitest/browser-preview": "4.1.12", + "@vitest/browser-webdriverio": "^4.1.11", + "@vitest/coverage-istanbul": "4.1.12", + "@vitest/coverage-v8": "4.1.12", + "@vitest/ui": "4.1.12", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, + "node_modules/wasm-feature-detect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/wasm-feature-detect/-/wasm-feature-detect-1.9.0.tgz", + "integrity": "sha512-zonE+xlIIYtxPy++L24ow0hAD8CICb4+FgPyROd3buyXIqsJvUEDkBgfCCoXOd1Hu3DUr0GOfnPIdcGV+YpNaA==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/webcrypto-core": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.9.2.tgz", @@ -5045,6 +5540,24 @@ "tslib": "^2.8.1" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", @@ -5061,6 +5574,23 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -5154,6 +5684,16 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zlibjs": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/zlibjs/-/zlibjs-0.3.1.tgz", + "integrity": "sha512-+J9RrgTKOmlxFSDHo0pI1xM6BLVUv+o0ZT9ANtCxGkjIVCCUdx9alUF8Gm+dGLKbkkkidWIHFDZHDMpfITt4+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } } } } diff --git a/package.json b/package.json index 74edf03..c23a187 100644 --- a/package.json +++ b/package.json @@ -15,23 +15,28 @@ "release": "node scripts/release.mjs", "dist:mac": "npm run build && electron-builder --mac --publish never", "dist:linux": "npm run build && electron-builder --linux --publish never", - "smoke": "node scripts/smoke-test.mjs" + "smoke": "node scripts/smoke-test.mjs", + "test": "vitest run" }, "dependencies": { "electron-updater": "^6.8.11" }, "devDependencies": { + "@tesseract.js-data/eng": "^1.0.0", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^6.1.2", "electron": "^45.1.0", "electron-builder": "^26.18.0", + "fake-indexeddb": "^6.2.7", "pdfjs-dist": "^6.4.299", "playwright-core": "^1.64.1", "react": "^19.3.1", "react-dom": "^19.3.1", + "tesseract.js": "^7.0.0", "typescript": "^7.0.2", - "vite": "^8.3.5" + "vite": "^8.3.5", + "vitest": "^4.1.12" }, "productName": "Folio", "description": "A simple, clean PDF reader for Windows, macOS, and Linux", diff --git a/scripts/copy-assets.test.ts b/scripts/copy-assets.test.ts new file mode 100644 index 0000000..7600617 --- /dev/null +++ b/scripts/copy-assets.test.ts @@ -0,0 +1,47 @@ +import { execFileSync } from "node:child_process"; +import { existsSync, readFileSync, statSync } from "node:fs"; +import { resolve } from "node:path"; +import { beforeAll, describe, expect, it } from "vitest"; + +const root = resolve(import.meta.dirname, ".."); +const ocr = (...parts: string[]) => resolve(root, "public/ocr", ...parts); + +beforeAll(() => { + execFileSync(process.execPath, [resolve(root, "scripts/copy-pdfjs-assets.mjs")], { cwd: root }); +}); + +describe("the OCR runtime that ships with the app", () => { + it.each([ + "worker.min.js", + "core/tesseract-core-relaxedsimd-lstm.wasm.js", + "core/tesseract-core-simd-lstm.wasm.js", + "lang/eng.traineddata.gz", + ])("includes %s", (file) => { + expect(existsSync(ocr(file))).toBe(true); + expect(statSync(ocr(file)).size).toBeGreaterThan(100_000); + }); + + it("ships the language model compressed, as Tesseract is told to expect", () => { + const [first, second] = readFileSync(ocr("lang/eng.traineddata.gz")); + expect([first, second]).toEqual([0x1f, 0x8b]); + }); + + it("ships exactly the core files this Tesseract version asks for in LSTM-only mode", () => { + // If a Tesseract upgrade renames its cores, OCR would silently fail to start; this catches it at the source. + const loader = readFileSync(resolve(root, "node_modules/tesseract.js/src/worker-script/browser/getCore.js"), "utf8"); + expect(loader).toContain("tesseract-core-relaxedsimd-lstm.wasm.js"); + expect(loader).toContain("tesseract-core-simd-lstm.wasm.js"); + }); + + it("is kept out of version control, like the other copied assets", () => { + expect(readFileSync(resolve(root, ".gitignore"), "utf8").split("\n")).toContain("public/ocr"); + }); + + it("is where the app looks for it", () => { + const source = readFileSync(resolve(root, "src/lib/ocr/session/OcrSession.ts"), "utf8"); + expect(source).toContain('`${import.meta.env.BASE_URL}ocr/`'); + expect(source).toContain('base + "worker.min.js"'); + expect(source).toContain('base + "core"'); + expect(source).toContain('base + "lang"'); + }); +}); diff --git a/scripts/copy-pdfjs-assets.mjs b/scripts/copy-pdfjs-assets.mjs index 1990afc..390036c 100644 --- a/scripts/copy-pdfjs-assets.mjs +++ b/scripts/copy-pdfjs-assets.mjs @@ -1,5 +1,6 @@ -// Copies pdf.js runtime assets (CJK cmaps, standard fonts, wasm decoders, ICC profiles) into public/. -import { cpSync, existsSync } from "node:fs"; +// Copies pdf.js runtime assets (CJK cmaps, standard fonts, wasm decoders, ICC profiles) and the OCR runtime +// (Tesseract worker, wasm cores, English model) into public/. +import { cpSync, existsSync, mkdirSync } from "node:fs"; import { resolve } from "node:path"; const root = resolve(import.meta.dirname, ".."); @@ -10,3 +11,14 @@ for (const dir of ["cmaps", "standard_fonts", "wasm", "iccs"]) { const from = resolve(src, dir); if (existsSync(from)) cpSync(from, resolve(dest, dir), { recursive: true }); } + +// OCR runs fully offline. Only the LSTM cores are copied (Folio loads the LSTM-only engine): the +// relaxed-SIMD one Chromium picks today, and the SIMD one it falls back to. +const ocr = resolve(root, "public/ocr"); +mkdirSync(resolve(ocr, "core"), { recursive: true }); +mkdirSync(resolve(ocr, "lang"), { recursive: true }); +cpSync(resolve(root, "node_modules/tesseract.js/dist/worker.min.js"), resolve(ocr, "worker.min.js")); +for (const core of ["tesseract-core-relaxedsimd-lstm.wasm.js", "tesseract-core-simd-lstm.wasm.js"]) { + cpSync(resolve(root, "node_modules/tesseract.js-core", core), resolve(ocr, "core", core)); +} +cpSync(resolve(root, "node_modules/@tesseract.js-data/eng/4.0.0_best_int/eng.traineddata.gz"), resolve(ocr, "lang/eng.traineddata.gz")); diff --git a/scripts/fixtures/scanned-sample.pdf b/scripts/fixtures/scanned-sample.pdf new file mode 100644 index 0000000000000000000000000000000000000000..57c13c79c511c90b08e08e9fe34791b7f8eda85d GIT binary patch literal 729312 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%0A$+nz}?W2@=eTJtBq1BmvY;- zg1XMvDP*hG41{y;DC+?T6pfFTy)BlvQ|Jr!7W0Mw3}(vVwl#HLb35BYP}NY1OlkRO zzeo)iSXVYB9YB76SNI>V-70|-qekiOYW`#HDLIU06UgDUs8^(1iwuHH%l0tax0U&& z*4&d)x&=Bl-vRQ(#of43HZF$WYWDw9$7I@pN{k589i(bv0nQ!xAhsM?#n7;kXGZ2Iwgp9kvm}?2cdfl0f=3F~Wb1s0xz! z<0)lR+&YmZixPm#-oKLM^jhuct*&JfG>}CE+s7J`&hPABrT=O$AM)8*h78sLDW^7yWNt+=`n>d4+S!i$mm$f8W@SK#v0ZrD8^x%358f>c_yF-!Sehzx?rNT9jgw!^s8?x

sM!wlw>DW+I|J;A&E65lJnnbf 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