Exact-arithmetic B-rep CAD kernel: topology decided in ℚ, never by floating-point epsilon
Project description
forge — the gitcad-native B-rep kernel
From-scratch, unencumbered (Apache-2.0), built to pass the bar OCCT sets and then raise it — the plan and the decision record live in gitcad (ADR-0018, coverage plan).
The three-oracle chain
forgekernel.ref Python + exact rational arithmetic — the executable
specification; topological decisions are EXACT, never
epsilon-guarded
⇅ differential
OCCT the 30-year-hardened independent oracle, driven from
the gitcad benchmark corpus through the Kernel seam
⇅ oracle
forge (Rust) the production port, added operator class by operator
class once ref has proven the semantics
How progress is measured
Not vibes: the benchmark trend
in the gitcad repo scores every backend on the shared corpus —
capability %, torture-case pass rate, correctness deltas, wall time.
Day-one baseline: OCCT scores 93.8%, failing swept_channel
(sharp-cornered sweep → invalid geometry). Beating that number with
exact arithmetic is the first milestone.
Roadmap (gates, not dates)
- K1 exact planar core: rational linear algebra, plane-based polyhedral B-rep, epsilon-free booleans, divergence-theorem mass properties, native lineage. Gate: planar corpus green vs OCCT.
- K2 quadrics + torus with closed-form intersectors — most of real mech. Gate: ≥80% corpus green.
- K3 NURBS + branch-complete surface–surface intersection (the crown jewel). K4 procedural offsets/shell. K5 G2 blends. K6 the surfacing suite — the SolidWorks-class end goal.
Layout
src/forgekernel/— the Python reference kernel (ref)rust/— the forge port (arrives with K1 stability)- gitcad consumes both through its
Kernelseam; nothing here depends on gitcad
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file forgekernel-0.1.0.tar.gz.
File metadata
- Download URL: forgekernel-0.1.0.tar.gz
- Upload date:
- Size: 93.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fdb2f626e74a813756edb09ae2f5eec9b538ab86cc0341b7f7bbfeefe275f92
|
|
| MD5 |
d068e79d972c84b7cadfe4ffe9c2658f
|
|
| BLAKE2b-256 |
a40d3be508dce688d72cf8639f8a88d36bd33e34b4b73f1da6b25e267187a612
|
Provenance
The following attestation bundles were made for forgekernel-0.1.0.tar.gz:
Publisher:
release.yml on gitcad-xyz/forge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
forgekernel-0.1.0.tar.gz -
Subject digest:
3fdb2f626e74a813756edb09ae2f5eec9b538ab86cc0341b7f7bbfeefe275f92 - Sigstore transparency entry: 2234149176
- Sigstore integration time:
-
Permalink:
gitcad-xyz/forge@73b38f728e12efded31908ddcc81b8f83170f5da -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/gitcad-xyz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@73b38f728e12efded31908ddcc81b8f83170f5da -
Trigger Event:
push
-
Statement type:
File details
Details for the file forgekernel-0.1.0-py3-none-any.whl.
File metadata
- Download URL: forgekernel-0.1.0-py3-none-any.whl
- Upload date:
- Size: 77.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d45dc0481f09c4d65f8914d906eca97920a1f8c9a44b481474d264602c64fa78
|
|
| MD5 |
08e61cc8be9aac70cfeb51ae7ebd9828
|
|
| BLAKE2b-256 |
e9a0a47df309af6f67dab3d90746e0c3ca31093533448cb7918b2d1556aa4df3
|
Provenance
The following attestation bundles were made for forgekernel-0.1.0-py3-none-any.whl:
Publisher:
release.yml on gitcad-xyz/forge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
forgekernel-0.1.0-py3-none-any.whl -
Subject digest:
d45dc0481f09c4d65f8914d906eca97920a1f8c9a44b481474d264602c64fa78 - Sigstore transparency entry: 2234150115
- Sigstore integration time:
-
Permalink:
gitcad-xyz/forge@73b38f728e12efded31908ddcc81b8f83170f5da -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/gitcad-xyz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@73b38f728e12efded31908ddcc81b8f83170f5da -
Trigger Event:
push
-
Statement type: