feat(algorithms): add cloth-icm self-collision page

Add a CPU cloth self-collision demo based on Volino and
Magnenat-Thalmann 2006 (intersection contour minimization).
It uses an 18-DOP BVH with normal-cone culling. The page has
tangled and drop scenes and a debug panel.
This commit is contained in:
lobo committed 2026-10-30 13:14:24 +01:00
1 parent 05dc554d79
commit b1607a4b00
35 files changed
+3540 -2

No files matched your search

+2
View File
@@ -19,6 +19,7 @@ Open ideas for the playground frontend. Tick a box when done.
## Features
- [ ] **Cloth ICM drop scene**: with ICM on, ~260 intersections stay (ICM off: ~1000) and the cloth never settles. Causes: discrete detection (cloth moves 5-7x thickness per frame), gravity and ground fold new layers faster than ICM resolves, open contours end at vertex-sharing pairs the narrow phase skips. Ideas: continuous collision detection, detection per substep, handle vertex-sharing pairs.
- [ ] **Shareable demo state**: keep demo settings in query params (fractal zoom/center, sorting algorithm, seeds). Opening the link restores the view.
- [ ] **New algorithm demos** (pattern: route + `RouterConstants` + `AlgorithmsService` entry + i18n + information panel):
- [x] Boids / flocking (GPU path like cloth)
@@ -30,4 +31,5 @@ Open ideas for the playground frontend. Tick a box when done.
- [x] Reaction-diffusion (Gray-Scott) shader (reuse the fractal shader setup)
- [x] **Lenia** (continuous Game of Life, shader ping-pong like Gray-Scott)
- [x] **Fluid (Stable Fluids)** (velocity, pressure and dye shader ping-pong like Lenia)
- [x] **Cloth self-collision (ICM)** (Volino and Magnenat-Thalmann 2006, CPU: BVH with normal-cone culling, contour tracing, intersection contour minimization)
- [x] **Ant colony** (ACO on TSP, CPU + Canvas 2D)