Giter VIP home page Giter VIP logo

xenonjs's Introduction

XenonJs

XenonJs implements a user-sovereign, AI-powered, semantic framework, and an ecosystem of durable, interoperable components.

Who and what is it good for?

Whether you are prototyping an experiment, or building a production ready customer facing product -
XenonJs is suitable for you.

Whether you are building from scratch, or looking to expand functionality of an existing project -
XenonJs is suitable for you.

Whether you are a software guru, or have no coding experience at all -
XenonJs is suitable for you.

"A picture is worth a thousand words", but a video has 24 frames per second, so every one minute of a video is worth one million and fourty four hundreds of thousands of words. Watch our demos at: XenonJs demos.

Getting started

XenonJs features 2 applications:

  • Run: an application that allows you to run any XenonJs experience (aka Graph) in a browser
  • Build: an web-based IDE that lets you compose XenonJs experiences (aka Graphs)

Run Graphs

To get started, try using our demo XenonJs Graphs:

More demo Graphs can be found on our website: xenonjs.com

Build Graphs

You can also build your very own XenonJs Graphs from the collection of XenonJs Nodes:

Access the graphs:

The Graphs you compose in Build are immediately accessible in the Run application.

To run a specific graph, pass its name as URL parameter to the Run app:

xenon-js.web.app/0.7/Run/?graph=GRAPH-NAME

By default the Graphs you construct in Build are persisted in your browser's local storage. You can access a locally stored Graph at:

xenon-js.web.app/0.7/Run/?graph=local$GRAPH-NAME

Graphs Library

Graphs are constructed from XenonJs Nodes or other Graphs. The XenonJs Nodes and Graphs form an emerging constantly growing ecosystem of components and you can easily compose graph from our off-the-shelf components. More detailed information on the components is available at the Library README.

Custom libraries

Build also allows you to add your own custom and pluggable Nodes on the fly.
In the custom Nodes, you can use the collection of existing Atoms, author your own, or mix them together. The custom Nodes are immediately usable when constructing your Graphs or sharing the Graphs with others.
You can also share your custom Nodes with other users, or use others' custom libraries.

For information on how to configure the custom libraries, see Custom Libraries.

Run XenonJs locally

It is also easy to run Build and Run locally:

Clone the repo:

git clone https://github.com/Atom-54/xenonjs.git -b 0.7

cd xenonjs

Note: 0.7 is our stable(-ish) version. We are constantly adding cool new features, and you are welcome to try ToT at your own risk :)

At the very first time run:

npm install

You can use a webserver of your choice to access the local Run and Build, but for your convenience, we provide one with our repo. Run the webserver:

npm run serve

To access Build IDE in your browser go to:

localhost:9871/Build

To access Run application in your browser go to:

localhost:9871/Run

By default, the Graph that was last open in Build will be run. To choose a different graph, add a URL param:

localhost:9871/Run/?graph=local$GRAPH-NAME

Get in touch

We spend most of our time writing code and, unfortunately, this means that our documentation is incomplete or lags behind. We are working on it!

In the meantime, if you have any questions, ideas or feedback, please, don't hesitate to reach out:

Overview

In the Small

XenonJs is modular.

Components are simple, dependency-free, and designed to interoperate with current technology. Components are composable, and compositions are composable. Re-use is first-class. The low-cost of components make them applicable to a wide spectrum of tasks - from quick experiments or individual features, to complex and scalable applications or platforms.

small

In the Large

XenonJs Graphs are solution blueprints.

Graphs are declarative and semantic: amenable to coherent reasoning by humans and LLMs. Graphs leverage AI on multiple layers: for interpreting user-context and intention, composing modules into experiences, authoring new modules, and inside modules themselves for data processing and generation.

large

Finally

Reality interfaces (cameras, screens, touch devices, speaker, mics, and so on) are decoupled from core computation, supporting federation of devices and execution contexts. We allow for user's data to be available only via keys they hold. Computation ideally occurs locally, and data egress is constrained.

finally


This documentation is incomplete (yet!). If you have any questions, ideas or feedback, please, don't hesitate to reach out, either by filing an issue, joining our discord or via email: [email protected].

xenonjs's People

Contributors

mariakleiner avatar sjmiles avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

xenonjs's Issues

Optimize demo graphs for mobile

  • Verify Listen works
  • Knowledge space:
    • tags don't fit the screen
    • last column shows empty
    • remove checkboxes from table
  • Points of interest:
    • Location field doesn't fit on the screen (not showing)
    • SplitPanel - doesn't work
  • Improve text wrapping:
    • Image search / VectorDB demos: input text (at the top) is clipped
    • Image completion: the input's label is clipped

Automatically connect nodes

explore possible options:

  • connect inputs of a newly added node to existing outputs
  • connect outputs of newly added node to existing inputs
  • connect only if type and name match? for fields (e.g. TextField) also consider label?
  • add additional hints / tags in node types?

able to add Node to public graph

to reproduce:

  • open a public graph
  • click + and add a node
  • the node appears in the Designer, but not in Inspector or Nodegraph, which is confusing and inconsistent

Object Inspector improvements

  • Values in text-input with options
  • Image upload support
  • Fix numeric range element
  • Connecting Select field output to a Number input (e.g. radius in Points of interest demo)
  • Error handling: typing NaN value in a Number field causes an error
  • Open Style inspector: add word-wrap/white-space controls

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.