https://github.com/Turfjs/turf/issues/88 のポイント
justification
- JSTS はかなり巨大なプロジェクトであり、独自の用語を使い内部フォーマットがある。
- browserify したバージョンで jsts は 512.8kB、つまり大きい。
- デバッグがかなり難しい。
- サイズが大きすぎてクライアントサイド利用の障害になる。
how
== - JSTS 独立となるために実装しなければならない機能は buffer, union, difference, intersect のみであろう
- JSTS はかなり 'enterprisey' なスタイルで書かれているので、jsclipper 等他のライブラリからもヒントを借りる
- jsclipper を node に移植した結果、93kBとなった
- jsclipper ベースとしたことで、他にはないほど多くの buffer オプションを得たし、高速になった。但し内部形式変換を伴っている
- turf は内部的によく decoupled になっているので、モジュールを分離して部品使いすることもできる
- JSTS からもコードを取り出して JSTS 独立を達成