WindFoil – algorithm for computing winding and anti-aliasing of 2D vector shapes
Ce projet fournit du code et des démonstrations pour remplir des formes vectorielles 2D définies par des contours quadratiques de Bézier en calculant le winding et une antialiasing analytique par pixel dans un shader de fragments. La méthode s'appuie sur des travaux antérieurs (Slug, Vello, Pathfinder, font-rs, etc.), a été conçue par Code Claude avec l'aide de l'agent Fable et plusieurs itérations, et son caractère entièrement inédit n'est pas garanti. Une démonstration Web est disponible en ligne et le code se lance localement avec Deno 2.x sur une machine équipée d'un GPU compatible WebGPU pour des tâches telles que render, validate et serve. L'approche par intégrale de winding à un seul rayon réduit l'empreinte mémoire des bandes, évite le prétraitement CPU nécessaire avec Slug pour gérer les recouvrements, fournit une estimation de filtre boîte quasiment exacte et donne des performances comparables ou meilleures selon les scènes. Le dépôt contient la documentation de l'algorithme, le shader, des outils d'accélération et de bench, des exemples de fontes et est distribué sous licence Apache‑2.0 avec la police Lato incluse sous OFL.