Thanks for the heads up, I'll fix the bug in 4.8.4.As for the branches and backrefs, I removed them because they were difficult to document adequately. So I just tried to make it work similarly to a C struct because that's easy to understand and explain. If there's enough demand I could bring the feature back, though. I admit I was nice being able to load an entire .rmp file with one call...
I've just learnt how the history feature works on github.
I actually wanted to add a function for that like Surface#lock() but I couldn't come up with a way to expose the raw pixel data to JS in a user-friendly way. I'll revisit it at some point, it might be possible to have it return an ArrayBuffer or similar.That said, the preferred way to do fancy scaling nowadays is in the fragment shader. I think I've seen hq2x shaders out there, for instance.