Skip to content

Investigar egui para tools internas e prototipacao rapida #4

@solrachix

Description

@solrachix

Contexto

Estamos avaliando se vale implementar ou adotar egui no OrbitShell, principalmente para casos bem praticos: tools, apps internas, utilitarios e prototipacao rapida.

Referencia: https://github.com/emilk/egui

O ponto a favor do egui e que ele se propõe a ser facil de usar e multiplataforma. Ele tambem abstrai o conceito de tecla Command, fazendo Cmd no macOS e Ctrl no Windows/Linux funcionarem de forma uniforme para atalhos como select all. Isso pode reduzir friccao em input de texto, atalhos, clipboard e ferramentas auxiliares.

Ao mesmo tempo, o projeto hoje usa GPUI, que combina melhor com uma experiencia desktop custom inspirada no Zed. A decisao nao deveria ser puramente estetica: precisamos validar produtividade, qualidade dos inputs e custo de manutencao.

Proposta

Investigar egui como alternativa ou complemento ao GPUI para partes do OrbitShell, especialmente telas de utilitarios, paineis internos e prototipos rapidos.

A investigacao deve responder:

  • egui melhora a velocidade de desenvolvimento para tools internas?
  • O input de texto, selecao, clipboard e atalhos funcionam melhor ou com menos codigo proprio?
  • Conseguimos chegar em um visual aceitavel para um app desktop inspirado no Zed?
  • Ele se integra bem com o fluxo atual do OrbitShell, incluindo terminal, agent, async/background tasks e estado de UI?
  • Vale usar egui no geral, ou manter GPUI como stack principal e talvez usar egui apenas para prototipos/tools separadas?

Spike sugerido

Criar uma PoC pequena em egui com a mesma tela/fluxo minimo que mais nos incomoda hoje:

  • input estilo terminal/agent
  • atalhos basicos (Cmd/Ctrl+A, copiar, colar, enviar)
  • clipboard
  • sidebar/lista simples
  • modal ou popup
  • tema escuro inspirado no Zed
  • comportamento em Linux e Windows, quando possivel

Comparar a PoC com a implementacao atual em GPUI nos seguintes criterios:

  • quantidade de codigo
  • complexidade para input/selection/clipboard
  • suporte a atalhos cross-platform
  • capacidade de customizacao visual
  • facilidade para componentes internos e ferramentas rapidas
  • risco de manutencao
  • impacto se a gente migrar algo existente

Resultado esperado

Ao final da investigacao, registrar uma recomendacao objetiva:

  • manter GPUI como stack principal
  • adotar egui para partes especificas
  • criar tools/prototipos em egui separadamente
  • ou considerar migracao parcial/total, se o ganho for claro

Links

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions