---
title: "Wrapping Meshes With Geodesic Walks"
url: https://daily.dev/posts/wrapping-meshes-with-geodesic-walks-r3mjzk3i3
source_url: https://cprimozic.net/blog/wrapping-meshes-with-geodesic-walks/
type: article
source: "Casey Primozic"
published: 2026-03-31T12:30:17.181Z
updated: 2026-04-02T02:16:18.288Z
tags: ["rust", "threejs", "webassembly"]
reading_time: 13
upvotes: 0
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Wrapping Meshes With Geodesic Walks

**[Casey Primozic](https://daily.dev/sources/cprimozic)** · 13 min read · 0 upvotes · 0 comments

## Summary

A developer details how they built a system to wrap procedurally generated 2D path meshes around arbitrary 3D mesh surfaces using geodesic walking algorithms. The process involves: generating intricate 2D paths with AABB tree-based collision detection, tessellating them into triangles using the Rust lyon crate, mapping vertices onto a 3D mesh surface via geodesic walks (using the C++ geometry-central library), and extruding the result along vertex normals. To handle distortion from long geodesic walks, a graph traversal approach is used so walks start from nearby already-mapped vertices. The whole pipeline runs in the browser via two WebAssembly modules (one from Rust, one from C++) glued together with TypeScript, running in a web worker to avoid blocking the main thread, with final output fed into Three.JS BufferGeometry.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://cprimozic.net/blog/wrapping-meshes-with-geodesic-walks/>

---

Tags: [#rust](https://daily.dev/tags/rust), [#threejs](https://daily.dev/tags/threejs), [#webassembly](https://daily.dev/tags/webassembly)

[View this post on daily.dev](https://daily.dev/posts/wrapping-meshes-with-geodesic-walks-r3mjzk3i3)
