HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
elalish
manifold
C++2022–2026
elalish / manifold

manifold

Geometry library for topological robustness

15Distinct people
31Mentions
2Explicit recommenders
2.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Geometry library for topological robustness

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Text to CAD doesn't need papers. You can literally just try it and see that it works well with the frontier models. If you want reification/meshing I recommend [1] which is…

avaer used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year31 dated mentions

Observed mentions: 2022-11-12 15:49:51 UTC to 2026-08-14 16:43:22 UTC.

02468102022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 9 mentions; 2 submissions, 7 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC927
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC606
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC523
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC1019

What Hacker News says

31 sources
adius·Aug 14, 2026Submission

Show HN: LuaCAD – Parametric CAD Scripted in Lua

LuaCAD models solids in Lua rather than the OpenSCAD language, with operator overloading for CSG (`a + b`, `a - b`, `a * b`). It ships with a CLI and a desktop app, including a preview area and a text editor. I've always been a big fan of OpenSCAD, but the SCAD language itself is unfortunately quite cobbled-together and is a very poorly designed programming language. LuaCAD takes all the good parts of OpenSCAD and combines them with one of the best scripting languages. It has now completely replaced OpenSCAD for me, and I think it provides a better experience than OpenSCAD for all use cases. I'd love to hear any reasons why LuaCAD shouldn't fully replace OpenSCAD! It’s fully open source and you can find the repo here: https://github.com/ad-si/LuaCAD Tech stack: - It's implemented in Rust and uses mlua (https://github.com/mlua-rs/mlua) to
Read the rest
execute the Lua code. - Uses OpenCSG (https://opencsg.org) for fast and correct rendering of the 3D models (like OpenSCAD) - Uses Manifold (https://github.com/elalish/manifold) to create the manifold triangle meshes - Native support for all BOSL2 functions (i.e. implemented in Rust for better performance)
106 points · Open discussion
The difference is that my Manifold library uses a different definition of what constitutes a manifold mesh: https://github.com/elalish/manifold/wiki/Manifold-Library#ma.... By being a purely topological definition, there is no implicit assumption that vertices with the same coordinates are connected. As such we can still generate a 2-manifold even in the "impossible" cases. The more important difference though, is that our library can still handle epsilon-valid self-intersecting meshes, rather than just reporting an error. This is critical in practice because meshes are stored, transported, and transformed in floating-point, so even the formally-proven non-self-intersecting results of the library under discussion will not necessarily be valid input for it anymore after a round-trip through a file format or a rotation. Still, these are det
Read the rest
ails. I think the real contribution here is demonstrating a new approach to formally verifying software even for notoriously difficult problems. I believe that concept is really important, as the general state of software reliability tells me that the state of the art in testing software is desperately lacking. I think formal verification may well be one of the most important aspects of computer science research in the nearish term.
In Show HN: Formally verified 3D CSG: Trust 93 lines spec, not 1000 lines AI code
avaer·Jun 9, 2026Recommendation phrase
Text to CAD doesn't need papers. You can literally just try it and see that it works well with the frontier models. If you want reification/meshing I recommend [1] which is what Godot uses. You can throw the results in a physics engine in an afternoon and see for yourself. This wasn't obvious a year ago, but today CAD literally reduces to Simon Wilson's pelican test, since CAD is largely a matter of functional CSG, and CSG is really not that different from SVG. It's just one more dimension, which it turns out is not a problem. LLMs consistently one-shot CSG based video game levels with interesting physics puzzles (citing myself). Given this I'm willing to conclude that the frontier models are good at automated CAD if given the correct harness. But I guess a lot of people don't know this yet. [1] https://github.com/elalish/manifold
In Unified Controllable and Faithful Text-to-CAD Generation with LLMs
Thank you! The CAD kernel is written by me apart from the boolean solver for the meshes which is the superb https://github.com/elalish/manifold To explain a bit more as "do your own kernel" is usually considered more mad than mad-science - this is not done on a whim. I spent over a decade doing CAD at Trimble, developing base tech and CAD offerings (including Tekla Structures and SketchUp). Happy to discuss the architecture more. OpenCASCADE is included as part of STEP importer though. Solvespace is a nice reference! One can already use it as prestep to modeling - just export the output as STL or SVG and import it :).
In Show HN: AdaShape-3D modeler for intuitive 3D printing parts / Windows 11
As part of my donated work in Godot Engine, my approach is to improve manifold https://github.com/elalish/manifold to get a "geometric kernel" I think I've succeeded and many CAD tools use manifold for geometric kernels on 3d boundary meshes. I was able to get Godot Engine and Blender to adopt elalish/manifold. List of CAD tools that adopted elalish/manifold. OpenSCAD Blender IFCjs Nomad Sculpt Grid.Space badcad Godot Engine OCADml Flitter BRL-CAD PolygonJS Spherene Babylon.js trimesh Gypsum Valence 3D bitbybit.dev PythonOpenSCAD Conversation AnchorSCAD Dactyl Web Configurator Arcol Bento3D SKÅPA Cadova BREP.io Otterplans Bracket Engineer
In FreeCAD
It's using a constructive solid geometry system. You can add and subtract volumes. Making a hole is subtracting a volume. This has classically been numeric roundoff hell, where points that should coincide and surfaces which should touch don't get handled properly due to numerical error. The geometry engine is Manifold, which guarantees watertight meshes from boolean operations. Ah. That's what's doing the constructive solid geometry. Here's the 2009 PhD thesis behind the object merge and difference algorithms inside Manifold. Nice. At last, soundness. This is a long-standing problem. And now there's an open source implementation. Manifold itself is in C++, not Rust, though. None of this is parametric. That's a different problem. That's where you put in constraints such as A is perpendicular to B, B is 100mm from C, etc., and the constrai
Read the rest
nt solver tries to satisfy all the constraints. Change a dimension and everything adjusts to preserve the constraints. Parametric CAD is all about constraint solving and expressing conflicts to the user. Autodesk Inventor, Fusion, etc. have good constraint solvers. [1] https://github.com/elalish/manifold/blob/master/docs/RobustB...
In Parametric CAD in Rust
I am curious how the last algorithm is an order of magnitude faster than the one based on sorting. There is no benchmark data, and ideally there should be data for different mesh sizes, as that affects the timing a lot (cache vs RAM). I work on https://github.com/elalish/manifold which works with triangular meshes, and one of the slowest operations we currently have is halfedge pairing, I am interested in making it faster. We are already using parallel merge sort for the stable sort, switching to parallel radix sort which works well on random distribution is not helping and I think we are currently bandwidth bound. If building an edge list for each vertex can improve cache locality and reduce bandwidth, that will be very interesting.
In Mesh Edge Construction

Showing the 15 most recent of 31 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.