From dea4cd22a583e51f12f758c7864ebb2134cf2d5d Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 16 Oct 2026 15:20:49 +0200 Subject: Docs: page render bound Co-Authored-By: Claude Opus 5.5 --- AGENTS.md | 2 +- README.md | 2 +- docs/superpowers/specs/2026-10-16-attachments-design.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 427fdaa..adc2fb5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -128,7 +128,7 @@ not import from it. facts from both: the text page went inline, the image-only page as a `pdftoppm` render. - A page render needs a bound: at `-r 150` a 3000 pt page came out - 6250x6250 at 171 MB peak (review probe). Renders use `-scale-to 2048`. + 6250x6250 at 171 MB peak (review probe). Renders use 150 dpi lowered to fit 1600 px; `-scale-to` also upscales, and a 600x300 pt scan sent as 2048x1024 with a second image took the model process down (router: `proxy error: Failed to read connection`). - tesseract is installed with no language data, so OCR is the model's vision, not tesseract. - A Unix socket path is limited to 108 bytes: a test socket under a deep diff --git a/README.md b/README.md index 6a8c767..530ef99 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ connection stays open. `files` is a list of absolute paths, at most 8. Text and code files and PDFs are read and inlined, sharing half the free context (a PDF page with -no text goes as an image, at most 4, rendered no larger than 2048 px); +no text goes as an image, at most 4, rendered at 150 dpi, at most 1600 px); images go as image parts to a model that reports seeing them. History keeps the text and, for images, the path and hash: a file that changed or moved is reported as no longer available when the conversation is diff --git a/docs/superpowers/specs/2026-10-16-attachments-design.md b/docs/superpowers/specs/2026-10-16-attachments-design.md index 2b56f7d..1f6a923 100644 --- a/docs/superpowers/specs/2026-10-16-attachments-design.md +++ b/docs/superpowers/specs/2026-10-16-attachments-design.md @@ -60,7 +60,7 @@ starts) and nothing is sent to the model: | --- | --- | --- | | text | a `text/*` mime type, or a code suffix (llamachat's list) | the file as UTF-8 (errors replaced) in a `--- file: name ---` block | | image | png, jpeg, webp, gif | an `image_url` part, a base64 data URL | -| pdf | `.pdf` | `pdftotext -layout` per page in one block; a page with no text is rendered with `pdftoppm -r 150 -scale-to 2048 -png` and sent as an image, at most 4 such pages (further ones are listed as not shown and the chip is truncated) | +| pdf | `.pdf` | `pdftotext -layout` per page in one block; a page with no text is rendered with `pdftoppm -png` at 150 dpi, lowered so the longest side stays within 1600 px (never raised), and sent as an image, at most 4 such pages (further ones are listed as not shown and the chip is truncated) | | other | anything else | refused, see above | Text blocks share a budget: half the free context, -- cgit v1.2.3