KitwareMedical / KitwareMedical/GirderMedViewer
Slider jumping
- Dominant language
- Python
- Stars
- 5
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
### Problem
The slider value is handled by the SliderState
When the slider value is changed, it triggers a listener to change the position (center) of the reslice cursor
When the reslice cursor is changed, it triggers a lister that update the view and update the slider value.
With some debounces + asynchronicity, when the slider value is changed by the reslice cursor listener it does not have the same value that originated this all pipeline : so the slider jumps.
### How to fix:
Create a proper classes PlacePointLogic to dissociate the two logics:
SliceViewLogic:
- on slider change in the UI --> change the reslice cursor
- on reslice interaction --> change the slider
PlacePointLogic:
- on position changed in the UI --> change the views sliders
- on position changed in the UI --> modify the reslice cursor
- on reslice interaction --> change the position
Contributor guide
Research direction
Start by tracing SliderState, SliceViewLogic, the reslice cursor listeners, and the slider update path described in the issue. Separate the slider and placement responsibilities into the proposed PlacePointLogic, then verify that slider changes and reslice interactions no longer cause the slider to jump.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- computer-graphics
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100