🕸️

topokernel Topological Modelling in Mojo

A pure-Mojo topology library inspired by Topologic — hierarchical, non-manifold modelling for architectural and spatial workflows. Reimplements the topology layer without dragging in OpenCASCADE; geometry comes from geokernel.

📐 geokernel Coming Soon

Why It Exists

Topologic is a powerful C++ library for non-manifold topology — vertices, edges, faces, cells, and the relationships between them — that has become the open-source standard for parametric architectural modelling. The catch: it depends on OpenCASCADE, a massive CAD kernel that turns Topologic into a heavyweight, hard-to-build dependency.

topokernel takes the topology layer and reimplements it in Mojo on top of geokernel — no OpenCASCADE, no archaeology. Same conceptual model, lighter footprint, and a codebase you can actually read.

What's in the Layer

📊

Topology Hierarchy

Vertex · Edge · Wire · Face · Shell · Cell · CellComplex · Cluster — the same hierarchy Topologic exposes, with full non-manifold support.

🔗

Adjacency & Queries

Walk neighbours, find shared boundaries, classify connectivity. The graph operations that make topology useful for spatial analysis and BIM.

🏷️

Attributes & Tags

Attach typed properties to any topological element — material, layer, IFC class, custom keys. Survives boolean operations and graph traversal.

🪶

Lightweight

No OpenCASCADE, no Python wrappers, no per-platform builds. One Mojo dependency (geokernel) for geometry, and that's it.

Architecture

Topology layertopokernel — hierarchy, adjacency, queries, graphs, attributes, non-manifold support
Geometry layergeokernel — primitives, curves, surfaces, intersections, booleans, meshing
LanguageMojo (pure)
Inspired byTopologic (C++/OpenCASCADE)

Want a heads-up at release?

topokernel is in active development. Public release will be announced via the ModelTok newsletter.