Merged
Conversation
- Added support for building JavaScript bindings through Emscripten. - Introduced `WITH_JS_BINDINGS` option in CMake for enabling/disabling JS bindings. - Updated `conanfile.py` to include new options, dependencies, and packaging logic for `UvulaJS`. - Integrated `UvulaJS` bindings for import/export with TypeScript support. - Modified GitHub actions to support WebAssembly (`platform_wasm`) and npm package workflows. NP-1250
casperlamboo
requested changes
Dec 15, 2025
Contributor
casperlamboo
left a comment
There was a problem hiding this comment.
For both the unwrapTyped and projectTyped function I have two similar remarks. They both return a emscripten::val which is untyped when integrated in a host platform. This seems counter to the comments around. Additionally I see you use std::vector<T> as arguments. Using cpp vectors in typescript is hella annoying. In neoprep we've often opted to just accept javascript lists and perform the conversion in cpp.
- Replaced custom structures with standardized TypeScript-like types (Float32Array, Uint32Array, Int32Array). - Refactored wrappers and return types to improve type safety in TypeScript. - Enhanced `project` and `unwrap` methods with new structured return types. - Updated Emscripten bindings to support TypeScript-friendly structures and arrays. NP-1250
…aJS` directory NP-1250
- Introduced `PolygonArray` class to wrap arrays for improved TypeScript typing. - Replaced `std::vector` with `Float32Array` and `PolygonArray` in key data structures. - Enhanced `unwrap` and `project` methods to utilize TypeScript-friendly return types. - Updated Emscripten bindings to register `PolygonArray` and support structured data types. NP-1250
…llocation - Disabled multithreading for Emscripten/WASM builds. - Simplified `TaskGroup` allocation logic. NP-1250
casperlamboo
approved these changes
Dec 19, 2025
casperlamboo
reviewed
Jan 9, 2026
Contributor
casperlamboo
left a comment
There was a problem hiding this comment.
Was working with libUvula bindings and found these remarks
NP-1237
…g-II' into NP-1250-create-emscripten-binding-II
…g-II Simplify bindings
…g-III Create emscripten bindings
…NP-1250-create-emscripten-binding
NP-1250
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
NP-1250