Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
b601e94
build(deps): bump @angular/core from 22.0.1 to 22.0.2
dependabot[bot] Jun 19, 2026
d2da53a
Merge pull request #5861 from tsparticles/dependabot/npm_and_yarn/v4/…
matteobruni Jun 19, 2026
6aac635
build: updated some deps
matteobruni Jun 19, 2026
fa82424
Merge remote-tracking branch 'origin/v4' into v4
matteobruni Jun 19, 2026
39b4e51
chore(plugins): moved animated gif support to a separate shape
matteobruni Jun 19, 2026
74a28cf
build(deps): bump @nx/devkit from 22.7.5 to 23.0.0
dependabot[bot] Jun 19, 2026
c2fa752
Merge pull request #5859 from tsparticles/dependabot/npm_and_yarn/v4/…
matteobruni Jun 20, 2026
b745b9b
build: updated some deps
matteobruni Jun 20, 2026
fb71bd9
feat: added support for canvas background and custom draw callbacks
matteobruni Jun 21, 2026
a88798c
feat: improved support for canvas background and custom draw callbacks
matteobruni Jun 21, 2026
4593974
build(deps): bump eslint-plugin-jsdoc from 63.0.5 to 63.0.7
dependabot[bot] Jun 22, 2026
17bf4e8
build(deps-dev): bump @angular/language-service from 22.0.1 to 22.0.2
dependabot[bot] Jun 22, 2026
96858f8
build: prepared agent documentation for dynamic background mask
matteobruni Jun 22, 2026
74582bc
feat: added support for canvas background mask and custom draw callbacks
matteobruni Jun 22, 2026
69ce3a7
docs: updated docs for background mask dynamic feature
matteobruni Jun 22, 2026
f90e446
docs: added more features to 4.3.0 plan
matteobruni Jun 22, 2026
b0bd39a
docs: updated 4.3.0 plan
matteobruni Jun 22, 2026
5442bbb
feat: added new draw layer system
matteobruni Jun 22, 2026
da3038e
feat: added new particle modifier system
matteobruni Jun 22, 2026
627ec92
feat: added new hdr precision system
matteobruni Jun 22, 2026
87339ad
docs: updated fluid interaction plan
matteobruni Jun 23, 2026
691fe1c
chore(wrappers): fixed the output of vue wrappers
matteobruni Jun 24, 2026
a730e04
Merge pull request #5867 from tsparticles/dependabot/npm_and_yarn/v4/…
matteobruni Jun 24, 2026
0345cb5
Merge pull request #5866 from tsparticles/dependabot/npm_and_yarn/v4/…
matteobruni Jun 24, 2026
6f25a4a
fix: fixed angular confetti
matteobruni Jun 25, 2026
0f4b710
chore(configs): improved configs using less strong whites and blacks
matteobruni Jun 25, 2026
2d60c2e
chore(wrappers): updated some deps in ember wrapper and fixed its demo
matteobruni Jun 26, 2026
9d9fc9f
fix: fixed some issues in deepExtend
matteobruni Jun 26, 2026
592a167
docs: cleaning 4.3.0 plan files, preparing the release
matteobruni Jun 27, 2026
37fe736
Merge branch 'main' into v4
matteobruni Jun 27, 2026
af9d1d9
fix: improved deepExtend
matteobruni Jun 27, 2026
5103925
build: fixing CI build
matteobruni Jun 27, 2026
0266d46
chore(release): published new version
matteobruni Jun 27, 2026
e6ba40f
build: updated lockfile
matteobruni Jun 27, 2026
eb2d299
Merge pull request #5870 from tsparticles/v4
matteobruni Jun 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ jobs:

- name: Deploy to Firebase (PR preview)
if: env.firebaseToken != '' && github.event_name == 'pull_request' && github.actor == 'matteobruni'
continue-on-error: true
uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: "${{ secrets.GITHUB_TOKEN }}"
Expand Down
33 changes: 14 additions & 19 deletions .planning/ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,23 @@
# ROADMAP: tsParticles (replaced)
# ROADMAP: tsParticles

## Overview

Single focused phase per owner's request.

| # | Phase | Goal |
| --- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
| 1 | External Interaction: Drag & Drop Particle | Implement an external interaction allowing users to drag-and-drop particles one at a time into a canvas and interact with them. |
| # | Phase | Version | Goal |
|---|-------|---------|------|
| 1 | GIF Shape, Background Canvas, BgMask Dynamic, Draw Layer System, Particle Modifier, HDR Precision | 4.3.0 | ✅ Released |
| 2 | Fluid Particle Interaction (DDR-based liquid simulation) | 4.4.0 | In progress — see `.planning/handovers/4.4.0_PLAN.md` |

## Phase Details

### Phase 1: External Interaction: Drag & Drop Particle

Goal: Provide an external interaction that lets a user drag and drop single particles into the canvas, interact with them (select, move, drop), and expose a minimal API for external consumers to trigger and listen to these interactions.

Requirements: (derived from owner request)
### Phase 2: Fluid Particle Interaction (4.4.0)

- UI-01: Users can drag a particle from an external palette and drop it onto the canvas. Only one particle is dragged per interaction.
- UI-02: Dropped particle becomes interactive (can be selected and moved) until deselected.
- API-01: Emit events on drag-start, drag-end, drop, select, and move with particle identifiers and positions.
- QA-01: Add automated usability tests that simulate drag-and-drop and assert events fired.
**Target:** `@tsparticles/interaction-particles-fluid`

Success criteria:
New particles interactor implementing position-only DDR (Density Displacement Resolution)
for real-time liquid simulation. Single-pass Gauss-Seidel solver with symmetric displacement.

1. Functional demo shows drag-and-drop of one particle at a time into `demo/vanilla`.
2. Events are emitted and documented in a short API doc snippet.
3. Acceptance tests simulate a drag-and-drop and pass in CI.
**Constraints:**
- Zero modifications to `@tsparticles/engine`
- Follows `collisions` package pattern
- No per-particle state storage
- Relies on MovePlugin for baseline advection
22 changes: 18 additions & 4 deletions .planning/STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,26 @@ See: .planning/PROJECT.md (initialized)

**Core value:** Provide a small, high-performance, and extensible particle engine that developers can integrate into web projects with minimal configuration.

**Current focus:** Phase 1Developer Experience & Docs
**Current focus:** Phase 24.4.0 Fluid Interaction

## Session Status — 2026-06-14
## Session Status — 2026-06-27

### Objective
Plan and implement wrapper reactivity (options/url/theme prop changes) across Vue 3, Vue 2, Angular, Solid, Qwik, and Astro wrappers, plus fix Vue 3 docs describing nonexistent `:init`/`@particles-init` features.
### 4.3.0 — Released ✅

All 6 features implemented and gate checks passed:
- A: GIF Shape — new `@tsparticles/shape-gif` package
- B: Background Canvas — layered background pipeline
- C: Background Mask Dynamic — `cover.element` + `cover.draw`
- D: Draw Layer System — 8 named layers replacing 11 arrays
- E: Particle Modifier System — generic `IParticleModifier` API
- F: HDR Precision — floating-point RGB pipeline

Build: 461 projects ✅ | Tests: 152/152 ✅ | Issue aperti: nessun blocco.

### 4.4.0 — Fluid Interaction (next)

**Target:** `@tsparticles/interaction-particles-fluid` — DDR-based liquid simulation.
See `.planning/handovers/4.4.0_PLAN.md`.

### Outcome
**S1 (Vue 3 wrapper) completed**: wrapper reactivity implemented (`id`/`options`/`url` → destroy+reload, `theme` → safe `loadTheme`), demo aligned with reactive config switching, README fully documented. Plan remaining steps on `.planning/handovers/WRAPPER_REACTIVITY_PLAN.md`.
Expand Down
Loading
Loading