Add a Physarum route with a GPU trail map and a CPU fallback. Tick the Physarum item in ROADMAP.md.
2.1 KiB
2.1 KiB
Roadmap
Open ideas for the playground frontend. Tick a box when done.
Quick wins
- Labyrinth grid size crash:
labyrinth.component.htmlstill 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 circlesmat-slider(seen 2026-10-14, not verified). - Lighthouse gate: add an
assertblock tolighthouserc.json(e.g. performance, accessibility, SEO >= 0.9). Today CI runs the audit but never fails. Note: the@lhci/cli→ lighthouse 13 override inpackage.jsonis only safe withoutassert. Check it again before you add one. - robots.txt + sitemap.xml: static files in
public/, listing all routes fromapp.routes.ts. - SEO per algorithm page: all algorithm routes use
data: { seo: 'ALGORITHMS' }. Give each one its own key and addSEO.<KEY>.TITLE/DESCRIPTIONtoen.jsonandde.json. - nginx security headers: no CSP,
X-Content-Type-Options,Referrer-Policy,frame-ancestorsinnginx.conf(gzip done). First check withcurl -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
- 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+AlgorithmsServiceentry + i18n + information panel):- Boids / flocking (GPU path like cloth)
- Physarum (slime mold transport networks, trail map on GPU compute, CPU fallback)
- Boids 3D (later, 2D done)
- Voronoi / Delaunay
- A* vs Dijkstra side by side (reuse pathfinding)
- Fourier epicycles
- Reaction-diffusion (Gray-Scott) shader (reuse the fractal shader setup)