WebサイトをWebGLでブラウズするChrome拡張機能を作った

Moly Map Scroll - Chrome Web Store

このエクステンションは、ブラウザ画面の横にウェブページ全体をサムネイルとして表示する。
また、その中で現在表示してる箇所は特に明るく示される。

これは、記事を読むときなど、全体の分量や現在の位置をひと目で把握するのに使える。
また、ミニマップ中の気になるところをクリックすると、その箇所にジャンプすることもできる。
そのため、移動したい場所の内容を表示するスクロールバーとしても利用できる。

ミニマップが表示されているパネルは、端をドラッグして自由にサムネイルのサイズを変更できたりする。
また、スクロールに伴ってミニマップ中の明るいエリアが移動する。
こうした処理をスムーズに行うために、ミニマップの描画にはWebGLを用いている。
当初は普通に2dのcanvasで描画をするつもりだったのだが、これで実装すると動作がカクカクになってしまった。
WebGLだと全く処理落ちすることなく描画できた。
WebGLすごい。

また、サイトのキャプチャにはhtml2canvasというJSライブラリを利用した。
これもすごい。