* 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>
* param to control stock vs sp ui
* init styles
* SP Toggles
* Lint
* optimizations
* sp raylib preview
* fix callback
* fix ui preview
* dialog txt
* compare vs what used to be done before InputDialog
* merge origin raylib toggles
* tree dialog
* less trees for the planet
* the heck
* save the trees we got icons
* Update process.py
* Remove 'sunnypilot_ui'
Removed 'sunnypilot_ui' parameter from params_keys.h
* Update raylib_screenshots.py
Removed the parameter setting for 'sunnypilot_ui' in the test.
* ui: fuzzy search helper
* better tree. fully dynamic and stuff
* rm
* more indent
* only show if fav_param is used in the call
* conditional for mypy
* sunny's new x,y makes this even easier!
* loathing loathing, unadulterated loathing, i loathe it all
* more changes!
* more changes!
* Update BUTTON_DISABLED_BG_COLOR to a lighter shade
* Update tree_dialog.py
* final
---------
Co-authored-by: nayan <nayan8teen@gmail.com>
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* introducing ui_state_sp for py
* param to control stock vs sp ui
* better
* add ui_update callback
* Revert "add ui_update callback"
This reverts commit 4da32cc0097434aab0aa6a3c35465eabb23c8958.
* ui: `GuiApplicationExt`
* add to readme
* use gui_app.sunnypilot_ui()
* add cp_sp to ui_state_sp
* fix ui crash
* update params
* more
* slightly more
* add directly to the list
* nah
* move around
* rename
* call before param time tracker is updated
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* almost
* works!
* clean up
* fix
* trash
* Revert "trash"
This reverts commit 951d63382810d444fe08103f406a8c490cfcbe25.
* fix some bugs and use
* clean up
* clean up
* fix clipping
* clean up
* fix
* feat(params): add support for parameter metadata retrieval
- Introduced `getKeyMetadata` method for accessing metadata associated with params.
- Enhanced `getParamsAllKeysV1` to include metadata parsing and optional dynamic enum generation.
- Extended unit tests to verify metadata parsing, enum mapping, and edge cases.
* Revert "feat(params): add support for parameter metadata retrieval"
This reverts commit 865b695ff966bfab7dab4d211fb2d91f06fe92db.
* update: integrate params metadata management and unit tests
- Added `update_params_metadata.py` to manage and update parameters metadata.
- Enhanced `getParamsAllKeysV1` to include metadata for params.
- Created comprehensive tests (`test_params_metadata.py`, `test_params_sync.py`) to validate metadata integrity and params consistency.
* update: improve params metadata readability and enhance enums
- Renamed params titles for clarity and consistency.
- Added enum options and mappings to selected params for better usability.
* update: enhance params metadata with improved enum structures
- Replaced plain enum lists with detailed objects (`value`, `label`) for clarity.
- Standardized parameter options for consistency across metadata.
* update: add validation constraints to params metadata
- Introduced `min`, `max`, and `step` attributes for improved parameter range validation.
- Enhances user input handling and ensures consistency in metadata.
* lint
* more lint stuff and permissions
* does this suffice?
* more lint
* update: refine params type hinting and remove unused shebang
- Adjusted type annotation in `params_dict` for better compatibility.
- Removed unnecessary shebang from `test_params_metadata.py`.
* update: expand test coverage for params metadata validation
- Added detailed test cases to ensure metadata consistency (`options`, `constraints`, `titles`).
- Validates API response alignment with `params_metadata.json`.
* the finals
* names
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* ci: add conditional swap creation to prebuilt workflow
- Dynamically creates an 8GB swap file on systems with less than 8GB RAM.
- Ensures builds complete reliably on low-memory environments.
- Introduced cleanup step to remove swap after workflow execution.
* Nice save
* clean
* reduce swap size in prebuilt workflow
- Adjusted swap file size from 8GB to 4GB to optimize resource usage.
* remove swap creation from prebuilt workflow
- Simplified workflow by removing dynamic swap file creation and cleanup.
- Adjusted resource management to rely on existing system resources.
* update sunnypilot build workflow to use explicit script calls
- Replaced `op` commands with explicit `/data/openpilot/tools/op.sh` script calls for better reliability and clarity.
* update sunnypilot build workflow to use systemd for process management
- Replaced `/data/openpilot/tools/op.sh` script calls with `systemctl` commands for improved compatibility and reliability.
- Ensures consistent resource management during start and stop operations.
* Splitting a bit the build then?
* split build steps in sunnypilot prebuilt workflow
- Added separate build steps for `modeld`, `modeld_v2`, and `locationd` with descriptive messages.
- Improves logging and clarity during the build process.
* limit locationd parallel processes aiming to help with resource consumption
* typo
* adding op's location d AND bumping to 4 cores for them
* Apply suggestion from @sunnyhaibin
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* fix arc artifacts
* works but how
* also this
* Revert "also this"
This reverts commit e8d5ed9af15568dcb178dd6da7a14d2c6191010e.
* clean up
* nl
* clean up
* more
* print
* print