diff --git a/.github/workflows/deploy-websites.yml b/.github/workflows/deploy-websites.yml
index 5cf74051e0d..090e50ce4bf 100644
--- a/.github/workflows/deploy-websites.yml
+++ b/.github/workflows/deploy-websites.yml
@@ -22,6 +22,7 @@ permissions:
env:
NX_CLOUD_ACCESS_TOKEN: "${{ secrets.NX_CLOUD_ACCESS_TOKEN }}"
+ NODE_OPTIONS: "--max-old-space-size=4096"
jobs:
build-and-deploy:
diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
index 1104573e0a4..91f22431065 100644
--- a/.github/workflows/nodejs.yml
+++ b/.github/workflows/nodejs.yml
@@ -14,6 +14,7 @@ env:
NODE_VERSION: "24"
NX_CLOUD_ACCESS_TOKEN: "${{ secrets.NX_CLOUD_ACCESS_TOKEN }}"
firebaseToken: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_TSPARTICLES }}"
+ NODE_OPTIONS: "--max-old-space-size=4096"
jobs:
build-and-deploy:
diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml
index 49b802d80d7..a4a27d824c1 100644
--- a/.github/workflows/npm-publish.yml
+++ b/.github/workflows/npm-publish.yml
@@ -22,6 +22,7 @@ env:
RELEASE_UPLOAD_RETRIES: 6
RELEASE_RETRY_BASE_DELAY: 10
IS_STABLE: ${{ !contains(github.ref, '-alpha.') && !contains(github.ref, '-beta.') }}
+ NODE_OPTIONS: "--max-old-space-size=4096"
jobs:
publish:
@@ -51,8 +52,6 @@ jobs:
- name: Build All Packages
run: pnpm run build:ci
- env:
- CI: true
# 📦 ZIP artifacts (solo stable)
- name: Generate zip artifacts
diff --git a/websites/confetti/vite.config.js b/websites/confetti/vite.config.js
index 48bb91429e9..c3d98539f89 100644
--- a/websites/confetti/vite.config.js
+++ b/websites/confetti/vite.config.js
@@ -14,6 +14,6 @@ export default defineConfig({
],
build: {
outDir: 'dist',
- minify: true,
+ minify: false,
},
});
diff --git a/websites/ribbons/vite.config.js b/websites/ribbons/vite.config.js
index 69e8f6d09bf..3b39010f4f9 100644
--- a/websites/ribbons/vite.config.js
+++ b/websites/ribbons/vite.config.js
@@ -14,6 +14,6 @@ export default defineConfig({
],
build: {
outDir: 'dist',
- minify: true,
+ minify: false,
},
});
diff --git a/websites/website/docs/de/guide/bundles-all.md b/websites/website/docs/de/guide/bundles-all.md
index 2aa3c667b16..d72e69f8f22 100644
--- a/websites/website/docs/de/guide/bundles-all.md
+++ b/websites/website/docs/de/guide/bundles-all.md
@@ -1,21 +1,42 @@
# Bundle: All
-`@tsparticles/all` laedt alle offiziellen Features und ist ideal fuer schnelles Prototyping.
+`@tsparticles/all` lädt **alles** aus dem tsParticles-Repository: jede Form, Interaktion, Aktualisierer, Effekt, Pfad, Easing, Plugin und Export. Es ist das größte Bundle, gedacht für Prototyping und Demos.
-## Wann All waehlen
+## Enthaltene Funktionen
-- Du willst sofort alle Features verfuegbar haben.
-- Du testest Optionen schnell.
-- Bundle-Groesse ist weniger wichtig als Setup-Geschwindigkeit.
+Erbt alles von `tsparticles` (full) plus:
+
+**Alle Formen:** Pfeil, Karten, Zahnrad, Herz, Unendlichkeit, Matrix, Pfad, Ribbon, abgerundetes Polygon, abgerundetes Rechteck, Spirale, Squircle
+
+**Alle externen Interaktionen:** Kanone, Licht, Partikel, Pop, Partikel-Abstoßen
+
+**Alle Effekte:** Blase, Filter, Partikel, Schatten, Spur
+
+**Alle Pfadgeneratoren:** Äste, Brownsch, Curl-Noise, Kurven, Fraktal-Noise, Gitter, Levy, Perlin-Noise, Polygon, Zufall, Simplex-Noise, Spirale, SVG, Zickzack
+
+**Alle Easings:** Back, Bounce, Circ, Cubic, Elastic, Expo, Gaussian, Linear, Quad, Quart, Quint, Sigmoid, Sine, Smoothstep
+
+**Alle Farb-Plugins:** HEX, HSL, RGB, HSV, HWB, LAB, LCH, Named, OKLAB, OKLCH
+
+**Alle Plugins:** Absorber, Hintergrundmaske, Canvas-Maske, Emitter (alle Formen), Easings (alle), Export-Bild, Export-JSON, Export-Video, Infektion, Manuelle Partikel, Bewegung, Poisson-Scheibe, Polygon-Maske, Responsive, Töne, Themes, Spur, Zoom
+
+**Alle Aktualisierer:** Zerstören, Farbverlauf, Lebenszyklus, Opazität, Orbit, Aus-Modi, Farbe, Rollen, Drehen, Größe, Neigen, Funkeln, Wackeln
+
+## Wann verwenden
+
+- Schnelles Prototyping, um Möglichkeiten zu erkunden
+- Demos und Vorführungen
+- Entwicklungsumgebungen, in denen die Größe keine Rolle spielt
+- **Nicht für die Produktion empfohlen** — bevorzuge gezieltere Bundles
## Installation
+### npm/pnpm/yarn
+
```bash
pnpm add @tsparticles/engine @tsparticles/all
```
-## Setup-Beispiel
-
```ts
import { tsParticles } from "@tsparticles/engine";
import { loadAll } from "@tsparticles/all";
@@ -25,20 +46,48 @@ await loadAll(tsParticles);
await tsParticles.load({
id: "tsparticles",
options: {
+ background: { color: "#000" },
particles: {
number: { value: 100 },
+ shape: { type: "heart" },
move: { enable: true, speed: 2 },
},
},
});
```
-## Haeufige Stolperfallen
+### CDN (Script-Tags)
+
+```html
+
+
+
+```
+
+## Unterschied zwischen `tsparticles` und `@tsparticles/all`
+
+Siehe die Vergleichstabelle auf der [Bundles-Full-Seite](/de/guide/bundles-full) für die detaillierte Aufschlüsselung.
+
+## Häufige Fehler
-- In Produktion nutzen, obwohl ein kleineres Bundle besser waere.
-- `tsParticles.load(...)` vor `loadAll(...)` aufrufen.
+- Verwendung in der Produktion — bevorzuge `@tsparticles/slim` oder `tsparticles` für kleinere Bundles.
+- `tsParticles.load()` vor `loadAll(tsParticles)` aufrufen.
-## Verwandte Seiten
+## Siehe auch
-- Ueberblick: [`/guide/bundles`](/de/guide/bundles)
-- Installationsmatrix: [`/guide/installation`](/de/guide/installation)
+- [Bundle-Übersicht](/de/guide/bundles)
+- [Installationsanleitung](/de/guide/installation)
diff --git a/websites/website/docs/de/guide/bundles-basic.md b/websites/website/docs/de/guide/bundles-basic.md
index f818e59bd66..9ab2b59e3cc 100644
--- a/websites/website/docs/de/guide/bundles-basic.md
+++ b/websites/website/docs/de/guide/bundles-basic.md
@@ -1,21 +1,46 @@
# Bundle: Basic
-`@tsparticles/basic` ist fuer extra-leichte Setups mit minimaler Laufzeit gedacht.
+`@tsparticles/basic` ist das leichteste Bundle. Enthält nur das Nötigste: Kreise, die sich mit animierbarer Opazität und Größe bewegen.
-## Wann Basic waehlen
+## Enthaltene Funktionen
-- Bundle-Groesse hat oberste Prioritaet.
-- Du brauchst nur grundlegende Effekte.
-- Erweiterte Plugins sind nicht erforderlich.
+**Formen:** Kreis
+
+**Aktualisierer:**
+
+- Farbe
+- Opazität
+- Aus-Modi (Verhalten beim Verlassen des Bildschirms)
+- Größe
+
+**Plugins:**
+
+- Bewegung
+- Mischung (Farbmischung)
+- HEX-, HSL-, RGB-Farb-Plugins
+
+**Nicht enthalten:**
+
+- Maus-/Touch-Interaktionen
+- Partikelverbindungen
+- Andere Formen (Quadrate, Sterne, Bilder, Polygone etc.)
+- Emitter, Absorber, Töne
+- Drehung, Lebenszyklus, Rollen, Neigen, Wackeln
+
+## Wann verwenden
+
+- Die Bundle-Größe hat oberste Priorität
+- Du brauchst nur sich bewegende Punkte
+- Keine Interaktionen oder komplexen Formen nötig
## Installation
+### npm/pnpm/yarn
+
```bash
pnpm add @tsparticles/engine @tsparticles/basic
```
-## Setup-Beispiel
-
```ts
import { tsParticles } from "@tsparticles/engine";
import { loadBasic } from "@tsparticles/basic";
@@ -25,20 +50,48 @@ await loadBasic(tsParticles);
await tsParticles.load({
id: "tsparticles",
options: {
+ background: { color: "#ffffff" },
particles: {
number: { value: 50 },
- move: { enable: true, speed: 1.5 },
+ color: { value: ["#5bc0eb", "#fde74c", "#9bc53d"] },
+ size: {
+ value: { min: 300, max: 400 },
+ animation: { enable: true, speed: 100 },
+ },
+ move: { enable: true, speed: 10 },
},
},
});
```
-## Haeufige Stolperfallen
+### CDN (Script-Tags)
+
+```html
+
+
+
+```
+
+## Häufige Fehler
-- Features erwarten, die nur in nicht enthaltenen Plugins stecken.
-- `tsParticles.load(...)` vor `loadBasic(...)` aufrufen.
+- Funktionen erwarten, die nicht enthalten sind (z.B. `links`, Maus-Interaktionen) — diese erfordern umfangreichere Bundles.
+- `tsParticles.load()` vor `loadBasic(tsParticles)` aufrufen — Formen und Aktualisierer sind noch nicht registriert.
+- Nur `@tsparticles/engine` ohne ein Bundle installieren — die Engine allein zeichnet nichts.
-## Verwandte Seiten
+## Siehe auch
-- Ueberblick: [`/guide/bundles`](/de/guide/bundles)
-- Installationsmatrix: [`/guide/installation`](/de/guide/installation)
+- [Bundle-Übersicht](/de/guide/bundles)
+- [Installationsanleitung](/de/guide/installation)
diff --git a/websites/website/docs/de/guide/bundles-confetti.md b/websites/website/docs/de/guide/bundles-confetti.md
index abdb8d7ca99..407f42e3bea 100644
--- a/websites/website/docs/de/guide/bundles-confetti.md
+++ b/websites/website/docs/de/guide/bundles-confetti.md
@@ -1,42 +1,83 @@
# Bundle: Confetti
-`@tsparticles/confetti` bietet eine fokussierte API fuer Konfetti-Effekte mit minimalem Setup.
+`@tsparticles/confetti` bietet eine vereinfachte API zum Erstellen von Konfetti-Effekten mit einem einzigen Funktionsaufruf. Keine direkte Interaktion mit `tsParticles` nötig.
-## Wann Confetti waehlen
+## Enthaltene Funktionen
-- Du willst Feier-Effekte mit einem Aufruf.
-- Du willst die Engine nicht manuell verdrahten.
-- Du bevorzugst eine kompakte API fuer UI-Events.
+**Formen:** Kreis, Herz, Karten (französische Farben: Herz, Karo, Kreuz, Pik), Emoji, Bilder, Polygon, Quadrat, Stern
+
+**Interne Plugins:** Emitter, Bewegung (respektiert die Benutzereinstellung zur reduzierten Bewegung)
+
+**Aktualisierer:** Lebenszyklus, Rollen, Drehen, Neigen, Wackeln
+
+**API:** `confetti(options)` oder `confetti(canvasId, options)`
+
+## Wann verwenden
+
+- "Glückwunsch!"- oder "Alles Gute zum Geburtstag!"-Button
+- Schneller Feiereffekt
+- Du möchtest die Engine nicht manuell konfigurieren
## Installation
+### npm/pnpm/yarn
+
```bash
pnpm add @tsparticles/confetti
```
-## Setup-Beispiel
-
```ts
import { confetti } from "@tsparticles/confetti";
+// Basiseffekt
await confetti({
- count: 80,
- spread: 60,
+ particleCount: 100,
+ spread: 70,
+ origin: { x: 0.5, y: 0.5 },
});
-await confetti("canvas-id", {
- count: 50,
+// Auf einer bestimmten Canvas
+await confetti("my-canvas-id", {
+ particleCount: 50,
angle: 90,
spread: 45,
+ colors: ["#ff0000", "#00ff00", "#0000ff"],
});
```
-## Haeufige Stolperfallen
+### CDN (Script-Tag)
+
+```html
+
+
+```
+
+### Hauptparameter
+
+| Parameter | Typ | Standard | Beschreibung |
+| --------------- | -------- | ------------ | ---------------------------------------------------- |
+| `particleCount` | number | 50 | Anzahl der Konfettiteilchen |
+| `spread` | number | 60 | Streuwinkel (Grad) |
+| `angle` | number | 90 | Richtung (Grad, 90 = nach unten) |
+| `startVelocity` | number | 30 | Anfangsgeschwindigkeit |
+| `colors` | string[] | — | Konfettifarben |
+| `origin` | { x, y } | { 0.5, 0.5 } | Ursprungspunkt (0-1) |
+| `drift` | number | 0 | Horizontale Drift |
+| `shapes` | string[] | — | Formen: "circle", "heart", "square", "star", "cards" |
+
+## Häufige Fehler
-- Annehmen, dass `tsParticles` aus `@tsparticles/confetti` exportiert wird.
+- Denken, dass `tsParticles` von `@tsparticles/confetti` exportiert wird — das ist nicht der Fall.
- Dieselbe Canvas-ID unbeabsichtigt wiederverwenden.
+- `confetti` in einer Schleife aufrufen, ohne die Leistung zu verwalten — verwende ein angemessenes Intervall oder stoppe die Animation, wenn sie fertig ist.
-## Verwandte Seiten
+## Siehe auch
-- Ueberblick: [`/guide/bundles`](/de/guide/bundles)
-- Bundle-Playground: [`/playground/bundles`](/de/playground/bundles)
+- [Bundle-Übersicht](/de/guide/bundles)
+- [Feuerwerk-Bundle](/de/guide/bundles-fireworks)
diff --git a/websites/website/docs/de/guide/bundles-fireworks.md b/websites/website/docs/de/guide/bundles-fireworks.md
index b01ee5ef428..f367c1d6413 100644
--- a/websites/website/docs/de/guide/bundles-fireworks.md
+++ b/websites/website/docs/de/guide/bundles-fireworks.md
@@ -1,44 +1,81 @@
# Bundle: Fireworks
-`@tsparticles/fireworks` bietet eine fokussierte API fuer Feuerwerk-Effekte mit minimalem Setup.
+`@tsparticles/fireworks` bietet eine vereinfachte API zum Erstellen von Feuerwerkseffekten mit einem einzigen Funktionsaufruf. Unterstützt Töne, benutzerdefinierte Farben und Instanzsteuerung (Pause/Play).
-## Wann Fireworks waehlen
+## Enthaltene Funktionen
-- Du willst Fireworks-Animationen mit einem Aufruf.
-- Du brauchst kein direktes Engine-Wiring.
-- Du bevorzugst eine kompakte API fuer Feier-Momente.
+**Formen:** Linie, Kreis (von basic)
+
+**Interne Plugins:** Emitter, Emitter-Form-Quadrat, Mischung (Farbmischung), Töne
+
+**Aktualisierer:** Zerstören, Lebenszyklus, Farbe, Drehen
+
+**API:** `fireworks(options)` — gibt eine steuerbare Instanz zurück
+
+## Wann verwenden
+
+- Neujahrs- oder Feier-Effekt
+- Feier-UI
+- Du möchtest die Engine nicht manuell konfigurieren
## Installation
+### npm/pnpm/yarn
+
```bash
pnpm add @tsparticles/fireworks
```
-## Setup-Beispiel
-
```ts
import { fireworks } from "@tsparticles/fireworks";
+// Basiseffekt
const instance = await fireworks({
- colors: ["#ffffff", "#ff0000"],
- sounds: false,
+ colors: ["#ffffff", "#ff0000", "#00ff00", "#0000ff"],
+ sounds: true,
});
+// Instanzsteuerung
instance?.pause();
instance?.play();
-await fireworks("canvas-id", {
+// Auf einer bestimmten Canvas
+await fireworks("my-canvas", {
rate: 3,
speed: { min: 10, max: 25 },
+ sounds: false,
});
```
-## Haeufige Stolperfallen
+### CDN (Script-Tag)
+
+```html
+
+
+```
+
+### Hauptparameter
+
+| Parameter | Typ | Standard | Beschreibung |
+| ------------ | ------------ | -------- | ------------------------- |
+| `colors` | string[] | — | Explosionsfarben |
+| `rate` | number | — | Feuerwerke pro Sekunde |
+| `speed` | { min, max } | — | Partikelgeschwindigkeit |
+| `sounds` | boolean | true | Soundeffekte aktivieren |
+| `gravity` | number | — | Schwerkraft (Standard: 0) |
+| `opacity` | number | — | Opazität (0-1) |
+| `brightness` | { min, max } | — | Explosionshelligkeit |
+
+## Häufige Fehler
-- Annehmen, dass `tsParticles` aus `@tsparticles/fireworks` exportiert wird.
-- `fireworks(...)` wiederholt aufrufen, ohne die Instanz zu verwalten.
+- Denken, dass `tsParticles` von `@tsparticles/fireworks` exportiert wird — das ist nicht der Fall.
+- `fireworks()` in einer Schleife aufrufen, ohne die Instanz zu verwalten — der Effekt ist bereits kontinuierlich.
+- Die Instanz nicht stoppen, wenn die Seite verlassen wird — rufe `instance?.pause()` oder `instance?.stop()` auf.
-## Verwandte Seiten
+## Siehe auch
-- Ueberblick: [`/guide/bundles`](/de/guide/bundles)
-- Bundle-Playground: [`/playground/bundles`](/de/playground/bundles)
+- [Bundle-Übersicht](/de/guide/bundles)
+- [Konfetti-Bundle](/de/guide/bundles-confetti)
diff --git a/websites/website/docs/de/guide/bundles-full.md b/websites/website/docs/de/guide/bundles-full.md
index 322853ed2a8..71a702a5ff0 100644
--- a/websites/website/docs/de/guide/bundles-full.md
+++ b/websites/website/docs/de/guide/bundles-full.md
@@ -1,21 +1,48 @@
# Bundle: tsparticles (Full)
-`tsparticles` ist das Full-Bundle und enthaelt einen breiten Satz offizieller Features mit nur einem Loader.
+`tsparticles` (npm: `tsparticles`, Loader: `loadFull`) ist das offizielle Full-Bundle. Enthält alles von Slim plus Emitter, Absorber, Textformen und erweiterte Animationen (Wobble, Roll, Tilt, Twinkle, Destroy).
-## Wann tsparticles (Full) waehlen
+## Enthaltene Funktionen
-- Du brauchst viele offizielle Features ohne manuelle Plugin-Auswahl.
-- Du willst eine komplette, produktionsreife Basis vor dem Feintuning.
-- Du bevorzugst Engine-Kontrolle ueber die `tsParticles`-API.
+Erbt alles von `@tsparticles/slim` plus:
+
+**Zusätzliche Formen:** Text (mit benutzerdefinierten Schriftarten)
+
+**Zusätzliche externe Interaktionen:**
+
+- Ziehen (Partikel mit der Maus ziehen)
+- Spur (Partikelspur hinter der Maus)
+
+**Zusätzliche Aktualisierer:**
+
+- Zerstören (Partikelzerstörungs-Animation)
+- Rollen
+- Neigen (3D-Neigung)
+- Funkeln (intermittierendes Glitzern)
+- Wackeln (Oszillation)
+
+**Plugins:**
+
+- Absorber (schwarze Löcher, die Partikel einsaugen)
+- Emitter (kontinuierliche Partikelquellen)
+- Emitter-Form-Kreis, Emitter-Form-Quadrat (Emitterformen)
+
+## Wann verwenden
+
+- Du brauchst Emitter (Partikel, die kontinuierlich erzeugt werden)
+- Du brauchst Absorber (Partikel werden eingesaugt)
+- Du brauchst Textformen mit benutzerdefinierten Schriftarten
+- Du brauchst erweiterte Animationen (Wobble, Tilt, Roll, Twinkle)
+- Gute Zwischenstufe vor dem Wechsel zu einzelnen Plugins
## Installation
+### npm/pnpm/yarn
+
```bash
pnpm add @tsparticles/engine tsparticles
```
-## Setup-Beispiel
-
```ts
import { tsParticles } from "@tsparticles/engine";
import { loadFull } from "tsparticles";
@@ -25,20 +52,65 @@ await loadFull(tsParticles);
await tsParticles.load({
id: "tsparticles",
options: {
+ background: { color: "#000" },
particles: {
- number: { value: 100 },
- move: { enable: true, speed: 2 },
+ number: { value: 50 },
+ shape: { type: "text", options: { text: ["🔥", "✨", "⭐"] } },
+ size: { value: 24 },
+ move: { enable: true, speed: 1 },
+ wobble: { enable: true, distance: 10 },
+ },
+ emitters: {
+ direction: "top",
+ rate: { quantity: 2, delay: 0.3 },
},
},
});
```
-## Haeufige Stolperfallen
+### CDN (Script-Tags)
+
+```html
+
+
+
+```
+
+## Unterschied zwischen `tsparticles` und `@tsparticles/all`
+
+| Aspekt | `tsparticles` (full) | `@tsparticles/all` |
+| ------------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------- |
+| Größe | Mittel | Sehr groß |
+| Formen | Kreis, Quadrat, Stern, Polygon, Linie, Bild, Emoji, Text | Alle Formen (Herz, Karten, Pfeil, Spirale, Zahnrad, abgerundetes Rechteck etc.) |
+| Interaktionen | Slim + Ziehen + Spur | Alle (Kanone, Licht, Pop, Partikel, Abstoßen) |
+| Pfade | Nur Quad-Easing | 14 Pfadgeneratoren |
+| Effekte | Keine | 5 Effekte (Blase, Filter, Schatten etc.) |
+| Exporte | Keine | Bild, JSON, Video |
+| Zusätzliche Plugins | Absorber, Emitter | Alle (Töne, Themes, Spur, Zoom, Polygon-Maske, Canvas-Maske, Hintergrundmaske etc.) |
+| Easing | Quad | 15 Easings |
+
+## Häufige Fehler
-- `tsParticles.load(...)` vor `loadFull(...)` aufrufen.
-- Annehmen, dass es dasselbe Paket wie `@tsparticles/all` ist (es sind verschiedene Bundles).
+- `tsparticles` mit `@tsparticles/all` verwechseln — es sind unterschiedliche Pakete.
+- `tsParticles.load()` vor `loadFull(tsParticles)` aufrufen.
+- Das npm-Paket heißt `tsparticles` (nicht `@tsparticles/full`), der Loader heißt `loadFull`.
-## Verwandte Seiten
+## Siehe auch
-- Ueberblick: [`/guide/bundles`](/de/guide/bundles)
-- Installationsmatrix: [`/guide/installation`](/de/guide/installation)
+- [Bundle-Übersicht](/de/guide/bundles)
+- [Installationsanleitung](/de/guide/installation)
diff --git a/websites/website/docs/de/guide/bundles-particles.md b/websites/website/docs/de/guide/bundles-particles.md
index aef9f57eec1..04a47cd515c 100644
--- a/websites/website/docs/de/guide/bundles-particles.md
+++ b/websites/website/docs/de/guide/bundles-particles.md
@@ -1,42 +1,98 @@
# Bundle: Particles
-`@tsparticles/particles` bietet eine fokussierte API fuer einfache Partikel-Hintergruende.
+`@tsparticles/particles` bietet eine vereinfachte API zum Erstellen interaktiver Partikelhintergründe. Eine umfangreichere Alternative zu `@tsparticles/basic` mit einer dedizierten API anstelle der manuellen Engine-Konfiguration.
-## Wann Particles waehlen
+## Enthaltene Funktionen
-- Du willst eine schnelle API fuer Partikel-Hintergruende.
-- Du willst Engine/Plugins nicht manuell verdrahten.
-- Du bevorzugst eine kompakte, app-aehnliche API.
+**Formen:** Kreis (von basic)
+
+**Interne Plugins:** Interaktivität (Verbindungen, Kollisionen)
+
+**Interaktionen:** Verbindungen (Partikel-Links), Kollisionen
+
+**API:** `particles(options)` oder `particles(canvasId, options)`
+
+## Wann verwenden
+
+- Partikelhintergrund für eine Website
+- Hintergrund mit Partikelverbindungen (Knoten-Netz-Effekt)
+- Du möchtest die Engine nicht manuell konfigurieren
## Installation
+### npm/pnpm/yarn
+
```bash
pnpm add @tsparticles/particles
```
-## Setup-Beispiel
-
```ts
import { particles } from "@tsparticles/particles";
+// Hintergrund mit Verbindungen
await particles({
count: 120,
links: true,
- linksColor: "#0ff",
+ color: "#ffffff",
+ linksColor: "#00d8ff",
+ radius: 3,
+ speed: 2,
+ opacity: 0.8,
});
-await particles("canvas-id", {
+// Auf einer bestimmten Canvas
+await particles("my-canvas", {
count: 80,
shape: ["circle", "square"],
+ links: true,
});
+
+// Mit benutzerdefinierten Farben
+await particles({
+ count: 100,
+ color: ["#ff6b6b", "#4ecdc4", "#45b7d1"],
+ links: false,
+});
+```
+
+### CDN (Script-Tag)
+
+```html
+
+
```
-## Haeufige Stolperfallen
+### Hauptparameter
+
+| Parameter | Typ | Standard | Beschreibung |
+| ------------ | ------------------ | ---------- | ------------------------ |
+| `count` | number | 50 | Anzahl der Partikel |
+| `radius` | number | 3 | Partikelradius |
+| `speed` | number | 2 | Bewegungsgeschwindigkeit |
+| `opacity` | number | 0.8 | Opazität (0-1) |
+| `color` | string \| string[] | "#ffffff" | Partikelfarbe(n) |
+| `links` | boolean | false | Verbindungen anzeigen |
+| `linksColor` | string | "#ffffff" | Verbindungsfarbe |
+| `linksWidth` | number | 1 | Verbindungsstärke |
+| `shape` | string[] | ["circle"] | Partikelformen |
+
+## Häufige Fehler
-- Annehmen, dass `tsParticles` aus `@tsparticles/particles` exportiert wird.
+- Denken, dass `tsParticles` von `@tsparticles/particles` exportiert wird — das ist nicht der Fall.
- Dieselbe Canvas-ID unbeabsichtigt wiederverwenden.
+- Erweiterte Formen erwarten (Sterne, Polygone) — das Particles-Bundle basiert auf basic und verwendet nur Kreise.
-## Verwandte Seiten
+## Siehe auch
-- Ueberblick: [`/guide/bundles`](/de/guide/bundles)
-- Bundle-Playground: [`/playground/bundles`](/de/playground/bundles)
+- [Bundle-Übersicht](/de/guide/bundles)
+- [Erste Schritte](/de/guide/getting-started)
diff --git a/websites/website/docs/de/guide/bundles-slim.md b/websites/website/docs/de/guide/bundles-slim.md
index 67b294708d6..6836274b535 100644
--- a/websites/website/docs/de/guide/bundles-slim.md
+++ b/websites/website/docs/de/guide/bundles-slim.md
@@ -1,21 +1,61 @@
# Bundle: Slim
-`@tsparticles/slim` ist die empfohlene Standardwahl fuer die meisten Projekte.
+`@tsparticles/slim` ist das empfohlene Bundle für die meisten Projekte. Enthält alles, was für moderne Partikelanimationen mit Maus-Interaktionen, mehreren Formen und Partikelverbindungen benötigt wird.
-## Wann Slim waehlen
+## Enthaltene Funktionen
-- Du willst ein gutes Gleichgewicht aus Groesse und Funktionen.
-- Du nutzt die `tsParticles`-Engine-API direkt.
-- Du brauchst gaengige Formen/Interaktionen ohne alles zu laden.
+Erbt alles von `@tsparticles/basic` plus:
+
+**Formen:** Kreis, Quadrat, Stern, Polygon, Linie, Bild, Emoji
+
+**Externe Interaktionen (Maus/Touch):**
+
+- Anziehen
+- Abprallen
+- Blase
+- Verbinden
+- Zerstören
+- Greifen
+- Parallaxe
+- Pausieren
+- Schieben
+- Entfernen
+- Abstoßen
+- Verlangsamen
+
+**Partikel-Interaktionen:**
+
+- Anziehen
+- Kollisionen
+- Verbindungen (Partikel-Links)
+
+**Zusätzliche Aktualisierer:**
+
+- Lebenszyklus
+- Drehen
+
+**Plugins:**
+
+- Interaktivität
+- Easing-Quad
+- HEX-, HSL-, RGB-Farb-Plugins
+
+## Wann verwenden
+
+- Empfohlener Ausgangspunkt für die meisten Projekte
+- Du brauchst mehrere Formen (Kreise, Sterne, Polygone, Bilder)
+- Du brauchst Maus-Interaktionen (Klick, Hover, Blase, Abstoßen)
+- Du brauchst Partikelverbindungen
+- Gute Balance zwischen Bundle-Größe und Funktionen
## Installation
+### npm/pnpm/yarn
+
```bash
pnpm add @tsparticles/engine @tsparticles/slim
```
-## Setup-Beispiel
-
```ts
import { tsParticles } from "@tsparticles/engine";
import { loadSlim } from "@tsparticles/slim";
@@ -25,21 +65,47 @@ await loadSlim(tsParticles);
await tsParticles.load({
id: "tsparticles",
options: {
+ background: { color: "#0b1020" },
particles: {
number: { value: 80 },
+ links: { enable: true, distance: 150 },
move: { enable: true, speed: 2 },
- links: { enable: true },
+ shape: { type: ["circle", "star", "square"] },
},
},
});
```
-## Haeufige Stolperfallen
+### CDN (Script-Tags)
+
+```html
+
+
+
+```
+
+## Häufige Fehler
-- `tsParticles.load(...)` vor `loadSlim(...)` aufrufen.
-- Unterschiedliche Versionen von Engine und Plugins mischen.
+- `tsParticles.load()` vor `loadSlim(tsParticles)` aufrufen.
+- Unterschiedliche Versionen von Engine und Bundle mischen — halte sie auf dem gleichen Stand.
+- Funktionen aus höheren Bundles erwarten (Emitter, Absorber, Text, Wobble) — dafür wird `tsparticles` (full) oder einzelne Plugins benötigt.
-## Verwandte Seiten
+## Siehe auch
-- Ueberblick: [`/guide/bundles`](/de/guide/bundles)
-- Installationsmatrix: [`/guide/installation`](/de/guide/installation)
+- [Bundle-Übersicht](/de/guide/bundles)
+- [Installationsanleitung](/de/guide/installation)
diff --git a/websites/website/docs/de/guide/bundles.md b/websites/website/docs/de/guide/bundles.md
index 04c1f219840..6b21af8ec36 100644
--- a/websites/website/docs/de/guide/bundles.md
+++ b/websites/website/docs/de/guide/bundles.md
@@ -1,104 +1,184 @@
# Bundle-Anleitung
-Diese Seite hilft dir, das passende `tsParticles`-Bundle auszuwaehlen und schnell einzurichten.
-
-## Paketvergleich
-
-| Paket | Ideal fuer | Setup-Stil |
-| ------------------------ | ------------------------------------------------------------ | ---------------------------------------------- |
-| `@tsparticles/basic` | Sehr leichte Setups | `tsParticles` + `await loadBasic(tsParticles)` |
-| `@tsparticles/slim` | Die meisten Websites/Apps | `tsParticles` + `await loadSlim(tsParticles)` |
-| `tsparticles` | Vollstaendiger offizieller Feature-Satz mit Engine-Kontrolle | `tsParticles` + `await loadFull(tsParticles)` |
-| `@tsparticles/all` | Alle Features, schnelles Prototyping | `tsParticles` + `await loadAll(tsParticles)` |
-| `@tsparticles/confetti` | Konfetti-Effekte mit einem Aufruf | `await confetti(options)` |
-| `@tsparticles/fireworks` | Feuerwerk-Effekte mit einem Aufruf | `await fireworks(options)` |
-| `@tsparticles/particles` | Einfache API fuer Partikel-Hintergruende | `await particles(options)` |
-| `@tsparticles/ribbons` | Ribbons-Effekte mit einem Aufruf | `await ribbons(options)` |
-
-## Bundle-Anleitungen
-
-- Basic: [`/guide/bundles-basic`](/de/guide/bundles-basic)
-- Slim: [`/guide/bundles-slim`](/de/guide/bundles-slim)
-- tsparticles (Full): [`/guide/bundles-full`](/de/guide/bundles-full)
-- All: [`/guide/bundles-all`](/de/guide/bundles-all)
-- Confetti: [`/guide/bundles-confetti`](/de/guide/bundles-confetti)
-- Fireworks: [`/guide/bundles-fireworks`](/de/guide/bundles-fireworks)
-- Particles: [`/guide/bundles-particles`](/de/guide/bundles-particles)
-- Ribbons (Demo + Doku): [`/demos/recipes/ribbons`](/de/demos/recipes/ribbons) ·
-
-## Installation
-
-Installiere den Paketpfad, der zu deinem Anwendungsfall passt.
-
-```bash
-pnpm add @tsparticles/engine @tsparticles/basic
-pnpm add @tsparticles/engine @tsparticles/slim
-pnpm add @tsparticles/engine tsparticles
-pnpm add @tsparticles/engine @tsparticles/all
-pnpm add @tsparticles/confetti
-pnpm add @tsparticles/fireworks
-pnpm add @tsparticles/particles
-pnpm add @tsparticles/ribbons
+tsParticles ist modular. Das Paket `@tsparticles/engine` enthält nur die Kern-Engine; um sichtbare Effekte zu erzielen, musst du **Formen** (was gezeichnet wird), **Aktualisierer** (wie animiert wird), **Interaktionen** (Reaktion auf Maus/Touch) und **Plugins** (zusätzliche Funktionen) registrieren. All dies geschieht über **Bundles**.
+
+## Bundle-Kategorien
+
+| Kategorie | Bundle | API |
+| --------------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------- |
+| Engine + Loader | `@tsparticles/basic`, `@tsparticles/slim`, `tsparticles`, `@tsparticles/all` | `tsParticles.load({ id, options })` |
+| Dedizierte API | `@tsparticles/confetti`, `@tsparticles/fireworks`, `@tsparticles/particles`, `@tsparticles/ribbons` | `confetti({...})`, `fireworks({...})`, etc. |
+
+## Vollständiger Funktionsvergleich
+
+Legende: ● = enthalten, ○ = nicht enthalten
+
+| Funktion | basic | slim | full (`tsparticles`) | all |
+| --------------------------------------------------------------------------------------------------- | ----- | ---- | -------------------- | ------------------ |
+| **Formen** | | | | |
+| Kreis | ● | ● | ● | ● |
+| Quadrat | ○ | ● | ● | ● |
+| Stern | ○ | ● | ● | ● |
+| Polygon | ○ | ● | ● | ● |
+| Linie | ○ | ● | ● | ● |
+| Bild | ○ | ● | ● | ● |
+| Emoji | ○ | ● | ● | ● |
+| Text | ○ | ○ | ● | ● |
+| Karten (Farben) | ○ | ○ | ○ | ● |
+| Herz | ○ | ○ | ○ | ● |
+| Pfeil | ○ | ○ | ○ | ● |
+| Abgerundetes Rechteck | ○ | ○ | ○ | ● |
+| Abgerundetes Polygon | ○ | ○ | ○ | ● |
+| Spirale | ○ | ○ | ○ | ● |
+| Squircle | ○ | ○ | ○ | ● |
+| Zahnrad | ○ | ○ | ○ | ● |
+| Unendlichkeit | ○ | ○ | ○ | ● |
+| Matrix | ○ | ○ | ○ | ● |
+| Pfad | ○ | ○ | ○ | ● |
+| Ribbon | ○ | ○ | ○ | ● |
+| **Externe Interaktionen (Maus/Touch)** | | | | |
+| Anziehen | ○ | ● | ● | ● |
+| Abprallen | ○ | ● | ● | ● |
+| Blase | ○ | ● | ● | ● |
+| Verbinden | ○ | ● | ● | ● |
+| Zerstören | ○ | ● | ● | ● |
+| Greifen | ○ | ● | ● | ● |
+| Parallaxe | ○ | ● | ● | ● |
+| Pausieren | ○ | ● | ● | ● |
+| Schieben | ○ | ● | ● | ● |
+| Entfernen | ○ | ● | ● | ● |
+| Abstoßen | ○ | ● | ● | ● |
+| Verlangsamen | ○ | ● | ● | ● |
+| Ziehen | ○ | ○ | ● | ● |
+| Spur | ○ | ○ | ● | ● |
+| Kanone | ○ | ○ | ○ | ● |
+| Partikel | ○ | ○ | ○ | ● |
+| Pop | ○ | ○ | ○ | ● |
+| Licht | ○ | ○ | ○ | ● |
+| **Partikel-Interaktionen** | | | | |
+| Verbindungen | ○ | ● | ● | ● |
+| Kollisionen | ○ | ● | ● | ● |
+| Anziehen | ○ | ● | ● | ● |
+| Abstoßen | ○ | ○ | ○ | ● |
+| **Aktualisierer (Animationen)** | | | | |
+| Opazität | ● | ● | ● | ● |
+| Größe | ● | ● | ● | ● |
+| Aus-Modi | ● | ● | ● | ● |
+| Farbe | ● | ● | ● | ● |
+| Drehen | ○ | ● | ● | ● |
+| Lebenszyklus | ○ | ● | ● | ● |
+| Zerstören | ○ | ○ | ● | ● |
+| Rollen | ○ | ○ | ● | ● |
+| Neigen | ○ | ○ | ● | ● |
+| Funkeln | ○ | ○ | ● | ● |
+| Wackeln | ○ | ○ | ● | ● |
+| Farbverlauf | ○ | ○ | ○ | ● |
+| Orbit | ○ | ○ | ○ | ● |
+| **Plugins** | | | | |
+| Bewegung | ● | ● | ● | ● |
+| Mischung | ● | ● | ● | ● |
+| Emitter | ○ | ○ | ● | ● |
+| Absorber | ○ | ○ | ● | ● |
+| Töne | ○ | ○ | ○ | ● |
+| Bewegung (Benutzereinst.) | ○ | ○ | ○ | ● |
+| Themes | ○ | ○ | ○ | ● |
+| Polygon-Maske | ○ | ○ | ○ | ● |
+| Canvas-Maske | ○ | ○ | ○ | ● |
+| Hintergrundmaske | ○ | ○ | ○ | ● |
+| Export (Bild, JSON, Video) | ○ | ○ | ○ | ● |
+| Manuelle Partikel | ○ | ○ | ○ | ● |
+| Responsive | ○ | ○ | ○ | ● |
+| Spur | ○ | ○ | ○ | ● |
+| Zoom | ○ | ○ | ○ | ● |
+| Poisson-Scheibe | ○ | ○ | ○ | ● |
+| **Pfade** | | | | |
+| Beliebiger Pfad | ○ | ○ | ○ | ● (14 Generatoren) |
+| **Effekte** | | | | |
+| Blase, Filter, Schatten, etc. | ○ | ○ | ○ | ● (5 Effekte) |
+| **Easings** | | | | |
+| Quad | ○ | ● | ● | ● |
+| Back, Bounce, Circ, Cubic, Elastic, Expo, Gaussian, Linear, Quart, Quint, Sigmoid, Sine, Smoothstep | ○ | ○ | ○ | ● |
+| **Farb-Plugins** | | | | |
+| HEX, HSL, RGB | ● | ● | ● | ● |
+| HSV, HWB, LAB, LCH, Named, OKLAB, OKLCH | ○ | ○ | ○ | ● |
+
+### Bundles mit dedizierter API
+
+| Funktion | confetti | fireworks | particles | ribbons |
+| --------------- | --------------------------------------------------------- | ----------------------- | -------------------------- | ----------------- |
+| Formen | Kreis, Herz, Karten, Emoji, Bild, Polygon, Quadrat, Stern | Linie | (von basic) | Ribbon |
+| Interaktionen | — | — | Verbindungen + Kollisionen | — |
+| Spezial-Plugins | Emitter, Bewegung | Emitter, Töne, Mischung | — | Emitter, Bewegung |
+| API-Aufruf | `confetti(opts)` | `fireworks(opts)` | `particles(opts)` | `ribbons(opts)` |
+
+## Auswahlhilfe
+
+```mermaid
+flowchart TD
+ A[Schnell starten?] -->|Ja| B[Voreinstellung verwenden?]
+ A -->|Nein| C[Welche Bundle-Größe?]
+ B -->|Ja| D["@tsparticles/configs + @tsparticles/slim"]
+ B -->|Nein| E["Konfetti? → @tsparticles/confetti"]
+ B -->|Nein| F["Feuerwerk? → @tsparticles/fireworks"]
+ B -->|Nein| G["Partikel-HG? → @tsparticles/particles"]
+ B -->|Nein| H["Ribbons? → @tsparticles/ribbons"]
+ C -->|"Minimal (nur Kreise)"| I["@tsparticles/basic"]
+ C -->|"Mittel (Formen + Interaktionen)"| J["@tsparticles/slim"]
+ C -->|"Maximal (alle Funktionen)"| K["tsparticles (loadFull)"]
+ C -->|"Ganzes Repository"| L["@tsparticles/all"]
```
-Brauchst du CDN-Links und weitere Package-Manager-Varianten?
-
-- Siehe [`/guide/installation`](/de/guide/installation).
-
-## Setup-Beispiele
-
-### Engine + Loader-Bundles (`basic`, `slim`, `full`, `all`)
-
-```ts
-import { tsParticles } from "@tsparticles/engine";
-import { loadSlim } from "@tsparticles/slim";
-
-await loadSlim(tsParticles);
-
-await tsParticles.load({
- id: "tsparticles",
- options: {
- particles: {
- number: { value: 80 },
- move: { enable: true, speed: 2 },
- },
- },
-});
+**Faustregeln:**
+
+1. Die meisten Projekte beginnen mit `@tsparticles/slim`.
+2. Wenn die Bundle-Größe entscheidend ist und du nur Kreise brauchst: `@tsparticles/basic`.
+3. Wenn du Emitter, Absorber, Text, Wobble/Tilt/Roll brauchst: `tsparticles` mit `loadFull`.
+4. Für schnelles Prototyping mit allen Funktionen: `@tsparticles/all`.
+5. Für gezielte Effekte (Konfetti, Feuerwerk, Partikel-HG, Ribbons) mit minimalem Setup: dedizierte API-Bundles.
+
+## Schnellinstallation
+
+| Bundle | npm-Befehl | Loader-Funktion | CDN-URL |
+| ------------------------ | ------------------------------------------------- | ------------------------ | -------------------------------------------------------------- |
+| `@tsparticles/basic` | `pnpm add @tsparticles/engine @tsparticles/basic` | `loadBasic(tsParticles)` | `@tsparticles/basic@4/tsparticles.basic.bundle.min.js` |
+| `@tsparticles/slim` | `pnpm add @tsparticles/engine @tsparticles/slim` | `loadSlim(tsParticles)` | `@tsparticles/slim@4/tsparticles.slim.bundle.min.js` |
+| `tsparticles` (full) | `pnpm add @tsparticles/engine tsparticles` | `loadFull(tsParticles)` | `tsparticles@4/tsparticles.bundle.min.js` |
+| `@tsparticles/all` | `pnpm add @tsparticles/engine @tsparticles/all` | `loadAll(tsParticles)` | `@tsparticles/all@4/tsparticles.all.bundle.min.js` |
+| `@tsparticles/confetti` | `pnpm add @tsparticles/confetti` | `confetti(opts)` | `@tsparticles/confetti@4/tsparticles.confetti.bundle.min.js` |
+| `@tsparticles/fireworks` | `pnpm add @tsparticles/fireworks` | `fireworks(opts)` | `@tsparticles/fireworks@4/tsparticles.fireworks.bundle.min.js` |
+| `@tsparticles/particles` | `pnpm add @tsparticles/particles` | `particles(opts)` | `@tsparticles/particles@4/tsparticles.particles.bundle.min.js` |
+| `@tsparticles/ribbons` | `pnpm add @tsparticles/ribbons` | `ribbons(opts)` | `@tsparticles/ribbons@4/tsparticles.ribbons.bundle.min.js` |
+
+**Hinweis:** Bei basic/slim/full/all-Bundles musst du `load*` VOR `tsParticles.load()` aufrufen. CDN-Dateien machen die Loader-Funktion global verfügbar, rufen sie aber NICHT automatisch auf. Die Confetti/Fireworks/Particles/Ribbons-Bundles haben eigenständige APIs — rufe `confetti()`, `fireworks()` etc. direkt auf.
+
+CDN-Beispiel für `@tsparticles/slim`:
+
+```html
+
+
+
```
-Fuer die anderen Presets tauschst du nur Import/Funktion des Loaders:
+CDN-Beispiel für `@tsparticles/confetti`:
-- `@tsparticles/basic` -> `loadBasic`
-- `tsparticles` -> `loadFull`
-- `@tsparticles/all` -> `loadAll`
-
-### Fokussierte APIs (`confetti`, `fireworks`, `particles`, `ribbons`)
-
-```ts
-import { confetti } from "@tsparticles/confetti";
-import { fireworks } from "@tsparticles/fireworks";
-import { particles } from "@tsparticles/particles";
-import { ribbons } from "@tsparticles/ribbons";
-
-await confetti({ count: 80, spread: 60 });
-await fireworks({ sounds: false });
-await particles({ count: 100, links: true });
-await ribbons({ count: 5, spread: 0 });
+```html
+
+
```
-Diese APIs sind ideal, wenn du schnell integrieren willst, ohne viele Engine-Plugins manuell zu verdrahten.
-
-## Praktische Auswahlregeln
-
-1. Starte in den meisten Projekten mit `@tsparticles/slim`.
-2. Nutze `@tsparticles/basic`, wenn Bundle-Groesse oberste Prioritaet hat und die Features einfach sind.
-3. Nutze `tsparticles`, wenn du eine full Basis mit vielen Features und `loadFull` brauchst.
-4. Nutze `@tsparticles/all` fuer Prototyping oder wenn du sofort viele Features brauchst.
-5. Nutze `@tsparticles/confetti`, `@tsparticles/fireworks`, `@tsparticles/particles` oder `@tsparticles/ribbons`, wenn deine UI einen gezielten Effekt mit minimalem Setup braucht.
+Siehe auch die [Installationsanleitung](/de/guide/installation) für CDN-, npm-, yarn- und Datei-Details.
## Verwandte Seiten
-- Fokussierte Bundles im Playground: [`/playground/bundles`](/de/playground/bundles)
-- Einstiegspfad: [`/guide/getting-started`](/de/guide/getting-started)
-- Installationsmatrix: [`/guide/installation`](/de/guide/installation)
-- Wrapper-Ueberblick: [`/guide/wrappers`](/de/guide/wrappers)
+- [Erste Schritte](/de/guide/getting-started)
+- [Installationsanleitung](/de/guide/installation)
+- [Voreinstellungskatalog](/de/demos/presets)
+- [Palettenkatalog](/de/demos/palettes)
+- [Formenkatalog](/de/demos/shapes)
diff --git a/websites/website/docs/de/guide/color-formats.md b/websites/website/docs/de/guide/color-formats.md
index 466530f98ae..d57784853ff 100644
--- a/websites/website/docs/de/guide/color-formats.md
+++ b/websites/website/docs/de/guide/color-formats.md
@@ -1,6 +1,6 @@
# Farbformate
-tsParticles akzeptiert mehrere Farbformate über Optionen wie `background`, `particles.color` und Plugin-Einstellungen.
+tsParticles akzeptiert mehrere Farbformate über Optionen wie `background`, `particles.paint` und Plugin-Einstellungen.
## Gängige Formate
diff --git a/websites/website/docs/de/guide/getting-started.md b/websites/website/docs/de/guide/getting-started.md
index 02f974bf45b..8d4caf275e4 100644
--- a/websites/website/docs/de/guide/getting-started.md
+++ b/websites/website/docs/de/guide/getting-started.md
@@ -1,107 +1,197 @@
# Erste Schritte
-Dieser Pfad ist das schnellste und zuverlässigste Setup für `tsParticles` im Jahr 2026.
+tsParticles ist eine JavaScript/TypeScript-Bibliothek zum Erstellen von Partikelanimationen, Konfetti, Feuerwerk und mehr. Sie funktioniert in jedem modernen Browser und ist sowohl als npm-Paket als auch über CDN mit `
+
+
+
+
+
+
+
+