3 puntos por GN⁺ 2024-10-16 | 1 comentarios | Compartir por WhatsApp
  • Graphite es una herramienta en versión alfa que combina un editor vectorial gratuito y de código abierto con un motor de animación, y ofrece edición no destructiva mediante composición por capas y diseño generativo basado en nodos
  • Más allá de ser un simple editor vectorial, apunta a convertirse en una caja de herramientas todo en uno para gráficos 2D, donde las herramientas de edición orientadas al usuario funcionan sobre un núcleo interno de grafo de nodos
  • Actualmente es una app web offline ligera enfocada en la edición procedural de gráficos vectoriales, con edición vectorial, capas basadas en nodos y flujos de trabajo procedurales para diseño gráfico
  • La app web ya puede usarse, y las apps de escritorio para Windows, Mac y Linux están en fase de candidata a lanzamiento, por lo que las pruebas antes del lanzamiento oficial deben accederse a través del canal de Discord
  • Su arquitectura se ejecuta de forma local y privada en el hardware del usuario, sin servidores; en la web apunta a bajo overhead con WebAssembly y WebGPU

La posición actual de Graphite

  • Graphite es un editor gratuito y de código abierto de gráficos vectoriales y un motor de animación, disponible actualmente en versión alfa
  • Su núcleo es la edición no destructiva, combinando composición basada en capas y diseño generativo basado en nodos
  • Entre los trabajos de ejemplo se incluyen operaciones booleanas no destructivas, patrones procedurales de lunares, animaciones de creative coding basadas en nodos y fractales de Mandelbrot rellenados con patrones de ruido
  • La actualización más reciente puede verse en el video May Update - Graphite, the Open Source 2D Graphics Suite

Una caja de herramientas para gráficos 2D que va más allá del editor vectorial

  • Graphite nació como editor vectorial, pero se está expandiendo hacia una caja de herramientas gráfica todo en uno de propósito general
  • Está diseñado de una forma más cercana a un motor de juegos que a una app creativa común, y las herramientas de edición ofrecen flujos de trabajo amigables sobre un núcleo de grafo de nodos
  • Los flujos de trabajo objetivo abarcan varias áreas de creación 2D
    • Diseño gráfico
    • Motion graphics
    • Edición de imágenes
    • Pintura digital
    • Maquetación de páginas e impresión
    • Composición VFX

Funciones disponibles ahora y expansiones previstas

  • Las funciones actuales incluyen herramientas de edición vectorial, flujos de trabajo procedurales para diseño gráfico, capas basadas en nodos y disponibilidad gratuita y de código abierto
  • Actualmente, Graphite puede usarse como una app web offline ligera enfocada en la edición procedural de gráficos vectoriales
  • Las funciones previstas incluyen una expansión de herramientas para trabajos creativos 2D más amplios
    • Herramienta creativa todo en uno para todo tipo de trabajo 2D
    • Funciones completas de manipulación raster
    • Apps nativas para Windows, Mac y Linux, además de versión web
    • Edición colaborativa en tiempo real

Enfoque web primero y preparación del lanzamiento de escritorio

  • La app web ya está disponible, y las apps de escritorio para Windows, Mac y Linux están en fase de candidata a lanzamiento
  • Los enlaces de descarga para probarlas antes del lanzamiento oficial pueden encontrarse en el canal #🔥announcements de Discord
  • Aunque fue diseñada principalmente como una aplicación profesional de escritorio, también puede usarse en el navegador para facilitar el acceso rápido
  • Independientemente de la plataforma, se ejecuta de forma local y privada en el hardware del usuario, sin servidores
  • Como el trabajo técnico para distribuir apps nativas requiere más tiempo, la plataforma web, accesible y actualizada en todos los dispositivos, se convirtió en el objetivo inicial
  • Por ahora puede instalarse como PWA para obtener una experiencia cercana a una app de escritorio
  • En escritorio apunta a rendimiento nativo para tareas gráficamente intensivas, mientras que en la web apunta a bajo overhead con WebAssembly y WebGPU

Cómo la edición procedural cambia la forma de trabajar

  • Graphite se presenta como una suite integral de diseño gráfico basada en edición procedural, que convierte todo el trabajo en un proceso no destructivo
  • En lugar de modificar directamente elementos individuales, permite iterar rápidamente ajustando parámetros de nodos
  • Una tarea como esparcir círculos puede crearse con unos pocos nodos, y la densidad, el tamaño y el área de distribución pueden cambiarse con sliders o ajustando rutas
  • En la demo red-dress se puede probar directamente esta forma de ajuste procedural
  • En la edición no destructiva, las decisiones quedan vinculadas a parámetros que pueden ajustarse más tarde, y al arrastrar sliders de valores se puede interpolar entre distintos estados
  • La mezcla entre composiciones de color y la deformación de formas antes de esparcirlas sobre el lienzo pueden probarse en la demo changing-seasons

Uso de resultados basados en grafos de nodos

  • Graphite representa el artwork como un grafo de nodos, lo que permite personalizar, combinar, automatizar, reutilizar y compartir flujos de trabajo de contenido
  • Permite trabajar con paneo y zoom infinitos sin pixelación, y exportar a resoluciones arbitrarias
  • A futuro está prevista la capacidad de compilar programas independientes desde el sistema de nodos
  • También se incluye en los planes futuros la capacidad de desplegar pipelines de assets en entornos de producción de estudio

Materiales de aprendizaje y comunidad

1 comentarios

 
GN⁺ 2024-10-16
Comentarios de Hacker News
  • Hay publicaciones relacionadas. ¿Habrá más?
    [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 - enero de 2024
    Graphite: 2D Raster and Vector Editor - https://news.ycombinator.com/item?id=38169500 - noviembre de 2023
    Graphite: Open-source raster and vector 2D graphics editor - https://news.ycombinator.com/item?id=36901406 - julio de 2023
    Graphite – open-source raster and vector 2D graphics editor written in Rust - https://news.ycombinator.com/item?id=30675530 - marzo de 2022

  • Impresionante. Me gusta Inkscape, pero esta herramienta también se ve muy bien
    Me emociona ver que una herramienta se construya como una app web. Si el peso se sigue moviendo hacia la web, también crecerán las capacidades de una plataforma web más abierta y accesible
    Rust también es excelente, y probablemente compila a WebAssembly
    Aun así, me pregunto por qué tres personas tan apasionadas y talentosas no tomaron la ruta de inversión Series A/B, post-money SAFE y briefings de prensa
    Últimamente pienso esto seguido al ver tantos wrappers de IA, modelos de paquetes de fine-tuning de pesos abiertos y cosas así. A la pasión no se le puede poner precio, y tal vez la felicidad no sea una valuación empresarial

    • No puedo hablar por el OP, pero la razón por la que mi empresa no recibió inversión es que sabía que al final tendría que sacrificar cosas que valoro para lograr crecimiento
      Prefiero dirigir una empresa pequeña pero sostenible y honesta, en vez de una corporación gigante vacía por dentro cuyo objetivo es maximizar el crecimiento
      Los fundadores también sentimos ese cansancio de preguntarnos por qué arruinar cosas buenas. Al menos algunos de nosotros
    • Es difícil conseguir inversión para un editor vectorial
      Del lado de los modelos de pesos abiertos, la mayor parte de la innovación ocurre dentro de las empresas, y las compañías usan open source para atraer a desarrolladores o para golpear a competidores potenciales. Meta, por ejemplo, gasta una fracción ínfima de sus ingresos publicitarios para arruinarle el mercado a OpenAI/Microsoft
      Algunas personas también reciben subsidios baratos de VCs que quieren hacerse un nombre en IA. Por ejemplo, a16z patrocina algunos modelos
      Al mismo tiempo, para gente con mucho talento y empleos técnicos muy bien pagados, por ejemplo personas que ganan entre 300 mil y 500 mil dólares al año, levantar capital no siempre resulta atractivo
      Si montan su propia startup, es muy probable que su salario baje, y si un modelo abierto no gana suficiente dinero, podrían terminar solo con equity sin valor y 1 o 2 años de mucho estrés
    • Recibir inversión significa vender una parte del negocio antes de que el negocio termine, y a veces incluso antes de que empiece. Eso es exactamente lo que representa el porcentaje que entregas
      Normalmente, mientras más temprano busques capital, peores serán las condiciones
      Si no necesitas ese dinero, por lo general te conviene posponer el levantamiento hasta haber consolidado la base y convertirte en una empresa cuyo futuro genere menos dudas
      En ese proceso, tal vez decidas no venderles tanto a los inversionistas, y eso marca una gran diferencia si de verdad te importan el producto o el equipo. A los inversionistas externos casi no les importa ninguno de los dos, y muchas veces terminan empujándote a comprometer ambos. Son financieros y están ahí para ganar dinero. Antes de vender, hay que asegurarse de que los objetivos estén alineados
    • ¿Quizá simplemente querían trabajar para sí mismos y no para un VC?
  • Lanzar una herramienta tan compleja es un gran logro, felicidades
    Algún día me gustaría intentar crear yo mismo una herramienta de gráficos vectoriales con un solver de restricciones. Soy amateur en diseño gráfico, pero muchas veces Inkscape me parece tremendamente difícil de usar
    Algunas formas hay que construirlas con combinaciones extrañas de comandos, y después de terminar el diseño también es difícil modificarlas. Una forma como los sketches de Fusion 360, donde se imponen restricciones a líneas y curvas y se ajustan dimensiones, se siente mucho más intuitiva e interactiva
    Puede que ya exista una herramienta así y yo no la conozca

    • Sí. De hecho, esa función está en nuestro roadmap. También podrías participar en lugar de hacerla aparte
    • Lo más cercano probablemente sea Solvespace, y también vale la pena ver Dune3D
  • Se ve bien. He usado Illustrator durante 25 años y últimamente he pensado seguido que me gustaría un enfoque orientado a nodos para reemplazar la pila de Appearance
    Tendré que revisarlo cuando salga un binario. No me gustan las apps web

    • Viendo el video, hacen falta muestras de color globales. Sería muy potente poder cambiar en unos pocos clics todo lo dibujado con el mismo color, incluyendo relleno, trazo y efectos
    • ¿Electron realmente se siente tan distinto de una PWA en el uso real?
      En lo personal, si una app también está disponible en Electron, siempre trato de usar la PWA
      Si de todos modos va a depender de un motor de navegador, me parece mejor usar uno que ya tengo abierto y que se actualiza periódicamente
  • Tengo algunas sugerencias. Mientras trabajaba, de repente apareció un error rojo que decía “The document cannot be rendered in it current state” y me indicó que presionara el botón Node Graph

    1. No pude encontrar ese botón. Estaría bien mostrar una imagen del botón o ponerlo directamente dentro del mensaje de error
    2. Estaría bien que el texto del error se pudiera seleccionar
    3. Estaría bien poder reportar bugs directamente desde la app
    • Mientras hacía el tutorial, me apareció el mismo error en el paso de repetir radialmente los rayos del sol. Al presionar Ctrl-Z, en lugar de deshacer solo el último cambio incorrecto, se deshizo casi todo el trabajo
    • Gracias por los comentarios. Lo que encontraste fue un error de tipo, parecido a cuando el compilador de un lenguaje de programación avisa que el código no es válido
      Eso en sí no es un bug, pero a veces ocurre porque nuestros nodos no son lo suficientemente generales. Justo acabamos de corregir un problema en el que los nodos Stroke y Fill se aplicaban a datos vectoriales, pero no a datos de grupo que contienen uno o más datos vectoriales
      Este tipo de problema conviene registrarlo como issue si corresponde
      El mensaje de error rojo también indica dónde mirar. Dice que puede abrirse con el botón “Node Graph” en la parte superior derecha del viewport
      Me pregunto si la ventana era muy pequeña y ese botón pudo haber sido desplazado por otros. Agradecemos comentarios sobre cómo mejorar el texto del mensaje. Por ahora es difícil hacer ese cuadro de diálogo más visual o interactivo, pero vale la pena pulirlo más adelante junto con mejoras generales en el diagnóstico
    • Este error apareció incluso solo al usar la herramienta de pincel
  • Tuve que releer varias veces el párrafo de introducción para entender qué era esto
    Al principio lo leí como un reemplazo de Blender, pero al probarlo vi que todo era 2D y se parecía a Photoshop, así que me confundió
    Entonces, al mencionar a Blender como una popular alternativa open source al software cerrado de modelado/renderizado 3D, ¿se referían al siguiente Photoshop?

    • Al releerlo, creo que no lo escribí con toda la claridad que pretendía. Blender es casi perfecto y no hay razón para reemplazarlo
      Como entendiste correctamente, me refería a convertirse en un segundo Blender, pero en el espacio 2D. Apuntamos a una herramienta de propósito general que, con innovación real, alcance y supere a los competidores comerciales
    • Pero Photoshop tampoco es una analogía exacta. Esta herramienta apunta a los gráficos vectoriales, mientras que Photoshop es principalmente raster
      No conozco tan bien los productos de Adobe y uso Inkscape, pero aquí el equivalente más cercano probablemente sería Adobe Illustrator
  • Solo con ver las capturas de pantalla ya impresiona. Sin revisarlo más, se nota que es diferente
    Siempre he dicho que hacen falta más proyectos tipo Blender para enfrentar a Adobe. Parece que también planean apuntar a otras apps, así que los seguiré y espero que tengan éxito

  • Se ve realmente genial. Hace mucha falta una buena herramienta open source para diseño [1]
    Sería bueno agregar Graphite a esta lista [2]. Definitivamente lo voy a probar y seguiré su progreso
    1: https://www.youtube.com/watch?v=lthVYUB8JLs
    2: https://github.com/KenneyNL/Adobe-Alternatives

    • Gracias. Dejaré a la comunidad la propuesta de incluir Graphite en listas así; no lo haré yo mismo
      Por ahora, la única categoría donde encajaría apropiadamente es alternativa a Illustrator. El próximo año planeamos desarrollar edición raster como la siguiente capacidad central, pero hasta ahora nos hemos enfocado solo en edición vectorial
    • Además, en cierto sentido también se puede autoalojar, así que podría ser candidato para la lista de awesome-selfhosted [1]
      1. https://github.com/awesome-selfhosted/awesome-selfhosted
  • Puede que yo esté haciendo algo mal, pero resulta algo poco intuitivo que cada línea, círculo y cuadro se convierta automáticamente en su propia capa individual en vez de quedar bajo una capa explícita como en Inkscape
    Por eso siento que las capas quedan prácticamente inútiles

  • Me alegra que sea un producto real que se sostiene por el valor del producto en sí, en vez de venderse destacando que está escrito en Rust
    Últimamente siento que demasiados productos desarrollados con tecnologías nuevas y llamativas lo usan como punto de venta. Aquí es interesante, pero quienes usan la herramienta solo se preocuparán por lo técnico en la medida en que afecte la estabilidad, el rendimiento y la continuidad del desarrollo
    No tengo mucho más que aportar porque no soy ilustrador, pero espero que los desarrolladores logren convertirlo en una herramienta exitosa