<genii />

The Genii system enables developers to create visualisation designs using a path-based, gene-defined model. Genii and its constituent parts are free and open source under the GPL 3.0.

All Zenodo DOI links provide a fixed snapshot of the projects at the time of publication. The code in the repositories is likely to change and evolve so please refer to those for fully up-to-date work. Contribution to this work is welcomed through fork and pull-request and we welcome issue submissions for bugs and feature suggestions.

Genii Component

The Genii-Component library enables developers to create visualisations, it is a react library that gives react developers a <Genii /> component which takes a Genii gene and other properties to visualise a supplied set of data. Each Genii-Component will create and maintain a single visualisation. The code is reactive so the component will react to changes in its properties. To use the library in a given project it must be built `npm run build` and linked to local npm using `npm link`. The library requires node version 16 which can be easily installed and used for this project using asdf (a `.tool-versions` file is in the repository). More in-depth details of installation can be found in the repository README.

Genii Renderer

This renderer is a simple react application whose sole intention is to render <Genii /> components. It serves as an example implementation and can be forked and built upon if needed. This application is dependent on the Genii-Component so following the build and link steps for that are necessary to run this project. As with the previous project, Genii-Renderer requires node 16 which can be installed and used locally to the project using the tool asdf.

Genii Builder

This builder provides an interactive drag-and-drop interface which allows users to create Genii visualisations by constructing Genes and selecting data sets. As with the previous repositories, it requires node 16 which is available using asdf.

Genii iOS Builder

This project was created to facilitate a user study as part of the work. It is included here for completeness however, it was not intended to serve as anything more than an application for study. It can provide an insight into a single possible method for rendering <Genii /> components on an Apple Watch.