Eraser Diagrams: فرمتی که جای Mermaid رو میگیره
خلاصهٔ کاملتر
Eraser فرمت دیاگرام خودش به اسم Eraser Diagrams رو با لایسنس MIT اوپنسورس کرده و اسپک، یه رندرر مرجع و یه گالری نمونه رو روی گیتهاب گذاشته. به گفتهٔ نویسنده، دلیلش یه تغییر مشخصه: تا همین اواخر مدلهای زبانی تو layout (یعنی تبدیل ایدهٔ طراحی به مختصات روی بوم) ضعیف بودن و خروجیشون پر از نودهای روی هم و خطهای درهم میشد. برای همین ابزارهای دیاگرام AI، حتی خود Eraser، چیدمان رو میسپردن به موتورهایی مثل ELK.
نویسنده میگه از اواخر ۲۰۲۵ و اوایل ۲۰۲۶ مدلهای جدید تو چیدمان مختصاتی روون شدن، پس دیگه لازم نیست موتور تصمیم بگیره هر چیزی کجا بشینه. جایی که این محدودیت اذیت میکرد، درخواستهایی مثل «این دیاگرام رو جا بده تو یه اسلاید» یا «دیتابیسها رو ببر ستون راست» بود. وقتی مدل فقط میتونه بگه A به B وصله و همهٔ مختصات دست موتوره، این حرفها جایی برای بیان ندارن و نادیده گرفته میشن.
پس چرا یه فرمت تازه؟ چون Mermaid یه زبان رابطهست و اصلاً راهی برای گفتن اینکه چی کجا بشینه نداره. SVG و HTML مختصات دارن ولی خیلی پایینسطحن: یه باکس با لیبل میشه یه مشت path و tspan، بدون مفهوم نود و یال. Draw.io XML معنای درست رو داره ولی برای ذخیرهٔ فایل یه ابزار گرافیکی ساخته شده نه برای تولید با مدل؛ پرگو و پرتوکن. Graphviz و D2 و PlantUML هم مثل Mermaid چیدمان رو به موتور میسپرن. خود فرمت جدید JSON سادهست: یه لیست entities و یه لیست connections، با مختصات صریح x و y.
{
"entities": [
{ "tag": "Icon", "id": "api", "icon": "node", "containerId": "vpc",
"x": 190, "y": 270, "texts": [{ "text": "Orders API" }] }
],
"connections": [
{ "from": "client", "to": "api", "label": "HTTPS", "endArrowhead": "triangle" }
]
}سه اصل پشت طراحیشه. اول، راهاندازی بیدردسر: پیشفرضهای قوی برای استایل و آیکون و فاصله یعنی با چند خط JSON یه خروجی تمیز میگیری، آیکونها با اسم پیدا میشن و مسیر خطها خودکاره. دوم، سفارشیسازی عمیق: هر پیشفرضی قابل بازنویسیه و میتونی کامپوننت خودت رو تعریف کنی، چون هر tag فقط یه schema بهعلاوهٔ markup و CSS هست. سوم، بیاثر بودن بهصورت پیشفرض: چون JSON دادهست نه کد، قبل از اینکه به مرورگر برسه با schema اعتبارسنجی میشه.
دلیل اوپنسورس کردنش هم به گفتهٔ تیم اینه که اگه گلوگاهِ کارِ آدم و ایجنت، فهمِ آدمه، راهحلش نباید داخل یه محصول خاص بمونه. منطق تجاریش رو هم رک گفتن: فرمت رو عمداً کالایی میکنن و شرط میبندن که بهترین ابزارها رو روش میسازن.
نکات کلیدی:
- لایسنس MIT، رایگان برای استفادهٔ تجاری، ولی پذیرای مشارکت بیرونی نیست
- نود و یال معنایی بهعلاوهٔ مختصات صریح، طراحیشده برای تولید کمتوکن توسط مدل
- دیالکت کامپوننتش عمداً نمیتونه محاسبه کنه: نه حساب، نه ساخت رشته، نه اجرای دلخواه؛ آیکونها هم fail-closed پاکسازی میشن
- Mermaid و Graphviz و D2 و PlantUML همگی چیدمان رو به موتور میسپرن
- اسپک و رندرر و نمونهها روی گیتهاب: eraserlabs/eraser-diagrams




