3 pontos por GN⁺ 2024-10-16 | 1 comentários | Compartilhar no WhatsApp
  • O Graphite é uma ferramenta em versão alfa que combina um editor vetorial gratuito e open source com um motor de animação, oferecendo edição não destrutiva por meio de composição de camadas e design generativo baseado em nós
  • Indo além de um simples editor vetorial, ele mira ser uma caixa de ferramentas 2D tudo em um, com ferramentas de edição voltadas ao usuário funcionando sobre um núcleo interno de grafo de nós
  • Atualmente, é um web app offline e leve focado em edição procedural de gráficos vetoriais, oferecendo edição vetorial, camadas baseadas em nós e fluxos de trabalho procedurais para design gráfico
  • O web app já pode ser usado, e os apps desktop para Windows, Mac e Linux estão em fase de release candidate; para testar antes do lançamento oficial, é preciso acessar pelo canal do Discord
  • Ele roda localmente e de forma privada no hardware do usuário, sem servidores; na web, mira baixo overhead com WebAssembly e WebGPU

A posição atual do Graphite

  • Graphite é um editor de gráficos vetoriais gratuito e open source, além de um motor de animação, atualmente oferecido em versão alfa
  • O foco central é a edição não destrutiva, combinando composição baseada em camadas com design generativo baseado em nós
  • Exemplos de trabalhos incluem operações booleanas não destrutivas, padrões procedurais de bolinhas, animações de creative coding baseadas em nós e um fractal de Mandelbrot preenchido com padrões de ruído
  • A atualização mais recente pode ser vista no vídeo May Update - Graphite, the Open Source 2D Graphics Suite

Uma caixa de ferramentas gráficas 2D além do editor vetorial

  • O Graphite começou como editor vetorial, mas está se expandindo para uma caixa de ferramentas gráficas tudo em um de uso geral
  • Ele foi projetado de uma forma mais próxima de um motor de jogos do que de apps criativos convencionais, e as ferramentas de edição oferecem fluxos de trabalho amigáveis sobre um núcleo de grafo de nós
  • Os fluxos de trabalho visados abrangem várias áreas de criação 2D
    • Design gráfico
    • Motion graphics
    • Edição de imagens
    • Pintura digital
    • Layout de páginas e impressão
    • Composição de VFX

Recursos disponíveis agora e expansões previstas

  • Os recursos atuais incluem ferramentas de edição vetorial, fluxos de trabalho procedurais para design gráfico, camadas baseadas em nós e distribuição gratuita e open source
  • Atualmente, o Graphite pode ser usado como um web app offline e leve focado em edição procedural de gráficos vetoriais
  • Os recursos planejados incluem a expansão das ferramentas para um conjunto mais amplo de trabalhos criativos 2D
    • Ferramenta criativa tudo em um para qualquer trabalho 2D
    • Recursos completos de manipulação raster
    • Apps nativos para Windows, Mac e Linux, além da versão web
    • Edição colaborativa em tempo real

Disponibilidade web primeiro e preparação para o lançamento no desktop

  • O web app já está disponível, e os apps desktop para Windows, Mac e Linux estão em fase de release candidate
  • Os links de download para testes antes do lançamento oficial podem ser encontrados no canal #🔥announcements do Discord
  • Embora tenha sido projetado tendo aplicações desktop profissionais como alvo principal, ele também pode ser usado no navegador para acesso rápido
  • Independentemente da plataforma, ele roda de forma local e privada no hardware do usuário, sem servidores
  • Como o trabalho técnico para distribuir apps nativos ainda precisa de mais tempo, a plataforma web, acessível em qualquer dispositivo sempre na versão mais recente, tornou-se o objetivo inicial
  • Atualmente, é possível instalar como PWA para obter uma experiência próxima à de um app desktop
  • No desktop, o objetivo é desempenho nativo para tarefas graficamente intensivas; na web, a meta é baixo overhead com WebAssembly e WebGPU

Como a edição procedural muda o fluxo de trabalho

  • O Graphite se apresenta como uma suíte abrangente de design gráfico baseada em edição procedural, tornando todo trabalho não destrutivo
  • Em vez de alterar elementos individuais diretamente, é possível iterar rapidamente ajustando parâmetros de nós
  • Uma tarefa de espalhar círculos pode ser criada com alguns nós, e densidade, tamanho e área de distribuição podem ser alterados por sliders ou ajustes de caminho
  • É possível testar esse tipo de ajuste procedural diretamente na demo red-dress
  • Na edição não destrutiva, as decisões ficam vinculadas a parâmetros que podem ser ajustados mais tarde, e é possível arrastar sliders de valores para interpolar entre diferentes estados
  • Blending entre composições de cores e deformações de formas antes de espalhá-las pelo canvas podem ser testados na demo changing-seasons

Uso de resultados baseados em grafos de nós

  • O Graphite representa a arte como um grafo de nós, permitindo customizar, combinar, automatizar, reutilizar e compartilhar fluxos de trabalho de conteúdo
  • É possível trabalhar com pan e zoom infinitos sem pixelização, além de exportar em resoluções arbitrárias
  • Está planejado para o futuro um recurso de compilar programas independentes a partir do sistema de nós
  • A capacidade de implantar pipelines de assets em ambientes de produção de estúdio também faz parte dos planos futuros

Materiais de aprendizado e comunidade

1 comentários

 
GN⁺ 2024-10-16
Comentários do Hacker News
  • Há estes posts relacionados. Existem outros?
    [Open source Rust graphics editor] Graphite progress report (Q2 2024) - https://news.ycombinator.com/item?id=41138691 - agosto de 2024
    Graphite 2D graphics editor built in Rust: Looking back on 2023 and what's next - https://news.ycombinator.com/item?id=38855850 - janeiro de 2024
    Graphite: 2D Raster and Vector Editor - https://news.ycombinator.com/item?id=38169500 - novembro de 2023
    Graphite: Open-source raster and vector 2D graphics editor - https://news.ycombinator.com/item?id=36901406 - julho de 2023
    Graphite – open-source raster and vector 2D graphics editor written in Rust - https://news.ycombinator.com/item?id=30675530 - março de 2022

  • Impressionante. Gosto do Inkscape, mas esta ferramenta também parece muito boa
    Fico animado ao ver ferramentas sendo criadas como web apps. Quanto mais peso for para a web, mais aumentam também as capacidades da plataforma web, que é mais aberta e acessível
    Rust também é excelente, e provavelmente compila para WebAssembly
    Só fico me perguntando por que três pessoas tão apaixonadas e talentosas não seguiram o caminho de investimento Series A/B, post-money SAFE e briefing para a imprensa
    Ultimamente, vendo muitos rappers de IA, modelos de pacote de ajuste fino com pesos abertos etc., penso nisso com frequência. Talvez paixão não tenha preço, e felicidade talvez não seja valuation

    • Não posso falar em nome do OP, mas o motivo pelo qual não aceitei investimento na minha empresa foi, no fim das contas, porque eu sabia que teria de sacrificar coisas que valorizo em nome do crescimento
      Prefiro tocar uma empresa pequena, mas sustentável, que faz negócios honestos, do que uma gigante vazia por dentro em busca de crescimento máximo
      Fundadores também sentem o mesmo cansaço de “por que estragar coisas boas?”. Pelo menos alguns de nós sentimos
    • É difícil conseguir investimento para um editor vetorial
      No lado dos modelos de pesos abertos, a maior parte da inovação acontece dentro das empresas, e elas usam open source para atrair desenvolvedores ou derrubar potenciais concorrentes. É como a Meta gastar uma fração minúscula da receita de anúncios para bagunçar o mercado da OpenAI/Microsoft
      Alguns indivíduos também recebem subsídios de baixo custo de VCs que querem ganhar reputação em IA. Por exemplo, a a16z patrocina alguns modelos
      Ao mesmo tempo, para pessoas ricas em cargos técnicos qualificados e bem pagos, por exemplo ganhando de US$ 300 mil a US$ 500 mil, levantar capital nem sempre é atraente
      Ao tocar a própria startup, é bem provável que o salário caia, e, se o modelo aberto não gerar dinheiro suficiente, pode sobrar apenas uma participação sem valor e 1 ou 2 anos de muito estresse
    • Receber investimento significa vender uma parte do negócio antes de ele acabar, às vezes antes mesmo de começar. A fatia que você entrega é exatamente isso
      Em geral, quanto mais cedo você busca capital, piores são os termos
      Se você não precisa desse dinheiro, normalmente é melhor adiar a captação até construir uma base e se tornar uma empresa cujo futuro seja menos incerto
      Nesse processo, você também pode decidir não vender muito aos investidores, e isso faz muita diferença se você realmente se importa com o produto ou a equipe. Investidores externos quase não se importam com nenhum dos dois e muitas vezes forçam concessões em ambos. Eles são financistas e estão ali para ganhar dinheiro. Antes de vender, é preciso garantir que os objetivos estejam alinhados
    • Talvez eles só quisessem trabalhar para si mesmos, e não para VCs?
  • Lançar uma ferramenta tão complexa é uma grande conquista, parabéns
    Um dia quero tentar criar uma ferramenta de gráficos vetoriais com um solucionador de restrições. Sou amador em design gráfico, mas muitas vezes acho o Inkscape tremendamente difícil de usar
    Algumas formas precisam ser criadas com combinações estranhas de comandos, e também é difícil modificá-las depois que o design está pronto. O jeito de aplicar restrições a linhas e curvas e ajustar dimensões, como nos esboços do Fusion 360, é muito mais intuitivo e interativo
    Talvez já exista uma ferramenta assim e eu apenas não conheça

    • Sim. Na verdade, esse recurso está no nosso roadmap. Em vez de criar algo separado, você também poderia participar
    • O mais próximo provavelmente é o Solvespace, e vale a pena dar uma olhada no Dune3D também
  • Parece bom. Uso Illustrator há 25 anos e, recentemente, tenho pensado com frequência que seria bom haver uma abordagem orientada a nós para substituir a pilha de Appearance
    Quando sair um binário, vou dar uma olhada. Não gosto de web app

    • Pelo vídeo, precisa de amostras de cor globais. Seria muito poderoso poder alterar, com alguns cliques, tudo que foi desenhado com a mesma cor: preenchimentos, traços, efeitos etc.
    • O Electron é tão diferente assim de uma PWA na experiência real de uso?
      Pessoalmente, quando um app também é oferecido em Electron, sempre tento usar a PWA
      Se de todo modo vai depender de um motor de navegador, acho melhor usar o motor que já deixo aberto e que é atualizado regularmente
  • Tenho algumas sugestões. Enquanto eu trabalhava, de repente apareceu um erro vermelho dizendo “The document cannot be rendered in it current state” e me instruiu a clicar no botão Node Graph

    1. Não consegui encontrar esse botão. Seria bom mostrar uma imagem do botão ou colocá-lo diretamente na mensagem de erro
    2. Seria bom se o texto do erro pudesse ser selecionado
    3. Seria bom poder reportar bugs diretamente pelo app
    • Enquanto fazia o tutorial, no passo de repetir os raios do sol em círculo, ocorreu o mesmo erro. Ao pressionar Ctrl-Z, em vez de desfazer apenas a última alteração incorreta, quase todo o trabalho foi desfeito
    • Obrigado pelo feedback. O que você encontrou foi um erro de tipo, parecido com quando o compilador de uma linguagem de programação informa que o código não é válido
      Isso em si não é um bug, mas às vezes acontece porque nossos nós não são genéricos o suficiente. Acabei de corrigir um problema em que os nós Stroke e Fill se aplicavam a dados vetoriais, mas não a dados de grupo contendo um ou mais dados vetoriais
      Quando esse tipo de problema for válido, é uma boa registrá-lo como issue
      A mensagem de erro vermelha também informa onde procurar. Ela diz que é possível abrir pelo botão “Node Graph” no canto superior direito da viewport
      Fico me perguntando se a janela estava muito pequena e esse botão pode ter sido empurrado para fora por causa de outros botões. Feedback sobre como melhorar o texto da mensagem é bem-vindo. No momento é difícil tornar essa caixa de diálogo mais visual ou interativa, mas vale refiná-la futuramente junto com melhorias gerais nos recursos de diagnóstico
    • O erro ocorreu simplesmente ao usar a ferramenta de pincel
  • Precisei reler o parágrafo de introdução algumas vezes para entender o que era
    No começo li como se fosse um substituto do Blender, mas ao testar vi que era tudo 2D e parecia o Photoshop, então fiquei confuso
    No fim, a ideia era mencionar o Blender como uma alternativa open source popular a softwares fechados de modelagem/renderização 3D e falar do próximo Photoshop?

    • Relendo, acho que não escrevemos de forma tão clara quanto pretendíamos. O Blender é quase perfeito e não há motivo para substituí-lo
      Como você entendeu corretamente, a ideia é ser um segundo Blender no campo 2D. Miramos em uma ferramenta de uso geral que alcance e supere os concorrentes comerciais com inovação real
    • Mas Photoshop também não é uma analogia exata. Esta ferramenta mira em gráficos baseados em vetores, enquanto o Photoshop é principalmente baseado em raster
      Não conheço bem os produtos da Adobe e uso Inkscape, mas o equivalente mais próximo aqui provavelmente seria o Adobe Illustrator
  • Só pelas capturas de tela já impressiona. Dá para ver que é diferente sem precisar analisar mais
    Sempre disse que precisamos de mais projetos como o Blender para enfrentar a Adobe. Parece que também há planos de mirar em outros apps, então vou acompanhar e torcer pelo sucesso

  • Parece realmente muito legal. Bons ferramentas open source para design são indispensáveis [1]
    Seria bom adicionar o Graphite a esta lista [2]. Com certeza vou experimentar e acompanhar o progresso
    1: https://www.youtube.com/watch?v=lthVYUB8JLs
    2: https://github.com/KenneyNL/Adobe-Alternatives

    • Obrigado. Vou deixar para a comunidade a sugestão de incluir o Graphite nessas listas, não vou fazer isso pessoalmente
      Por enquanto, a única categoria em que ele se encaixaria adequadamente é alternativas ao Illustrator. No ano que vem, pretendemos desenvolver edição raster como a próxima competência central, mas até agora nos concentramos apenas na edição vetorial
    • Além disso, em certo sentido ele também pode ser auto-hospedado, então poderia ser candidato à lista awesome-selfhosted [1]
      1. https://github.com/awesome-selfhosted/awesome-selfhosted
  • Talvez eu esteja fazendo algo errado, mas é um pouco pouco intuitivo que cada linha, círculo e caixa vire automaticamente sua própria camada individual, em vez de ficar sob uma camada explícita como no Inkscape
    Por isso, as camadas acabam parecendo praticamente inúteis

  • Fico feliz que seja um produto de verdade que se sustenta pelo valor do produto em si, em vez de se vender destacando que foi escrito em Rust
    Sinto que, hoje em dia, muitos produtos que usam tecnologias novas e legais no desenvolvimento tratam isso como argumento de venda. Aqui é interessante, mas usuários da ferramenta só vão se importar com o lado técnico na medida em que isso afete estabilidade, desempenho e continuidade do desenvolvimento
    Não sou ilustrador, então não tenho muito mais a acrescentar, mas torço para que os desenvolvedores consigam transformá-la em uma ferramenta bem-sucedida