Visualization
The goal of visualization is the interactive visualization and editing of Seamless cells in the browser. This can be done either via Jupyter, or directly using the Seamless shareserver
IMPORTANT: This documentation section is a draft. The preliminary text is shown below
Using Jupyter notebooks
User experience (UX) can be done initially using Jupyter notebooks (very quick to set up). See this simple test, to be opened with seamless-jupyter
.
Using web visualization
Relevant examples:
See Running examples on how to run examples.
More powerful is to use UX cells (HTML, JS, CSS). These cells are shared over HTTP (read-only), so that they can be accessed via the browser. Input cells (read-write) and output cells (read-only) are also shared over HTTP, so that the UX cells (loaded in the browser) can access and manipulate them. See this test, to be opened with seamless-ipython -i
.
Web interface generator
Relevant examples:
See Running examples on how to run examples.
A Seamless project automatically includes a web interface generator.
When you share a cell (and retranslate the graph), an entry is automatically added in
/web/webform.json
. These entries are used to generate the web interface in web/index.html
and web/index.js
. The web interface is available under http://localhost:<REST server port>
, normally http://localhost:5813
.
Each entry in
/web/webform.json
describes the web component for the cell, and its parameters. All web components are in/web/components/
. The “component” attribute of an entry can be the name of any component in that folder. See the README for each component for the required parameters (the “params” attribute of the entry).You can also modify or create new components in
/web/components/
, and the web interface will be updated.You can manually edit
web/index.html
andweb/index.js
. Your modifications are automatically merged with the auto-generated HTML and JS. Sometimes, this can give rise to a merge conflict. Therefore, monitor and resolveweb/index-CONFLICT.html
andweb/index-CONFLICT.js
.Likewise, when a modified context leads to added or removed entries in
/web/webform.json
, and these are automatically merged with your modifications. Resolveweb/webform-CONFLICT.txt
in case of a conflict.
Modifying the web status generator
TODO. Integrate/merge with “visualization and monitoring” in “Seamless explained”.