npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

leo-glify

v1.0.0

Published

web gl renderer plugin for leaflet

Downloads

6

Readme

Leaflet.glify

web gl renderer plugin for leaflet

Pronounced leaflet-G.L.-Ify, or leaflet-glify, or L.-G.L.-Ify, or L-glify, or elglify

inspired by http://bl.ocks.org/Sumbera/c6fed35c377a46ff74c3 & need.

Backers on Open Collective Sponsors on Open Collective

Objective

  • To provide a means of rendering a massive amount of data visually in a way that does not degrade user experience
  • Remaining as simple as possible with current fastest libs
  • Providing the same sort of user experience one would get using standard html and elements

Simple Polygon Usage

L.glify.shapes({
  map: map,
  data: geoJson,
  click: function(e, feature) {
    //do something when a shape is clicked
  }
});

Simple Points Usage

L.glify.points({
  map: map,
  data: points,
  click: function(e, point, xy) {
    //do something when a point is clicked
  }
});

Simple Lines Usage

L.glify.lines({
  map: map,
  data: geojson,
  size: 2,
  click: function(e, feature, xy) {
    //do something when a line is clicked
  }
});

L.glify.shapes Options

  • map {Object} required leaflet map
  • data {Object} required geojson data
  • vertexShaderSource {String|Function} optional glsl vertex shader source, defaults to use L.glify.shader.vertex
  • fragmentShaderSource {String|Function} optional glsl fragment shader source, defaults to use L.glify.shader.fragment.polygon
  • click {Function} optional event handler for clicking a shape
  • color {Function|Object|String} optional, default is 'random'
    • When color is a Function its arguments are gets the index:number, and the feature:object that is being colored
  • opacity {Number} a value from 0 to 1, default is 0.5
  • className {String} a class name applied to canvas, default is ''
  • preserveDrawingBuffer {Boolean} optional, default false, perverse draw buffer on webgl context.
    • CAUTION: May cause performance issue with large data sets.

L.glify.points Options

  • map {Object} required leaflet map
  • data {Object} required geojson data
  • vertexShaderSource {String|Function} optional glsl vertex shader source, defaults to use L.glify.shader.vertex
  • fragmentShaderSource {String|Function} optional glsl fragment shader source, defaults to use L.glify.shader.fragment.point
  • click {Function} optional event handler for clicking a point
  • color {Function|Object|String} optional, default is 'random'
    • When color is a Function its arguments are gets the index:number, and the point:array that is being colored
  • opacity {Number} a value from 0 to 1, default is 0.8
  • className {String} a class name applied to canvas, default is ''
  • size {Number|Function} pixel size of point
    • When size is a Function its arguments are index:number, and the point:array that is being sized
  • sensitivity {Number} exaggerates the size of the clickable area to make it easier to click a point
  • preserveDrawingBuffer {Boolean} optional, default false, perverse draw buffer on webgl context.
    • CAUTION: May cause performance issue with large data sets.
  • isCentimetric {Boolean} optional, default false, uses a vertex shader with double precision to allow precise position for points at high zoom levels. Needed above zoom level 19 to avoid jittering and points snapped on a grid.

L.glify.lines Options

  • map {Object} required leaflet map
  • data {Object} required geojson data
  • vertexShaderSource {String|Function} optional glsl vertex shader source, defaults to use L.glify.shader.vertex
  • fragmentShaderSource {String|Function} optional glsl fragment shader source, defaults to use L.glify.shader.fragment.point
  • click {Function} optional event handler for clicking a point
  • color {Function|Object|String} optional, default is 'random'
    • When color is a Function its arguments are gets the index:number, and the point:array that is being colored
  • opacity {Number} a value from 0 to 1, default is 0.5
  • className {String} a class name applied to canvas, default is ''
  • preserveDrawingBuffer {Boolean} optional, default false, perverse draw buffer on webgl context.
    • CAUTION: May cause performance issue with large data sets.
  • weight {Number|Function} a value in pixels of how thick lines should be drawn
    • When weight is a Function its arguments are gets the index:number, and the feature:object that is being drawn
    • CAUTION: Zoom of more than 18 will turn weight internally to 1 to prevent WebGL precision rendering issues.

L.glify methods

  • longitudeFirst()
  • latitudeFirst()
  • instances
  • points(options)
  • shapes(options)
  • flattenData(data)

Roadmap

Soon to come: limitless styles.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]