The Javascript Linear Algebra Library Blues

xvg debugger

I have been looking around for a JS Linear Algebra library specifically targeted at the domain of SVG or just plain coordinate geometry.  Can’t find for toffee.

Stunning, but then again JS was born as a simple scripting language to make Netscape pages come alive, way back in the Internet I days.

The way JS implements numeric data types (there are none), data operations (unpredictable runtime results), and data structures such as multidimensional arrays (what’s that?) makes it obvious — JS was not really designed to support deep math.

Increasingly, it looks like if I want to take a functional approach in my app for creating SVG-based geometric designs, then I am going to have to develop a poor man’s JS linear algebra lib myself. Crikey.

Meanwhile, I have been studying with increasing dissatisfaction the dual array scheme that I have used on for the last few weeks (see debugger screenshot above), and am considering some significant architectual changes to XVG in order to make the codebase more efficient and easier to extend.

In other news, I had the incredible good fortune of finding out last week that the domain XVG.app was available, and today I finally grabbed it. You won’t believe what the squatter who owns XVG.com wants to part with that URL.

I was toying around with variations of Euclid.something for a while, then decided in the end that there are too many Euclids out there and instead opted to stay with the name I have been using as a beta project codename for the last few weeks.

So XVG.app it is: short sweet, and easy-to-remember.  can’t remember the last time I saw a perfect 3-letter URL in a standard TLD being available.

Now that I’ve settled on the User Interface and have a stable, custom built HTML5/CSS grid framework to hang everything on (my app is simple enough for that), it’s time to dig in and tackle the harder bits.