Crucial bugs in volume:save and volume:load

@John @Simeon

In Voxel Editor it seems:

  • volume:save does not add the .cvox extension when it saves files. So saved volumes can never be loaded again.
  • volume:load seems to be broken when trying to load a volume inside a project’s own asset folder. It seems to load volumes in ‘documents’ fine though.
  • In practice this prevents people from effectively sharing voxel models inside projects

@UberGoober The Voxel editor has been broken for a long time. I mentioned it back in March. It probably broke when the asset system was changed. Maybe even before that.

@dave1707 in my exploration the problem is the .cvox file format, not the asset system.

volume:save doesn’t even put a .cvox extension on saved volumes, which makes them inaccessible to the loader.

But if I manually change the saved file’s extension to .cvox (which I had to download an app specifically for the purpose of doing), and put the file in the documents folder, volume:load loads them perfectly, even using the new asset system.

@UberGoober I didn’t mean the asset change broke it, but I think when changes were made back then, other things got changed that may have affected it. I don’t remember what release the assets were changed, but I also don’t remember when the editor stopped working. Good catch on the .cvox extension, maybe it will be easy to fix.

@UberGoober I think @dave1707 is right in that this relates to the changes to the asset system since I’m looking at the code right now. It looks like a fairly easy fix, as I can just make sure it appends the .cvox extension

@UberGoober
I’ve pushed the change to our repository so it will be in the next beta release by @Simeon

Not sure about voxel models inside projects, I’ll have to test that as well

@dave1707 my revision of the Voxel Editor (https://codea.io/talk/discussion/12696/fps-voxel-editor-new-castle-bear-and-robodog) fixes save/load and implements redo and x, y, z mirroring. I think it’s basically a full fix for the Voxel Editor just with a new UI.