This Week was a quality of life update. Using the tools we created is the custom button class, we were able to create functional buttons, radios, and toggles, and after settling on a theme, We also redesigned the sprites for all buttons, and create some new ones as well.
We also started to tackle a big tool-Version history. It is important that our tool has history of modifications to the voxel, for user convince. We think it would work best to use a JSON file to hold the version history, as arrays of history objects, which will be parsed by a interpreter, and be able to be undone or redone.
We took some time to Redo the file hierarchy. Because we now have 3 files per voxel (The PNG, the OBJ, and the JSON) we think it best to store all of a Voxel's files in one location. So we designed the save functionality to take the name of the Voxel project, and assign the same name to each file that corresponds to that project, and place them all in the same directory.
Another functional Quality of Life change is drag pen, which allows a user to click and drag to place cubes in strokes, rather than individual. This was very important, because we want our tool to feel like an artist's tool, which means being able to make strokes, like painting on a canvas.
Now that we have multi-select, we can modify the entire selection at once. We can add to a selection, erase a selection, or change the color of a selection. This was done by iteratively using the functionality of add, remove and color to do the user-selected action over the entire list of selected blocks.
Additionally, we can now select an entire layer, in any dimension. While this works, we need to add the ability to easily change the dimension and layer we are selecting. It will eventually allow for filling of layers, which will be useful for an array of applications. Additionally, it can be used to clear rows, or recolor them.
While not hooked back up yet, we have added new icons for the Picker and Brush tools. We also plan to have Drag functionality for these tools as well, which will make it easier for a user to change the color of existing blocks in strokes, and more naturally select a color from a region.
File hierarchy redone
Generation of JSON file for undo redo
Drag select
Drag pen
layer select
Icons redesigned for theme
added brush button back
added picker button back