Giter Club home page Giter Club logo

mar-wir / notebook_graph Goto Github PK

View Code? Open in Web Editor NEW

This project forked from studioschade/notebook_graph

0.0 0.0 0.0 60 MB

A visual graphnode software composition system that supports Jupyter Notebooks for the Godot game engine.

License: MIT License

Jupyter Notebook 9.98% GDScript 0.22% GAP 0.08% Python 78.53% Shell 0.06% C 1.14% C++ 0.41% Makefile 0.17% Batchfile 0.01% HTML 1.60% CSS 0.05% JavaScript 7.52% TeX 0.07% R 0.01% Smarty 0.07% Roff 0.04% DTrace 0.01% Visual Basic 0.01% PLSQL 0.05%

notebook_graph's Introduction

Graph-based Jupyter notebook frontend for Godot Game Engine

Computing at Speed of Human:

demo

  • Creators need immediate feedback: Modify functionality by manipulating the visualization or live edit the source code to see the results instantly.
  • Solve bigger problems: Abstract and organize arbitrarily large chunks of functionality into graphnode networks.
  • Build your toolbox: Customize a toolbox of nodes to perform domain-specific computation. Create automated workflows, monitoring dashboards, data analysis or... anything really.
  • Use your whole brain: Different reprentations of knowledge are processed by different parts of the brain. Seemlessly cycle graphnode tools between visual and symbolic(code) representations.

Solve bigger problems:

  • The limiting factor on the most complex systems is human understanding.
  • Use a graph structure to design and manage a network of nodes and control flows.
  • Design models of systems and simulate changes.
  • Construct automated data collection and analysis pipelines that have high levels of flexability and debugability.

demo

Creators Need Immediate Feedback

  • (Life is too short for static UML diagrams). Diagram your architure and hit run.
  • A custom Jupyter frontend lets users safely write and execute code in over 100 languages within a running godot project.
  • Each Jupyter notebook acts as an independent entity(engine) which may be connected to arbitrary graphnodes in a scene.
  • Jupter Kernels decouple the execution of live-code from godot engine.

Use your whole brain:

Each component has multiple views the user can cycle throuh for viewing and editing nodes.

  • Visual:
    • Auto-generated GUI from unmodified source-code, objects, or JSON files.
    • Handcrafted iconographic, GUI, animations
    • A variety of implementations of drag-and-drop / resizable windows in Godot.
    • Visually identify the sorce bottlenecks/bugs
  • Symbolic (Code/Text)
    • View/Edit the source code or data directly in a simple integrated text editor or via external IDE.
    • A fancy retro green terminal theme to remind you its a computer. Go outside.
  • Audio/Kinesthetic representions???
    • Help make new ways to think about information. Contribute!

Build your toolbox:

  • Engine:
    • Write/execute arbitrary blocks of code that process inputs and make outputs.
    • They can be triggered manually or activated automatically via requests from connected nodes.
    • Currently support jupyter notebooks, bash scripts, gdscript or local executables.
  • Gasket:
    • Ensure engines can communicate safely with other graphnodes.
    • Validation of developer defined type-checking/contract/SLA systems for each connected node.
  • Probe
    • stat collection and monitoring for violation contract violations
    • auto-profile nodes to determine bottlenecks
  • Valve:
    • rate-limit a nodes input or output to make sure SLA's for each node can be met.
    • divert inputs/output to a queue/tank
  • Tank
    • Queue inputs or outputs ofincoming or outgoing requests.

Why Jupyter + Godot?

The goal of this Jupyter Frontend is for the workflow system, but other uses might include:

  • Godot 2d/3d/VR engines for high-quality data visualizations.
  • In-game dynamic generation of text, image, audio and video content.
  • Create detailed live web-based dashboards for server monitoring and admin.
  • Seamlessly pull data from a wide variety of sources into games/simulations.
  • Generate, store, modify gameworlds/savegames both in-game and in-browser.
  • Rapidly design starting parameters of simulations in Godot and then run them in Jupyter.

Requirements!

  • A Jupyter kernel must separately installed on a linux system (try anaconda to install it). Windows support is possible, do it!
  • Notebooks can only be processed with jupyter-nbconvert as one-shot on the local system. Help implementing the full network API is appreciated.

demo

  • =a tool by al shady =-

notebook_graph's People

Contributors

studioschade avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.