Reladraw geeft diagrammen tekstuele plaatsingsregels

De nieuwe tool Reladraw maakt diagrammen vanuit tekst, waarbij gebruikers zelf aangeven waar onderdelen ten opzichte van elkaar moeten staan. De software combineert zo vaste plaatsing met automatische berekening van afstanden.

Reladraw toont tekstuele plaatsingsregels voor diagramonderdelen
Reladraw toont tekstuele plaatsingsregels voor diagramonderdelen · Beeld: Netgebeurd (AI-illustratie)

Reladraw is een nieuwe teksttaal voor het maken van diagrammen. In plaats van coördinaten op te slaan of de volledige indeling automatisch te bepalen, beschrijft de gebruiker de positie van onderdelen ten opzichte van elkaar. Zo kan een onderdeel bijvoorbeeld boven, onder of links van een ander onderdeel worden geplaatst.

De software is bedoeld als alternatief tussen automatische diagramtools zoals Mermaid, Graphviz en D2 enerzijds en programma's als draw.io, Excalidraw en Figma anderzijds. Automatische systemen bepalen zelf de indeling, terwijl tekenprogramma's volledige controle bieden maar wijzigingen vaak handmatig maken. Reladraw probeert beide benaderingen te combineren.

Plaatsing als tekst

Een diagram bestaat uit regels waarin knooppunten en verbindingen worden beschreven. Een database kan bijvoorbeeld rechts van een webapplicatie worden gezet, terwijl een programmeerinterface onder een ander onderdeel komt te staan. De afstanden worden vervolgens door Reladraw berekend. In de invoer staan geen pixelcoördinaten en regels zijn niet afhankelijk van inspringing of een vaste volgorde.

Het systeem werkt met minimale afstanden. Als er later een nieuw onderdeel tussen twee bestaande onderdelen wordt geplaatst, maakt Reladraw automatisch ruimte. Wordt dat onderdeel verwijderd, dan schuiven de andere elementen weer naar elkaar toe. De resolver berekent daarvoor per as de kleinste indeling die aan alle opgegeven plaatsingsregels voldoet.

De aanpak is ook gericht op gebruik met softwareagents. Een agent kan in de tekst teruglezen dat een database onder een API staat of dat meerdere machines rond een centrale hub zijn geplaatst. Bij diagrammen met alleen coördinaten moet zo'n systeem eerst de visuele indeling reconstrueren. Reladraw maakt een wijziging daardoor direct een aanpassing van een plaatsingsregel.

Reladraw bevindt zich nog in een vroege ontwikkelfase. Versie 0.5.0 bevat een parser, een resolver, een SVG-renderer en een opdrachtregelprogramma dat tekstbestanden omzet in zelfstandige SVG-bestanden. Er is ook een browserversie waarin gebruikers de tekst links kunnen aanpassen en de opnieuw berekende tekening rechts bekijken.

De software kan een diagram momenteel renderen of een fout geven, maar heeft nog geen uitgebreid diagnoserapport. Ook worden verbindingslijnen nog niet automatisch om knooppunten heen geleid. Verder is het aanbod aan vormen en pictogrammen beperkt en kan de syntaxis nog veranderen. Installatie kan via npm, waarna een bestand met de extensie .reladraw naar een SVG-bestand wordt omgezet.

Lees ook