{"id":16132136,"url":"https://github.com/treer/gdextension_delaunator","last_synced_at":"2025-10-18T19:35:26.037Z","repository":{"id":42717498,"uuid":"474549743","full_name":"Treer/GDExtension_Delaunator","owner":"Treer","description":"Delaunator C++ as a Godot 4 extension (fast Delaunay triangulation, and Voronoi)","archived":false,"fork":false,"pushed_at":"2025-01-06T01:29:40.000Z","size":47,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-08T17:42:52.094Z","etag":null,"topics":["delaunator","delaunay-triangulation","gdextension","gdnative","godot","native","voronoi"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Treer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-27T06:02:58.000Z","updated_at":"2025-01-11T16:03:03.000Z","dependencies_parsed_at":"2024-10-27T18:20:40.506Z","dependency_job_id":"6e328304-647d-4a10-b645-a1f3a0d419be","html_url":"https://github.com/Treer/GDExtension_Delaunator","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Treer%2FGDExtension_Delaunator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Treer%2FGDExtension_Delaunator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Treer%2FGDExtension_Delaunator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Treer%2FGDExtension_Delaunator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Treer","download_url":"https://codeload.github.com/Treer/GDExtension_Delaunator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243933431,"owners_count":20370986,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["delaunator","delaunay-triangulation","gdextension","gdnative","godot","native","voronoi"],"created_at":"2024-10-09T22:29:09.540Z","updated_at":"2025-10-18T19:35:25.973Z","avatar_url":"https://github.com/Treer.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) ![example workflow](https://github.com/Treer/GDExtension_Delaunator/actions/workflows/build.yml/badge.svg)\n# [Discontinued] Delaunator GDExtension for Godot 4\n\nA fast library for Delaunay triangulation. It's currently managing 100,000 points in ~50ms on a 2015 processor (i7-6700).\n\nThis GDExtension is in alpha and I've switched to a C# implementation, **so this might not get updated**. It was probably a bit soon to try working with a GDExtension.\n\nSee [Delaunator guide](https://mapbox.github.io/delaunator/) (how to get Voronoi polygons etc.) and [API reference](https://github.com/mapbox/delaunator#api-reference) for interim details, as documentation here is a work in progress\n\n## Installation\nDownload `delaunator_gdextension.zip` from [the latest Release page](https://github.com/Treer/GDExtension_Delaunator/releases/latest) and copy the `delaunator_gdextension` folder from inside the zip file into your project's `addons` folder.\n\nIt supports Windows and Linux.\n\n## Example GDScript\n```gdscript\nvar delaunator = Delaunator.new();\n\nvar points = [Vector2(1,1), Vector2(10, 0), Vector2(5, 1), Vector2(1, 5)];\ndelaunator.from(PackedVector2Array(points));\n    \nprints(\"Delaunator triangles:\", delaunator.triangles)\nprints(\"           half edges:\", delaunator.halfedges)\nprints(\"           hull:\", delaunator.hull)\nprints(\"           hull area:\", delaunator.hull_area)\n\npoints = [Vector2(-1,1), Vector2(1, 1), Vector2(1, -1), Vector2(-1, -1)];\ndelaunator.from(PackedVector2Array(points));\n\nprints(\"Delaunator triangles:\", delaunator.triangles)\nprints(\"           half edges:\", delaunator.halfedges)\nprints(\"           hull:\", delaunator.hull)\nprints(\"           hull area:\", delaunator.hull_area)\n```\n\nNote that currently the array is copied back into Godot every time a property is accessed, so take a GDScript copy of it rather than accessing the property more than once.\n\n## Suggested work remaining\nAny help appreciated\n\n* [x] Github actions, so nobody needs to setup a build environment to use this\n* [ ] C# bindings\n* [ ] Optimization (lots of low-hanging memory gains if delaunator_cpp is switched to operating on Godot types directly)\n* [ ] Godot example project \u0026 documentation\n\n## Troubleshooting\n* Godot crashes or closes when using this GDExtenion:\n    * Godot 4's native interface isn't finalized/stable yet so the delaunator binaries might only work with a version of Godot 4 compiled around the same time this project's godot-cpp submodule was last updated. [Older releases](https://github.com/Treer/GDExtension_Delaunator/releases) are available, as are older releases of Godot, but better to just wait until everything is stable.\n    * Memory related bugs in this [alpha] project are possible too, in which case limiting which calls are being made might narrow the bug down.\n\n## Acknowledgements\n* Volodymyr Bilonenko, [ported Delaunator to C++](https://github.com/delfrrr/delaunator-cpp) (MIT)\n* Andrew Bell, [worked on Delaunator C++](https://github.com/abellgithub/delaunator-cpp)\n* Unknown, [GDExtension Project Creator](https://github.com/nonunknown/gdextension-creator) (MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftreer%2Fgdextension_delaunator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftreer%2Fgdextension_delaunator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftreer%2Fgdextension_delaunator/lists"}