Remix.run Logo
▲ Show HN: Popkern – open-source CAD kernel with G2 corner blends, browser IDE(popkern.dev)
9 points by geedy 8 hours ago | 3 comments
▲YuechenLi 7 hours ago | parent | next [-]

Wow, I'm glad I'm not the only person insane enough to make a geometric modeling kernel solo with LLMs. Did a quick review of the architecture, it's probably the strongest conventional kernel that's currently open source, much more advanced than Truck or SolidCore/SMLib currently.

(I'd like to think my own kernel is little bit ahead of you architecturally though.)

How's the Boolean and fillet/chamfer robustness currently in Popkern?

Also, would you like to collaborate and compare notes? It's a lot of work trying to maintain something like this solo.

https://github.com/yuechen-li-dev/Aetheris

▲geedy 5 hours ago | parent [-]

Hey! Nice to meet you.

I checked out Aetheris a while back. Congrats! These projects are tough to keep slogging on with.

To be fair, solidcore/SMLib are more mature in some ways than popkern. SMLib uses non-manifold topology for booleans, which popkern is actively working on now, and it has years of real-world use behind it, a level of hardening popkern is still working towards. solidcore builds on that as a Rust port.

On robustness, booleans, fillets, and chamfers are general in popkern, and they work well on a lot of parts, but there are known weak spots. Dense hole arrangements, near-tangent curved contacts, and fillets running into other fillets at awkward corners can still fail. My real-part test corpus is smaller than I'd like too. There are 40+ years of publications to reimplement, and that's a big part of how I'm closing the gaps.

Definitely open to collaborating. Your AP242/PMI and import-qualification work is well ahead of mine, and a shared corpus of hard parts we both run could be useful for both of us. My project socials are on popkern.dev, feel free to reach out!

▲geedy 8 hours ago | parent | prev [-]

Hi HN, I'm Graeme. popkern is a free, open-source parametric BRep CAD kernel in Rust. You can try it in your browser here, no install: https://popkern.dev/live/ (I recommend checking out the six-axis robot arm example near the end of the examples list, it's 57 parts and ~1,200 features, all built from script). popkern is currently released under AGPL-3.0, with an exception so your scripts, models, and STEP files remain entirely yours.

The thing I'm proudest of: where several fillets of different radii meet at a corner, most kernels leave a curvature break you can see in reflections. popkern fills those corners with a certified G2 (curvature-continuous) patch, so zebra stripes flow through unbroken: https://popkern.dev/assets/img/zebra-corner.png

Other bits that might be interesting:

- Parts are short Rhai scripts. Bigger parts are folders of numbered "migration" scripts, like database migrations, so models are git-friendly and you can scrub through their history. A later step can reach back and modify an earlier feature.

- The model viewer in popkern live allows you to see into the model via a section view.

- All supported: booleans, fillets/chamfers, sweeps, revolves, lofts, shelling, constrained sketches, STEP in/out, and MCP for direct agent usage.

- When an operation can't produce a valid solid, it refuses and tells you why instead of returning something broken.

How it's built: the code is written by AI agents working from published CAGD research, under my direction. I spend a lot of my time reviewing research to identify solutions that close gaps. Every change must pass thousands of tests plus the kernel's own validity checks, and results are cross-checked against OpenCASCADE wherever the two are comparable. Happy to go deep on how that works.

What's missing: a lot, it's early. Booleans fail many tricky cases, and non-manifold topology is being built out right now. Similarly, the breadth of fillet support will grow over time, and there is much to improve with regards to surface healing. Fuzz testing for all three of these areas will be tackled soon and help harden popkern a great deal.

I hope people find it useful even this early, and I’d love to hear what breaks. Happy to answer questions.