Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
efd9712
build(deps): bump @angular/core from 22.0.2 to 22.0.4
dependabot[bot] Jun 29, 2026
f308072
build(deps-dev): bump @electron/osx-sign from 2.4.0 to 2.4.1
dependabot[bot] Jun 29, 2026
b988ca9
build: updated plans for 4.4.0
matteobruni Jun 29, 2026
ce05fd2
build: build fix
matteobruni Jun 29, 2026
5c90cf7
Merge pull request #5871 from tsparticles/dependabot/npm_and_yarn/v4/…
matteobruni Jun 30, 2026
74585be
Merge pull request #5872 from tsparticles/dependabot/npm_and_yarn/v4/…
matteobruni Jun 30, 2026
7b3a948
fix: fix request body size limit to 1 MB in mcp-server integration
matteobruni Jul 1, 2026
4cb949a
docs: updated plans for 4.4.0
matteobruni Jul 1, 2026
024ff05
build: after build format
matteobruni Jul 1, 2026
97bae92
build: updated deps and after updates format fixes
matteobruni Jul 1, 2026
25fb70e
fix: fixed mcp server issue
matteobruni Jul 1, 2026
0e831d3
Merge branch 'main' into v4
matteobruni Jul 1, 2026
0efebf4
build(deps-dev): bump @electron-internal/extract-zip from 1.0.3 to 1.0.4
dependabot[bot] Jul 1, 2026
00c16cc
Merge pull request #5873 from tsparticles/dependabot/npm_and_yarn/v4/…
matteobruni Jul 1, 2026
c5cae8d
build: updated deps
matteobruni Jul 1, 2026
44ad374
chore(release): published new version
matteobruni Jul 1, 2026
4ba3518
fix: fixed some issues in deepExtend
matteobruni Jul 1, 2026
0f3086d
build: after build format
matteobruni Jul 1, 2026
60f3739
Merge pull request #5875 from tsparticles/v4
matteobruni Jul 1, 2026
814d7b8
build: after build format
matteobruni Jul 1, 2026
5233100
Merge pull request #5876 from tsparticles/v4
matteobruni Jul 1, 2026
a285def
build: fixed issues with deps in some templates
matteobruni Jul 1, 2026
dbad2a6
Merge branch 'main' into v4
matteobruni Jul 1, 2026
5709328
Merge pull request #5877 from tsparticles/v4
matteobruni Jul 1, 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
  •  
  •  
  •  
14 changes: 3 additions & 11 deletions .planning/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,11 @@
| # | 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 progresssee `.planning/handovers/4.4.0_PLAN.md` |
| 2 | Fluid Particle Interaction (DDR-based liquid simulation) | 4.4.0 | ❌ Scrappedneeds redesign |

## Phase Details

### Phase 2: Fluid Particle Interaction (4.4.0)

**Target:** `@tsparticles/interaction-particles-fluid`

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

**Constraints:**
- Zero modifications to `@tsparticles/engine`
- Follows `collisions` package pattern
- No per-particle state storage
- Relies on MovePlugin for baseline advection
**Status:** ❌ Scrapped. v3 implementation completed and reverted — code did not produce fluid behavior.
See `.planning/handovers/FLUID_INTERACTION_PLAN.md` for retrospective.
23 changes: 15 additions & 8 deletions .planning/STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ See: .planning/PROJECT.md (initialized)

**Current focus:** Phase 2 — 4.4.0 Fluid Interaction

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

### 4.3.0 — Released ✅

Expand All @@ -18,12 +18,19 @@ All 6 features implemented and gate checks passed:
- E: Particle Modifier System — generic `IParticleModifier` API
- F: HDR Precision — floating-point RGB pipeline

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

### 4.4.0 — Fluid Interaction (next)
### 4.4.0 — Fluid Interaction (v4 planning)

**Target:** `@tsparticles/interaction-particles-fluid` — DDR-based liquid simulation.
See `.planning/handovers/4.4.0_PLAN.md`.
v3 implementation completed and reverted. Code did not produce fluid behavior.
See `.planning/handovers/FLUID_INTERACTION_PLAN.md` for full retrospective and v4 plan.

**v4 plan completed** (2026-06-29). Key changes from v3:
- Velocity reconstruction added (critical fix)
- Correct `q` factor in DDR displacement formula
- Explicit boundary handling (soft spring + hard clamp) instead of outModes
- Per-particle `prevPos` state for velocity reconstruction
- Confirmed ParticlesInteractorBase is the correct integration point with these fixes

### 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 Expand Up @@ -66,9 +73,9 @@ See `.planning/handovers/4.4.0_PLAN.md`.
10. ✅ **S10 WebComponents** — done (`data-id`/`data-theme` added to `observedAttributes`, `attributeChangedCallback` handles both, `id` setter syncs to `data-id`, deprecated `particlesInit` event removed, README documented with observed attributes table and theme caveat, build passes)
11. ✅ **S11 React docs** — README props table updated with `particlesLoaded`, demo/template check passed
12. ✅ **S12 Preact** — wrapper (theme prop, loadTheme, selective componentDidUpdate senza refresh per solo-theme), demo (constructor init + conditional render — module-level init freeze Preact, tenuto pattern originale), README aligned
13. ✅ **S13 Svelte** — wrapper reactivity (`theme` prop, `afterUpdate` → reactive `$:` statements with `loadKey`, `loadTheme` on initial load + theme change), demo alignment (`particlesInit` → `initParticlesEngine`, Svelte 5 `mount()` API, SSR-safe dynamic imports), README with props table, reactive behavior docs, theme plugin docs. Svelte demo + SvelteKit demo entrambi verificati funzionanti dall'utente.
14. ✅ **S14 Stencil** — done (`theme` prop + `particlesLoaded` event + `@Watch("theme")` + demo con theme toggle + `@tsparticles/plugin-themes` installato, build passa).
15. ✅ **S15 Ember** — done (`theme` prop, `#container` instance tracking per memory leak fix, `registerDestructor` chiamato una sola volta, `particlesLoaded` type corretto a `(container?: Container)`, template `particles.hbs` aggiornato con `theme=@theme`, demo con config switch + theme toggle buttons, README con tabella args e caveat plugin opzionale, build passa).
13. ✅ **S13 Svelte** — wrapper reactivity (`theme` prop, `afterUpdate` → reactive `$:` statements with `loadKey`, `loadTheme` on initial load + theme change), demo alignment (`particlesInit` → `initParticlesEngine`, Svelte 5 `mount()` API, SSR-safe dynamic imports), README with props table, reactive behavior docs, theme plugin docs. Svelte demo + SvelteKit demo both verified working by the user.
14. ✅ **S14 Stencil** — done (`theme` prop + `particlesLoaded` event + `@Watch("theme")` + demo with theme toggle + `@tsparticles/plugin-themes` installed, build passes).
15. ✅ **S15 Ember** — done (`theme` prop, `#container` instance tracking for memory leak fix, `registerDestructor` called once, `particlesLoaded` type fixed to `(container?: Container)`, template `particles.hbs` updated with `theme=@theme`, demo with config switch + theme toggle buttons, README with args table and optional plugin caveat, build passes).
16. ✅ **S16 jQuery** — done (`setTheme` method added to `ParticlesResult` type, `WeakMap<Element, Container>` for per-element container tracking, `load`/`ajax` track containers, `setTheme` method with safe `loadTheme?.()` optional plugin invocation, README updated with `setTheme` docs and theme plugin caveat, build passes).
17. ✅ **S17 Angular-fireworks** — done: `OnChanges` implemented for `id`/`options` reactivity, `#destroyed` guard prevents post-destroy execution, `#startFireworks` stops previous instance before creating new one, `ngOnDestroy` calls `.destroy()` (not `.stop()`), demo N/A (no standalone demo dir), templates N/A (no templates dir), README updated with `OnChanges` behavior docs, build passes.
18. ✅ **S18 EN docs (vue3.md)** — done: removed stale `:init`, `@particles-init`, `particlesInit` from EN guide (all examples + API table); removed Component-Level Init section; fixed `useParticles` → `useParticlesProvider`; added `theme` prop to API table with optional plugin caveat; added `theme` prop docs in Theme Switching section. File reduced from 622→575 lines.
Expand Down
Loading
Loading