# cyclone-physics

> Pure Javascript physics engine based on http://procyclone.com/

Latest version **1.2.1** (published 2026-08-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install cyclone-physics
pnpm add cyclone-physics
yarn add cyclone-physics
bun add cyclone-physics
```

## Health

**Score 60/100 (C)** — status: active.

Positive: esm support; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 1.2.1 |
| Published | 2026-08-24 |
| First published | 2016-05-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM |
| Dependencies | 0 |
| Unpacked size | 368.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 11 |
| Author | James Baicoianu |
| Maintainers | jbaicoianu |
| Keywords | elation, physics, browser, node |

## Links

- npm: https://www.npmjs.com/package/cyclone-physics
- Repository: https://github.com/jbaicoianu/cyclone-physics-js
- Homepage: https://github.com/jbaicoianu/cyclone-physics-js#readme
- Issues: https://github.com/jbaicoianu/cyclone-physics-js/issues
- npm.io page: https://npm.io/package/cyclone-physics

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 1.2.1 (latest) — 2026-08-24
- 1.2.0 — 2026-02-10
- 1.1.5 — 2025-04-15
- 1.1.4 — 2025-01-28
- 1.1.3 — 2024-08-24
- 1.1.2 — 2024-05-29
- 1.1.1 — 2024-03-11
- 1.1.0 — 2024-03-11
- 1.0.15 — 2021-12-05
- 1.0.14 — 2021-11-02
- 1.0.13 — 2021-11-02
- 1.0.12 — 2021-11-02
- 1.0.11 — 2021-07-18
- 1.0.10 — 2019-07-27
- 1.0.9 — 2018-04-08
- … 9 more at https://npm.io/package/cyclone-physics/versions

## README

Cyclone Javascript Physics Engine

A manual port of the Cyclone Physics Engine (http://procyclone.com/) from C++ to JavaScript

Usage:


```javascript
// initial setup
elation.physics.system.start();

var smallball = new elation.physics.rigidbody({ 
  mass: 1, 
  position: new THREE.Vector3(0, 0, 1),
  velocity: new THREE.Vector3(0, 0, -1) 
});
smallball.setCollider("sphere", 2);
elation.events.add(smallball, "collide", function() { console.log('small boing!'); });
elation.physics.system.add(smallball);

var bigball = new elation.physics.rigidbody({
  mass: 10, 
  position: new THREE.Vector3(1, 0, 0),
  velocity: new THREE.Vector3(-1, 0, 0) 
});
bigball.setCollider("sphere", 5);
elation.events.add(bigball, "collide", function() { console.log('big boing!'); });
elation.physics.system.add(bigball);

// render loop
var lasttime = Date.now();
requestAnimationFrame(stepfunc);

function stepfunc(t) {
  elation.physics.system.iterate(t - lasttime);
  renderer.render();
  lasttime = t;
  requestAnimationFrame(stepfunc);
});
```

---
_Source: https://npm.io/package/cyclone-physics · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
