Skip to content

Repository files navigation

StatifierUI

CI Hex.pm Version Hex Downloads Hex Docs License

UI components for authoring, observing, inspecting, and debugging statifier statecharts and predicator expressions.

Debug-first and text-first: SCXML is the source of truth, and the visualization reads it. See the GUI research and direction document for how that direction was reached, and the architecture decision records for the decisions themselves.

Statifier already emits trace effects at every Appendix D phase boundary, stamps them with (macrostep, round) counters, and retains source locations on states, transitions, and expressions. A UI is one more interpreter of those effects; the engine needs nothing changed to support it.

Installation

def deps do
  [
    {:statifier_ui, "~> 0.1"}
  ]
end

The :kino (Livebook) and :phoenix_live_view integrations are optional dependencies - add whichever your host actually renders with.

Status

Early. The first milestone is the Livebook inspector: StatifierUI.Kino.inspect/3 over a running Statifier.Session - notebooks/inspector.livemd walks it end to end.

Documentation

Published guides on hexdocs:

  • Architecture - the layers of statifier-ui, what each piece is for, and the boundary with the engine it visualizes.
  • Trace wire format - the normative specification of the language-neutral JSON trace stream a UI consumes.

Development

mise install     # provision erlang + elixir
mix deps.get
mix quality      # the full gate: format, compile, credo, dialyzer, docs, tests

mix quality --profile loop is the faster inner-loop variant - it skips dialyzer and coverage and runs only the tests covering changed code.

CI runs the same gate on every push and pull request. See .quality.exs.

License

MIT. See LICENSE.

About

LiveView and Livebook UI for statifier statecharts and predicator expressions - text-first SCXML authoring, live visualization, datamodel exploration, and session debugging

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages