JSPM

  • Created
  • Published
  • Downloads 14667
  • Score
    100M100P100Q10411F
  • License ISC

one rAF to rule them all

Package Exports

  • @studio-freight/tempus

Readme

Purpose

Tempus allows you to merge all your requestAnimationFrame (rAF) loops in one for better performance and gives you better control over their execution priority.

Installation

$ npm i @studio-freight/tempus

Usage

import Tempus from '@studio-freight/tempus'

function onFrame(time, deltaTime) {
  // called every frame
}

// subscribe
const unsubscribe = Tempus.add(onFrame, 0)

// unsubscribe
unsubscribe()
// OR
Tempus.remove(onFrame)

Methods

  • add(callback, priority)
  • remove(callback)

Examples

GSAP

gsap.ticker.remove(gsap.updateRoot);
Tempus.add((time) => {
  gsap.updateRoot(time / 1000);
}, 0);

Lenis

Tempus.add((time) => {
  lenis.raf(time)
}, 0);