<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[JSCAD geometry engine project]]></title><description><![CDATA[<p dir="auto">Hey everyone. I was just added as a maintainer of JSCAD <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f44b.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--wave" title=":wave:" alt="👋" /></p>
<p dir="auto">I've recently been getting a bunch of commits in (with the help of <a class="plugin-mentions-user plugin-mentions-a" href="https://openjscad.nodebb.com/uid/1">@z3dev</a>, <a class="plugin-mentions-user plugin-mentions-a" href="https://openjscad.nodebb.com/uid/152">@hrgdavor</a>, and others) trying to make the geometry internals of JSCAD both rock solid, and super fast.</p>
<p dir="auto">Some recent improvements:</p>
<ul>
<li>100x speedup of <code>toOutlines</code> for large polys</li>
<li>150x speedup of <code>hullPath2</code> for large polys</li>
<li>2.6x speedup of <code>expandShell</code> for 3D expansions. Also produces cleaner output geometry.</li>
<li>300x speedup of <code>offsetFromPoints</code> for 2D expansions. Also cleaner output geometry.</li>
</ul>
<p dir="auto">Some bigger projects I'm working on:</p>
<ul>
<li>Earcut triangulation. Currently extrusions use <code>toPolygons</code> to turn non-convex geometries into convex polygons. But there are known bugs (#907). I believe this can be done faster, and produce air-tight geometry!</li>
<li>Fixes to offsetFromPoints. A user reported a bug in our offset code (#1017). Polygon offsetting is a hard problem in computational geometry. I think we can fix the user bug, but getting a fully general solution may not be easy.</li>
<li>Eliminate non-manifold geometry from the output of BSP trees. Still early in experiments, but I think it's possible to efficiently produce manifold geometry. This would be more robust to floating point errors (quantization would not break edges). And allow non-linear transforms (for example, bending an object #598).</li>
</ul>
<p dir="auto">I really like the JSCAD API. V2 was a beautiful upgrade. I want to make the engine implementing that API as fast and accurate as humanly possible.</p>
]]></description><link>https://openjscad.nodebb.com/topic/345/jscad-geometry-engine-project</link><generator>RSS for Node</generator><lastBuildDate>Fri, 06 Mar 2026 12:27:22 GMT</lastBuildDate><atom:link href="https://openjscad.nodebb.com/topic/345.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 03 Mar 2022 20:30:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to JSCAD geometry engine project on Fri, 04 Mar 2022 09:36:30 GMT]]></title><description><![CDATA[<p dir="auto">For those wondering, <a class="plugin-mentions-user plugin-mentions-a" href="https://openjscad.nodebb.com/uid/707">@platypii</a> is a new member of the development team. He’s already put together some super nice fixes. In addition, he never sleeps so things are moving along at light speed. <img src="https://openjscad.nodebb.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60e.png?v=k4h1pp0pk3c" class="not-responsive emoji emoji-android emoji--sunglasses" title="8)" alt="😎" /></p>
<p dir="auto">So, please let him know if there’s something missing from JSCAD.</p>
]]></description><link>https://openjscad.nodebb.com/post/1128</link><guid isPermaLink="true">https://openjscad.nodebb.com/post/1128</guid><dc:creator><![CDATA[z3dev]]></dc:creator><pubDate>Fri, 04 Mar 2022 09:36:30 GMT</pubDate></item></channel></rss>