flodlc / nebula

Nebula is a lightweight JavaScript library for creating beautiful universe and sky animations. Including configurable Stars, Nebulas, Comets, Planets and Suns. Compatible with SSR

Home Page:https://nebula-demo.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nebula

Nebula is a lightweight (1kb compressed) JavaScript library that creates beautiful universe and sky animations.

Including configurable Stars, Nebulas, Comets, Planets and Suns.
Nebula comes with a vanilla JS and a React wrapper.
Compatible with SSR

Demo page

Installation

npm install @flodlc/nebula

usage

Vanilla JS

import { createNebula } from "@flodlc/nebula";

<div id="nebula-element"></div>

const element = document.getElementById("nebula-element");

const nebula = createNebula(element, {
    starsCount: 250,
    starsRotationSpeed: 3,
    nebulasIntensity: 8,
    ...
});
// ... if needed:
nebula.destroy()

React

import { ReactNebula } from "@flodlc/nebula";

export default App = () => {
   return (
       <>
           // With default config
           <ReactNebula/>

           // With custom config
           <ReactNebula config={{
               starsCount: 250,
               starsRotationSpeed: 3,
               nebulasIntensity: 8,
               ...
           }}/>
       </>
   );
}

The canvas is positioned absolute and takes the size of its parent.

Config

key option type default Comment
starsCount number 350 Recommended: < 1000
starsColor string #ffffff
starsRotationSpeed number 3
cometFrequence number 15 0 disables the comets
nebulasIntensity number 10
sunScale number 1 0 hides the Sun
planetsScale number 1 0 hides the planets
solarSystemOrbite number 65 Recommended: < 100
solarSystemSpeedOrbit number 100

About

Nebula is a lightweight JavaScript library for creating beautiful universe and sky animations. Including configurable Stars, Nebulas, Comets, Planets and Suns. Compatible with SSR

https://nebula-demo.vercel.app/


Languages

Language:TypeScript 92.2%Language:HTML 7.8%