Hacker News new | ask | show | jobs
by Animats 3722 days ago
My point is that you can work on .SVG from a program; it's a simple text format. It's declarative, not executable. You don't want to have a Turing-complete executable graphics representation; it's too hard to edit. Postscript and PDF are executable representations, and editing either does not work well.

Also, if it's executable, someone will write an exploit in it.

1 comments

Fine, but what if I need to do something like: create a shape, make 5 instances of it (all progressively offset, translated, and rotated), and give each one a different color and outline — all while still keeping the original shape editable? What if I have a polygon with a child polygon that needs to have the same angle on one of its sides as its parent? What if I want to give the shadows in different parts of my file the same opacity and color? What if I want to define the relationship between an object's width and the thickness of its borders? I run into these sort of problems all the time. Illustrator almost gets there with its non-destructive effects, but it's not enough. Doing it using code alone is awful, since these sorts of problems tend to be small (but essential) parts of a project, and I need the GUI for the rest.

A lot of vector art already runs as a program; it just happens to run in the artist's head, and requires far too much effort to update. There ought to be a general solution.

That's kinda how SVG works if I remember correctly. You can define templates that cab ber instantiated multiple times, with optional transformations.

It's just not easy to do. If you want easy, you should take a look at http://framerjs.com/