Skip to content

luftkode/plotinator3000

Repository files navigation

WindowsLinuxmacOS

SkyTEM Plotinator3000

Purpose

Inspect logs from the Swiss Auto motor control and generator. More log support will be added as needed.

Why is this repository public?

For inspiration/educational purposes. Anyone developing egui/eframe apps may or may not find any of the solutions in this repository useful for their own project(s).

Installation

See the latest release and choose the installation method you prefer.

Installing with the shell script (unix) or powershell script (windows) will also install an updater which can be used to fetch the latest version.

A more stripped down version is also available as a web app at https://plotinator3000.web.app/ it lacks certain features like drag-n-dropping zip-files and directories, and will likely never have HDF5 support.

Quick start

Check the Justfile for recipes to get started, or invoke just to list available recipes.

Check if code compiles on native and wasm targets without actually compiling

just check-all # alias `ca` for speed!

Run as a native app

just run

Serve as WASM on a local web server

just serve

Developer info

The code

The plotinator3000 is implemented with eframe, a framework for the egui GUI library and for the plotting functionality, the egui_plot library is used.

All the boilerplate and workflows etc. is pulled from this eframe template which is kept up to date with egui/eframe and should be a good source for updating this project for recent egui/eframe versions.

Infrastructure (CI, releases)

cargo-dist handles the complexities of setting up build/releases for various platforms.

Read their documentation!!

Generating the first instance of CI for the release workflow is done via

cargo dist init

... And then following the instructions/prompts.

A (very complicated) release.yml is generated and metadata is added to Cargo.toml, if distributing for windows, a main.wxs is also generated. To update these with changes to the project, simply rerun cargo dist init, don't edit the workflow manually, there's a section on CI customization in the cargo dist docs.

When developing/trouble shooting the release pipeline adding pr-run-mode = "upload" like this

[workspace.metadata.dist]
pr-run-mode = "upload"

Will run the release pipeline on pull request, then you can open a PR and develop/fix/test the release pipeline.

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages