Polishing the T-urtle

Cellgraph 0.7 is out. (I introduced it here.) And I will tell you about the great new features in the next paragraph and how it helps you to play with logical structures and deepen your understanding of them. But first please let me mention the why!

sqrt.png

Almost everybody here has side projects, that might be a waste of time - but you just want to build them because you feel a connection to the idea. Cellgraph is such a project to me. And after looking at all my stalled and half baked projects I wanted have something completed, well designed, beautiful code, nice interface, a joy to use - perfect as I'm capable of. Something that can rekindle your love for programming. In one way it already made me a better programmer, with better habits. Every time I spot a flaw in code, in code structure or even architecture I fix it. Yes its tedious. But I got a sense how good code looks like and whats needed, so i can get there faster in other projects.

Plus there is a lot going on under the hood you can not see, but that is needed to get smooth functionality. Why you can use a slider or arrow buttons to change a value and still get a smooth undo and redo that work as you expect? There is an data history class that can replace current value when they coming in faster. Will probably released as its own module some day.

The other why is: I like beautiful personalized graphics. Its the opposite of AI, you can tweak the details in the sense of directly touching them. And understand what you did. Many of the new features help you with that. Maybe the strongest new feature is the variable subrule mapping. Big word. Well, the state of a cell and its neighbors determine the next state of a cell. If you have a large neighborhood and many states you get combinatoric explosion. So I have 4 levels of how to bundle similar rules, so it stays manageable. The groupings also introduce certain graphical behavior. Also good for learning what is going on: many parameter have randomize functions. You can push it a few times to see what actually changes to see the influence of that parameter. And the undo and redo buttons make it easier to go back to the best you fond or to experiment in general. Also the action rules got completely reworked. They are much more powerful now. But in the end they produce certain areas where the usual pattern just breaks down. Then you have a lot of functions that produce related rules. Also helpful to understand but not a new feature. Lastly something that added a new layer of possibilities was the result application. Cellular automata are just simple functions state of neighborhood cells --> new cell state. But what if you do not just replace the old state with the new but add it (modulo max) or do other operations. This is especially useful when your rule has almost none useful output image and you could not figure out which subrule is the bottle neck that prevents the patterns from change. Then just drop in another result application and you got totally different pattern which than you can tweak into your liking.

And than has got a load of effort in cleaning up the UI, fixing the documentation. Rendering and startup got faster, better UI guidance and more bugs squashed than i want to admit where there. Please give it a try. Thank you.

Leave a comment

About lichtkind

user-pic Kephra, Articles, Books, Perl, Programming