Canvas doesn't rerender on moving left by text field

Aberta
#4,393 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
58/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
rust

Direção de pesquisa

Comece pelo fluxo do Text Tool (T) e pelo comportamento da canvas quando um campo de texto cresce além da artboard visível e se desloca para a esquerda. Use as debug messages para comparar esse movimento automático com o movimento da scrollbar ou do mouse, especialmente verificando se uma solicitação Send Layout/Redraw é emitida. Está concluído quando a canvas subjacente é redesenhada em vez de exibir o fundo cinza.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

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.

Linguagem predominante
Rust
Estrelas
27.8k
Forks
1.3k
Merge médio
10h 53min
PRs com merge (30d)
195

Preparar o ambiente

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de GraphiteEditor/Graphite

Todas as issues de GraphiteEditor/Graphite

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.