gabyx / executiongraph Goto Github PK
View Code? Open in Web Editor NEWFast Generic Execution Graph/Network
License: Mozilla Public License 2.0
Fast Generic Execution Graph/Network
License: Mozilla Public License 2.0
Dev Branch:
Building and testing the whole C++ project. (OS: Linux only)
Master Branch:
Buidling C++ ExecutionGraphServer, and GUI-Client for
Stiching together the ExecutionGraphServer into the Electron App (urgh...)
Approaches:
Make docker containers with all dependecies installed (linux: ubuntu, macOs?, windows??) and use them to build the whole setups. Where can we setup this stuff? Travis? GitLab?
Write Travis bash scripts -> to build at least for ubuntu and macOs... and AppVeyor for Windows.
Second approach sucks but is the way people to it ...? However with the docker approach we can run the build locally and its not that frustrating. We can also just Setup Travis Bash scripts to run docker and publish the docker containers and use them from Travis...
Everything could be steered with cmake
-> Building C++ /Building GUI-Client with npm,
Fixing stuff for the Electron-App, placing the DLL at the right place (OS dependent shit...)
@simonspoerri what do you think?
Tasks towards a GUI using the chromium embedded framework (CEF):
cefsimple
test.HTML JavaScript GUI <-> Json <-> C++ Cef GUI <-> Execution Graph
Tasks towards a GUI using the chromium embedded framework (CEF):
cefsimple
test.HTML JavaScript GUI <-> Json <-> C++ Cef GUI <-> Execution Graph
m_rootPath
of the filesystem (given at startup)open,save
-Component calls the service to save/load the graph and delivers in the case of save the serialized visualization flatbuffer (backend has no knowledge about this buffer). Backend serializes the graph and the visualization buffer into file schema ExecutionGraph.fbs
model.Node.uiProps
, model.Connection.uiProps
model.Graph.uiProps?
. Maybe an effect: UpdateVisProps...
for the corresponding models data structures...? So after LoadGraph
we dispatch the UpdateVisProps
??Implement some easy first-use of graph -ayouting algos.
Maybe implement the execution order (easy) in the client as well to use the priorization as a layer-layout mode.
Currently after GraphManipulationServiceBinaryHttp::addNode
we have not setup the socket type strings.
They reside in the GraphTypeDescription
. It is currently only needed for the type-tooltip-tool
to show the types.
Maybe we directly lookup the correct type inside the tool (making the tool accessible to the current GraphTypeDescription
). So we dont need to save the type string in the model.Socket
..?
Or if we want to store the types inside the Socket
-> where should we setup these, after AddNode
where we init all uiProps
as well?...
This is a relatively easy task.
The Sockets should definitely use a RawAllocator (foonathan) such that the memory is continuous for each type.
This is easily implemented and added.
SocketFactory
templated over the TConfig
SocketFactory
uses a internally a RawAllocator (templated) which is used for the allocation of the Socket.Make an option (in the connection style tab of drawer) such that nodes are adjusted
to the width the inside text spans. (css?)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.