Velocity runs on a 128x128 grid and dye on 512x512. Walls are free-slip: shaders clamp coordinates to the field. Drag pushes the fluid and adds dye. Idle time adds random splats. Tick the fluid item in ROADMAP.md.
35 lines
2.4 KiB
Markdown
35 lines
2.4 KiB
Markdown
# Roadmap
|
|
|
|
Open ideas for the playground frontend. Tick a box when done.
|
|
|
|
## Quick wins
|
|
|
|
- [ ] **Labyrinth grid size crash**: `labyrinth.component.html` still binds `[gridRows]`; typed sizes above the max crash the page. Same fix as pathfinding (clamp in code, drop the binding).
|
|
- [ ] **Fourier circles slider thumb**: at "Circles: 256" the thumb sits near the left end, like at 30. Check `max`/value binding of the circles `mat-slider` (seen 2026-10-14, not verified).
|
|
- [ ] **Lighthouse gate**: add an `assert` block to `lighthouserc.json` (e.g. performance, accessibility, SEO >= 0.9). Today CI runs the audit but never fails.
|
|
Note: the `@lhci/cli` → lighthouse 13 override in `package.json` is only safe without `assert`. Check it again before you add one.
|
|
- [ ] **robots.txt + sitemap.xml**: static files in `public/`, listing all routes from `app.routes.ts`.
|
|
- [ ] **SEO per algorithm page**: all algorithm routes use `data: { seo: 'ALGORITHMS' }`. Give each one its own key and add `SEO.<KEY>.TITLE` / `DESCRIPTION` to `en.json` and `de.json`.
|
|
- [ ] **nginx security headers**: no CSP, `X-Content-Type-Options`, `Referrer-Policy`, `frame-ancestors` in `nginx.conf` (gzip done). First check with `curl -I https://andreas-dahm.eu/` if the reverse proxy already sets them.
|
|
|
|
## Tests
|
|
|
|
- [ ] `seo.service.ts`: spec for title/meta update on route change and language change.
|
|
- [ ] Pure logic without specs: `pathfinding-animator.ts`, cloth and pendulum GPU strategies (the math around them, not the shaders), `fractal3d`.
|
|
|
|
## Features
|
|
|
|
- [ ] Lenia: display zoom so small creatures (e.g. Orbium bicaudatus tails) are visible
|
|
- [ ] **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)
|
|
- [x] **Physarum** (slime mold transport networks, trail map on GPU compute, CPU fallback)
|
|
- [ ] Boids 3D (later, 2D done)
|
|
- [ ] Voronoi / Delaunay
|
|
- [x] A* vs Dijkstra side by side (reuse pathfinding)
|
|
- [x] Fourier epicycles
|
|
- [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] **Ant colony** (ACO on TSP, CPU + Canvas 2D)
|