Volodymyr Agafonkin's projects
A list of open source projects I created, maintain or actively contribute to.
| Project | Role | Description |
|---|---|---|
| Leaflet | author | The number one JavaScript library for interactive maps. |
| mapbox-gl-js | core contributor | JavaScript/WebGL vector maps library. |
| mapbox-gl-native | core contributor | OpenGL-based vector maps library. |
| Algorithms | ||
| earcut | author | The fastest and smallest JS polygon triangulation library. |
| earcut.hpp | core contributor | C++11 port of Earcut. |
| rbush | author | Very fast JS R-tree-based 2D spatial index. |
| rbush-knn | author | K-nearest neighbors search plugin for RBush. |
| flatbush | author | Fast static spatial index for 2D rectangles and points. |
| geoflatbush | author | Geographic kNN queries for Flatbush. |
| kdbush | author | The fastest 2D static spatial index in JavaScript. |
| kdbush.hpp | author | C++11 port of KDBush. |
| geokdbush | author | Geographic extension to kdbush for fast kNN queries of locations on Earth. |
| delaunator | author | The fastest JS Delaunay triangulation library for 2D points. |
| delaunator-rs | author | A port of Delaunator to Rust. |
| d3-delaunay | core contributor | Fast Voronoi diagram library for 2D points (based on Delaunator). |
| robust-predicates | author | Fast robust geometric predicates for computational geometry (modern JS port of J. Shewchuk's predicates). |
| supercluster | author | Fast geospatial point clustering library. |
| supercluster.hpp | author | C++14 port of Supercluster. |
| pixelmatch | author | The fastest and smallest pixel-level image comparison library. |
| cheap-ruler | author | Collection of fast approximations for common geographic measurements. |
| polylabel | author | JavaScript library for finding pole of inaccessibility of a polygon (for labeling). |
| potpack | author | A tiny and fast JavaScript rectangle packing library (for sprite layouts). |
| concaveman | author | The fastest concave hull algorithm in JS. |
| dobbyscan | author | Fast density-based clustering of geographic points. |
| delatin | author | A fast JavaScript 3D terrain mesh generation tool. |
| MARTINI | author | A JavaScript library for real-time 3D terrain mesh generation. |
| icomesh | author | Fast JavaScript icosphere mesh generation library for WebGL visualizations. |
| linematch | author | An ultra-fast algorithm for comparing sets of polylines (e.g. road networks). |
| lineclip | author | Fast library for clipping polylines and polygons by a bbox. |
| simplify-js | author | Fast JS polyline simplification library. |
| tinyqueue | author | Small and simple JS priority queue. |
| flatqueue | author | A faster variation of a JS priority queue. |
| tile-cover | core contributor | Generates the minimum set of tiles that cover a geometry. |
| which-polygon | author | Fast index for matching points against a set of polygons (e.g. point in country queries). |
| quickselect | author | Fast selection algorithm in JavaScript (Floyd-Rivest). |
| simple-statistics | core contributor | JavaScript implementation of descriptive, regression, and inference statistics. |
| tiny-sdf | author | JS library for browser-side signed distance field generation from text. |
| Data | ||
| geojson-vt | author | Very fast tile-based geospatial index for GeoJSON data. |
| geojson-vt-cpp | core contributor | C++11 port of GeoJSON-VT. |
| pbf | maintainer | Low-level, lightweight protocol buffers encoder/decoder for JS. |
| geobuf | maintainer | Compact binary encoding for geospatial data. |
| tile-reduce | Core contributor | scalable vector tile geospatial analysis library for Node. |
| geojson.hpp | author | C++14 library for converting GeoJSON into geometry.hpp representation. |
| tile-decorator | author | JS tool for optimizing vector tiles. |
| mbtiles-extracts | author | Tool for extracting regional subsets of MBTiles files. |
| Misc | ||
| webgl-wind | author | Fully GPU-powered wind simulation using WebGL. |
| suncalc | author | Tiny JavaScript library for calculating sun/moon positions and phases. |
| tinyjam | author | A radically simple, zero-configuration static site generator. |
| yeahjs | author | A tiny, fast, modern EJS templating library. |
| flamebearer | author | Blazing fast flame graphs for Node & V8. |
| simpleheat | author | Tiny JavaScript library for drawing heatmaps with Canvas. |
| dead-simple-grid | author | 250-byte CSS grid framework. |
| bullshit.js | author | Bookmarklet to expose bullshit on web pages. |
| Leaflet.heat | author | Simple, fast heatmap plugin for Leaflet. |
| Leaflet.TouchHover | author | Leaflet plugin for Leaflet hover interactions on mobile. |
| github-org-browser | author | Simple tool for browsing public repos of a GitHub organization. |
| binary-split | maintainer | Fast splitting Node stream. |
| cumulative-timer | author | Simple cumulative timer for benchmarking JavaScript. |
| magic-string | core contributor | Tool for generating source maps. |
| road-orientation-map | author | A visualization of road orientations on an interactive map. |
| rollup-plugin-unassert | maintainer | A Rollup plugin to remove assertion calls via Unassert. |
| Experiments | ||
| polysnap | author | Snap rounding a polygon with self-intersections (a work in progress). |
| bbtrees | author | Self-balancing binary search tree implementations in JS (unfinished). |
| polyclip | author | Martin polygon boolean operations in jS (unfinished). |
| hain | author | port of Hain's polygon trapezoidation in JS (unfinished). |
| seidel | author | Seidel's polygon triangulation in JS (deprecated). |
| pbf-split | author | Splits a Node stream of length-prefixed protocol buffer messages (deprecated). |
| fanny | author | Experiments with feedforward neural networks in JS. |
| suncalc-go | author | Go port of SunCalc (unfinished). |