Chlor

An Open Source Vector Graphics Editor for Mac OS X

Monday, August 13, 2007

Let's face it

I don't have the necessary time for Chlor. And i don't think i ever really had. Chlor's progress is too slow. I am not working on it for weeks and months while working on lots of other projects.

If some guys of you are interested in taking over, please speak. I could contribute a lot of ideas but not much code.

There are some nice things in Chlor which i am a bit proud of. The Gimp export filter, the (rough) PDF import filter, the class design, the hopefully readable code. It would be a shame...

Sunday, June 03, 2007

Select menu


Chlor 0.0.7 will have a functional select menu.

Chlor 0.0.6

Release early, release often.

The Chlor binary in this release is really a universal binary. XCode managed to fool me with 0.0.5. Then i added shift click to add objects to the selection. Most importantly Chlor files and Chlor generated SVG files do not appear empty anymore after loading them in Chlor. I also fixed th SVG export of the fill property.

The remaining changes are internal ones. Chlor also ships with my TODO list now so that you can see how much there is to do for just a single guy. *sniff*

Saturday, June 02, 2007

SVG Unit Tests

Today i added a first SVG unit test. This is source code which is comparing the result of Chlor's SVG import filter with the expectation regarding the result.

For example the in-code SVG document



NSString* svgDocument =
@"<svg width=\"300.0\" height=\"400\">"
@" <rect x=\"1.5\" y=\"0\" width=\"54\" height=\"260.75\"/>"
@"</svg>";



should result in a Chlor document with width 300 and heigth 400 while containing a rectangle shape with certain dimensions.

Adding more and more of such tests should make the SVG import filter stable and help track down errors in the implementation. Like the fact that Chlor documents appear empty after loading (the objects are just outside of the viewbox).

Sunday, May 27, 2007

Step by Step

Refactoring source code (rewriting the code without changing or adding functionality) is fun most of the time. But it is really great when you are able to add new features more easily afterwards. At once the effort pays off and you'll know that you did something right.

This just happend to me. After a refactoring session it was quite easy to add that one-click selection while holding the shift key adds objects to the document selection.

Saturday, May 26, 2007

Issues

It's not always easy to find time for Chlor. This time i mostly fixed small bugs and cleaned up the code. I could really need some help of any experienced or inexperienced developer.

The SVG export did not write the fill at all and the opacity was rounded down - to zero. I remember breaking this while reorganizing the paint classes.

There is one big remaining issue with SVG loading: Chlor doesn't load the SVG correctly it writes itself. Why is that? The coordinate system in Chlor is flipped vertically compared to the SVG system. Chlor flips the objects while writing to SVG. On loading this back flipping fails. The objects are loaded but they are shiftet outside of the page. Nested transformations just don't work correctly somehow. Couldn't find out why yet.

Sunday, April 01, 2007

Icon draft


I just vectorized my sketch. That's it. A shitty first draft.

Would be cool if someone with more graphical talent than me could improve upon this.

Saturday, March 31, 2007

Chlor 0.0.5

I just released Chlor 0.0.5, even though it does not contain earth shaking
development. The last release 0.0.4 was in May 2006. That's far too
much time past for an open source project.

Please be aware of the fact that the version number really reflects Chlor's state. I am no fan of the version number humbleness many Open Source projects enjoy. A project version number should be to inform the user and not to please the developers' ego.

Even though i am not satisfied about the shape of SVG import/export
and import in general i think i will focus now on the gui and on the
shape of the core classes soley. Everything else will follow
naturally if the gui is usable.