I started the parameteric curve library back in 2004, with the first TechNote appearing in 2005. My original goal for this library was to have a code repository to illustrate mathematical concepts discussed in TechNotes. My strong belief is that fundamental principles of computational geometry should be freely available (with mathematical and code details) to everyone in the Flash/Flex community. You should never have to buy a book, CD or any other resource to learn how to create and use Bezier curves, splines, etc. In fact, I maintain that the level of detail in the Singularity parametric curve library and the online TechNotes surpasses that of any Flash book purporting to discuss similar topics, and it’s absolutely free🙂
In 2007, Singularity was expanded to include another of my favorite topics – kinematics. A preliminary version of 2D rigging classes was added to the library. Along the way, Singularity took on a new role as people began using the library in production applications. Although I don’t mind such use, I never originally intended the library for that purpose and do not want to be in the business of maintaining and supporting a production application library.
There are over a dozen commercial users of Singularity to date and I’ve recently been thinking about the future of the parametric curve library. Many have suggested the creation of yet another open-source project. Not a bad idea at all, but there is something lacking.
If I do anything different with this library, it would be expanding its usefulness to people that do not have the mathematical and programming skills to use a low-level computational geometry library. I can create all the Flex demos in the word, but that does not help someone who understands Flex but lacks the mathematical and programming background to use Singularity.
Ah! Understands Flex … hold that thought for a second. What if the algorithm technology in the Singularity parametric curve library could be used in a declarative markup environment? Wouldn’t that be cool? Hmmm … what existing open-source projects offer such a facility?
Well, I’m happy to announce that I’ll be joining the Degrafa team as a contributor/consultant/general math guy with the goal of helping transition the algorithm technology in Singularity to Degrafa. This satisfies both my goals of making fundamental algorithm technology freely available to the community and increasing its applicability beyond a relatively small group of programmers.
What this means is that I will no longer be developing application code for the Singularity parametric curve library. I will be using my spare time to help the Degrafa core team migrate existing code and tecnology to their code base. I will also devote research time to issues of primary intererest to the Degrafa team and community. In fact, my current background project that spawned the Spline Tangent series is based on a stated desire from the Degrafa team.
I will continue creating and posting online demos, however, over time you will see most of the computational geometry demos migrate to Degrafa examples. I will continue to work on the rigging classes and expand the scope of kinematics coverage in Singularity over time.
I think this is an exciting develoment and I look forward to working with the awesome developers on the Degrafa team as well as helping support the incredible community of Degrafa users.