Home Artists Posts Import Register

Content

Modulation now seems to be pretty stable. The system in place for managing undo/redo for everything is quite mind bending so I'm not 100% confident that it's all bug free at the moment but I've been doing a bunch of testing and it all seems okay.

I'm using Godot's built-in undo/redo which works pretty well but can be confusing. I'm not an expert but I think there is two main approaches for implementing undo/redo. One is to take a snapshot of the entire program state every time the user does something, and then undoing is just a case of rolling back to a previous state. This is what art programs like Photoshop do since there's no other way to get back that kind of data.

The other approach is to save a record of exactly what operations were performed to get from one state to the next, and also generate a sequence of commands to revert back to the previous state. Godot uses the latter approach, which uses way less memory but in a complex application it can sometimes be difficult to follow exactly what is happening at runtime.

The closer I get to the beta release milestone the slower things seems to be going. I'm at a stage that is common in software projects where a lot of the implementation I did early on is showing its age now that I have a more fleshed out view of how things are supposed to work. A lot of code needs to be refactored or outright rewritten. I'll be happy to start working on that once the initial beta is released. Overall though I think I'm still on track.

Comments

No comments found for this post.