Как стать автором
Обновить

Комментарии 50

Хороший проект. Если позволите, немного критики.
1. Если это редактор "блок-схем", то почему не все элементы? (https://ru.wikipedia.org/wiki/Блок-схема)
2. Насколько трудно не только кривые Безье сделать, но и прямые линии?
3. Зачем глубина цвета 32бита? Что это дает, какой профит?

Спасибо.

  1. Не все элементы для упрощения. Возможно стоит добавить. Мне остальные не пригождались, хватает 3-х

  2. Можно сделать, записал в "to-do". Уже не первый раз спрашивают про прямые линии. А зачем они? Для следования стандартам BPM-нотаций?

  3. Это где? Не занимался этим вопрос

  1. сервис же не только для вас)). при составлении канонических БС ваш сервис уже мимо пройдет.

  2. прямые линии - удобно рисовать, огибать элементы, опять же БС требуют по канону прямые линии. Т.е. использовать ваш сервис для более "строгого" рисования БС не выйдет, только на уровне "в пайнте на коленке", сильно сужает область применения.

  3. 32 бита это так картинка у вас сохраняется, посмотрите свойства ->подробно у файла.

Это кто?

Сейчас он придёт и расскажет, что на $mol это делается гораздо проще, быстрее и правильнее </sarcasm>

скорее всего он придет уже с прототипом

Похожее тоже есть: конструктор форм на Blazor WebAssembly.

Интересно что был предсказан приход

Так это самосбывающееся пророчество - меня ниже засаммонили.

А ненаправленные графы (линии без стрелочек) можно запилить? И импорт/экспорт в graphviz бы (там если оформление выкинуть, то тривиальный формат).

Ненаправленные можно. По graphviz нет планов.

Приятная штука выходит. Мне нравятся идеи которые вы закладываете, и в целом подход.

Типа реквест.

Пользуясь случаем, хочу попросить ручное изменение формы стрелок. А то не всегда они сами оптимальную форму принимают. Имею в виду возможность подправить кривую перетягивая её за середину.

Спасибо. По соединительным линиям такое в планах:

  • динамически менять кривизну в зависимости от расстояния, что бы вот такого не было

  • в зависимости от длины линии добавлять точки за которые можно тянуть. Если короткая линия - нет точки, потом точка в середине, потом две точки и т.д.

Было бы шикарно, если можно было бы добавить гиперссылки с одного блока на другой.

Это как?

Например внутри блока записана информация, и какое-то слово или фраза являются гиперссылкой, при нажатии на которую пользователя автоматически перекидывает на другой блок (который указан в гиперссылке)

Интересно, но зума явно не хватает. Можете обратить внимание на то как сделано в acad. Т.е. опорная точка зуммирования всегда относительно курсора. Шаги зума можно менять, например, по экспоненте, тогда будет эффект всплывания. Желательно делать крупные шаги зуммирования, чтобы не крутить много колесико мыши

Спасибо, посмотрю.

Если открыть ранее сохраненную схему то пропадают линии связывающие блоки.

Пропадают не присоединенные линии.
Если пропадают присоединенные линии - это ошибка. Какой браузер, можно видео?

Спасибо. Поправил

Выглядит очень не дурно. Попробую применить данный инструмент для ближайших задач.
Отдельная благодарность за отсутствие сложного меню и легкость интерфейса.

Звучит интересно, выглядит приятно, но позвольте пару вопросов(никакого негатива, только интерес):
1. Возможно ли реорганизовать так что бы при перемещении связанных фигур, связь стрелкой не "перечеркивала" фигуры, а пристраивалась на ближайшие точки, это было бы удобно в рамках построения больших схем

to-is:

to-do:

  1. Предполагается ли реализация функционала "встраивания" элемента путём перетаскивания его на уже имеющуюся связь? Так же повысило бы удобства редактирования схем

    to-is:

    to-do:

  2. И предполагается ли добавление редактуры "слоёв наложения", так как перепечатывать блоки из-за того что они были ранее добавлены явно менее удобно :(

А так выглядит очень приятно (:

Спасибо, отличные предложения. Записал.
Они прямо ложатся на основную идею "сделать удобно без элементов управления". Сам бы не додумался.
Если такие штучки реализовать конкурентов не будет.

Второй пункт - вот прям годнота, в самом деле.

А вот первый пункт, а если блок "Условие", у него Да/Нет, получается передвинул и значения выходов поменяются на противоположные, выход который был "Нет" станет "Да" и логика схемы ломается. Тогда наверно надо именовать сами соединения (в начале, не в конце).

Вот третье предложение не понял )

Ну вот вернулась с отпуска что бы объяснить что я имела ввиду)

У нас на схеме имеется несколько элементов, и возможно вы не предполагаете их наложение друг на друга, но я могу представить это себе как "множества".

И на данный момент самым "верхним" элементом будет последний добавленный. И никаких других возможностей перемещать фигуры "На задний план"/"На передний план" нет.

Вопрос именно в том будет ли реализация "На задний план"/"На передний план". И всё (:

С возвращением.
Записал в Todo.

Мне понравилось то что получилось. Давно хотел простой редактор, в котором сможет разобраться любой человек.

Идеальный процесс вижу следующим: На встрече отправить ссылку -> Набросать с командой схему -> Перерисовать в нормальном редакторе.

Поэтому прошу добавить следующее:

  • Командную работу;

  • Перетаскивание холста.

Перетаскивание холста есть.

Перерисовать в нормальном редакторе.

) так сразу в нормальном делайте

Да, перетаскивание есть, я возможно в прошлый раз баг словил.

так сразу в нормальном делайте

Люди которые в первый раз видят миро пугаются интерфейса, им нужно показывать как добавлять элементы\стрелочки.

А то что вы сделали, мне в первую очередь нравится своей простотой.

Полезной была бы трансформация уже созданной фигуры в другую. Потому что очень не удобно менять фигуру на другую и потом восстанавливать связи.

Очень приятная штучка! Большое спасибо! Есть ли возможность:

  • По клику на прямоугольнике отображать у каждого ребра знаки ."+" и "-", нажатие на которые добавляло/убавляло бы количество равномерно расставленных портов на этом ребре. То есть, чтобы, скажем, с левого ребра прямоугольника можно было бы вывести не одну связь, а две, три и так далее?

  • Сделать экспорт в SVG?

  • Добавить кнопку "расставить всё красиво" как у редактора yEd?

По поводу "расставить", в yEd вроде есть такой механизм, что когда перетаскивается фигура над другой фигурой, включаются направляющие (две оси симметрии) неподвижной фигуры, к которым начинает липнуть перемещаемая фигура. Это позволяет выравнивать фигуры в колонки и строки и добавлять схеме строгости.

Прикольно. Но почему не SVG?

Поздравляю, проект прогрессирует. Фишка со ступенчатым увеличением размера - великолепная.

Нэйминг портов планируется? Для блока "Условие" сделать "ДА" "НЕТ", классика же.

Спасибо, идея увеличения размера появилась после наших обсуждений по предыдущей статье.

Проблема "Да/Нет" решится если будет групповое перетаскивание? Размещаем текст "Да" и "Нет" рядом с выходами/входами - перетаскиваем фигуру вместе с текстом.

чем это лучше draw.io?

Самое удобное из того, что видел для телефона - это https://drawexpress.com/

Там киллер-фича - рисование вообще без инструментов, все жестами:

  • двумя пальцами провел по контуру - он стал пунктиром.

  • обвел группу фигур пальцем, затем провел ось - они выровнялись по стрелкам вдоль оси

  • сами фигуры рисуешь пальцем. круг - круг. квадрат - квадрат.

  • связующие - просто от фигуры к фигуре линия. на линии галку махнул пальцем - уже стрелка.

  • нарисовал на фигуре плюс, потом тап - копия фигуры. крест на фигуре - удалить фигуру.

  • накидал фигур, потом из библиотеки перетаскиванием шаблонов им придал нужную форму (ромбы, эллипсы, параллелограммы)

  • и т.д, тысячи их.

Рисовалка с распознаванием фигур - это была секретная идея. Цель. Прототип есть.
Drawexpress (если там все работает как заявлено) - это вершина, Пока безуспешно ищу в этой новости мотивацию.

Передариваю идею, которая родом из 80х и даже имела название и совсем недавно ещё была жива реализация, но без живых линий как у вас.

Граф взвешенный по дугам, а не по узлам. узлы мелкие, линии пригодные для захвата мышью и перемещения-растягивания, если умещается, то краткий текст условия с одной стороны и краткий текст действия с другой, а где то сбоку или в всплывающих облаках подробно для выбранного языка программирования. Можно и в 3D.

P.S. очень очень давно в эпоху повального увлечения разработкой адаптеров PC <==> Mainframe именно такая схема на нескольких листах АЦПУ-шной бумаги спасла мой мозг от закипания при дизассемблировании монитора (нынче назвали бы прошивкой)

УПДнаГМД ( устройство подготовки данных на гибких магнитных дисках 7' ) которое умело эмулировать читалку с перфокарт для канала мэйнфрейма.

Проект, реально крут. Но хотелось бы увидеть что-то сложнее.

Например построение er или use-case.

Выбор типа соединения, например связи 1:1, 1:М

Был бы рад увидеть функцию добавления своих элементов в шаблон, собранных из более простых элементов.

По-моему любого рода схемы прекрасно и удобно рисуются в Miro

Присоединяюсь к предыдущему комментатору - интересно было бы видеть (1) добавление своих фигур и (2) составные фигуры, со вложенными элементами - второй раз за год сталкиваюсь с визуализацией конфига для стэйт-машины, и вот чот пока рисую велосипеды. Сейчас это платформа для телеграм-ботов, а состояния - с кнопочками внизу и возможностью их добавления. А в прошлый раз у состояний было onEnter и onLeave (и тоже кнопочки), что требовало уметь рисовать внутри квадратика состояния ну или переходить на нормальный редактор BPMN.

Ну и размер - вот я ввел абзац lorem ipsum, и кружочек стал размером с экран, было неожиданно.

И масштаб - он, наверное, есть и колесиком мыши, да? С ноутбука заметить эту возможность не получается.

Для встраивания в свои системы используйте библиотеку DgrmJS. Можно добавлять свои SVG-фигуры. Делать внутри фигур кнопки, чекбоксы и т.п. Исходники начального примера.

Для серверной части на .Net - FsmWorkflow.

Очень интересно, наверное со временем стал бы этим пользоваться.
Но нужно четко определиться - чем это лучше/хуже Визио?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории