-
Notifications
You must be signed in to change notification settings - Fork 281
Improving Live Watch UX — WebView migration, variable editing, Live Peripheral and roadmap discussion #1210
Description
Hi,
I'd like to share the improvements I've made in my fork and raise a discussion about potentially upstreaming some of these changes.
What's been done in the fork
Live Watch rewritten to WebView
The original TreeView implementation has several limitations that make it hard to improve the Live Watch experience. In my fork, Live Watch has been fully rewritten using WebView, which enabled:
Inline variable value editing via double-click
Inline variable name editing
Context menu for format selection (,h, ,x, etc.)
More reliable tree node expansion (partially fixes #943 and the issue with structs in arrays)
Styling unified with the original Watch view
Live Peripheral (livePeripheral)
A new livePeripheral configuration option was added, enabling automatic peripheral register updates while the program is running — without pausing the target. This works in conjunction with embedd-peripheral-viewer and provides a near Keil-like experience for monitoring hardware registers in real time.
"livePeripheral": {
"enabled": true,
"samplesPerSecond": 4
}What's still missing
The one remaining piece for a truly complete Keil-like experience is a live memory viewer — a hex/memory window that continuously reads and displays memory cells while the target is running, with the ability to edit individual cells on the fly. This would bring the debugging experience on par with what Keil uVision offers out of the box.
Discussion: WebView migration upstream
The main reason these changes can't be submitted as a PR to this project is the architectural difference — the Live Watch rendering method would need to change from TreeView to WebView first.
I'd love to hear thoughts on whether this is something the maintainers would consider. Happy to help with the migration if there's interest.
Fork: https://github.com/Avlaak/embedd-cortex-debug