Roadmap
-------
The roadmap is in the main docu now. I do not want to maintain a
redundant version here.

TODO
----
The following list contains some things I don't want to
forget. It mainly contains small stuff and specificly no big feature
plans.

- validate font-size
- initial param validation in rasterize
- before_flush_hook
- docu for
  - possibly internal methods in Rasterize, State, and State::Text
- sort out new block in
  SVG::Rasterize::State::Text::_process_node_extra based on glyph
  orientation
- rotate of letters
- document ligature bug
- in_error checker box is no checker box
- more elaborate DESCRIPTION for SVG::Rasterize::State::Text

- make sure really all attributes used so far are validated with
  regexes in Specification; it is the goal that each used attribute
  has to pass a non-trivial regex check at this stage
  - stroke, fill
- spec: check per callback that fixed value has that value
- support other output types than png
- docu error messages
- idea: provide a simple GD backend, just as proof of concept for
  different backends
- wild idea: provide a plotter backend which could be used e.g. by
  robot drawing with a pen
- how can I handle defer in preserveAspectRatio?
- Cairo docu: Exceptions and Warnings
- Cairo docu: possibility of basic shape methods
- merge engine_args
- complete docu of SVG::Rasterize::Cairo, then remove sparseness
  remark in SVG::Rasterize docu
- support for relative units -> make special versions of map_length,
  e.g. map_length_font_size, or...hm...maybe, we can keep
  map_length, but a reference length has to be provided explicitly,
  otherwise we keep on complaining about relative units
- Cairo docu: draw_text
- Can an element have an attribute which a child does not have, but
  a grandchild is supposed to inherit? Check and fix accordingly.
- more text attributes
- medium_font_size, font_size_scale dependent on font-family, set
  and get should be transparent
- test all regexes
- move the non-regex stuff out of t/010_regexes
- reach 100% in Devel::Cover
- let in_error somehow leave a mark on the exception object
- check if the numbers in viewBox should be non-negative

done (excerpt, containing what I might look at again)
-----------------------------------------------------
- document which DOM functions have to be provided by an input
  object
- homogenize interface docu of methods
- consequent assignments in interface docu of methods with return
  value
- property validation with dedicated %PROP_VAL? - not for now
  -> specific for xsl / css
  -> apply to whole hash after setting of defaults?
  -> element specific?
- clamp color values only at presentation time
- document all regexes
- validation possible for those attributes that still have type
  CDATA? - Some stuff will have to (further) validated in State or
  Rasterize. However, the engine should get clean stuff.
- explicit return in all methods
- Exception::Class classes, which?
- throw InError class from in_error
- validate_with with calling in_error
- replace carps by warns.
- make information available for in_error
- consequently use in_error where required
- remove explicit parameter state to hooks? - No. There might be a
  situation where one wants to give a different state object to the
  hook (see in_error_hook)
- Params::Validate consequently
- rename SVG::Rasterize::Cairo to SVG::Rasterize::Engine::Cairo?
  Or ...Backend::Cairo? - not important enough to take the hassle 
  of dealing with backwards compatibility
- fix or document character limitations in XML regexes
- ID and NMTOKEN in %ATTR_VAL
