უკან დაბრუნება
„Reladraw“: დიაგრამების ტექსტური ენა, სადაც განლაგებას ავტორი წყვეტს
SiTech AI Team2 წთ. საკითხავი

„Reladraw“: დიაგრამების ტექსტური ენა, სადაც განლაგებას ავტორი წყვეტს

GitHub-ზე გამოქვეყნებულმა დიაგრამების ახალმა ტექსტურმა ენამ Reladraw-მა Hacker News-ზე 366 ქულა მოაგროვა. ყოველი პოზიცია ფაილში სხვა ელემენტის მიმართ არის მითითებული და ავტომატური განლაგების ძრავა ვერაფერს წყვეტს.

დიაგრამების ახალმა ტექსტურმა ენამ Reladraw-მა Hacker News-ზე 366 ქულა და ასზე მეტი კომენტარი მოაგროვა. პროექტი GitHub-ზე Apache-2.0 ლიცენზიით ქვეყნდება, 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. ამომხსნელი განლაგებას არ ეძებს, მანძილებს ითვლის, ნაგულისხმევად კი კვანძები ერთმანეთს არ ეფარება.

ტექსტიდან აწყობილი დიაგრამა

რატომ არის გათვლილი აგენტებზე

ავტორის არგუმენტი ასეთია: ხშირ შემთხვევაში დიაგრამა არ იხატება, არამედ იცვლება. პიქსელური კოორდინატების დროს აგენტმა სურათი ციფრებიდან უნდა აღადგინოს, ავტომატური განლაგების დროს კი განლაგება საერთოდ არსად არის ჩაწერილი. როცა პოზიცია მითითებულია, ცვლილება წინადადების შეცვლას ნიშნავს. რეპოზიტორში აგენტისთვის განკუთვნილი უნარიცაა, რომელიც npx skills add reladraw/reladraw -g ბრძანებით ყენდება.

ორ უკიდურესობას შორის მდებარე ადგილი

რა ჯერ არ არსებობს

პროექტის სტატუსის სიაში შემდეგი მთავარი ნაწილი დიაგნოსტიკის ანგარიშია: ამჟამად ხელსაწყო ან ხატავს, ან ვარდება და ვერ ამბობს, რა არის ცუდი იმ სურათში, რომელიც წარმატებით დახატა. დისკუსიაში ერთმა მომხმარებელმა D2-ის TALA განლაგების ძრავა ახსენა, როგორც მეტი ხელით კონტროლის მქონე ალტერნატივა; ავტორმა უპასუხა, რომ TALA ავტომატურ განლაგებას ინარჩუნებს და მხოლოდ მისი მოხრის გზებს ამატებს. მოხსენებული ხარვეზი მოხრილი კავშირების დახატვაში სათამაშო მოედანზე გამოსწორდა.

SSiTech

SiTech — AI-გაძლიერებული ვებ დეველოპმენტი

ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.