During a recent SVG Working group discussion, we talked about how to improve the SVG test suite. Part of the problems in the development of the test suite is the sheer number of tests to be produced (i.e. written + reviewed + approved) and then tested against every implementation. The purpose of the testing is to check if every feature passes in at least two independent implementation: that is the criteria to exit Candidate Recommendation. The SVG Tiny 1.2 test suite already contains 496 tests, the SVG 1.1 2nd edition has 526. The SVG 2 spec will probably have more. Having one person test all features is not realistic anymore.
The CSS WG has been working for a long time on this issue. CSS 2.1 has 9685 tests! Together with a team from W3C, the WG set up a test suite server, where one can browse the CSS Test Suite, test its viewer and report the results. All results are then aggregated. The W3C architecture allows for 2 types of tests:
- ref tests (see Mozilla’s use of ref tests), where a test is provided together with an alternative way of producing the same result (visually).
In GPAC, we experimented a different approach. Continue reading Automated Testing Script Generation
As part of my interest for Vector Graphics technologies, I had look at the Freeform Vector Graphics (FVG) technology proposed by Microsoft Research. After all, it differs from SVG only by one letter.
The paper describing the technology is available here. A video presenting the approach is also provided by the authors here. The approach is in general an extension or alternative to the work on Diffusion Curves. It enables the control of the interpolation of colors between diffusion curves (or points), with a higher order of smoothness if necessary.
This post reports on my understanding of the method and of its implementation, focusing on the use of the software and on some aspects not dealt with in the paper and is intended for people who have already a good understanding of the paper. If you notice any mistake, if it is unclear or if you disagree, please leave a comment. Continue reading Experimenting with Freeform Vector Graphics
If you are interested into how radial gradients are drawn in SVG, you might want to have a look at the following file.
It shows a radial gradient, overlaid with the different features of the gradient (center, focal point and radius). It shows an animation of a circle used to compute the gradient, all points belonging to that circle, at the same instant, have the same color (see a formal definition here). In short, there are three interpolations going on: one determines the center of that construction circle, one the radius of that circle and one the color of circle stroke. If you dig in the file and uncomment the color animation, you should see that when the circle’s stroke color is animated, the stroke perfectly matches the gradient behind and is therefore not visible (inside the gradient circle).
I’ve put here another example of an edge case, when the focal point is located on the edge of the center defined by the gradient element.
During the last SVG Open 2010 (that we organized in Paris), we have presented a paper about our work on Electronic Program Guides using SVG. The presentation is available here.
The video (made by Jonathan Sillan) on iPad is also available: