* refactor: move lateral methods from init to lateral.py (#2594)
* Extracting lateral methods to lateral.py
* cleaning
* more cleaning
* more cleaning
* Making sure it remains where it should
* Leave rate_limit where it belongs
* Moving things to `car/controls/`
* Moving rate limit to get a taste of the changes
* clean
* copy verbatim
* clean up
* more
* now we can format
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
* No need to change order of import
* refactor: consolidate ACCELERATION_DUE_TO_GRAVITY import path
* bump opendbc
* update refs
* don't import from opendbc
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* refactor: move button to widgets folder
* refactor: move inputbox to widgets folder
* refactor: move label to widgets folder
* refactor: move list_view to widgets
* refactor: move scroll_panel to widgets
* refactor: move scroller to widgets
* refactor: move toggle to widgets
* refactor: Move widget.py to widgets/__init__.py
* fix: remove extra list_view
* refactor: rearrange some of the imports
* fix: remove extra scroller.py
* fix: Add scroller back
* fix: delete right scroller.py this time
* move scroll_panel back to system/ui/lib
* add todos for label and button
* add _update_state
* nonlya
* visible already does this for us!
* do hud renderer and exp button
* temp
* this really needs some type of timer like QT
* this really needs some type of timer like QT
* todo
* use in model renderer
* Revert "use in model renderer"
This reverts commit d35f774155.
* no passing rect
* cl
* unused now
* something like this
* need these
* rest
* another pr
* what is this merge conflict
f
* fix mouse down
* rm that!
* fix that
* rearrange
* fix bug where mouse held down on widget, dragged off, then let go
* temp
* fix that
* missing init
* add experimental mode toggle button with visual indicator
* merge master
* implement a temporary state hold after mouse click"
* move to seperate class
---------
Co-authored-by: Shane Smiskol <shane@smiskol.com>