Skip to content


Switch branches/tags

Latest commit

* [node_editor] Add some events to RenderEvent

- add_owned_transform: Event for recovering a Transform that removed
  with RemoveNode
- Undo/Redo: Event to undo/redo the previous action

Other changes
- Fix bug in the ROI selector drawing position

* [node_editor] Add ProvenanceEvent

Provenance Event is a RenderEvent with some additional information;
besides Undo/Redo, this type will be used as a visual program change

Other changes
- Add new funtion to RenderEvent

* [node_editor] Implement fmt::Debug for ProvenanceEvent

Other changes
- Declaration of use of required data type

* [node_editor] Define behavior for each event

- Execute event behavior considering Undo and Redo
- valid_history stores the event history up to the current state; this
  variable is referenced when executing Undo (i.e., pop and run).
- redo_stack stores undo events; this variable is referenced when
  performing redo. When a new event is executed, this stack is emptied.

* [node_editor] Change specifications of some event functions

- connect/write_default_input: add leave_provenance to the argument
- Add add_owned_transform

* [node_editor] Add of ProvenanceEvent for valid_history

Additional information is required for each type of event.

* [main] Add import information to valid_history after startup

* [node_editor] Change ImportError/ExportError specs

* [node_editor] Add AddOwnedTransform event content

* [node_editor] Add keyboard control for Undo/Redo

* [node_editor] Change ChangeOutputName add condition

* [cake] Change DST method specs

- outputs_of_transformation/inputs_attached_to: make public
- new_transform_idx: add macro ID as as argument, change to detect
  positions where key does not exist and add a new item
- new_output_id: change to detect positions where key does not exist and
  add a new item
- add attach_output_with_id_name/create_output_with_id_name

Other changes
- add read to InputDefaultsMut

* [cake] Change DSTError and ImportError to inherit Clone

* [primitives] Add HashMap

* [node_editor] Change from std::io::Error to Arc<std::io::Error>

* [node_editor] Add node_states_mut, active_node_mut to NodeEditorLayout

* [cake] Add created_time to DST, and then add max_updated_on function

* [primitives] Update nalgebra dependency

* [primitives] Remove topology additions

- Topologies will be added in the future

* [cake] Add created_time to DST::new

* [node_editor] Make event module public

* Set rust edition to 2021

The minimum Rust version will be 1.56.0 accordingly.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Aflak - アフラーク

Aflak - A visualization environment to analyze astronomical datasets by providing a visual programming language interface.

Build Status Latest release on

Screenshot of Aflak

IN ACTIVE DEVELOPMENT: Features and API highly unstable!

Download binary (nightly)

Getting started

# Open a FITS file with aflak
aflak -f <FITS_FILE>
# See CLI help
aflak --help

You may find a demo video here.

Disclaimer: Most testing until now has been done with FITS files sampled from the SDSS MaNGA, and some files from ALMA. Standard-compliant FITS should be openable without issue, if you meet any issue, please file an issue, provide the FITS file, a screenshot and explain what's wrong/unexpected.


  • The first time you run aflak, the window layout may not be what you prefer. You may want to resize / move some windows with the mouse the very first time your run aflak. Hopefully, aflak remembers the arrangement of your windows between sessions.
  • It is advised to use aflak with a large screen more 2000-pixel large for a better experience. 3000-pixel is even better!

Build from source

Install the rust toolchain with rustup. You will need a working C & C++ environment to install from sources.

Quick install (nightly)

cargo install --git aflak


If aflak is already installed, just append the --force flag to the cargo command in order to overwrite the current install of aflak with a new one.

cargo install --force --git aflak

Slower install

Clone the git repository.

git clone
cd aflak/src
cargo install --path .


cd aflak/src
cargo build --release

Run aflak from source

cd aflak/src
cargo run --release -- -f <FITS_FILE>

Contributing, bug report, feature request

Please read the contribution guide.


Please fill your e-mail address on this link to subscribe to aflak's monthly newsletter and follow aflak's development.


Advanced Framework for Learning Astrophysical Knowledge







No packages published