aejenk / glitchup

A databender library/executable made in Rust.
Mozilla Public License 2.0
1 stars 0 forks source link

UX/Design improvement #21

Open aejenk opened 5 years ago

aejenk commented 5 years ago

Currently the crate works well - however its structure can leave a lot to be desired. The following are some problems:

aejenk commented 5 years ago

Currently, the options.toml file is being overhauled. Support for constants [5] and avoiding weird errors (panic when [100,100]), including support for local overrides. The problem here is that a significant amount of options are now Optional, and the derive macro does not currently support nested OVals, for example Option<Vec<isize>>.

This will require time, meaning this overhaul will take time to be added.

A benefit is that this may simplify the configure function.

aejenk commented 5 years ago

The update to the macro has been completed and seems to work perfectly fine. The configure function hasn't been simplified much, however since data validation has now moved into the bender.rs file instead, the functions have been generalised further.

An approach to replace with a macro should be attempted.

aejenk commented 5 years ago

A possible improvement could be to separate the Configuration from the Bender. This would simplify the bender greatly, while also reducing the cost of reconfiguring the bender each time, opting instead to pass a Configuration struct.