Skip to content

Commit

Permalink
Polish readme
Browse files Browse the repository at this point in the history
  • Loading branch information
blokhin authored Feb 22, 2024
1 parent a17cc8d commit c856d74
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@ HTML5 CIF player
[![DOI](https://zenodo.org/badge/18811/tilde-lab/cifplayer.svg)](https://doi.org/10.5281/zenodo.7692709)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftilde-lab%2Fcifplayer.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Ftilde-lab%2Fcifplayer?ref=badge_shield)

In-browser ultra-fast and lightweight renderer of the [crystallographic information files (CIF)](https://en.wikipedia.org/wiki/Crystallographic_Information_File), OPTIMADE JSON, and VASP POSCAR structures, written in a pure JavaScript.
In-browser ultra-fast and lightweight renderer of the [crystallographic information files (CIF)](https://en.wikipedia.org/wiki/Crystallographic_Information_File), [OPTIMADE JSON](https://github.com/Materials-Consortia/OPTIMADE/blob/master/optimade.rst#entry-list), and VASP [POSCAR](https://www.vasp.at/wiki/index.php/POSCAR) atomic structures, written in a pure JavaScript.

In a compiled form it is only one **standalone** file `player.html` of 500 Kb (100 Kb gzipped). See it [online](http://tilde-lab.github.io/cifplayer). Only a web-browser is required. After the code is loaded, no internet connection is needed.


Technical details
------

The modular JavaScript approach based on [require.js](http://requirejs.org) is employed. Development layout is inside `src` folder. Dependencies are [three.js](https://github.com/mrdoob/three.js) and [math.js](http://mathjs.org), as manifested in `deps` folder. They are downloaded with the aid of Unix shell script `prepare.sh`, and the needed parts are saved in the development layout. Compilation is done using `build.sh` script, invoking Google's Closure Compiler (which is shipped with [three.js](https://github.com/mrdoob/three.js), requires JVM).
This app is written in the [$mol](https://github.com/hyoo-ru) framework and employs [three.js](https://github.com/mrdoob/three.js) for 3d-rendering and [tween.js](https://github.com/tweenjs/tween.js) for phonon animation. Scientific formats conversion is done with `matinfio.js`.


Integration with the other software
------
Expand All @@ -21,6 +23,7 @@ Additionally, the content from anywhere on the web can be rendered, if the domai

Finally, the **postMessage** interface is supported. The parent webpage should call `iframe.postMessage(payload, '*')` providing the content as the **payload**.


Comparison with the other open-source plugin-free engines
------

Expand Down

0 comments on commit c856d74

Please sign in to comment.