diff --git a/TODO.md b/TODO.md index b2e93ca..2641f0c 100644 --- a/TODO.md +++ b/TODO.md @@ -18,12 +18,30 @@ - [ ] fix armor, won't re-enable until cleanup ## Cleanup +- [ ] Rewrite state management and synchronization code to be less horrifying + - [ ] one library for syncing state + - [ ] sender side: allow syncing entire state (EXPENSIVE) or just + single values + - [ ] internally map variable names to a number deterministically + to reduce unnecessary data transfer + i.e. t["this_is_a_very_long_but_readable_variable_name"]=42 -> + t[6]=42 + - [ ] use a lookup table/array based on order added + - [ ] user should never see this, variable name to number + translation should be completely transparent + - [ ] alternatively no manual syncing; state should be implicitly + "shared" and can only be written to/read from via functions to + prevent bad programming from desyncing state + - [ ] receiver side: register handler function that has access to both + old and new state + - [ ] receive value -> run handler function -> replace old value with current + - [ ] i think figura has a shared storage thing but it's not real time, + mirror values to this so newly initialized players load with + correct state + - [ ] one library for storing configs and their default values + - [ ] this will insert values into the shared state using the other library - [ ] potentailly rework shared state variables - [ ] rework appropriate action wheel items as ToggleAction instead of ClickAction -- [ ] reimplement partial vanilla as texture swap - - [x] remove partial_vanilla stuff from PartsManager - - [ ] fix UVManager with matrices or something - - [ ] add swap to skin texture - [ ] split off large snippets of code into separate files - [.] PartsManager - [.] UVManager @@ -31,6 +49,12 @@ - [ ] cleanup tick functions, timers - [ ] cleanup armor code to make less redundant +# Low priority +- [ ] reimplement partial vanilla as texture swap + - [x] remove partial_vanilla stuff from PartsManager + - [ ] fix UVManager with matrices or something + - [ ] add swap to skin texture + # Done - [x] fix pings - [x] fix action wheel