Files
photocraft/crates/text
4e22c92889 fix(text): #8247 colour glyph review findings (fan-out graphs, hidden glyphs, CMYK, clips, radial)
Works through the five CodeRabbit threads on d9102e7e0a:

- A COLR graph that reuses both children of every composite was walked
  exponentially often (skrifa 0.44 only limits depth and cycles on the
  current path), stalling rendering and measuring. photocraft-text moves to
  skrifa 0.47, already in the lockfile, which caps a walk at 16384 paints;
  such a glyph falls back to its plain outline like a cycle does.
- Glyphs hidden by a transparent text colour are skipped before their graph
  is walked or painted, so they can't spend the budget and drop the
  visible text.
- In CMYK (and other non-RGB) documents, pixels in the text colour alone
  keep its own components instead of a round trip through sRGB, as plain
  glyphs do (a K-only black stays K only).
- Nested clips intersect by the smaller coverage, so a glyph clipped by its
  own outline twice keeps its anti-aliased edge.
- A radial gradient's shared point of touching circles (a = b = c = 0) is
  painted with the largest t instead of dividing 0 by 0.

Each fix has a test that fails without it.

Co-Authored-By: adi-1108 <adi-1108@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 15:21:10 +01:00
..