GraphiteEditor / GraphiteEditor/Graphite
Canvas doesn't rerender on moving left by text field
- Dominant language
- Rust
- Stars
- 27.2k
- Forks
- 1.3k
- Avg merge
- 20h 5m
- Merged PRs (30d)
- 57
Description
## Description
When inserting a text field, and on updating it's content, the text field occasionally moves left if its length is more and doesn't fit the currently displayed canvas, it is done so as to accommodate the cursor to see what is currently being written. In doing so, it doesn't re render the underlying canvas on the right, rather shows the grey background. Reported first on [discord](https://discordapp.com/channels/731730685944922173/881073965047636018/1467105234500194314).
## Reproduce the issue
1. Open a new document
2. Select "Text Tool (T)".
3. Start writing something near the left side in a zoomed artboard and you should see the issue.
## Possible Culprits & Solution
When moving the canvas to fit the text, the frontend doesn't call a Send Layout/Redraw request which is generally sent when moving the canvas with scrollbars or mouse (observed via the debug messages). So, possible solution would be to trigger a redraw/Layout change request when length exceeds the current length and text begins to move to the left.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the Text Tool (T) flow and the canvas behavior when a text field grows beyond the visible artboard and shifts left. Use the debug messages to compare this automatic movement with scrollbar or mouse movement, especially whether a Send Layout/Redraw request is emitted. Done means the underlying canvas is redrawn instead of showing the grey background.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100