mirror of
https://github.com/teamchong/pxpipe.git
synced 2026-07-22 02:02:51 +02:00
838db8778e
Measured 2026-07-01 (count_tokens sweep, claude-sonnet-4-5; see docs/LEGIBILITY-AUDIT-2026-07-01.md): the API downscales every image to fit BOTH long-edge ≤1568 AND ~1.15 MP (≈1,143,750 px), then bills ≈px/750 (~1525 tok/img cap). The old 1932×1932 page hit the cap but was resampled 0.555× before the vision encoder, so 5×8 glyphs arrived at ~2.8×4.4 px — the root cause of the legibility misses this session. New page shape 1568×728 = 1,141,504 px fits both bounds → glyphs reach the encoder WYSIWYG (and still ≤2000 px/side for >20-image requests). render.ts geometry: MAX_HEIGHT_PX 1932 -> 728 MAX_WIDTH_PX 1932 -> 1568 DEFAULT_COLS 313 -> 312 (1568 px exactly; 313=1573 would 0.997× blur) DENSE_CONTENT_COLS 384 -> 312 READABLE/DENSE chars 50000/92160 -> 28080 (312×90, tracks real pagination) Decouple the GPT path: OpenAI resizes differently (2048 bbox, 768 short side), so a 768-wide strip up to 2048 tall survives un-resampled. Add GPT_MAX_HEIGHT_PX = 1932 (gpt-model-profiles.ts) where the built-in cost numbers were calibrated; openai-history.ts now uses it instead of the now-Anthropic-specific MAX_HEIGHT_PX. Doc-only touch-ups in library.ts/export.ts. tests/render + tests/paging updated to the new geometry (171 pass).