Skip to content

Uday/feat/customize debug search count#39

Merged
mxgrey merged 7 commits intoopen-rmf:mainfrom
uday-kalyan-s:uday/feat/customize_debug_search__count
Mar 19, 2026
Merged

Uday/feat/customize debug search count#39
mxgrey merged 7 commits intoopen-rmf:mainfrom
uday-kalyan-s:uday/feat/customize_debug_search__count

Conversation

@uday-kalyan-s
Copy link
Contributor

New feature implementation

Implemented feature

Lets you select the number of paths being shown from a state dynamically

Implementation description

Fixes #38

The way it was implemented is that the tickets drawn from a state are dependent on the debug_ticket_size at that point in time. Further consideration may be done to redraw all of them based on the current count set but i personally like this more as you can select different number of tickets drawn from different states based on its importance.

GenAI Use

We follow OSRA's policy on GenAI tools

  • I used a GenAI tool in this PR.
  • I did not use GenAI

@mxgrey mxgrey added this to PMC Board Mar 18, 2026
@github-project-automation github-project-automation bot moved this to Inbox in PMC Board Mar 18, 2026
@uday-kalyan-s uday-kalyan-s force-pushed the uday/feat/customize_debug_search__count branch from 46fa68c to f558ee4 Compare March 18, 2026 13:47
Copy link
Contributor

@mxgrey mxgrey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking on this ticket! I think this is a good start but I left some inline comments to consider.

Comment on lines +1992 to +2006
.push(
Button::new(
&mut self.decrease_debug_ticket_size,
Text::new("-"),
)
.on_press(Message::DecDebugTicketSize),
)
.push(iced::Space::with_width(Length::Units(8)))
.push(
Button::new(
&mut self.increase_debug_ticket_size,
Text::new("+"),
)
.on_press(Message::IncDebugTicketSize),
)
Copy link
Contributor

@mxgrey mxgrey Mar 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While trying this out I found it a bit tedious to repeatedly click the - or + to change the count. I wonder if we could change this to a text input that gets interpreted as a number. It would be better to do a NumberInput, but we're currently relying on a fork of iced, so I suspect this more recent version of iced_aw will be incompatible (edited) without a considerable amount of work.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ohhh right yeah that seems like a much better option. I'l switch over to that then

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mxgrey I'm running into a version dependency issue on all versions of iced_aw > 0.5 :(

error: failed to select a version for `web-sys`.
    ... required by package `wgpu v0.16.0`
    ... which satisfies dependency `wgpu = "^0.16"` of package `iced_wgpu v0.11.0`
    ... which satisfies dependency `iced_wgpu = "^0.11"` of package `iced_renderer v0.1.0`
    ... which satisfies dependency `iced_renderer = "^0.1"` of package `iced_widget v0.1.1`
    ... which satisfies dependency `iced_widget = "^0.1.1"` of package `iced_aw v0.6.0 (https://github.com/iced-rs/iced_aw?tag=v0.6.0#12c3bc0e)`
    ... which satisfies git dependency `iced_aw` of package `mapf-viz v0.3.0 (/home/uday/gsoc/fork/mapf/mapf-viz)`
versions that meet the requirements `^0.3.61` are: 0.3.91, 0.3.90, 0.3.89, 0.3.88, 0.3.87, 0.3.86, 0.3.85, 0.3.84, 0.3.83, 0.3.82, 0.3.81, 0.3.80, 0.3.79, 0.3.78, 0.3.77, 0.3.76, 0.3.75, 0.3.74, 0.3.73, 0.3.72, 0.3.70, 0.3.69, 0.3.68, 0.3.67, 0.3.66, 0.3.65, 0.3.64, 0.3.63, 0.3.62, 0.3.61

all possible versions conflict with previously selected packages.

  previously selected package `web-sys v0.3.57`
    ... which satisfies dependency `web-sys = "^0.3.46"` (locked to 0.3.57) of package `rfd v0.12.1`
    ... which satisfies dependency `rfd = "^0.12"` (locked to 0.12.1) of package `mapf-viz v0.3.0 (/home/uday/gsoc/fork/mapf/mapf-viz)`

failed to select a version for `web-sys` which could resolve this conflict

and updating rfd gives

error: failed to select a version for `web-sys`.
    ... required by package `wgpu v0.12.0`
    ... which satisfies dependency `wgpu = "^0.12"` of package `iced_wgpu v0.4.0 (https://github.com/mxgrey/iced?branch=asymmetric_scale#036769a9)`
    ... which satisfies git dependency `iced_wgpu` (locked to 0.4.0) of package `iced v0.3.0 (https://github.com/mxgrey/iced?branch=asymmetric_scale#036769a9)`
    ... which satisfies git dependency `iced` (locked to 0.3.0) of package `mapf-viz v0.3.0 (/home/uday/gsoc/fork/mapf/mapf-viz)`
versions that meet the requirements `^0.3.53` are: 0.3.57, 0.3.91, 0.3.90, 0.3.89, 0.3.88, 0.3.87, 0.3.86, 0.3.85, 0.3.84, 0.3.83, 0.3.82, 0.3.81, 0.3.80, 0.3.79, 0.3.78, 0.3.77, 0.3.76, 0.3.75, 0.3.74, 0.3.73, 0.3.72, 0.3.70, 0.3.69, 0.3.68, 0.3.67, 0.3.66, 0.3.65, 0.3.64, 0.3.63, 0.3.62, 0.3.61, 0.3.60, 0.3.59, 0.3.58, 0.3.56, 0.3.55, 0.3.54, 0.3.53

package `wgpu` depends on `web-sys` with feature `GpuBufferUsage` but `web-sys` does not have that feature.
 package `web-sys` does have feature `GpuBufferUsage`


all possible versions conflict with previously selected packages.

  previously selected package `web-sys v0.3.77`
    ... which satisfies dependency `web-sys = "^0.3.53"` of package `wgpu v0.12.0`
    ... which satisfies dependency `wgpu = "^0.12"` of package `iced_wgpu v0.4.0 (https://github.com/mxgrey/iced?branch=asymmetric_scale#036769a9)`
    ... which satisfies git dependency `iced_wgpu` (locked to 0.4.0) of package `iced v0.3.0 (https://github.com/mxgrey/iced?branch=asymmetric_scale#036769a9)`
    ... which satisfies git dependency `iced` (locked to 0.3.0) of package `mapf-viz v0.3.0 (/home/uday/gsoc/fork/mapf/mapf-viz)`

failed to select a version for `web-sys` which could resolve this conflict

Should I just move on with the v0.5 iced_aw? It does support number_input but its been through a lot of bug fixes in each version

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm running into a version dependency issue on all versions of iced_aw > 0.5 :(

I'm so sorry, there was a typo in my earlier comment which I've edited to correct. I was expecting the newer versions of iced_aw to be incompatible due to our fork, and that's exactly what you've found 😭

Should I just move on with the v0.5 iced_aw? It does support number_input but its been through a lot of bug fixes in each version

If you're able to find any version of iced_aw that has number_input and is compatible with the fork we use, that would be fantastic. I'm definitely not expecting the newest version of iced_aw to work without us doing a major overhaul of our fork of iced and probably other dependency migrations.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ohhh lolll. Thats alright! I'l just switch over to 0.5 then. it seems to be exactly what we are looking for

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe as a last resort we could use a slider that ranges from 1 to 100 or 1000. It's certainly not ideal, but it's a significant improvement over the previous fixed value of 10.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yepp. I guess it's a bit hard to control, but I doubt anyone's looking to set a fine-grained value of this. Anyways, can you pls check the latest commit once to see if it's fine.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A problem I'm noticing with the slider is that the text to its left will change size while sliding, which changes the spatial range of the sliding bar and creates an unstable feedback loop:

slider_problems.mp4

Moving the slider by a single pixel can make the numerical value jump around wildly. Instead of this side-by-side approach we should place the slider under the text, like you see for the other numerical sliders in the app:

image

That way when the slider changes the displayed number, it's not also changing the space of the slider itself.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ohhhh rightt yeah fairss that's true. I thought the issue was a glitch in the iced library 💀 . I'll change that bit over to a vertical layout then

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yepp. Now it works much better thanks!!
image
Although it doesnt look the best asthetically 😅 , but im not sure if theres any other option

Signed-off-by: uday-kalyan-s <udaykalyansreenivasa@gmail.com>
Signed-off-by: uday-kalyan-s <udaykalyansreenivasa@gmail.com>
Signed-off-by: uday-kalyan-s <udaykalyansreenivasa@gmail.com>
Signed-off-by: uday-kalyan-s <udaykalyansreenivasa@gmail.com>
Signed-off-by: uday-kalyan-s <udaykalyansreenivasa@gmail.com>
@uday-kalyan-s uday-kalyan-s force-pushed the uday/feat/customize_debug_search__count branch from b29fc06 to 9842161 Compare March 18, 2026 19:48
Signed-off-by: uday-kalyan-s <udaykalyansreenivasa@gmail.com>
@uday-kalyan-s uday-kalyan-s force-pushed the uday/feat/customize_debug_search__count branch from be699e4 to 19be2ab Compare March 19, 2026 08:29
@uday-kalyan-s uday-kalyan-s requested a review from mxgrey March 19, 2026 08:52
Signed-off-by: uday-kalyan-s <udaykalyansreenivasa@gmail.com>
Copy link
Contributor

@mxgrey mxgrey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great improvement, thanks for iterating!

We'll merge this as soon as the CI passes.

@mxgrey mxgrey enabled auto-merge (squash) March 19, 2026 16:20
@mxgrey mxgrey merged commit 8eada52 into open-rmf:main Mar 19, 2026
4 checks passed
@github-project-automation github-project-automation bot moved this from Inbox to Done in PMC Board Mar 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Feature request]: Customizing the number of paths being shown for a state in debug mode through the UI

2 participants