Closed sheepish12 closed 1 year ago
As a solution, I propose the addition of optional configuration StringValues Board.DefaultPenAColor and Board.DefaultPenBColor.
why not use attributes for this?
@madelinecatgirl My only reason is to stay consistent with current user configuration, which uses value objects over attributes
I think the per-board default color config was a good idea, but I think giving each board a different state has become more of a nuisance than it has helped. Seminars/lectures usually take place across multiple boards, and so using anything other than the white pen at the default size means you have to reconfigure it every time you move onto a new board.
Another consideration is that global tool state is the only thing that makes sense for VR. There's not really a concept of selecting a board to write on, you just walk around with your pen drawing on any board.
I think the simplest solution is to return to global tool state + global config, and just not have black and white boards in the same world.
Done.
Board-specific default colours
Currently, the default colour for pen A and the default colour for pen B can be set with the two settings in
common/Config.lua
(Config.Drawing.Defaults.PenXColor
). This configuration is global, which is a problem since you might not want every board to have the same two default colours. Some boards look better with white pen whereas some look better with black pen, for example.As a solution, I propose the addition of optional configuration StringValues
Board.DefaultPenAColor
andBoard.DefaultPenBColor
. These should be set to a name of one of the TextButtons underBoardGui.Toolbar.Colors
(which each have a name representing a colour). When you open some board for the first time, your pen colours should be set to its default colours.Per-board drawing tool state
This requires a larger change in behaviour. Currently, when you open a board, none of your drawing tools are modified. With my proposal, pen colour is modified upon first opening a board. Along with this, it would make sense for pen colour to be saved per-board so that when you open some board, your pen colours are set to what they were the last time you had that board open.
This leads to an additional question: should the entire state of your drawing tools be stored per-board instead of globally rather than just the pen colours?