Some weeks in now, and finally time to do some big UI work. In question right now is the assignment of tiles to their respective WangIds. This will need to be fluid and intuitive for the user, and as such a few approaches may be tried out before one is settled on.
For the first take, I’ve made a mock up of how it should work:
Based on the number of edge and corner colors chosen for a given wang set, a template set will be generated. In the above image a 2 corner set is shown. A user will then select a tile from this set (shown bottom right) and “paint” this onto the appropriate tile in their own tileset. At this point Tiled will automatically move to the next template tile, as this will usually be the desired behavior. Likely hotkeys could also be used to move between the template tiles. Notably the template tile will become darkened to indicate it has been used, but it can still be assigned to more tiles.
For the general case this covers assignment, but it is also possible one may want a tile to represent a different wangId in its rotated state. In my current plan, this will be handled through a context based pop-up menu. A very rough mock up here:
From this, one can manually input the color of each corner/edge. In the final version The edge inputs would be hidden if the edge count was 0 or 1 (same for corners). Also shown are numbers for this input. In the final version this would likely be a drop down with a selection of colors.
To create a different version (for rotation flipping) one would be able to press a button under the Translations heading on the right (buttons missing from mockup) and this would create a copy of the current tile and wangId.
Around the top and right are arrows, which would act as buttons to create the “Translated version” which would appear as a list on the right. This would automatically rotate/flip the wangId as expected.
In the main view, there would be some symbol/indication that a tile has variations, but in this plan to actually see these, one would have to go into the above menu.
Interested in feedback on this plan before I move too far forward on it!