Форкаемся от ветки dev
MR делаем в ветку dev
npm run install_all
dev в брузере
npm run euler
dev в electron
npm run dev
build win
npm run build:win
build mac
npm run build:mac
build linux
npm run build:linux
npm run doc
unit
npm run euler_test
unit c UI (красота)
npm run euler_test_ui
e2e с красотой (запускается в режиме prevew, поэтому headless режима пока нет, для него нужен playwright или webdriverio)
npm run euler_test_browser
Для дебага конвертера
в папке src\renderer\__mock__ должны лежать файлы, полученные в результате работы конвертера
src\renderer\__mock__\vsdx_converted.json
чтобы из конвертера получился такой файл его нужно запускать с третьим параметром "saveFull"
Отрисовывается всё в пойнтах. Для юзера выводится значение в мм.
Подписывайся на все события движка в EulergraphCanvas. Если увидел подписку не там - перенеси туда.
Данные, полученные из событий записывай в общий стор, который на прекрасном зустанде.
Воздействуй на движок напрямую. Нет метода - напиши. Сделай так, чтобы это изменение сгенерило нужный евент в движке если его нет.
Аккуратно с рендерами! Вызывай рендер только когда нужно. Основные рендеры - на изменение параметров вида - положение и масштаб (zoom), на редактирование элементов. Лучше вызов рендера делать внутри движка
Написал охуенную фичу? Напиши к ней доку! Исправил охуенную фичу? Исправь и доку!
Прежде чем писать в SkiaWasmService, прочти доку! Помни про управление памятью, там нет garbage collector!
В общих чертах
Поподробнее

Дока src\renderer\src\engine\docs
После тебя код должен стать лучше.
Делай код чистым.
SVG не вставляем в компоненты. SVG должны жить в отдельных компонентах.
Общие переиспользуемые в нескольких местах компоненты выноси в common.
Стилизацию делай в теме и только частный случай - в самом компоненте
Делай компоненты верхнего уровня (фичи) по возможности независимыми. это обеспечивает модульность приложения.
Соблюдай хотя бы DRY. По возможности KISS и SOLID.
названия коммитов и переменных должны быть осмысленными.
export default - зло.
index.ts - только для экспорта/импорта. Компонент называется CamelCase.