The plotting is based on the Plotly.js library and a custom React component built around it. The plots can be reset, 'floated' and captured. The preset for capturing probably needs some tweaking: currently the plots are exported as SVG files with fixed width.
The Brillouin zone viewer still needs some work, so I did not include it yet.