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

@rimotli-tech/rive-telemetry

v0.3.1

Published

Debug Rive animations in JavaScript from VS Code by inspecting and controlling state machine inputs and ViewModel properties.

Readme

@rimotli-tech/rive-telemetry

Debug Rive animations in JavaScript from VS Code.

This package connects a running Rive web runtime to the Rive Telemetry VS Code extension. It streams state machine inputs and optional ViewModel properties, then applies commands sent from the panel while your app is running.

Install

npm install @rimotli-tech/rive-telemetry

Install the Rive Telemetry VS Code extension and run:

RiveTelemetry: Open Panel

Usage

import { RiveTelemetry } from '@rimotli-tech/rive-telemetry';

const telemetry = new RiveTelemetry({
  rive,
  runtimeId: 'hero-animation',
  label: 'Hero Animation',
  stateMachineName: 'State Machine 1',
});

telemetry.start();

You can also pass a state machine object directly when your integration exposes one:

const telemetry = new RiveTelemetry({
  stateMachine,
  runtimeId: 'hero-animation',
  stateMachineName: 'State Machine 1',
});

To include ViewModel telemetry, pass the bound instance and ViewModel name. This matches the Flutter bridge: the package does not auto-discover ViewModel instances.

const telemetry = new RiveTelemetry({
  rive,
  stateMachineName: 'State Machine 1',
  viewModelName: 'CatViewModel',
  viewModelInstance: rive.viewModelInstance,
  viewModelInstanceName: 'catVMInstance',
});

Call dispose() when the Rive runtime is no longer mounted:

telemetry.dispose();

Local demo

Run the browser demo while the VS Code extension panel is open:

npm run app

The demo uses @rive-app/canvas, loads demo.riv and demo_2.riv, and streams two runtimes so you can test active runtime selection in the VS Code panel.

Options

  • rive: Rive web runtime object.
  • stateMachine: state machine object, if available directly.
  • runtimeId: stable runtime identifier. A generated id is used by default.
  • label: human-readable runtime label.
  • stateMachineName: state machine name. Defaults to State Machine 1.
  • viewModelName: optional ViewModel name.
  • viewModelInstance: optional bound ViewModel instance.
  • viewModelInstanceName: optional ViewModel instance display name. Use this with @rive-app/canvas because its ViewModelInstance does not expose a Flutter-style instance name.
  • socketUrl: defaults to ws://localhost:8080.
  • pollingIntervalMs: defaults to 250.
  • debug: logs JSON payloads and ignored command reasons.

The package is framework-neutral and does not import a specific @rive-app/* runtime. It uses public runtime-shaped APIs when present.

Protocol

The client sends JSON telemetry payloads with protocolVersion: 1 to the Rive Telemetry VS Code extension. The extension accepts older payloads without the field, but new runtime bridges should include it.