חזרה
Reladraw: שפת דיאגרמות שבה הכותב קובע את המיקום ולא מנוע פריסה
SiTech AI Team2 წთ. საკითხავი

Reladraw: שפת דיאגרמות שבה הכותב קובע את המיקום ולא מנוע פריסה

שפת טקסט חדשה בקוד פתוח לדיאגרמות בשם Reladraw צברה 366 נקודות ב-Hacker News. היא משאירה כל החלטת מיקום בקובץ המקור ומציינת מקומות ביחס לרכיבים אחרים במקום למסור זאת למנוע אוטומטי.

שפה טקסטואלית חדשה לדיאגרמות מושכת תשומת לב ב-Hacker News: הפרויקט Reladraw, שמתפרסם ב-GitHub תחת רישיון Apache-2.0, צבר 366 נקודות ולמעלה ממאה תגובות. הוא כתוב ב-TypeScript, אינו משתמש בספריות חיצוניות בזמן ריצה, וכולל מנתח, פותר פריסה, מרנדר SVG, כלי שורת פקודה ומגרש משחקים בדפדפן.

המרווח בין פריסה אוטומטית לפריסה ידנית

המחבר מתאר את הבעיה כבחירה בין שתי משפחות של כלים. Mermaid, Graphviz ו-D2 מסדרים הכול בעצמם לאחר שמצהירים על תיבות וקשרים, וזה מפסיק לעבוד ברגע שיש בראש תמונה מסוימת. draw.io, Excalidraw ו-Figma נותנים שליטה מלאה, אך כל עריכה הופכת לעבודה ידנית איטית.

Reladraw אמור לתפוס את המקום שביניהם. כל מיקום נאמר ביחס למשהו אחר, ובקובץ אין אף קואורדינטה: הצהרה אמיתית מתוך התיעוד נראית כך: node resolver right of parser. רווח הוא מרחק מינימלי ולא מדויק, ולכן צומת שלישי בין שניים דוחק אותם בדיוק במידה שהוא צריך.

איך השפה נקראת

הקובץ מכיל הצהרה אחת בכל שורה, בלי בלוקים, וההזחה מתעלמת לחלוטין. שם עם נקודה מציין הכלה: server.docker מצויר בתוך server. לקשר אפשר לומר מאיזה צד של הצומת לצאת, לאיזה צד להיכנס ובאיזה רווח לעבור בדרך.

הדוגמה הרשמית arch.reladraw משחזרת דיאגרמת draw.io שצוירה ביד ב-44 הצהרות, בעזרת הוראות כמו above-left of hub ו-between cluster.desktop1 and cluster.laptop1. הפותר אינו מחפש פריסה אלא גוזר מרחקים, וכברירת מחדל צמתים אינם חופפים.

הדיאגרמה לדוגמה, שנוצרה מקוד reladraw

למה זה מיועד לסוכני קוד

הטיעון של המחבר הוא שהמקרה הנפוץ אינו ציור דיאגרמה אלא שינוי שלה. עם קואורדינטות בפיקסלים סוכן צריך לשחזר את התמונה מן המספרים, ובפריסה אוטומטית הסידור כלל לא נכתב לשום מקום. כשהמיקום מוצהר, עריכה היא שינוי של משפט. במאגר יש מיומנות לסוכנים שמותקנת בפקודה npx skills add reladraw/reladraw -g.

המרווח בין פריסה אוטומטית לפריסה ידנית

מה עוד חסר

הפריט הגדול הבא ברשימת המצב הוא דוח אבחון: היום הכלי או מרנדר או נכשל, ואינו יכול לומר מה שגוי בתמונה שצייר בהצלחה. בדיון הצביע מגיב על מנוע הפריסה TALA של D2 כחלופה עם יותר שליטה ידנית; המחבר השיב ש-TALA שומר על פריסה אוטומטית ומוסיף רק דרכים לכופף אותה. תקלה שדווחה בקווים מתעקלים תוקנה במגרש המשחקים.

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.