Code Monkey home page Code Monkey logo

carta-frontend's Introduction

CARTA Frontend

Prerequisites

The build process relies heavily on npm and nodejs, so make sure they are installed and accesible. WebAssembly compilation requires the Emscripten compiler (emcc version 1.39.0 or later) to be in the path. Details can be found here. The protocol buffer definitions reside in a git submodule that must be initialised as follows:

cd protobuf
git submodule init
git submodule update
# use git checkout dev when using the dev branch of carta-frontend
git checkout master 

Prerequisite npm packages can be installed using npm install. The WebAssembly library build process requires wget. Some WebAssembly libraries require cmake as well.

Build process:

There are four steps in the build process. Some are more automated than others.

  • Building statically linked WebAssembly libraries of dependencies, such as AST, ZFP and SZ. Each dependecy can be built using the individual build scripts in the wasm_libs subdirectory, or using the build_libs.sh script. There are no plans to further automate this process, as the libs are unlikely to require recompilation on a regular basis.
  • Building WebAssembly wrapper modules, which either correspond directly to a dependency mentioned above, or are based on custom code (such as converting floating point (FP32) values to RGBA values). These modules can be built using the individual build scripts in wasm_src subdirectory, or using the build_wrappers.sh script. Currently, each build script symlinks the JavaScript portion of the wrapper to a subdirectory of node_modules, and copies the WebAssembly binary to public.
  • Building static protocol buffer code is done using the build_proto.sh script in the protobuf folder, which builds the static JavaScript code, as well as the TypeScript definitions, and symlinks to the node_modules/carta-protobuf directory.
  • Webpack is used to build and bundle all the JavaScript, Sass and HTML code elegantly. You can run npm start to run a live dev server, while the build process watches for any changes to source files. Standalone versions can be built with npm run build, which produces a distributable build in the build folder.

DOI

carta-frontend's People

Contributors

veggiesaurus avatar duidae avatar confluence avatar panchyo0 avatar zarda avatar tienhao avatar kswang1029 avatar acdo2002 avatar christyreynolds avatar rwjsimmonds avatar creynolds75 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.