SkillAgentSearch skills...

Scenejs

🎬 Scene.js is JavaScript & CSS timeline-based animation library

Install / Use

/learn @daybrush/Scenejs

README

<p align="middle"><img src="https://daybrush.com/scenejs/images/clapperboard.png" width="250"/></p> <h2 align="middle">Scene.js</h2> <p align="middle"> <a href="https://www.npmjs.com/package/scenejs" target="_blank"><img src="https://img.shields.io/npm/v/scenejs.svg?style=flat-square&color=007acc&label=version" alt="npm version" /></a> <img src="https://img.shields.io/badge/language-typescript-blue.svg?style=flat-square"/> <a href="https://github.com/daybrush/scenejs/actions" target="_blank"><img alt="Github actions" src="https://img.shields.io/github/actions/workflow/status/daybrush/scenejs/test.yml?branch=master&style=flat-square" /></a> <a href="https://coveralls.io/github/daybrush/scenejs?branch=master&style=flat-square" target="_blank"><img alt="Coveralls github" src="https://img.shields.io/coveralls/github/daybrush/scenejs.svg?style=flat-square&label=%E2%9C%85%20coverage" /></a> <a href="https://github.com/daybrush/scenejs/blob/master/LICENSE" target="_blank"><img src="https://img.shields.io/github/license/daybrush/scenejs.svg?style=flat-square&label=license&color=08CE5D"/></a> <a href="https://github.com/daybrush/scenejs/tree/master/packages/react-scenejs" target="_blank"><img alt="React" src="https://img.shields.io/static/v1.svg?label=&message=React&style=flat-square&color=61daeb"></a> <a href="https://github.com/daybrush/scenejs/tree/master/packages/vue2-scenejs" target="_blank"><img alt="Vue 2" src="https://img.shields.io/static/v1.svg?label=&message=Vue2&style=flat-square&color=3fb984"></a> <a href="https://github.com/daybrush/scenejs/tree/master/packages/vue-scenejs" target="_blank"><img alt="Vue 3" src="https://img.shields.io/static/v1.svg?label=&message=Vue%203&style=flat-square&color=3fb984"></a> <a href="https://github.com/daybrush/scenejs/tree/master/packages/svelte-scenejs" target="_blank"><img alt="Svelte" src="https://img.shields.io/static/v1.svg?label=&message=Svelte&style=flat-square&color=C82B38"></a> </p> <p align="middle">🎬 Scene.js is an JavaScript & CSS timeline-based animation library.</p> <p align="middle"><a href="https://daybrush.com/scenejs"><strong>Official Site</strong></a> &nbsp;/&nbsp; <a href="https://daybrush.com/scenejs/release/latest/doc"><strong>API</strong></a> &nbsp;/&nbsp; <a href="https://daybrush.com/scenejs/features.html"><strong>Features</strong></a> &nbsp;/&nbsp; <a href="https://codepen.io/collection/DLWxrd/"><strong>Examples</strong></a> &nbsp;/&nbsp; <a href="https://github.com/daybrush/scena"><strong>Main Project</strong></a></p> <br/> <p align="middle" style="max-width: 1000px; margin: 0px auto;" > <a href="https://codepen.io/daybrush/pen/arQpYb" target="_blank"><img src="https://daybrush.com/scenejs/images/daybrush.gif" width="280" style="min-width:200px;max-width:320px;width: 32%;"/></a>&nbsp; <a href="https://codepen.io/daybrush/pen/EQPPBg" target="_blank"><img src="https://daybrush.com/scenejs/images/tree.gif" width="280" style="min-width:200px;max-width:320px;width: 32%;"/></a>&nbsp; <a href="https://codepen.io/daybrush/pen/QYRyMd" target="_blank"><img src="https://daybrush.com/scenejs/images/card.gif" width="280" style="min-width:200px;max-width:320px;width: 32%;"/></a>&nbsp; <a href="https://codepen.io/daybrush/pen/zWMeJW" target="_blank"><img src="https://daybrush.com/scenejs/images/circleburst.gif" width="280" style="min-width:200px;max-width:320px;width: 32%;"/></a>&nbsp; <a href="https://codepen.io/daybrush/pen/aYPjjM" target="_blank"><img src="https://daybrush.com/scenejs/example/scenejs.gif" width="280" style="min-width:200px;max-width:320px;width: 32%;"/></a>&nbsp; <a href="https://codepen.io/daybrush/pen/ydMJKR" target="_blank"><img src="https://daybrush.com/scenejs/images/panda.gif" width="280" style="min-width:200px;max-width:320px;width: 32%;"/></a>&nbsp; <a href="https://codepen.io/daybrush/pen/vRrbXG" target="_blank"><img src="https://daybrush.com/scenejs/example/raindrop.gif" width="280" style="min-width:200px;max-width:320px;width: 32%;"/></a>&nbsp; <a href="https://codepen.io/daybrush/pen/RMBXBm" target="_blank"><img src="https://daybrush.com/scenejs/example/search.gif" width="280" style="min-width:200px;max-width:320px;width: 32%;"/></a>&nbsp; <a href="https://codepen.io/daybrush/pen/pLxQGY" target="_blank"><img src="https://daybrush.com/scenejs/example/motion.gif" width="280" style="min-width:200px;max-width:320px;width: 32%;"/></a>&nbsp; </p>

🚀 Examples

More Examples

⚙️ Installation

$ npm install scenejs
<script src="//daybrush.com/scenejs/release/latest/dist/scene.min.js"></script>

📄 Documents

📦 Packages

|Package|Version|Description| |---|---|---| |react-scenejs||A React Component that create JavaScript & CSS timeline-based animation with Scene.js.| |svelte-scenejs||A Svelte Component that create JavaScript & CSS timeline-based animation with Scene.js.| |vue-scenejs||A Vue 3 Component that create JavaScript & CSS timeline-based animation with Scene.js.| |vue2-scenejs||A Vue 2 Component that create JavaScript & CSS timeline-based animation with Scene.js.| |@scenejs/render||Make a movie of CSS animation through Scene.js.| |@scenejs/effects||Effect collection library where you can add scene effects to Scene.js.| |@scenejs/timeline||A library that represents the timeline of Scene.js. You can control time, properties, and items.| |@scenejs/media||A library for playing or controlling media with Scene.js.| |@scenejs/iframe||A library that control the animation of iframe with Scene.js.|

🎬 Make Scene

import Scene from "scenejs";

const scene = new Scene({
  ".class": {
    0: "left: 0px; top: 0px; transform: translate(0px);",
    1: {
      "left": "100px",
      "top": "0px",
      transform: "translate(50px)",
    },
    2: {
      "left": "200px",
      "top": "100px",
      transform: {
        translate: "100px",
      },
    }
  }
}, {
  selector: true,
  easing: "ease-in-out",
}).play();

🎬 Add Media (Audio/Video)

This library supports adding video and audio components to your scene. To add a video or an audio, you need to install @scenejs/media library.

Add necessary npm package

$ npm i @scenejs/media

How to use


import MediaScene from '@scenejs/media';

const mediaScene = new MediaScene();
    mediaScene
        .addMedia("background", "./background.mp3")
        .seek(0, 40.79);
    
    mediaScene
        .addMedia("video", "./video.mp4")
        .seek(0, 40.79)
        .setVolume(1)
        .setPlaySpeed(1)
        .setDelay(startTime);

    scene.setItem("video",mediaScene);

Please note that this library uses the built-in capability of your browser to play audio and video files. Make sure necessary codecs are installed, and the browser supports the video/audio file being added to the project

✨ Effects

Related Skills

View on GitHub
GitHub Stars2.8k
CategoryDevelopment
Updated20h ago
Forks160

Languages

TypeScript

Security Score

100/100

Audited on Apr 1, 2026

No findings