From ac6a6c04520b4d9ce8f781481755c193d60d734c Mon Sep 17 00:00:00 2001 From: tannevaled Date: Fri, 28 Aug 2026 20:35:12 +0200 Subject: [PATCH] deps: read the ink layer of a scanned page render v0.11.0 -> v0.14.0, gfx v0.10.0 -> v0.13.0. Three releases had landed and none of them had reached the app, so none of this was in front of anyone: render v0.12.0 a scanned page's JPEG 2000 background is drawn render v0.13.0 a mask that cannot be read takes its image with it, instead of the ink layer being painted over the page as a solid dark rectangle render v0.14.0 JBIG2 is decoded, so the ink layer has its shape; and the stencil mask is no longer applied inside out, which had every explicit mask showing the exact complement of itself gfx v0.13.0 JBIG2 in the codec registry Measured against poppler on the first page of 25 medical scans, the mean share of differing pixels goes 0.0083 -> 0.0004 and the worst page 0.1087 -> 0.0004, with 11 pages improved and none made worse. 100% statement coverage, wasm build, vet on four targets. Co-Authored-By: Claude Opus 5 --- go.mod | 7 +++++-- go.sum | 14 ++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index b254f76..6415464 100644 --- a/go.mod +++ b/go.mod @@ -3,20 +3,23 @@ module github.com/go-pdfkit/app go 1.26.4 require ( - github.com/go-gfx/gfx v0.10.0 + github.com/go-gfx/gfx v0.13.0 github.com/go-pdfkit/extract v0.3.0 github.com/go-pdfkit/forms v0.2.2 github.com/go-pdfkit/ops v0.7.1 github.com/go-pdfkit/reader v0.6.0 - github.com/go-pdfkit/render v0.11.0 + github.com/go-pdfkit/render v0.14.0 github.com/go-widgets/painter v0.11.0 github.com/go-widgets/toolkit v0.277.0 github.com/go-widgets/webcanvas v0.1.0 ) require ( + github.com/ajroetker/go-highway v0.0.4 // indirect + github.com/ajroetker/go-jpeg2000 v0.0.2 // indirect github.com/andybalholm/brotli v1.2.2 // indirect github.com/coder/websocket v1.8.15 // indirect + github.com/dkrisman/gobig2 v0.0.0-20260513123937-51e39052fde6 // indirect github.com/go-crdt/collab v0.25.0 // indirect github.com/go-crdt/crdt v0.31.0 // indirect github.com/go-iconoir/iconoir v0.2.0 // indirect diff --git a/go.sum b/go.sum index 0acf603..cbb6bd8 100644 --- a/go.sum +++ b/go.sum @@ -1,15 +1,21 @@ +github.com/ajroetker/go-highway v0.0.4 h1:RDQo+9OhTXI6BFctLo+5gYpHNbb92VYJ0ObnR4l6xAQ= +github.com/ajroetker/go-highway v0.0.4/go.mod h1:C/zYPNSSpOaraejY89FUTZTyQNEhi5+rEbU0LjlqJeU= +github.com/ajroetker/go-jpeg2000 v0.0.2 h1:ni8brffZrci4Kacx3nM5d92ipmTDfak84KgHYi6IxFw= +github.com/ajroetker/go-jpeg2000 v0.0.2/go.mod h1:7ld88W47lZy0x8gRQesRGAonDPOpr6ev8rckjCAfbzE= github.com/andybalholm/brotli v1.2.2 h1:HzTuoo2ErYQqf5qvcJInB8uvqSVxRttzkFexPWtnceM= github.com/andybalholm/brotli v1.2.2/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/coder/websocket v1.8.15 h1:6B2JPeOGlpff2Uz6vOEH1Vzpi0iUz20A+lPVhPHtNUA= github.com/coder/websocket v1.8.15/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg= +github.com/dkrisman/gobig2 v0.0.0-20260513123937-51e39052fde6 h1:hHPgbpPdcaSXtpLb9NMEUJPxsZ0cxGtGHwmvKGI36NA= +github.com/dkrisman/gobig2 v0.0.0-20260513123937-51e39052fde6/go.mod h1:2Ij0rpAVy1tZ+PQ9FM1jCpnVo/OOCMCD6rLtSp4JkEI= github.com/go-crdt/collab v0.25.0 h1:xO/cZq41GvsCyPOw+sdldCu2r3lDbMK1N0GgN6D9+Ss= github.com/go-crdt/collab v0.25.0/go.mod h1:eYhMwHjmRyN5zMk/IBwBsTe3ZxqHuSCvNx3TdVTpYHg= github.com/go-crdt/crdt v0.31.0 h1:CTi+lo0bjsJv3F09CR/AdILQtWEWmzbDQ+S/6HNBOMU= github.com/go-crdt/crdt v0.31.0/go.mod h1:vbfvns9B9FUaMi2sPKzMYttKmbxfgO7EK3Yu82SrlYw= -github.com/go-gfx/gfx v0.10.0 h1:3AqOO8TZph6/U8+ejJxYkCZ+wzddxAbZ7fxi6TvGop4= -github.com/go-gfx/gfx v0.10.0/go.mod h1:bFt/MWyYWRU3Ic9IaB8XOC9KLMMHRRmahMk4FaIGK7g= +github.com/go-gfx/gfx v0.13.0 h1:Fb/3O1AzEW99DJbwD8DnuLB7Y+uLZgbWuf24P28Zk9Y= +github.com/go-gfx/gfx v0.13.0/go.mod h1:8KcjwJmHW2ImXcjeMEIQ1bY+7Q2DNcMYoQCl270Isr8= github.com/go-iconoir/iconoir v0.2.0 h1:2ANqG6gkvHMoCtpNgNhSeOsuGMnlWQ+Sl43EndujIC0= github.com/go-iconoir/iconoir v0.2.0/go.mod h1:BrOQ68YO5BMsF7y+/nht4shbgjVfh9CxBoQF35eNosw= github.com/go-images/images v0.0.0-20260811115337-bc5d586f8e38 h1:p+DjIujiwUvBiyD0oS9SUatf3pMKo0GpcA4p/Kyv7d8= @@ -34,8 +40,8 @@ github.com/go-pdfkit/pdffont v0.3.1 h1:+K7opHGRERDZ5EMkA12s1GT48t8GpncArhnyzyc5b github.com/go-pdfkit/pdffont v0.3.1/go.mod h1:eFJ/7t9AvcX76KY5qNJMMKetz8hUUUdVM1qSWLi3S1g= github.com/go-pdfkit/reader v0.6.0 h1:KAabNOYUcTlZlNBTbG9bEhWP1NiZhjuhzUdavdTdfes= github.com/go-pdfkit/reader v0.6.0/go.mod h1:fQFOVfCMUui1AdvD4qhimdyvvNr9KvvJ1S7IuKZjyV8= -github.com/go-pdfkit/render v0.11.0 h1:z05asCKb8Bn/1JMU0r5KwqP5DiFkk0jJR3bVKGH4qj8= -github.com/go-pdfkit/render v0.11.0/go.mod h1:9b1LBmvHdZJ8+ACXA8XNUXWSOtNM+lkiOAFSiWRADpQ= +github.com/go-pdfkit/render v0.14.0 h1:N6GdHViLiwYMetp2/zBvefrQLMpYhkWnFo/QnYEYq7g= +github.com/go-pdfkit/render v0.14.0/go.mod h1:sJgatECtmjitZq8Q1ZLjnq3I+VEVdmOJ6SDZpbNxOic= github.com/go-richdoc/richdoc v0.2.0 h1:z9cLox9MoInZL6fIlweMzgDT/VqgnB2ZucSIEaRFglY= github.com/go-richdoc/richdoc v0.2.0/go.mod h1:aCX8ulqg5CoKqSWgWeEWul1Oj0d2VxQeaQNI0+jsm7c= github.com/go-typeset/bidi v0.3.0 h1:4fjGjejvjE2LzLNzY4si8PkVO321NcsKIiANhWT3jF4=