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