* replay: add dragging gesture support
* update dragging to support distance and duration; update mici script to go through settings
* refactor
* fix and add network
* add more
* interact device
* fix
* match statements
* more
* improve
* simplify script
* add keyboard test
* format
* simplify
* improve
* comment
* improve
* clarify
* clean
* simplify
* simplify
* move
* improve
* more delay
* simplify keyboard test
* simplify
* comment
* add onroad alert tests to mici
* scroll less
* test offroad alerts
* remove space
* scroll faster
* more toggle tests
* back to home
* test settings onroad
* fix pairing qr code
* add replay progress bar
* add replay progress bar
* simplify
* correct comment
* remove _
* we don't need this
* change click
* add return types
* fast typing
* use frames instead
* use frames instead
* update
* disable in CI
* +1
* fix script
* refactor how mici replay script cases are built
* refactor
* refactor: rename helper function for exploring settings in build_mici_script
* remove onroad settings check
* refactor
* simplify
* refactor: use explore_setting in more places to reduce duplication
* add type
* refactor: simplify explore_cases function by removing swipe_wait parameter
* add case to open wifi selection
* refactor: enhance run_actions to support after_each callback for interaction tests; rename explore_cases to scroll_through_cases
* add review training guide
* update comment
* comments
* comment
* fix swipe back
* 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>
* modeld: quiet do_chunk output during scons build
SCons default-prints Python function actions with all their args.
The do_chunk function has 1259 tinygrad source files as deps, causing
a wall of text during builds. Wrap in SAction with a short strfunction.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* split compile and chunk into separate Commands
cleaner fix: do_chunk only depends on the pkl, not tinygrad files
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* actually epic
* use child
* inside label
* revert other stuff
* no reset_shimmer: bool
* try 2 char
* not worth dynamic chunking
* bring back
* rm
* no emoji support on shimmer
* fix pairing qr code
* test pair device
* merge and pick from explore-more
* key
* fast click
* again
* add branch selection test
* click uninstall
* test prime states
* view regulatory
* test expand calibration desc
* override interactive timeout
* reorder
* remove todo
* update
* clarify
* test reset calibration
* update
* add calibration params test
* comments
* reorganize
* clarify
* add click through training guide
* this wasn't atomic!
* start mici
* always require internet to download installer
* this made it never use cached fetch!
* this skipped installer when it wrote it raced trying to run
* entirely remove
* clean up mici
* fix tici setup
* inline
* works