Skip to main content

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 Kernel seam; 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

forgekernel-0.1.0.tar.gz (93.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

forgekernel-0.1.0-py3-none-any.whl (77.1 kB view details)

Uploaded Python 3

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

Hashes for forgekernel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3fdb2f626e74a813756edb09ae2f5eec9b538ab86cc0341b7f7bbfeefe275f92
MD5 d068e79d972c84b7cadfe4ffe9c2658f
BLAKE2b-256 a40d3be508dce688d72cf8639f8a88d36bd33e34b4b73f1da6b25e267187a612

See more details on using hashes here.

Provenance

The following attestation bundles were made for forgekernel-0.1.0.tar.gz:

Publisher: release.yml on gitcad-xyz/forge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for forgekernel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d45dc0481f09c4d65f8914d906eca97920a1f8c9a44b481474d264602c64fa78
MD5 08e61cc8be9aac70cfeb51ae7ebd9828
BLAKE2b-256 e9a0a47df309af6f67dab3d90746e0c3ca31093533448cb7918b2d1556aa4df3

See more details on using hashes here.

Provenance

The following attestation bundles were made for forgekernel-0.1.0-py3-none-any.whl:

Publisher: release.yml on gitcad-xyz/forge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page