64 lines
2.4 KiB
Markdown
64 lines
2.4 KiB
Markdown
# TODO
|
|
|
|
## General
|
|
- [ ] use matrix thing for UVManager (linear algebra is hard)
|
|
- [ ] Add action wheel icons
|
|
- [.] add separate function for updating relevant state variables instead of
|
|
sending full state to save bandwidth
|
|
- [ ] add function that gets total health with absoprtion
|
|
- [ ] retractable wipers when it rains
|
|
- [ ] avatar themes?? (AvatarAPI.getColor)
|
|
|
|
## Rewrite
|
|
- [.] fix data api
|
|
- [.] ConfigAPI
|
|
- [.] reimplement avatar settings
|
|
- [.] fix sound
|
|
- [ ] fix Blockbench animations
|
|
- [.] fix or disable custom commands (can probably use `/figura run`)
|
|
- [ ] 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
|
|
- [.] split off large snippets of code into separate files
|
|
- [.] PartsManager
|
|
- [.] UVManager
|
|
- [.] utility functions
|
|
- [ ] 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
|