4 Commits
Author SHA1 Message Date
mozempk 756dd9994e feat(render): Typst renderer, contrast analysis and print pre-flight
render/typst.ts stages each job as a self-contained bundle (<job>/.typst/
lib.typ + template + resolved.json) and roots Typst there, so artwork living
outside the package is reachable and old jobs stay re-renderable. Paths are
root-relative throughout -- Typst resolves a leading / against --root, not
the filesystem.

render/contrast.ts measures the region behind the text with sharp and forces
a scrim on high variance even when mean luminance passes; verified with a
checkerboard that scores 5.45:1 contrast yet stdev 119.9.

render/preflight.ts checks TrimBox, embedded fonts, image dpi and structure,
degrading to 'non installato' rather than failing when a tool is absent.

E2E verified via jiti: TrimBox 297.0x420.0mm, font axes injected, bundle
staged. 0 type errors.
2026-08-27 09:50:22 +02:00
mozempk 0b29c1587d fix(backend): stale classifyImageRunFailure -> classifyRunFailure
Left behind by a rename; broke the img2img (issue #121) crash-detection
path. Typecheck back to 0 errors.
2026-08-27 09:42:01 +02:00
mozempk aad8a7fbdf tests: surface-contrast regression fixture (dark art + light bg) 2026-08-27 09:28:26 +02:00
mozempk 5fabf5345f tests: fix root-relative spec path; document ink-surface blocker 2026-08-27 09:25:34 +02:00