Skip to content
Image and mesh annotation web application
JavaScript CSS HTML Shell Jupyter Notebook
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
img Remove old cursor file Jul 21, 2015
static remove errorception/GA Jul 28, 2018
webpack fix publicPath so it works for dev/prod builds Nov 25, 2015
.esformatter Add esformatter to cpmlement eslint Jul 21, 2015
.gitignore working webpack AppCache, cleaned up package.json Oct 27, 2015
.travis.yml dont run eslint on builds Jul 28, 2018
LICENSE Initial commit Apr 24, 2014 update to be relevent to 2018 Jul 28, 2018 remove S3 deployment Jul 28, 2018
package.json 2.4.0 Jul 28, 2018

Build Status

3D mesh and image annotation in the browser, the app is live at

Check out the wiki for usage instructions and specifications. Read on if you want to contribute.

Found an issue, want to suggest an improvement? Head over to the issue tracker. You can reach out to us through the Menpo mailing list:

See landmarkerio-server for installation instructions for the server.

Getting set up for development

The client uses NPM for all dependencies. As a prerequisite, you'll need node.js and NPM installed on your system. With these set up, just cd to the top directory and run:

> npm install

This may take some time as all dependencies are installed.

To develop,

> npm run watch

from the project's root directory. This will create all necessary build files and update them anytime a source file changes. Visit http://localhost:8080 to see the development version of the tool.

If you want to just generate the output files that need to be served, run

> npm run build

Javascript considerations

All javascript files are passed through the babel compiler so you can write valid ES2015 code. All code is bundled with an old version of webpack.

CSS considerations

We use SCSS for styles. There are currently no particular requirements other than putting all variables in src/scss/_variables.scss and importing module in the entrypoint src/scss/main.scss. Try and keep module at a reasonable size and make sure they contain related styles, don't hesitate to split them up.

Notes on deployment

We use Travis CI for deployment. is the script we run for our travis ci build. It simply builds the current branch and update the github pages branch to track the released version as well as staged versions.

A release is done through a tag, which will update the root directory and clean the rolling history (only the last 3 deployed tags are kept). Any other branch (including master) is deployed at /staging/branchname and gets a link in /staging/index.html. We release by tagging master and pushing tags, this can be done with npm version. For example to release a minor version change:

> git checkout master
> npm version minor
> git push --tags

A changelog should be drafted on the Github releases page for the newly released version. Note that users have a link to this page from the version number on the intro screen, so release notes should be written in a user-friendly way (think how App Store release notes are done).

You can’t perform that action at this time.