Phoenix is a TypeScript-based event display framework, using the popular three.js library for 3D. It focuses on being experiment agnostic by design, with common tools (such as custom menus, controls, propagators) and the possibility to add experiment specific extensions.
It consists of two packages: a plain TypeScript core library (phoenix-event-display) and Angular example application (phoenix-ng). A React example is also provided. The core library can be adapted for any experiment with some simple steps.
It was selected for Google Summer of Code support in 2019 and 2020.
For running both the event display and the Angular app, you will need Node.js, yarn and lerna.
Once you have Node.js and npm (npm comes with Node.js), install yarn and lerna.
npm install --global yarn lerna
Then run the following commands.
# Install all the required dependencies for both phoenix-event-display # and phoenix-app and symlink the packages yarn install:dependencies # Run both packages in development/watch mode yarn start
Now both the
phoenix-app will start in development/watch mode. Any changes made to the
phoenix-event-display will rebuild and hot reload the
phoenix-app. You can access the app by navigating to
http://localhost:4200 on the browser.
Run the following Docker command to start Phoenix locally using Docker.
docker run -dp 80:80 9inpachi/phoenix
Access the app by navigating to
http://localhost on the browser.