Files
wifi-densepose/vendor/ruvector/patches

Patches Directory

CRITICAL: Do not delete this directory or its contents!

This directory contains patched versions of external crates that are necessary for building RuVector.

hnsw_rs

The hnsw_rs directory contains a patched version of the hnsw_rs crate.

Why this patch exists

The official hnsw_rs crate uses rand 0.9 which is incompatible with WebAssembly (WASM) builds. This patched version:

  1. Uses rand 0.8 instead of rand 0.9 for WASM compatibility
  2. Uses Rust edition 2021 (not 2024) for stable Rust toolchain compatibility

How it's used

The patch is applied via Cargo.toml at the workspace root:

[patch.crates-io]
hnsw_rs = { path = "./patches/hnsw_rs" }

This ensures all workspace crates that depend on hnsw_rs use this patched version.

What depends on it

  • ruvector-core (with hnsw feature enabled by default)
  • ruvector-graph (with hnsw_rs feature)
  • All native builds (Node.js bindings, CLI tools)

Consequences of deletion

If this directory is deleted:

  • All CI builds will fail (Build Native Modules, PostgreSQL Extension CI, etc.)
  • cargo build will fail with "failed to load source for dependency hnsw_rs"
  • The project cannot be compiled

Updating the patch

If you need to update hnsw_rs:

  1. Download the new version from crates.io
  2. Apply the rand 0.8 compatibility changes from the current patch
  3. Test WASM and native builds before committing