SOLIDCORE / GEOMETRY KERNEL

A geometry kernel
written in Rust.

SolidCore is a Rust port of SMLib, an open-source C++ geometry library released by NVIDIA. It is being developed for use in SolidCraft.

The parts of a boundary representationA solid drawn in perspective. Its surface is a face, where two faces meet is an edge, and where edges meet is a vertex.FACEEDGEVERTEX
B-rep · Connected faces, edges, and vertices describe a solid’s boundary. Explanatory illustration.

BOUNDARY REPRESENTATION (B-REP)

How SolidCore
represents a solid.

A boundary representation describes a solid through its shells, faces, loops, edges, and vertices. Geometry defines their shapes; topology defines how they connect.

The editor converts this geometry into a mesh of triangles for display. The mesh is the on-screen representation; the B-rep stores the underlying geometry and connections.

SolidCore’s scope covers the geometry and operation layers: NURBS math, curves, surfaces, topology, intersections, and the foundations for modeling operations.

DEVELOPMENT STATUS

Still in development.

SolidCore’s components are being ported and tested against the original C++ code. Complete modeling operations and integration into the editor are still in development.

What works so far?

The reviewed source includes math, NURBS, and curve components, with surfaces and topology under way. Complete operations such as creating primitives, booleans, and fillets are not ready yet.

SolidCraft v0.12.0 uses Truck at its geometry-kernel boundary.

Read the source status

PORT STATUS AND TEST RESULTS

Browse the port
and its test results.

View progress dashboard
01 / UNITS

Unit status.

See which units are verified, partially ported, claimed, blocked, or unstarted.

Browse units →
02 / COMPARISON

Rust vs. C++ tests.

Compare results from the Rust port and original C++ code.

Read the overview →
03 / UPSTREAM

Upstream bugs.

Read bugs found in the original C++ code during porting.

Browse upstream issues →
04 / INTERSECTIONS

Intersection tests.

See how Rust and C++ handle the surface-intersection test cases.

View intersection tests →
License & attribution.
SolidCore is licensed under Apache-2.0 and includes notices for the original SMLib code. It is an independent project, not affiliated with or endorsed by NVIDIA. Read the attribution.

DOWNLOAD

Get SolidCraft.

Install the desktop app or use it in your browser.