/xstate-cartographer

(Alternative) Visualizer for XState

Primary LanguageTypeScriptMIT LicenseMIT

xstate-cartographer

Build Status Coverage Status

For the time being, this is just a lightweight local dev implementation of an XState statechart visualizer.

Credit

All credit goes to David Khourshid for creating XState and inspiring lots of us to participate in the statechart community, and those who came before David through their creation of SCXML and the philosophy behind state machines. FSMs for the win!

Please consider becoming a sponsor of and contributor to XState.

Inspiration

More than simply inspiration, the starting point for this project is David Khourshid's xstate-viz; see it in action here. The code was originally forked from xstate-viz and then separated.

Current feature wish list

  • add versioning strategy for statecharts
  • create statechart sharing process through URLs
  • add cloud storage system (this needs some thought)
  • render children machines
  • handle TypeScript compilation
  • provide "dark mode" setting
  • use localStorage to persist statechart(s)
  • add ability to load examples as presets for exploration
  • add mock API functionality for asynchronous event
  • create two-way statechart changes based on UI interaction
  • implement the PWA pattern so the visualizer can be used in no and limited bandwidth circumstances
  • create an Electron app for even more local visualization
  • add Travis CI and Coveralls testing
  • add support for better testing