Coder Social home page Coder Social logo

brickify's Introduction

Brickify

Installation

$ git clone https://github.com/brickify/brickify.git

$ cd brickify

Install dependencies: $ npm install

Link git hooks for automatic code tests and style checks: $ npm run linkHooks

Start Server

$ npm start

In order to continuously rebuild the project and restart the server when source files change you can use supervisor. Install it globally with $ npm install -g supervisor and use it like this: $ supervisor -i build -e node,coffee -- node_modules/coffee-script/bin/cake start (Only necessary for server-side scripts as front-end gets build on the fly.)

Scripts

Run $ npm run to list available scripts. Execute a script like: $ npm run <script-name>

Following scripts are currently available:

  • build: Builds client and server js files
  • start: Starts server
  • linkHooks: Links git hooks
  • checkStyle: Checks code-style of coffeescript files
  • apiDocumentation: Generates API documentation
  • documentation: Generates code documentation
  • test: Executes headless tests
  • testClient: Executes frontend tests in the browser
  • batchTest: Batch test all models and create a HTML report
  • prepublish: Prepares publication of project

Package management

We use npm for package management. In order to bundle the modules for the browser we use browserify.

Documentation

We use groc for code documentation and CroJSDoc for api documentation.

Call $ npm run documentation and $ npm run apiDocumentation respectively.

Styleguide

The code must be formatted as described in https://github.com/style-guides/CoffeeScript/tree/v0.1.1

Server

The server currently serves:

brickify's People

Contributors

ad-si avatar atix avatar johannesdeselaers avatar mischkew avatar steditor avatar stuikomma avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

designcntrl

brickify's Issues

Only 1s and 0s in batchTest

Following columns seem to display only 1s and 0s.

  • stl Import Errors
  • stl Invalid Polygons
  • stl recalculated Normals

call done when all state manipulation is done in solidRenderer.coffee

we should solve this with promises (#44 ), current implementation is not correct

module.exports.onStateUpdate = (state, done) ->
    objectTree.forAllSubnodes state.rootNode, loadModelIfNeeded, false

    #TODO: this is wrong, since loadModelIfneeded can modify the state
    #TODO: asynchronously. therefore done has to be called when all
    #TODO: loadModelIfNeeded calls are completed. Solve with promises
    done()

Refactor fileLoader, stlImporter and modelCache

Problem (e.g.): /get and /exists are called both when a model is not cached - should be combined in one call.

Also, stlLoader currently does Three-conversion and controls the caching process.

Fix normal direction

Triangles that specify their vertices in the wrong order will have inverted normals after import.

  • We could fix single normals by comparing the vertex order of two adjacent triangles (the vertices should be in reversed order)
  • We could implement a robust correction with this algorithm: http://stackoverflow.com/a/761126

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.