3 Punkte von GN⁺ 2024-10-16 | 1 Kommentare | Auf WhatsApp teilen
  • Graphite ist ein kostenloses Open-Source-Vektorbearbeitungsprogramm mit integrierter Animations-Engine und befindet sich als Tool in der Alpha-Phase; es bietet nicht-destruktive Bearbeitung durch Layer-Compositing und node-basiertes generatives Design
  • Es will mehr sein als nur ein einfacher Vektoreditor und versteht sich als All-in-One-2D-Grafik-Toolbox; die nutzerseitigen Bearbeitungswerkzeuge laufen auf einem internen Node-Graph-Kern
  • Derzeit ist es eine leichte Offline-Web-App mit Fokus auf prozedurale Vektorgrafikbearbeitung und bietet Vektorbearbeitung, node-basierte Layer und prozedurale Workflows für Grafikdesign
  • Die Web-App ist sofort nutzbar, während die Desktop-Apps für Windows, Mac und Linux sich im Release-Candidate-Stadium befinden; für Tests vor dem offiziellen Release ist Zugriff über den Discord-Kanal erforderlich
  • Die Architektur läuft lokal und privat auf der Hardware der Nutzer ohne Server; im Web zielt sie mit WebAssembly und WebGPU auf geringen Overhead ab

Wo Graphite heute steht

  • Graphite ist ein kostenloser Open-Source-Vektorgrafikeditor und eine Animations-Engine, die derzeit als Alpha-Version verfügbar ist
  • Im Kern geht es um nicht-destruktive Bearbeitung, wobei layer-basiertes Compositing und node-basiertes generatives Design kombiniert werden
  • Beispielarbeiten umfassen nicht-destruktive boolesche Operationen, prozedurale Tupfenmuster, node-basierte Creative-Coding-Animationen und ein mit Rauschmustern gefülltes Mandelbrot-Fraktal
  • Das neueste Update ist im Video May Update - Graphite, the Open Source 2D Graphics Suite zu sehen

Eine 2D-Grafik-Toolbox, die über den Vektoreditor hinausgeht

  • Graphite begann als Vektoreditor, wird aber zu einer allgemeinen All-in-One-Grafik-Toolbox ausgebaut
  • Es ist eher wie eine Game Engine als wie eine typische Kreativ-App konzipiert; die Bearbeitungswerkzeuge bieten nutzerfreundliche Workflows auf einem Node-Graph-Kern
  • Der angestrebte Workflow deckt mehrere 2D-Kreativbereiche ab
    • Grafikdesign
    • Motion Graphics
    • Bildbearbeitung
    • Digital Painting
    • Seitenlayout und Druck
    • VFX-Compositing

Was jetzt möglich ist und was noch kommt

  • Zu den aktuellen Funktionen gehören Vektorbearbeitungswerkzeuge, prozedurale Workflows für Grafikdesign, node-basierte Layer und die kostenlose Open-Source-Bereitstellung
  • Aktuell ist Graphite als leichte Offline-Web-App mit Fokus auf prozedurale Vektorgrafikbearbeitung nutzbar
  • Geplante Funktionen umfassen einen Ausbau der Werkzeuge für breitere 2D-Kreativarbeit
    • All-in-One-Kreativwerkzeug für alle 2D-Aufgaben
    • Vollständige Rasterbearbeitungsfunktionen
    • Native Apps für Windows, Mac und Linux sowie Web-Bereitstellung
    • Zusammenarbeit in Echtzeit bei der Bearbeitung

Web-first-Bereitstellung und Vorbereitung des Desktop-Releases

  • Die Web-App ist derzeit verfügbar, und die Desktop-Apps für Windows, Mac und Linux befinden sich im Release-Candidate-Stadium
  • Download-Links zum Testen vor dem offiziellen Release finden sich im #🔥announcements-Kanal auf Discord
  • Obwohl es primär als professionelle Desktop-Anwendung konzipiert ist, lässt es sich für schnellen Zugang auch im Browser nutzen
  • Unabhängig von der Plattform läuft es lokal und privat auf der Hardware der Nutzer, ohne Server
  • Die technische Arbeit für die Bereitstellung nativer Apps benötigt noch mehr Zeit, daher wurde die Web-Plattform als erstes Ziel gewählt, weil sie auf allen Geräten stets aktuell zugänglich ist
  • Derzeit kann es als PWA installiert werden, um eine desktopähnlichere Erfahrung zu erhalten
  • Auf dem Desktop wird native Performance für grafikintensive Aufgaben angestrebt, und im Web zielt man mit WebAssembly und WebGPU auf geringen Overhead ab

Wie prozedurale Bearbeitung die Arbeitsweise verändert

  • Graphite versteht sich als umfassende Grafikdesign-Suite auf Basis prozeduraler Bearbeitung, die alle Arbeit nicht-destruktiv macht
  • Statt einzelne Elemente direkt zu ändern, lassen sich durch Anpassung von Node-Parametern schnelle Iterationen durchführen
  • Das Verstreuen von Kreisen lässt sich mit wenigen Nodes aufbauen, und Dichte, Größe und Verteilungsbereich können per Slider oder Pfadanpassung verändert werden
  • Im red-dress-Demo lässt sich dieser prozedurale Anpassungsansatz direkt ausprobieren
  • Bei nicht-destruktiver Bearbeitung werden Entscheidungen an Parameter geknüpft, die sich später anpassen lassen, und durch Ziehen an Wert-Slidern kann zwischen verschiedenen Zuständen interpoliert werden
  • Das Mischen zwischen Farbkompositionen oder das Verformen von Formen vor dem Verstreuen auf der Leinwand lässt sich im changing-seasons-Demo ausprobieren

Nutzung node-graph-basierter Ergebnisse

  • Graphite stellt Artwork als Node Graph dar, damit sich Content-Workflows anpassen, kombinieren, automatisieren, wiederverwenden und teilen lassen
  • Selbst bei unendlichem Schwenken und Zoomen kann ohne Pixelbildung gearbeitet und in beliebiger Auflösung exportiert werden
  • Künftig ist geplant, aus dem Node-System eigenständige Programme zu kompilieren
  • Auch die Bereitstellung von Asset-Pipelines für Studio-Produktionsumgebungen ist Teil der künftigen Planung

Lernmaterialien und Community

1 Kommentare

 
GN⁺ 2024-10-16
Meinungen auf Hacker News
  • Es gibt dazu folgende verwandte Beiträge. Gibt es noch andere?
    [Open source Rust graphics editor] Graphite progress report (Q2 2024) - https://news.ycombinator.com/item?id=41138691 - August 2024
    Graphite 2D graphics editor built in Rust: Looking back on 2023 and what's next - https://news.ycombinator.com/item?id=38855850 - Januar 2024
    Graphite: 2D Raster and Vector Editor - https://news.ycombinator.com/item?id=38169500 - November 2023
    Graphite: Open-source raster and vector 2D graphics editor - https://news.ycombinator.com/item?id=36901406 - Juli 2023
    Graphite – open-source raster and vector 2D graphics editor written in Rust - https://news.ycombinator.com/item?id=30675530 - März 2022

  • Großartig. Ich mag Inkscape, aber dieses Tool sieht ebenfalls sehr gut aus.
    Es macht mich begeistert, wenn ich sehe, dass ein Tool als Web-App gebaut wird. Wenn mehr Gewicht ins Web verlagert wird, wachsen auch die Möglichkeiten der offeneren und zugänglicheren Web-Plattform.
    Rust ist auch großartig, und vermutlich wird es nach WebAssembly kompiliert.
    Allerdings frage ich mich, warum drei so leidenschaftliche und talentierte Leute nicht den Weg über Series-A/B-Finanzierung, Post-Money-SAFE und Pressebriefings gegangen sind.
    In letzter Zeit denke ich oft darüber nach, wenn ich viele AI-Rapper, Open-Weight-Finetuning-Paketmodelle und Ähnliches sehe. Leidenschaft lässt sich nicht bepreisen, und vielleicht ist Glück keine Unternehmensbewertung.

    • Ich kann nicht für den OP sprechen, aber der Grund, warum ich für mein Unternehmen keine Finanzierung aufgenommen habe, war letztlich, dass ich wusste, dass ich für Wachstum Dinge opfern müsste, die mir wichtig sind.
      Ich möchte lieber ein kleines, aber nachhaltig ehrliches Geschäft führen als ein riesiges Unternehmen, das für maximales Wachstum ausgehöhlt wird.
      Auch Gründer spüren dieselbe Müdigkeit darüber, warum gute Dinge kaputtgemacht werden. Zumindest einige von uns.
    • Für einen Vektoreditor ist es schwierig, Finanzierung zu bekommen.
      Bei Open-Weight-Modellen findet der Großteil der Innovation innerhalb von Unternehmen statt, und Firmen nutzen Open Source, um Entwickler anzusprechen oder potenzielle Wettbewerber auszubremsen. Etwa wenn Meta einen winzigen Teil seiner Werbeeinnahmen ausgibt, um den Markt von OpenAI/Microsoft zu beschädigen.
      Manche Einzelpersonen bekommen auch mit relativ geringem Aufwand Zuschüsse von VCs, die sich im AI-Bereich einen Namen machen wollen. Zum Beispiel sponsert a16z einige Modelle.
      Gleichzeitig ist Kapitalbeschaffung für fähige, gut bezahlte Tech-Leute, also wohlhabende Menschen mit etwa 300.000 bis 500.000 Dollar Einkommen, nicht immer attraktiv.
      Wenn man sein eigenes Startup gründet, sinkt wahrscheinlich das Gehalt, und wenn ein offenes Modell nicht genug Geld verdient, bleiben am Ende womöglich nur wertlose Anteile und ein bis zwei Jahre hoher Stress.
    • Geld von Investoren anzunehmen bedeutet, einen Teil des Geschäfts zu verkaufen, bevor das Geschäft zu Ende ist, manchmal sogar bevor es überhaupt begonnen hat. Genau das bedeutet der abgegebene Anteil.
      In der Regel sind die Konditionen umso schlechter, je früher man Geld aufnimmt.
      Wenn man das Geld nicht braucht, ist es meist vorteilhaft, die Finanzierung aufzuschieben, bis man ein Fundament gelegt hat und das Unternehmen weniger unsicher in die Zukunft blickt.
      Dabei kann man sich auch entscheiden, nicht viel an Investoren zu verkaufen, und wenn einem Produkt oder Team wirklich wichtig sind, macht das einen großen Unterschied. Externe Investoren interessieren sich für beides kaum und bringen oft beides dazu, Kompromisse einzugehen. Sie sind Finanzleute und da, um Geld zu verdienen. Bevor man verkauft, sollte man sicherstellen, dass die Ziele wirklich übereinstimmen.
    • Vielleicht wollten sie nicht für VCs arbeiten, sondern für sich selbst?
  • Glückwunsch, ein so komplexes Tool zu veröffentlichen ist eine große Leistung.
    Irgendwann möchte ich selbst einmal ein Vektorgrafik-Tool mit Constraint-Solver bauen. Ich bin Amateur im Grafikdesign, aber Inkscape fühlt sich oft extrem schwierig zu benutzen an.
    Manche Formen muss man mit seltsamen Befehlskombinationen erstellen, und nach Abschluss eines Designs sind Änderungen ebenfalls schwierig. Ein Ansatz wie in Fusion-360-Skizzen, bei dem man Linien und Kurven mit Constraints versieht und Maße anpasst, ist deutlich intuitiver und interaktiver.
    Vielleicht gibt es so ein Tool bereits und ich kenne es nur nicht.

    • Genau. Tatsächlich steht diese Funktion auf unserer Roadmap. Statt sie separat zu bauen, könntest du auch mitmachen.
    • Am nächsten dürfte Solvespace kommen, und Dune3D ist ebenfalls einen Blick wert.
  • Sieht gut aus. Ich benutze Illustrator seit 25 Jahren und habe in letzter Zeit oft gedacht, dass ein node-orientierter Ansatz als Ersatz für den Appearance-Stack schön wäre.
    Wenn es Binaries gibt, werde ich es mir ansehen. Web-Apps mag ich nicht.

    • Nach dem Video zu urteilen braucht es globale Farbfelder. Wenn man mit ein paar Klicks alles ändern könnte, was mit derselben Farbe gezeichnet ist – Füllungen, Konturen, Effekte usw. –, wäre das sehr mächtig.
    • Unterscheidet sich Electron im tatsächlichen Nutzungserlebnis so sehr von einer PWA?
      Persönlich versuche ich immer, die PWA zu nutzen, wenn eine App auch als Electron-Version angeboten wird.
      Wenn man ohnehin von einer Browser-Engine abhängt, halte ich es für besser, die Engine zu verwenden, die man bereits geöffnet hat und regelmäßig aktualisiert.
  • Es gibt ein paar Vorschläge. Während der Arbeit erschien plötzlich der rote Fehler „The document cannot be rendered in it current state“ und die Meldung sagte, man solle auf den Node-Graph-Button klicken.

    1. Ich konnte diesen Button nicht finden. Es wäre gut, ein Bild des Buttons zu zeigen oder ihn direkt in die Fehlermeldung einzubauen.
    2. Es wäre gut, wenn man den Fehlertext markieren könnte.
    3. Es wäre gut, wenn man Bugs direkt aus der App heraus melden könnte.
    • Beim Tutorial trat derselbe Fehler im Schritt auf, in dem die Sonnenstrahlen kreisförmig wiederholt werden. Als ich Ctrl-Z drückte, wurde statt nur der letzten falschen Änderung fast die gesamte Arbeit rückgängig gemacht.
    • Danke für das Feedback. Was du gesehen hast, war ein Typfehler, ähnlich wie wenn der Compiler einer Programmiersprache meldet, dass Code ungültig ist.
      Das ist an sich kein Bug, kann aber auch dadurch entstehen, dass unsere Nodes nicht allgemein genug sind. Wir haben gerade ein Problem behoben, bei dem die Stroke- und Fill-Nodes zwar auf Vektordaten angewendet wurden, aber nicht auf Gruppendaten, die eine oder mehrere Vektordaten enthalten.
      Solche Probleme sollte man, wenn sie berechtigt sind, am besten als Issue einreichen.
      Die rote Fehlermeldung sagt auch, wo man nachsehen soll. Dort steht, dass man sie über den „Node Graph“-Button oben rechts im Viewport öffnen kann.
      Ich frage mich, ob das Fenster vielleicht sehr klein war und der Button dadurch von anderen Buttons verdrängt wurde. Feedback dazu, wie man den Meldungstext verbessern könnte, ist willkommen. Im Moment ist es schwierig, diesen Dialog visueller oder interaktiver zu machen, aber im Zuge künftiger Verbesserungen der Diagnostik insgesamt lohnt es sich, ihn zu überarbeiten.
    • Schon die bloße Verwendung des Brush-Tools hat diesen Fehler ausgelöst.
  • Ich musste den Einführungstext ein paar Mal erneut lesen, um zu verstehen, was das ist.
    Zuerst las es sich für mich wie ein Blender-Ersatz, aber beim Testen war alles 2D und sah wie Photoshop aus, was mich verwirrte.
    Ging es letztlich darum, Blender als beliebte Open-Source-Alternative zu proprietärer 3D-Modellierungs-/Rendering-Software zu nennen und dann vom nächsten Photoshop zu sprechen?

    • Beim erneuten Lesen scheint mir, dass ich es nicht so klar formuliert habe, wie beabsichtigt. Blender ist nahezu perfekt und es gibt keinen Grund, es zu ersetzen.
      Wie du es richtig verstanden hast, geht es darum, im 2D-Bereich ein zweites Blender zu werden. Wir streben ein universelles Tool an, das kommerzielle Konkurrenten durch echte Innovation einholt und übertrifft.
    • Photoshop ist allerdings auch keine genaue Analogie. Dieses Tool zielt auf vektorbasierte Grafik, während Photoshop hauptsächlich rasterbasiert ist.
      Ich kenne die Adobe-Produkte nicht besonders gut und nutze Inkscape, aber die naheliegendste Entsprechung wäre hier wohl Adobe Illustrator.
  • Schon anhand der Screenshots wirkt es beeindruckend. Auch ohne weitere Prüfung erkennt man, dass es anders ist.
    Ich habe immer gesagt, dass wir mehr Blender-artige Projekte brauchen, die es mit Adobe aufnehmen. Es sieht so aus, als gäbe es auch Pläne, weitere Apps ins Visier zu nehmen; ich werde das verfolgen und hoffe auf Erfolg.

  • Sieht wirklich großartig aus. Gute Open-Source-Tools für Design werden dringend gebraucht [1].
    Es wäre gut, Graphite zu dieser Liste [2] hinzuzufügen. Ich werde es auf jeden Fall ausprobieren und die Entwicklung verfolgen.
    1: https://www.youtube.com/watch?v=lthVYUB8JLs
    2: https://github.com/KenneyNL/Adobe-Alternatives

    • Danke. Den Vorschlag, Graphite in solche Listen aufzunehmen, überlasse ich der Community; ich werde das nicht selbst tun.
      Derzeit ist die einzige Kategorie, in die es sinnvoll passt, Illustrator-Alternativen. Nächstes Jahr wollen wir Rasterbearbeitung als nächste Kernfähigkeit aufbauen, aber bisher haben wir uns ausschließlich auf Vektorbearbeitung konzentriert.
    • Zusätzlich ist es in gewissem Sinn auch self-hostbar, sodass es ein Kandidat für die awesome-selfhosted-Liste sein könnte [1].
      1. https://github.com/awesome-selfhosted/awesome-selfhosted
  • Vielleicht mache ich etwas falsch, aber dass jede Linie, jeder Kreis und jede Box automatisch zu ihrer eigenen Ebene wird, statt wie in Inkscape unter einer expliziten Ebene zu liegen, ist etwas unintuitiv.
    Dadurch wirken Ebenen im Grunde nutzlos.

  • Ich freue mich, dass es ein echtes Produkt ist, das über den Wert des Produkts selbst trägt, statt damit zu werben, dass es in Rust geschrieben ist.
    Ich habe das Gefühl, dass derzeit zu viele Produkte, die coole neue Technik in der Entwicklung verwenden, genau das als Verkaufsargument nutzen. Hier ist es interessant, aber die Nutzer des Tools werden sich für die technischen Aspekte nur insoweit interessieren, wie sie Stabilität, Performance und kontinuierliche Weiterentwicklung beeinflussen.
    Ich bin kein Illustrator und habe daher nicht viel mehr beizutragen, aber ich wünsche den Entwicklern, dass sie daraus ein erfolgreiches Tool machen.