Files
pdf-odin-llm/docs/build-plan.md
T
2026-09-25 23:32:29 +02:00

25 lines
1.6 KiB
Markdown

# Layer 3 plan (rendering primitives + fonts) -> workflow 2
Stage A (parallel, independent - depend only on the frozen spine):
raster raster.odin span-callback scanline AA rasteriser, both fill rules
stroke stroke.odin stroke -> Flat_Path, caps/joins/miter/dashes, hairlines
blend blend.odin Blend_Mode math, premultiplied compositing, group/mask compose
colorfn colorspace.odin + function.odin (coupled: Separation needs a tint transform)
cff font_cff.odin CFF/Type2 charstrings, CIDFont CFF, seac, hint-skip
truetype font_truetype.odin glyf/loca/cmap/hmtx/post/composite glyphs
type1 font_type1.odin PFB/PFA, eexec, Type1 charstrings, seac, flex/hint replacement
stdfonts font_standard.odin standard-14 metrics + Standard/WinAnsi/MacRoman/MacExpert/Symbol/ZapfD
cmaps cmap.odin embedded CMaps, /ToUnicode, predefined CMap identity + common ones
Stage B (needs A):
image image.odin image XObjects -> RGBA8, /Decode, /ImageMask, /SMask, /Mask, colour key
shading shading.odin types 1-7 (function, axial, radial, free/lattice triangle mesh, coons, tensor)
font font.odin the PDF font dictionary -> Font, widths, encodings, CID mapping, Type3
Stage C: integrate + adversarial review + fix
# Layer 4 plan (interpreter + devices + public API) -> workflow 3
pattern.odin, device_raster.odin, device_text.odin, device_list.odin,
content.odin, page.odin, annot.odin, outline.odin,
examples/pdfinfo, examples/pdfrender, examples/pdftext, README.md