As an effort for adding interoperability with FOLD (Flexible Origami List Data structure) file format, FOLD viewer was implemented and published on Github as open source.

Why Another Viewer?

There is a good viewer created by Jason Ku. It’s an excellent implementation. But it’s written in CoffeeScript and I wanted a more accessible and extensible implementation that can be part of the bigger growing system for origami simulation so I made the following decisions:

  • TypeScript as an implementation language
  • Three.js as a 3D framework

So Is It Worth?

The sophisticated type system of TypeScript makes it possible to express the FOLD file format specification in a very concise and elegant way (as in the fold_format.ts file). As the FOLD format specification evolves, maintaining the implementation reflecting the new changes in the specification would be a no-brainer.