art with code

2008-11-17

Filezoo, day 8: Merge of the recursive branch


Branched the master into a recursive branch on day 6, worked on that branch and rewrote most of the drawing and traversal code. Yes, you may facepalm now. But I got out of it and the code works again, so I can't complain too much. Was banging my head against the wall with recursive drawing and traversal for two days though.

Now Filezoo has recursive drawing of the directory hierarchy with titles and all. Relayouting the tree is still clunky when using Count / Total size filters, and there are some nasty performance edge cases when browsing to huge monotonous directory structures (especially while their traversal is still in progress.)

I'm currently writing a requirements document for staking some goalposts for the application, and also to provide development focus. So day 9 will be typing the first version of requirements out. As that won't take all that much time, I'll also be working on performance and making the navigation more natural (it should work by zooming all the way so that there's no need to click on directories / breadcrumb entries.)

Full-scale zoom requires some hacks though, as Cairo can't handle large coordinates and you start running into accuracy problems with doubles at high zooms anyhow. If I find a nice way to use bignums, I'll use those. If not, I'll emulate them. Anyhow, need to do the zooming matrix math with bignums and project and clip to screen space doubles for drawing.

Not all that happy with the new layout, so will have to work on that too...

No comments:

Blog Archive