Re: SVG2 CR - Catmull-Rom curve commands missing??

Dirk Schulze:

>Hi everyone,
>
>SVG 2.0 is in the stage of transition from a Candidate Recommendation (CR) to 
>a Proposed Recommendation (PR). (The last step before an official W3C 
>Recommendation.)[1] In this transition period, the specification depends on 
>multiple, existing and interoperable implementations.

The current 'Proposed Recommendation' clearly fails to meet the mentions 
requirements for SVG 2.0.
It would be ridiculous, to call this SVG 2.0, well maybe SVG 0.8.

Because we really want 2.0, it has to be kept back to an early working draft.

Therefore there seems to be a lot of time to define all these new features 
identified to be required for SVG 2.0.

...
>Catmull-Rom didn't match the requirements and therefore had to be deferred 
>until after SVG 2.0. The specification text in question moved to the SVG Paths 
>module which allows the feature to get developed independently from SVG 2.0.

This feature of a smooth curve command including smooth closed paths
is pretty simple to implement as well.
I did an approach with an n-point curve with only local shape dependence on 
adjacent points  with an additional initial and a final control point located 
on the extension of the subpath to be generated.
And it was pretty simple to realise an 'implementation' with a simple PHP 
script converting this to the C-command equivalent.
It took about ~2 hours ;o) (including one variant with an additional tension 
parameter and a variant with automatic weights due to the distance between 
adjacent points).

For smooth closed paths authors just have to repeat three points from the 
beginning at the end of the n-point sequence without any calculation.
Because there was already a discussion, that implementors do not like to reuse 
points from the beginning of a subpath at the end for a smooth closure 
themselves , it remains to the authors to add these three points again at the 
end.
Different from C commands they do not have to calculate them, therefore simple 
enough for authors and implementors.
Should be enough to add a comment about this option for authors to the 
definition of the command.

Of course, for some other required features there might be no simple 
implementation, that reduces it again to an already existing SVG 1.1 feature.
The idea could be, that interested people spend program code or formal 
mathematics as 'reference implementation' to simplify adoption in the usual 
suspects of viewers ;o)


Olaf

Received on Monday, 19 November 2018 11:52:53 UTC