-
Notifications
You must be signed in to change notification settings - Fork 1
DESM viz release roadmap
SCHVIZ (pronounced “schvitz” meaning “to sweat)
SCHVIZ is the productized version of DESM-viz. The idea is to provide a web service interface to save SCXML files; and two clients, a static client and interactive client, which can run layout on these SCXML files.
- node script (intially)
- sublime text
- emacs
- vim
- codemirror (browser)
Our first client will be a node script that, when run, scans a directory for *.scxml files, watches them for changes, and sends changes to the server. The client will use POST to save the SCXML file to /username/path/to/scxml. The server will notify live browser clients (see below) of the file change so that it can re-render. It will use server-sent events as communication channel.
- A button that opens current browser to /username/path/to/scxml
- A button that opens mobile safari on the user’s iPad to /username/path/to/scxml
- Sign into user account
Runs layout on the server and outputs:
- SVG
- PNG
Based on query parameter argument.
Rendering done on the client with KLayJS:
- Listens for changes to the SCXML on _changes and re-renders.
- Use delta comparison algorithm to animate entrance and exits of nodes.
- Animate the positions of nodes that are not exited or entered, based on new layout information from KLayJS
- Accepts an additional option via query param: instanceUrl. When instanceUrl specified, the live client will connect to a live DESM SCXML instance URL. It will highlight the visualization by querying the initial state, and subscribing to _changes.
The live browser client will have additional interactivity features such as:
- Move state and route orthogonal edges
- Ability to expand/contract a composite state to show/hide its contents
- Zoomable search (search on state ids and transition events)
Both static and live versions accept layout options via query parameters. These exact options are TBD
User will create account and sign in with username and password credentials.