Skip to content

ehtick/recast-navigation-js

 
 

Repository files navigation

recast-navigation-js

Recast Navigation for JavaScript!

A WebAssembly port of Recast Navigation, plus other goodies.

Warning This library is still in early development. Versions in the 0.x.x range may have breaking changes.

Features

Documentation

Documentation can be found at https://docs.recast-navigation-js.isaacmason.com.

Examples

Some demonstrations of how to use the library in different environments can be found in the examples directory.

There are also storybooks that demonstrate the library in action: https://recast-navigation-js.isaacmason.com. The source code for the storybooks can be found in ./packages/recast-navigation/.storybook/stories.

Packages

Functionality is spread across packages in the @recast-navigation/* organization, with the recast-navigation acting as an umbrella package.

You can choose between picking the scoped packages you need, or using the umbrella recast-navigation package, which provides additional entrypoints for specific frameworks and libraries.

All packages ship as ECMAScript modules, and are compatible with Node.js and browser environments.

Version

The umbrella package for recast-navigation.

> npm install recast-navigation

Version

The core library!

> npm install @recast-navigation/core

Version

Helpers for three.js.

> npm install @recast-navigation/three

Apps

A website for generating navmeshes for your game. Drag 'n' drop your GLTF, fine tune your settings, and download your navmesh!

(source)

Development

The repository is structured as a monorepo. You will find all published packages inside ./packages, reference examples in ./examples, and deployed applications in ./apps.

Before building, ensure you have the following installed:

  • Node 18
  • Python 3.10.5
  • Emsdk v3.1.44

To build the project, run the following:

> yarn install
> yarn build

Acknowledgements

About

A WebAssembly port of Recast Navigation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 71.5%
  • C++ 21.5%
  • JavaScript 2.9%
  • CMake 2.8%
  • Shell 0.5%
  • CSS 0.4%
  • Other 0.4%