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 🙏

© 2026 – Pkg Stats / Ryan Hefner

create-vizcraft-playground

v0.3.0

Published

Scaffold a new VizCraft interactive visualization playground

Readme

create-vizcraft-playground

Scaffold a new VizCraft interactive visualization playground in seconds.

Usage

npx create-vizcraft-playground my-playground

Or without a project name — the CLI will prompt you:

npx create-vizcraft-playground

The scaffolder will ask for:

  • Project directory name
  • Playground title shown on the landing page
  • Subtitle — one-liner description
  • Accent colour — hex value for the primary theme colour

Then just install and run:

cd my-playground
npm install
npm run dev

Open http://localhost:5173.

Re-running the setup wizard

You can re-configure the title, subtitle, and accent colour at any time:

npm run init

This regenerates src/playground.config.ts.

Adding a plugin

Generate a new visualization plugin:

npm run generate <plugin-name> --category "Category Name"

Example:

npm run generate supply-demand --category "Microeconomics"

This creates src/plugins/<plugin-name>/ and wires it into the registry automatically. See template/README.md for full plugin docs.

Sandbox plugins

Use the --sandbox flag to generate an interactive, architecture-builder-style plugin where users can dynamically add and remove components and the scene, steps, and animations all adapt reactively:

npm run generate cloud-lab --category "Systems" --sandbox

A sandbox plugin differs from a standard one in a few key ways:

  • Controls panel — a controls.tsx component rendered in the Shell sidebar lets users toggle infrastructure components on and off.
  • Dynamic steps — steps are derived from the current component state, so adding a cache or load balancer automatically adds relevant walkthrough steps.
  • Declarative flow engine — a flow-engine.ts file describes all signal animations as data. No imperative per-step animation code; adding a step means adding a config entry.
  • 8 files instead of the standard 6, including flow-engine.ts and controls.tsx.

Use sandbox plugins when you want an interactive scene where composition affects both the narrative and the visualization.

Timeline plugins

Use the --timeline flag to generate a progressive-reveal timeline plugin with animated nodes, a colored progress bar, auto-pan, and declarative steps generated from a data array:

npm run generate historical-events --category "History" --timeline

A timeline plugin differs from the standard one in a few key ways:

  • Declarative flow engine — a flow-engine.ts file defines steps as data. Per-item steps are auto-generated from the items array so adding an item automatically adds a step.
  • Data file — a data.ts file contains the timeline items, category colors, era ranges, and connection definitions.
  • Progressive reveal — items light up one-by-one with a 3-state system (reached / active / upcoming) and a colored progress bar tracks progress.
  • Animated nodes — the active node rises up with an animateTo() entrance and the camera auto-pans via zoomToNode().
  • 8 files instead of the standard 6, including flow-engine.ts and data.ts.

Use timeline plugins when you want a chronological walkthrough with per-item detail cards and connection overlays.

Requirements

  • Node.js 20+
  1. Add a short summary sentence.

Template docs

Scaffolded playground usage and plugin-generation docs are in template/README.md.