Skip to content

Release/1.4.0 - #9

Merged
whitehml merged 25 commits into
mainfrom
release/1.4.0
Aug 17, 2026
Merged

whitehml merged 25 commits into
mainfrom
release/1.4.0

Conversation

@whitehml

@whitehml whitehml commented Aug 16, 2026 •

Copy link
Copy Markdown
Owner

Robot configuration

  • New device filter. A curated device list (packaging/device_filter.json) hides hardware your team does not use, with an in-app dialog to toggle entries.
  • Reworked the configuration editor. Port selection moved to a new scrolling port wheel that supports drag, keyboard entry and spin, and device lists are now sorted in natural case-insensitive order everywhere.
  • The config list marks which configuration is actually running, including the out of date, unverified and "may be running" cases, and prompts when the running config cannot be determined instead of guessing. This is because we brake convention and do not require activation every time a config file is saved, but the RC makes the last saved config as active even before it becomes active.
  • Add ability to delete configs.

Telemetry and graphs

  • Graphed telemetry can be recorded to a local CSV file. The graphs page gains a record button with elapsed time and row count, a save dialog, and long-format rows (timestamp, elapsed_s, key, value, unit) that pivot cleanly in pandas.
  • Graph pause now lives in TelemetryLog, so pausing one graph keeps every graph in sync instead of drifting apart.

Interface

  • Added advanced themes to support custom textures.
  • Hardcoded UI colors moved into custom theme types, and themed dialog windows now paint their title bars to match.
  • Added an in-app controls guide with a keyboard map, and retired CONTROLS.md in favor of it. The controls menu now scrolls cleanly on the Deck.
  • Remapped the keyboard face buttons to T, G, F and H, which frees Space.
  • Obligatory additional themes with every release.

Updater and release integrity

  • SHA256SUMS is now signed in CI and verified against a bundled public key before an update is unpacked, so the signature is the trust anchor for a downloaded build.
  • Updater HTTPRequest failures now report a specific error instead of a generic one.

Platform and toolchain

  • Migrated to Godot 4.7 and the Rust 2024 edition, with the toolchain pin moved to 1.97.1.
  • Bumped the robocol submodule: matching Rust 2024 migration, plus fake_rc now emits Servo Bus Current telemetry with amp units.

Field telemetry

  • New Field page. Your OpMode can draw on a field map by sending ordinary telemetry lines prefixed with #f (or #field): robot poses, points, zones and vectors, all rendered live over a field backdrop. Prefixed lines are consumed by the page and hidden from the telemetry text; everything else passes through untouched.
  • Items are grouped by a class name, and each class gets its own colour, a show toggle and a heading toggle, so a variable number of detections stays manageable. On the Deck, L4 toggles every class on or off and L5 does the same for heading arrows.
  • Field backdrops for 2025-26 DECODE, 2024-25 INTO THE DEEP, and a plain field with no game elements, switchable from the page.
  • Settings ▸ Field Frame sets the coordinate frame by its two corners, so the page reads whatever units and origin your code already uses. It defaults to the 0,0 bottom-left to 144,144 top-right, in inches, frame page prints the corner values just outside the field.
  • Settings ▸ Field Telemetry Format documents the whole line format in app, with the item types, attributes and copyable Java examples.
  • The Drive page carries a compact field view alongside the telemetry text.
  • Malformed lines are skipped and returned to regular telemetry.

@whitehml
whitehml marked this pull request as ready for review August 17, 2026 02:05
ScrollPane, PickList and PortWheel share one capture/release habit; FocusEdit,
DialogCancel, ScrollFade and FocusWiring fill the gaps around it. ui_cancel
moves to gamepad B.
The list and the editor both clip their rows, so the geometric search picks
rows scrolled out of sight and stops at a pane edge. Chain each row, keep
disabled buttons out of the chain, and give the filter dialog live move
buttons.
Left / right step a help dialog's tabs, A or B closes it, and the scroll bar
styling comes from ScrollFade now. The two help dialogs get their own menu
group.
@whitehml
whitehml merged commit 7566800 into main Aug 17, 2026
7 checks passed
@whitehml
whitehml deleted the release/1.4.0 branch September 11, 2026 03:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Controls menu fails to scroll on steam deck Add recording/csv logging feature to graphs Improve Config Editor UX

1 participant