On Wed, 2010-04-07 at 18:45 +0200, Krzysztof KosiĆski wrote:
In step 3, how do I know that I've fixed the guides already? If I fix them again, they will be mirrored vertically and we fail. Do I write inkscape:version="0.48" to the SVG after fixing it, even though the actual version is 0.47+devel r9876? I don't like this, because:
- The SVG now lies about what created it.
- We can change the document format only once per release.
- We can't have a revision (let's call it 0.47+foo) that fixes only
some defects (e.g. fixes guides but not 3D boxes), and later add more fixes. Otherwise if somebody opens a file in 0.47+foo and saves it, the file will be permanently broken. Later revisions that do fix e.g. 3D boxes will recognize it as already fixed and do nothing to remediate remaining problems. 4. If two people decide to do something that requires XML compatibility fixes in a single release, it will be hard to coordinate between them.
Okay, but if the coords orientation is optional (as it should be), then this whole conversation makes no sense. It makes sense to me if the coords are stored on a per-document basis (but top-left oriented on all new docs), and people could then flip them on old docs to cause the upgrade to happen if they wish. Then you don't have to worry about knowing which is which. If it doesn't have the markup stating the coord system, write that it has the old one and it gets saved to the doc... if it does have it, serve up the guides and 3d boxes oriented correctly for whichever system (normal or inverted-y).
In this scenario, the bottom-left oriented people aren't forced into changing (they can set up templates with bottom-left orientation if they prefer it that much), and there's no worrying about who we upgrade things for and if it's been done.
Cheers, Josh