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

greenlight-motion

v0.3.4

Published

GreenLight Motion Engine: AI agents make motion-design videos (3D, camera, effects, transitions, text animation, particles, motion blur) with the GreenLight Dash Video Editor's own engine, in the user's browser.

Readme

GreenLight Motion Engine

AI agents make motion-design videos with the engine of the GreenLight Dash Video Editor. The output goes beyond HTML animation: 3D models and lights, a 3D camera with depth of field, layer effects, real transitions, per-character text animation, particles, masks, blend modes and motion blur, rendered on WebGPU in the user's own browser.

The agent writes the video as data: a project.json and its files. The engine turns that into:

  • a page the user double-clicks. It has a real-time preview, the video's layers on a timeline, the options the agent exposed (headline, colours, product photo…), and Render MP4 at 30 or 60 fps with motion blur. Nothing has to be installed for this.
  • one self-contained HTML file to send around or put in a Claude artifact.
  • an MP4 the agent renders itself.

Quick start

npx [email protected] doctor          # Node 18+, Chrome or Edge, WebGPU, H.264: what's missing and how to fix it
npx [email protected] init my-video   # a working starter: index.html, project.json, assets/
# edit my-video/project.json, put pictures / video / sound in my-video/assets/
# or: write my-video/script.json (a scene script, skill/references/scene-script.md), then
npx [email protected] script my-video # script.json → project.json with the Video Editor's own presets
npx [email protected] check my-video  # what to fix: missing files, template mistakes, blank frames, broken plugins
npx [email protected] stills my-video # frames + a labelled contact sheet, to look at
npx [email protected] render my-video --fps 60 --motion-blur
npx [email protected] pack my-video   # everything in ONE html file
npx [email protected] pack my-video --glvideo   # ONE .glvideo: double-clicked, it opens in GreenLight Dash

Also: trace (every animated layer's values frame by frame, plus the layer's moments), set key=value (template values), and schema effects | transitions | easings | sounds | … (the machine-readable catalog).

For AI agents

Read skill/SKILL.md. It covers the workflow, the project format, templates, sound cues, plugins and how to make motion look made rather than generated. The format references are in skill/references/.

Setup for each agent is in the repository README:

  • Claude or ChatGPT: add the connector https://mcp.greenlightdash.pro/motion. The video plays in the chat, and the model reviews the frames your browser renders.

  • Claude Code:

    claude plugin marketplace add wpsoul/greenlight-motion-engine
    claude plugin install greenlight-motion@greenlight-motion-engine
  • Codex:

    codex plugin marketplace add wpsoul/greenlight-motion-engine
    codex plugin add greenlight-motion@greenlight-motion-engine
  • Only the skill:

    mkdir -p ~/.claude/skills && cp -R node_modules/greenlight-motion/skill ~/.claude/skills/greenlight-motion

    For Codex, copy it to ~/.agents/skills/greenlight-motion instead.

In a web page or a Claude artifact

The engine is one classic script, so it runs from a double-clicked file, a CDN or an artifact:

<div id="app"></div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/greenlight-motion.js"></script>
<script>
  GreenLightMotion.mountStudio(document.getElementById('app'), {
    project: { /* project.json */ },
    assets: { 'asset:photo.jpg': 'data:image/jpeg;base64,…' },   // ref → data: / blob: / https: URL or Blob
  });
</script>

mountStudio is the page every GreenLight surface shows (a project folder's page, a chat's GreenLight Motion page, a shared link, a review card on a board): the preview with Edit · Notes · Highlight, the inspector, the layers and Render. Its review (notes with drawings, highlights, changes) is text to copy for your agent; a host can send it elsewhere (config.save). In a narrow frame — a chat's column, a card — pass chat: { height, full, onExpand }: up to 900 px wide it becomes the mobile editor in a box height px tall (the whole frame with full: true), the timeline across the width with its panels as sheets over it; wider, the full studio. onExpand(full) puts a Full screen button in the app bar for a host that can go full screen; the returned studio's chat.set({ height, full }) follows the host. GreenLightMotion.mountPage(el, { project, assets, theme }) is the plain page under it, without the review interface.

Without the page UI (in the browser, through a bundler or the ESM build; Node runs only the CLI):

import { create } from 'greenlight-motion';           // or the GreenLightMotion global
const engine = create(document.getElementById('stage'), { assets });
await engine.load(project);                           // → { missing: [refs nobody provided] }
const png = await engine.renderFrame(1.5);            // data URL
const { blob } = await engine.export({ format: 'mp4', fps: 60 });

In a Claude artifact a page can't start a download by itself, so the page saves the MP4 through the artifact's downloads capability.

Requirements

  • Viewing and rendering: desktop Chrome or Edge with WebGPU (Chrome 113+).
  • The CLI: Node 18+ and Chrome or Edge on the same machine. It drives the browser through playwright-core and downloads nothing.

GreenLight Dash

A project made here opens in the desktop editor for full editing: the page's Open in GreenLight Dash imports it as a new project. The editor's Export for agents works the other way: one .glvideo file to open in a Claude chat, or a ready folder with this page for an agent. MotionFast templates and effect packages with their own image or video files play in GreenLight Dash only. The page shows such layers but leaves them out.

License

Open source under the Apache License 2.0: free for any use — making videos, client work, building it into your own app, website, service or bot, at any company size. Keep the LICENSE and NOTICE with copies you share. Every effect and transition built into the engine is included, also the ones GreenLight Dash lists as PRO. Library sounds and 3D files on the GreenLight CDN have their own terms (legal/THIRD_PARTY_ASSETS.md); PRO templates and workflows from the MCP server are separate (legal/PRO_CONTENT_TERMS.md). The videos you make are yours. More in legal/README.md. Source and issues: github.com/wpsoul/greenlight-motion-engine; contributing: CONTRIBUTING.md. Questions: [email protected].

© 2026 WPSOUL. GreenLight, GreenLight Dash, GLEA and GreenLight Motion are trademarks of WPSOUL (policy).