If you are doing this for the web (I don't want to assume terribly much), you could look into SVG (at CPAN: SVG and the spec: W3C SVG 1.0). It's fairly simple and XML based, plus there is a very strong developer community.
If you make something idiot-proof, eventually someone will make a better idiot. I am that better idiot.