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

golf-2d-graphs-prototype

v0.0.3

Published

Visualisation module for golf statistics

Downloads

3

Readme

Golf 2D Graphs Prototype

Golf statistics and graph visualisations using the Canvas API.

Adding further visualisations

Any new canvas visualisation can be added as a new static method on the Golf2DGraphs class, prefixed with "render" and passed as an argument to Golf2DGraphs.init. This method can render anything the the canvas context (Golf2DGraphs.ctx).

For elements and coordinates needing to be resized, use the util functions getShapeSize() to set them dynamically based on the window size.

NOTE - Perspective

Overall view perspective is controlled using the constant VIEW_PERPECTIVE, which will be applied to all elements drawn with the transformByPerspective() util.

For elements drawn without perspective (ie arcs and markers), their coordinates must be passed to the getTransformedCoordinates() util, unless their y coordinate is the canvas centre (in the case of flags and balls) so transformation doesn't apply.

Adding trees

Trees are rendered via the Tree class, which utilises 2 images converted to base64 and stored within the treeImages object (in src/images.ts). They are indexed using the name taken from the golf 3D assets repo, which is passed to the Tree class when instantiating, ie med5.

Upon instantiating an optional colour string parameter can be passed for leaf colour.

Images are saved as a black and white desaturated image with the _leaves suffix, and a coloured trunk image _trunk. These are saved as PNG-8 with 4 or 8 colours, and cropped to >=250 pixels width with the trunk centred, before base64 conversion.