Add debug tracing
At various points during debugging, it has been useful to trace the rendering process. These things have been useful for me:
- What affine is active right before rendering a node?
ComputedValuesare in use when rendering a node?
- What are the intermediate results of filters?
The first two are easy to print, but there's a lot of debug spew from nodes which you don't care about.
The last one is easy to do with
cairo_surface_write_to_png(); there's just the inconvenience of generating a filename for the output.
I'd like to use this bug to brainstorm things that would be useful to have in debug output. Please add suggestions as comments!
- Intermediate surfaces from filters
- select nodes by type ("I'm debugging NodeFoo"), or by id ("I'm debugging this particular element that is mis-rendered").
CC @YaLTeR - I think you have had to do this for filters, too?