[!NOTE]
This is one of 217 standalone projects. LLM-free, human-made and cared for software, maintained as part of the @thi.ng/umbrella ecosystem and anti-framework.
🚀 Please help me to work full-time on these projects by sponsoring me. Thank you! ❤️
Mesh data structures with support for incremental construction, spatial indexing, conversion/serialization for thi.ng/webgl.
Note: The current IndexedMesh implementation should be considered an
interim solution until the update of the full implementation of the Radial-Edge
Mesh datastructure is complete.
Like IndexedMesh, the latter will also support:
- user-defined attributes for points, vertices, edges, faces
- WebGL conversion
Additionally:
- comprehensive mesh navigation from any entity
- mesh editing ops (e.g. split/join vertices/edges/faces)
- subdivision schemes
ALPHA - bleeding edge / work-in-progress
Search or submit any issues for this package
yarn add @thi.ng/geom-meshESM import:
import * as gm from "@thi.ng/geom-mesh";Browser ESM import:
<script type="module" src="https://esm.run/@thi.ng/geom-mesh"></script>For Node.js REPL:
const gm = await import("@thi.ng/geom-mesh");Package sizes (brotli'd, pre-treeshake): ESM: 1.72 KB
- @thi.ng/api
- @thi.ng/binary
- @thi.ng/checks
- @thi.ng/errors
- @thi.ng/geom-accel
- @thi.ng/vectors
- @thi.ng/webgl
Note: @thi.ng/api is in most cases a type-only import (not used at runtime)
One project in this repo's /examples directory is using this package:
| Screenshot | Description | Live demo | Source |
|---|---|---|---|
![]() |
Basic thi.ng/geom-mesh creation and conversion from OBJ import | Demo | Source |
TODO
If this project contributes to an academic publication, please cite it as:
@misc{thing-geom-mesh,
title = "@thi.ng/geom-mesh",
author = "Karsten Schmidt",
note = "https://thi.ng/geom-mesh",
year = 2023
}© 2023 - 2026 Karsten Schmidt // Apache License 2.0
