diff --git a/README.md b/README.md index 6e94454f..ff2820f1 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,73 @@ [![JetBrains Research](https://jb.gg/badges/research.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) -# DataForge plugins for visualisation +# DataForge Visualisation Platform This repository contains [DataForge](http://npm.mipt.ru/dataforge/) (also [here](https://github.com/mipt-npm/dataforge-core)) components useful for visualization in -various scientific applications. Currently, the main application is 3D visualization for accelerator -experiments. +various scientific applications. Currently, the main application is 3D visualization for particle +physics experiments. The project is developed as a Kotlin multiplatform application, currently targeting browser JavaScript and JVM. +Main features: +- 3D visualization of complex experimental set-ups +- Event display such as particle tracks, etc. +- Scales up to few hundred thousands of elements +- Camera move, rotate, zoom-in and zoom-out +- Object tree with property editor +- Settings export and import +- Multiple platform support + + ## Modules contained in this repository: + ### dataforge-vis-common Common visualisation objects such as VisualObject and VisualGroup. -### dataforge-vis-fx - -JavaFX utilities for meta manipulations. - -### dataforge-vis-jsroot - -Some JSROOT bindings. - -Note: Currently, this part is experimental and put here for completeness. This module will not build. ### dataforge-vis-spatial Includes common description and serializers for 3D visualisation, JavaFX and Three.js implementations. + ### dataforge-vis-spatial-gdml -GDML bindings for 3D visualisation (to be moved to gdml project) +GDML bindings for 3D visualisation (to be moved to gdml project). -### spatial-js-demo -Contains a simple demonstration. To see the demo: run -`spatial-js-demo/distribution/installJsDist` Gradle task, then open -`build/distribuions/spatial-js-demo-0.0.0-dev/index.html`. +### dataforge-vis-jsroot +Some JSROOT bindings. + +Note: Currently, this part is experimental and put here for completeness. This module may not build. + + +### demo + +Several demonstrations of using the dataforge-vis framework: + +##### spatial-showcase + +Contains a simple demonstration (grid with a few shapes that you can rotate, move camera, etc.). + +To see the demo: run `demo/spatial-showcase/distribution/installJsDist` Gradle task, then open +`build/distribuions/spatial-showcase-js-0.1.0-dev/index.html` file in your browser. + +Other demos can be built similarly. + +##### muon-monitor + +A full-stack application example, showing the +[Muon Monitor](http://npm.mipt.ru/projects/physics.html#mounMonitor) experiment set-up. + +Includes server back-end generating events, as well as visualization front-end. + +To run full-stack app (both server and browser front-end), run +`demo/muon-monitor/application/run` task. + +##### gdml + +Visualization example for geometry defined as GDML file.