* scroll: use iOS-style weighted velocity averaging for fling
Weight older velocity samples more heavily on finger release to produce
more consistent fling velocities. The last touch samples before lift are
noisy (finger decelerating, rotating, jittering), so we trust the earlier
steadier samples more: 60% oldest, 35% middle, 5% newest.
Reverse-engineered from iOS UIScrollView by the Flutter team.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Update system/ui/lib/application.py
* Apply suggestions from code review
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* pressed state for larger sliders
* wifibutton
* fix
* clean up
* some work
* don't nee this now
* stash
* more
* new pressed bigcircle
* black
* interp
* just check position
* clean up and fix slider reset
* fix custom
* no speed
* stash
* even chatter couldn't figure this one out
* makes sense to combine together, less split mentality
* clean that up
* fix lag
* match ui.py prio to eliminate lag on wifiui show event. separately, why is this slow?
* night mode
* delay scroll over
* fix auto scrolling
* stash
* waiting looks disabled
* clean up and don't reset sliders until user goes back
* rm
* fix
* add termsheader back
* fix callbacks
* ctrl alt l
* fix text spacing
* clean up
* stash
* fix style
* i want to go back
* guard on exit
* kinda useless stuff
* Revert "kinda useless stuff"
This reverts commit a4acbac31523408f358c5f68262cb630aa13ad8e.
* Revert "guard on exit"
This reverts commit 63ccfbf64edfbe1a144a441681f5ec78d8021ff7.
* wide
* setup pressed!
* grow animation
* 10s after initial
* slow fast
* start onboarding (terms)
* rm duplicate page
* add qr code
* final grey
* fix visual lag on first start
* clean up dead code
* dont exit from cancel
* revert grey
* clean up, REVIEW ME
* Revert "clean up, REVIEW ME"
This reverts commit c66fa60947c5f922520e7cf58c630b4bbe2d0177.
* reboot slider
* kb fix
* Revert "kb fix"
This reverts commit 883039448e6c37ae1d25d4f75ada6e96b6736358.
* ./ goes to letters
* Revert "./ goes to letters"
This reverts commit 0d97442427edb1a000638863a3f2181204ddc160.
* clean up
* some more clean up
* more
* clean up
* rename block
* reset pending scroll so it can't use stale data in rare sequence
* remove unused assets
* clean up imports
* fix updater
* clean up
* fix double reboot
* demo time - reset to setup on reboot
* let manager restart
* Revert "demo time - reset to setup on reboot"
This reverts commit 9468657e8438a1ce8fcb5266403b7bb3539f131f.
* url... and no grow animation on start button
* one next button
* grow instead of shake wifi button
* 36 pt font size in setup
* touch up onboarding a lil
* Revert "rm cpp bz2 (#37332)"
This reverts commit f4a36f7f74.
* more onboarding and clean up
* clean up
* wow what an amazing future clean up
* back to software select
* fix
* copy
* fix dm confirmation dialog not disabling widget underneath, all fixed with real nav stack in here
* uploading
* lint
* add review terms to device w/ close button
* todo
* remove old Terms vertical scrolling classes
* use new Scroller!
* installer
* tweak to match figma exactly
* revert
* fixup updater
* demo day
* demo day v2
* ... for percent while finishing setup
* demo day v3
* demo day v4
* remove ...
* demo day v6 -- "why does it do that!!"
* demo day v7 -- no flash
* hmm
* demo day v7
* prebuilt
* revert demo day
* scroll after pop animation
* back -> retry
* stash fixes
* damn, need back_callback
* scroll over immediately if already in network setup
* tweaks
* going down is confusing
* more
* Revert "more"
This reverts commit 29ce75b1f81eb40e7527a71d27842d9a66802206.
* Revert "going down is confusing"
This reverts commit 0cd2ae30d4135db1ccba6478429b45e886714e9c.
* dupl
* nl
* sort functions
* more clean up from merge
* move
* more
* dismiss to download (hack)
* Revert "dismiss to download (hack)"
This reverts commit 53c45ed1f63db1f0cebbce0dfab1777c8658f505.
* onboarding work
* set brightness and timeout in root onboarding only
* clean up
* type
* keep 5m for settings preview
* switch back to letters on . or /
* reset first step scroller
* custom software warning goes down network comes up and back cb fix
* clean up
* smaller qr
* ReviewTermsPage just for device as NavWidget
* clean up
* installer: stay on 100%
* reset has internet while in wifiui
* try this
* try this
* see what error we get exactly
see what error we get exactly
* not final solution but see how good
* rm
* copy changes
* reset on disconnect
* for separate pr
* Revert "reset on disconnect"
This reverts commit 552372fa4d497ba7d9de7f2edb730ee63798ffa4.
* revert this, too buggy
* fix for updater
* sort
* fix test
* minor cleanup
* more leaks than this rn
* onboarding clean up
* clean up application
* click delay to small button
* clean up
* reset more state
* fix training guide not cleaning up driverview
* Revert "fix training guide not cleaning up driverview"
This reverts commit cac7c5f436056cc9e747f80905d390790fb83c22.
* simpler fix :(
* nice catch, if you go back to terms it will reset 300s timeout and brightness
* duplicate show
* unused
* i like this better
* clean up
* debug
* fix able to click navwidgets that are closing (tested at rc 10)
* add dismiss guards
* fix keyboard so it unselects
* pairing: use dismiss
* main todo
* rm pop_widgets_to!
* reset dismiss state on show event
* debug pop animation bugs
* Revert "debug pop animation bugs"
This reverts commit 9239f2e12cf79b1f75d15d39262fdd15ff5a5200.
* revert
* cmt
* type
* clean up
* now do the todo
* treat using widgets, not idxs, as a separate clean up for later
* actually if not navwidget this is buggy
* fix
* short
* simpler
* stash
* widgets animate out
* Revert "stash"
This reverts commit eac3493509cff6f2c64111d803c7fef21a1aa2dd.
* abstract
* works also
* works also
* support pop_widget
* only animate top
* callback in request pop
* tune it
* fix
* fix
* try this
* Revert "try this"
This reverts commit 191373a1b35917ee3a361afe73b16eeb60d0a20e.
* debug
* debug
* clean up
* simple test
* clean up
* clean up
* clean up
* clean up
* clean up
* clean up
* clkean up
* re sort
* fine
* yes
* initial
* start to support nav stack in settings panels + fix some navwidget bugs
* add deprecation warning and move more to new nav stack
* fix overriding NavWidget enabled and do developer panel
* fix interactive timeout and do main
* more device, not done yet
* minor network fixes
* dcam dialog
* start onboarding
* fix onboarding
* do mici setup
* remove now useless CUSTOM_SOFTWARE
* support big ui with old modal overlay
* reset can be old modal overlay, but updater needs new since it uses wifiui
* flip name truthiness to inspire excitement
* all *should* work, but will do pass later
* clean up main
* clean up settiings
* clean up dialog and developer
* cleanup mici setup some
* rm one more
* fix keyboard
* revert
* might as well but clarify
* fix networkinfopage buttons
* lint
* nice clean up from cursor
* animate background fade with position
* fix device overlays
* cursor fix pt1
cursor fix pt2
* rm print
* capital
* temp fix from cursor for onboarding not freeing space after reviewing training guide
* fix home screen scroller snap not resetting
* stash
* nice gradient on top
* 40
* 20
* no gradient
* return unused returns and always show regulatory btn
* nice!
* clean up
* new_modal is always true!
* more clean up
* clean up
* big only renders top 1
* fixup setup and updater
* stash
* Revert "stash"
This reverts commit 3cfb226ccb51869ed1f7d630b5fdd6725ad094d5.
* fix mici keys coming in from top
* clean up
* fix mici dialogs like tici, pop first incase call back pushes
* clever way but not not
* Revert "clever way but not not"
This reverts commit f69d106df61262f049df20cc1a9064ca1e6feeb7.
* more setup
* mici keyboard: fix not disabling below
* cmt
* fix wifi callbacks not running in rare case
* clean up network
* clean up network
* clean up dialog
* pairing
* rm
* todo
* fix replay
* they push themselkves!
* clean up ui_state
* clean up application
* clean up
* stash
* Revert "stash"
This reverts commit 07d3f5f26c99ef891086b6fe03095d53a62b8631.
* typing
* lint
* initial
* start to support nav stack in settings panels + fix some navwidget bugs
* add deprecation warning and move more to new nav stack
* fix overriding NavWidget enabled and do developer panel
* fix interactive timeout and do main
* more device, not done yet
* minor network fixes
* dcam dialog
* start onboarding
* fix onboarding
* do mici setup
* remove now useless CUSTOM_SOFTWARE
* support big ui with old modal overlay
* reset can be old modal overlay, but updater needs new since it uses wifiui
* flip name truthiness to inspire excitement
* all *should* work, but will do pass later
* clean up main
* clean up settiings
* clean up dialog and developer
* cleanup mici setup some
* rm one more
* fix keyboard
* revert
* might as well but clarify
* fix networkinfopage buttons
* lint
* nice clean up from cursor
* animate background fade with position
* fix device overlays
* cursor fix pt1
cursor fix pt2
* rm print
* capital
* temp fix from cursor for onboarding not freeing space after reviewing training guide
* fix home screen scroller snap not resetting
* stash
* nice gradient on top
* 40
* 20
* no gradient
* return unused returns and always show regulatory btn
* nice!
* revert selfdrive/ui
* let's do tici first
* bring back ui
* not sure why __del__, SetupWidget was never deleted?
* device "done"
* network "done!!"
* toggles "done"
* software "done"
* developer "done"
* fix onboarding
* use new modal for debug windows
* and aug
* setup "done"
* clean up
* updater "done"
* reset "done"
* pop first before callbacks in case callbacks push
* fix cmt
* not needed
* remove two commented functions for mici
* clean up application
* typing
* static
* not sure what this means
* fix big
* more static
* actually great catch
* fix cmt
* call
* break
* print
* fix
* rm
* debug
* fix
* yeah ideally wifiui has no clue about this
* clean up
* clean up
* clean up
* only need this
* cu
* rm
* fix
* ui: add real-time video recording functionality with ffmpeg support
* fix: record at consistent frame rate
* add spaces
* fix type
* refactor: RECORD_FRAMES variable and related logic
* fix: remove unnecessary texture check
* support missing output extension
* add wait for close with timeout
* fix: ensure RECORD_OUTPUT has the correct file extension
* flush on close and terminate if times out closing
* ffmpeg hide banner
* reduce ffmpeg spam
* refactor: streamline ffmpeg arguments for video encoding
* refactor: move size arg to variable and add yub420p conversion for native support
* use render_width and render_height for size
* fix: ensure even dimensions for video encoding when recording
* rm itertools
* simple
* cleanup
* docs
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* add rest of langs
* unifont
* all langs are supported
* add japanese translations
* fix strip!
* add language name chars
* use unifont in lang selection
* add korean
* test all langs
* doesn't work
* unifont font fallback for multilang
* add ar translations
* fix labels not updating until scrolling
* t chinese
* more chn
* we already default
* wrap
* update
* fix thai
* fix missing chinese langs and all are supported!
* clean up
* update
* ??? mypy r u ok ???
* fix default option font weight
* fix multilang dialog height
* split to file
* stash
* Revert "stash"
This reverts commit deb4239fe69f0260420fad03f2350e622e31542f.
* add updater
* add files
* stuff
* try
rev
* stash
* works!
* works!
* this should be the flow?
* cursor wrapping -- it missed entire sections, changed formatting, and didn't use trn properly!!!!!!!!!!!!!!!!!
* update translations
* learned my lesson
* this should be the one thing it's good at
* update trans
* onroad wrap
* spanish
* rename
* clean up
* load all
* Revert "load all"
This reverts commit 6f2a45861c914ffb9d40a5edd15751afd798d614.
* jp translations
* try jp
* Revert "try jp"
This reverts commit d0524b10110104baafcdc1ec385c3d57bc5ef901.
* remove languages we can't add rn
* tr
* pt and fr
* ai cannot be trusted
* ai cannot be trusted
* missing trans
* add fonts
* Revert "remove languages we can't add rn"
This reverts commit 73dc75fae2b9e347d867b6636dab6e2b5fe59da7.
* painfully slow to startup
* only load what we need
* Reapply "remove languages we can't add rn"
This reverts commit 52cb48f3b838520a421f9b90e5ea4409c27d4bd0.
* add system
* that's sick that this just works (dynamic)
* fix description falling back to first str + support callable titles in list items
* device is now live!
* make firehose live
* developer
* network live
* software live
* and that
* toggles live
* regen
* start to clean up gpt
* revert op sans
* bruh
* update translations
* rm old script
* add noops for descriptions to fix translating away from non-english after startup
* missing de
* do filtering in multilang.py
* clean up
clean up
* codespell: ignore po
* fix update
* should not depend
* more live
* sidebar and offroad alert panel live
* fix issues with offroad alerts
* fix firehose live
* fix weird tr("") behavior
* sh key live bugfix
* setup.py live
* update
* update
* no fuzzy matching -- breaks dynamic translations
* rm this
* fix calib desc live trans
* change onroad
* rm dfonts
* clean up device
* missing live
* update
* op lint
* not true
* add to gitignore
* speed up startup by reducing chars by ~half
* fix scons
* fix crash going from qt
* preserve original lang
* cancel kb live translate
* no preserve
* fix lint