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

d3fc-webgl-proc

v0.0.3

Published

A WebAssembly support library for d3fc-webgl

Downloads

12

Readme

d3fc-webgl-proc

A Web Assembly package for turning a large set of points into a set of triangles ready for rendering with WebGL.

Implemented to support the d3fc-webgl project.

Build

Requires emscripten support to build.

  npm run create-folder
  npm run compile
  npm run build

API

Start by calling fcWebglProc.loadApi() to initialise the library (returns a promise that must complete before the API can be used).

  fcWebglProc.loadApi().then(() => {
    // Use the API
    fcWebglProc.circles(); // ...
  });

Circles

Converts a set of points into circles. The source data should include X, Y, Size and SegmentCount for each circle (where Size controls the size of the circle for that point and SegmentCount specifies how many triangles will be used to construct the circle).

  const data = [
    10, 0, 5, 20, // at (10, 0), size 5 with 20 segments
    -5, 5, 3, 15, // at (05, 5), size 3 with 15 segments
  ];
  const totalSegments = 35; // Total number of segments expected (20 + 15)

  circles()
    .pixelX(2)  // Horizontal scale factor for pixel size (defaults to 1)
    .pixelY(1)  // Vertical scale factor for pixel size (defaults to 1)
    .callback(triangles => {
      // triangles is a flat array of X/Y coordinates (6 values per triangle)
    })
    (data, totalSegments);

Shapes

Converts a set of points into shapes. The source data should include X, Y, and Size for each shape (where Size controls the size of the shape for that point). The shape property should be set to the array of points to draw for this shape - expected to be positions around the center X/Y position of this shape.

  const data = [
    10, 0, 5, // at (10, 0), size 5
    -5, 5, 3, // at (05, 5), size 3
  ];

  shapes()
    .pixelX(2)  // Horizontal scale factor for pixel size (defaults to 1)
    .pixelY(1)  // Vertical scale factor for pixel size (defaults to 1)
    .shape(typePoints)
    .callback(triangles => {
      // triangles is a flat array of X/Y coordinates (6 values per triangle)
    })
    (data);