Дима
нашел похожий сервис
ооо, найс схемка получилась))
Sergey
но хотели вроде такого
Дима
Да, я помню) У вас лучше
Дима
Ой, не так прочитал, вот тот который выше — лучше
Mannaro
нашел похожий сервис
Оо, а в чем такая схемка сделана?
Sergey
вообще это скрин из анриала но визуально хотели именно так когда начал спрашивать почему так (ну геморно делать) объяснили что тут есть пути данных от каждой ноды к другой а в верхнем случае все данные каждой ноды глобальны и нельзя откуда в какой ноде берутся данные
Sergey
а ещё верхний не взяли, потому что клозедсорс проект
Sergey
а нужен был свой
Sergey
сейчас этот проект завернули, а я уволился
Sergey
финансов не хватило
Sergey
Но буду допиливать обязательно
Sergey
хочу пилить ботов в телегу или вк
Sergey
в идеале написав модуль, можно пилить бота для чего угодно, хоть тот же telegram-mtproto заюзать
Дима
👀
Дима
Но реализация алгоритмов таких схем всё же без бабеля)
Sergey
я предположил, что быстрее всего будет компилить сценарий в js и запускать в песочнице
Sergey
писать скрипт который будет бегать по графу и исполнять это медленно и слишком дофига ошибок
Sergey
но в unreal она самая мощная и к тому же симпатичная
CherryTea
в блендере она более продвинутая в плане того что ноды можно сварачиват ьв группы
Дима
В MAX/MSP ноды понодовее будут 😆
Sergey
вот например красные аутпуты на красных нодах ивент-эмиттерах это аутпут ивента, ивент можно триггерить и передавать дальше
CherryTea
получая набор собсвенных входных параметров
Дима
Там невероятной сложности алгоритмы на этих нодах
Sergey
в анреале есть методы, макросы, функции, группы
Sergey
я дофига перелистал этих визуальных скриптовых систем
Sergey
самая мощная в анреале
Sergey
на ней можно сделать всё, звуки, шейдеры, материалы, анимации, скрипты на карте, управление логикой
CherryTea
было бы здорово написать какой-нибудь визуализатор кода
CherryTea
забросил сырцы а тебе вот такая штука сгенерилась
Дима
Ну да, но это сложно
Дима
Есть какая та визуализация для джавы, смутно помню, но она стоит килотонны денег
Sergey
распарсить AST в такой граф я могу даже вот сейчас сесть и написать на основе заготовок
Sergey
но понимать такой граф будет категорически сложно
CherryTea
по причине.7
CherryTea
?
Sergey
попробую объяснить проще
CherryTea
ну хотя да
Sergey
исходный код адаптирован для чтения текстом. в графах нет if, while, callback, async/await и прочего В нем есть аналоги, которые специально спроектированы так, чтобы их было проще использовать и читать
CherryTea
а если каждый класс
Sergey
если граф состоит из правильных нод, да, намного проще (далеко не всегда)
CherryTea
граф не как замена коду, а скорее как дока
Дима
Спойлер
CherryTea
без подробнестей, общаяя архитектура
Дима
Щас вы изобретете лисп))
Sergey
у меня друг хотел реализовать такой граф. я его пытался отговорить
Sergey
Щас вы изобретете лисп))
вот лисп визуализировать легко но зачем
Mannaro
Я считаю, должен быть либо код, либо граф, не должно быть возможности переключать их между собой в рамках одного файла.
Sergey
но должна быть возможность вызвать и граф из кода, и код из графа
Mannaro
это само собой
Mannaro
код оборачивается в ноду с входными параметрми и выходными и прекрасно втыкется в граф. А сам граф - это тоже обычная функция. С аргументами и возвратом значения.
Sergey
именно так и делал)
Sergey
но каждая нода заворачивается ещё в класс
Sergey
с контекстом и прочим
Sergey
короче сложновато
Mannaro
проблема с js - то, что на нем тяжело реализовать хорошую кодогенерацию, чтобы компилить в код граф.
Mannaro
ого
Mannaro
не знал про такую штуку
Sergey
можно создать граф для описания метода класса, для просто функции, для макроса(но я их делать не буду), а также свернуть граф в одну ноду для упрощения кода
Sergey
также ноды можно описать в разных "файлах"/модулях
Sergey
не знаю как это лучше организовать
Sergey
как это экспортировать вообще
Дима
А в данной задаче точно нельзя без кодогенерации?)
Sergey
да тут сложность не в кодогенерации
Sergey
да и как без неё? я не представляю...
Дима
Пара паттернов проектирования
Sergey
например?
Mannaro
эта задача не требует, а если мы говорим о том, чтобы разрабатывать код через графы, то однозначно требует либо кодогенерации, либо поддержка от V8
Sergey
просто может быть любое количество нод сценарий может быть ветвящимся и вложенным
Дима
Без разнцы)
Дима
Особенно если все замутить на каких-нибудь futures/free
Sergey
вот кстати пример, почему сложно юзать corezoid