“It’s a maker…”

Status update: I’ve just started a non-Blender-related job as a developer at a company called MakerBot that sells 3D printers. What with moving from South Carolina to Brooklyn and the usual getting-up-to-speed at the new job I’ve been a bit busy. I’m still working on dyntopo as time allows, and I expect that as I settle in, my Blender projects will pick up steam again.

My current focus is on finalizing parts of dyntopo that could be committed separately. The largest such component is the BMLog, which is what dyntopo is using for undo/redo. Rather than making full copies of the BMesh, it keeps track of the Euler operators applied to the mesh (and their inputs), and undoing simply applies the inverse operator.

If necessary, BMLog could be added as an optional system that is only enabled for dyntopo, but if possible I’d like it to handle undo in editmode as well. This will ensure it gets proper testing, and should generally be advantageous in terms of memory usage as well. I’m currently making the necessary changes to use BMLog for editmesh undo so that I can give it some better testing.

BMLog also needs thorough developer documentation and various code cleanups to meet my own standards. I’ll be going through each commit to do my own code review as well, before proposing it for inclusion in Blender (at which point, if there is interest from other developers, it will get additional review before being included in Blender.)

The 2.64 release is still planned for sometime in September. It’ll be nice to see that code finally get out the door; it’ll be the first official release with sculpt masking and the skin modifier. I’m hopeful that BMLog can be proposed for inclusion in 2.65, but that will depend on my schedule and feedback from other developers (who may be busy with GSoC merges.)