exa-analytics / exatomic

A unified platform for theoretical and computational chemists
https://exa-analytics.github.io/exatomic
Apache License 2.0
19 stars 12 forks source link

WIP: Feature/electron #215

Closed tjduigna closed 1 year ago

tjduigna commented 3 years ago

Re-writing the scene API in typescript inspired me down a rabbit hole of epic proportions. This new electron app aims to bring exatomic out of the jupyter notebook and onto the desktop! It is a stand-alone frontend application that showcases the threejs interface, some reusable UI components, and can optionally fetch data from the included python server script (requires an exatomic env).

In order to support this new application, the threejs interface we have should support receiving data from the DOMWidget or elsewhere (like the server script). This way, the same frontend code can run on either server or ipywidgets implementations serving a consistent data format. The aim is to sustainably support both modes of usage. Having a bespoke server and UI may sound like duplicated effort but gives more fine-grained control over functionality.

A valid question is whether this work belongs in this repository directly. It could in principle become a dependency of exatomic, providing core JS functionality. It is a brand new npm application that is a significant departure from the current frontend and attempts to be far more generic in its ability to expose the threejs interface to other components.

avmarchenko commented 1 year ago

Closing as stale - will reopen if needed.