# NeoDisco LLM Reference
NeoDisco is a tiny Canvas 2D disco ball renderer for vanilla JavaScript, React, and Vue.
Website: http://neo-disco.vikingz.me/
Repository: https://github.com/vikingmute/neo-disco
Package import: neodisco
## What It Does
NeoDisco renders an art-directed mirror ball with:
- latitude/longitude mirror tiles projected onto a sphere
- theme palettes: ice, gold, prism, mono
- glow, star flares, wire strokes, shadow, and hanging cord
- deterministic tile layout through seed
- responsive canvas sizing
- framework adapters for React and Vue
It does not use WebGL or Three.js. Rendering happens in Canvas 2D.
## Install
```bash
npm install neodisco
```
## Vanilla Usage
```ts
import { createNeoDisco } from "neodisco";
const instance = createNeoDisco(document.querySelector("#stage")!, {
theme: "prism",
tileRows: 28,
tileColumns: 54,
sparkle: 0.7,
glow: 1.1,
rotationSpeed: 0.18
});
instance.update({ theme: "gold" });
instance.destroy();
```
## React Usage
```tsx
import { NeoDisco } from "neodisco/react";
export function Hero() {
return ;
}
```
## Vue Usage
```vue
```
## Main Options
- theme: "ice" | "gold" | "prism" | "mono"
- palette: partial override for base, mirror, glow, wire, shadow
- size: number | "auto"
- pixelRatio: canvas resolution multiplier
- radius: ball radius relative to canvas size
- tileRows: horizontal mirror bands
- tileColumns: vertical mirror columns
- tileGap: separation between mirror tiles
- rotation: initial rotation
- rotationSpeed: animation speed
- tilt: vertical perspective tilt
- contrast: mirror light/dark intensity
- glow: flare and bloom strength
- sparkle: frequency/intensity of highlight tiles and star flares
- cord: draw hanging cord and cap
- background: true, false, or CSS color
- paused: render one frame without animation
- seed: stable random tile layout
- canvasClassName: class applied to generated canvas
- canvasStyle: inline styles applied to generated canvas
## Design Notes
NeoDisco is art-directed, not physically simulated. Keep effects restrained for premium landing pages: use small sparkle/glow adjustments, moderate tile density, and a slow rotation speed.