@elarsaks/umap-wasm 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,6 +14,20 @@ npm install umap-wasm
14
14
  yarn add umap-wasm
15
15
  ```
16
16
 
17
+ ### Make the WASM artifacts available in the browser
18
+
19
+ For browser builds the loader expects the compiled WASM bundle at `/wasm/pkg/web/umap_wasm_core.js` (and the accompanying `.wasm` binary) to be served as static assets. If your bundler does not automatically copy files from `node_modules`, add a `postinstall` script that copies only the web build into your public/static directory:
20
+
21
+ ```json
22
+ {
23
+ "scripts": {
24
+ "postinstall": "mkdir -p public/wasm/pkg/web && cp -r node_modules/@elarsaks/umap-wasm/wasm/pkg/web/* public/wasm/pkg/web/"
25
+ }
26
+ }
27
+ ```
28
+
29
+ Adjust the destination (`public/wasm/pkg`) to match your framework's static assets folder (e.g., `static/` for SvelteKit, `public/` for Vite/Next). Node.js-only usage does not need this step.
30
+
17
31
  ## 🚀 Usage
18
32
 
19
33
  ### Basic Usage (Synchronous)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elarsaks/umap-wasm",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "JavaScript implementation of UMAP",
5
5
  "author": {
6
6
  "name": "Elar Saks",
@@ -218,15 +218,11 @@ export function optimize_layout_batch(state: OptimizerState, rng_seed: bigint, n
218
218
 
219
219
  /**
220
220
  * Perform a single optimization step for UMAP layout.
221
- *
222
- * This function executes one epoch of the stochastic gradient descent algorithm
223
- * used to optimize the low-dimensional embedding. It processes attractive forces
224
- * between known neighbors and repulsive forces from negative samples.
225
- *
221
+ *
226
222
  * # Arguments
227
223
  * * `state` - Mutable reference to the optimizer state
228
224
  * * `rng_seed` - Seed for random number generation (will be updated internally)
229
- *
225
+ *
230
226
  * # Returns
231
227
  * The updated embedding as a flat vector
232
228
  */
@@ -301,7 +301,7 @@ class OptimizerState {
301
301
  * @returns {number}
302
302
  */
303
303
  get n_epochs() {
304
- const ret = wasm.optimizerstate_n_epochs(this.__wbg_ptr);
304
+ const ret = wasm.flattree_dim(this.__wbg_ptr);
305
305
  return ret >>> 0;
306
306
  }
307
307
  }
@@ -661,10 +661,6 @@ exports.optimize_layout_batch = optimize_layout_batch;
661
661
  /**
662
662
  * Perform a single optimization step for UMAP layout.
663
663
  *
664
- * This function executes one epoch of the stochastic gradient descent algorithm
665
- * used to optimize the low-dimensional embedding. It processes attractive forces
666
- * between known neighbors and repulsive forces from negative samples.
667
- *
668
664
  * # Arguments
669
665
  * * `state` - Mutable reference to the optimizer state
670
666
  * * `rng_seed` - Seed for random number generation (will be updated internally)
@@ -18,7 +18,6 @@ export const optimize_layout_batch: (a: number, b: bigint, c: number) => [number
18
18
  export const optimize_layout_step: (a: number, b: bigint) => [number, number];
19
19
  export const optimizerstate_current_epoch: (a: number) => number;
20
20
  export const optimizerstate_head_embedding: (a: number) => [number, number];
21
- export const optimizerstate_n_epochs: (a: number) => number;
22
21
  export const optimizerstate_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number) => number;
23
22
  export const search_flat_tree: (a: number, b: number, c: number, d: bigint) => [number, number];
24
23
  export const sparse_add: (a: number, b: number) => number;
@@ -45,6 +44,7 @@ export const wasmsparsematrix_new: (a: number, b: number, c: number, d: number,
45
44
  export const wasmsparsematrix_nnz: (a: number) => number;
46
45
  export const wasmsparsematrix_set: (a: number, b: number, c: number, d: number) => [number, number];
47
46
  export const wasmsparsematrix_to_array: (a: number) => any;
47
+ export const optimizerstate_n_epochs: (a: number) => number;
48
48
  export const __wbindgen_externrefs: WebAssembly.Table;
49
49
  export const __wbindgen_malloc: (a: number, b: number) => number;
50
50
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
@@ -218,15 +218,11 @@ export function optimize_layout_batch(state: OptimizerState, rng_seed: bigint, n
218
218
 
219
219
  /**
220
220
  * Perform a single optimization step for UMAP layout.
221
- *
222
- * This function executes one epoch of the stochastic gradient descent algorithm
223
- * used to optimize the low-dimensional embedding. It processes attractive forces
224
- * between known neighbors and repulsive forces from negative samples.
225
- *
221
+ *
226
222
  * # Arguments
227
223
  * * `state` - Mutable reference to the optimizer state
228
224
  * * `rng_seed` - Seed for random number generation (will be updated internally)
229
- *
225
+ *
230
226
  * # Returns
231
227
  * The updated embedding as a flat vector
232
228
  */
@@ -323,7 +319,6 @@ export interface InitOutput {
323
319
  readonly optimize_layout_step: (a: number, b: bigint) => [number, number];
324
320
  readonly optimizerstate_current_epoch: (a: number) => number;
325
321
  readonly optimizerstate_head_embedding: (a: number) => [number, number];
326
- readonly optimizerstate_n_epochs: (a: number) => number;
327
322
  readonly optimizerstate_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number) => number;
328
323
  readonly search_flat_tree: (a: number, b: number, c: number, d: bigint) => [number, number];
329
324
  readonly sparse_add: (a: number, b: number) => number;
@@ -350,6 +345,7 @@ export interface InitOutput {
350
345
  readonly wasmsparsematrix_nnz: (a: number) => number;
351
346
  readonly wasmsparsematrix_set: (a: number, b: number, c: number, d: number) => [number, number];
352
347
  readonly wasmsparsematrix_to_array: (a: number) => any;
348
+ readonly optimizerstate_n_epochs: (a: number) => number;
353
349
  readonly __wbindgen_externrefs: WebAssembly.Table;
354
350
  readonly __wbindgen_malloc: (a: number, b: number) => number;
355
351
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
@@ -306,7 +306,7 @@ export class OptimizerState {
306
306
  * @returns {number}
307
307
  */
308
308
  get n_epochs() {
309
- const ret = wasm.optimizerstate_n_epochs(this.__wbg_ptr);
309
+ const ret = wasm.flattree_dim(this.__wbg_ptr);
310
310
  return ret >>> 0;
311
311
  }
312
312
  }
@@ -659,10 +659,6 @@ export function optimize_layout_batch(state, rng_seed, n_steps) {
659
659
  /**
660
660
  * Perform a single optimization step for UMAP layout.
661
661
  *
662
- * This function executes one epoch of the stochastic gradient descent algorithm
663
- * used to optimize the low-dimensional embedding. It processes attractive forces
664
- * between known neighbors and repulsive forces from negative samples.
665
- *
666
662
  * # Arguments
667
663
  * * `state` - Mutable reference to the optimizer state
668
664
  * * `rng_seed` - Seed for random number generation (will be updated internally)
Binary file
@@ -18,7 +18,6 @@ export const optimize_layout_batch: (a: number, b: bigint, c: number) => [number
18
18
  export const optimize_layout_step: (a: number, b: bigint) => [number, number];
19
19
  export const optimizerstate_current_epoch: (a: number) => number;
20
20
  export const optimizerstate_head_embedding: (a: number) => [number, number];
21
- export const optimizerstate_n_epochs: (a: number) => number;
22
21
  export const optimizerstate_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number) => number;
23
22
  export const search_flat_tree: (a: number, b: number, c: number, d: bigint) => [number, number];
24
23
  export const sparse_add: (a: number, b: number) => number;
@@ -45,6 +44,7 @@ export const wasmsparsematrix_new: (a: number, b: number, c: number, d: number,
45
44
  export const wasmsparsematrix_nnz: (a: number) => number;
46
45
  export const wasmsparsematrix_set: (a: number, b: number, c: number, d: number) => [number, number];
47
46
  export const wasmsparsematrix_to_array: (a: number) => any;
47
+ export const optimizerstate_n_epochs: (a: number) => number;
48
48
  export const __wbindgen_externrefs: WebAssembly.Table;
49
49
  export const __wbindgen_malloc: (a: number, b: number) => number;
50
50
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;