Skip to content

Conversation

@grzanka
Copy link
Contributor

@grzanka grzanka commented May 24, 2025

This pull request includes significant changes related to the removal of WebAssembly support, updates to documentation, and cleanup of unused files. The most important changes include the removal of WebAssembly workflows and scripts, the addition of a new README for JavaScript bindings, and the migration of WebAssembly-related content to a new repository.

WebAssembly Removal:

Documentation Updates:

@grzanka grzanka self-assigned this May 24, 2025
@grzanka grzanka requested a review from Copilot May 24, 2025 10:29
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Enhance the WebAssembly compilation script to produce a modularized JavaScript output with additional runtime exports, memory growth support, and optimized settings.

  • Switched output from HTML to JS and added more HEAP export methods
  • Enabled MODULARIZE, custom export name, and memory growth
  • Set environment to web and applied -O3 optimization
Comments suppressed due to low confidence (2)

distributions/JavaScript/compile_to_js.sh:115

  • The runtime export names HEAPI8, HEAPI16, and HEAPI32 appear incorrect; they should be HEAPI8, HEAPI16, and HEAPI32 to match Emscripten's API.
-    -sEXPORTED_RUNTIME_METHODS='["ccall", "cwrap", "HEAPF64", "HEAPF32", "HEAPU8", "HEAPU16", "HEAPU32", "HEAPI8", "HEAPI16", "HEAPI32"]' \

distributions/JavaScript/compile_to_js.sh:117

  • [nitpick] Hardcoding the export name to createModule may cause conflicts when loading multiple modules; consider making EXPORT_NAME configurable or namespaced.
-    -sEXPORT_NAME="createModule" \

@grzanka grzanka requested a review from Copilot May 24, 2025 21:18
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the WebAssembly output configuration for the libamtrack project while updating associated documentation for the R and Python packages. Key changes include:

  • Adding a new README for the R plugin.
  • Removing outdated references from the Python text README and adding an updated Python wrapper README.
  • Refining the emcc command in the JavaScript compile_to_js.sh script with enhanced configuration flags.

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
distributions/R/README.md Added documentation for the new libamtrack R plugin.
distributions/Python/pyamtrack/README.txt Removed outdated references regarding cBinder.
distributions/Python/pyamtrack/README.md Added updated documentation for the legacy Python wrapper.
distributions/JavaScript/compile_to_js.sh Updated the emcc command with additional flags for WebAssembly.

@grzanka grzanka requested a review from Copilot May 25, 2025 14:54
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request refactors the JavaScript WebAssembly build and related distribution files. Key changes include removing legacy build scripts (e.g. compile_to_js.sh, trigger_docker_rebuild.sh, parse_headers.py, JS_INSTALL, and associated CMakeLists.txt), updating distribution READMEs, and modifying workflow configurations in the GitHub Actions setup.

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.

File Description
distributions/README.md New overview and updated structure of libamtrack distributions
distributions/JavaScript/compile_to_js.sh Entire file removed to deprecate legacy WebAssembly build script
.github/workflows/* Removal or modification of workflows related to WebAssembly packaging
Other distribution files New or updated README files reflecting distribution statuses and build instructions
Comments suppressed due to low confidence (4)

distributions/JavaScript/compile_to_js.sh:1

  • The removal of compile_to_js.sh should be accompanied by updated build instructions and documentation to guide users on the new WebAssembly build process.
#!/bin/bash

distributions/JavaScript/trigger_docker_rebuild.sh:1

  • Since trigger_docker_rebuild.sh has been removed, please ensure that its intended functionality is now integrated into the updated CI/CD pipeline and that the documentation reflects this change.
#!/bin/bash

distributions/JavaScript/parse_headers.py:1

  • The removal of parse_headers.py suggests that function export list generation is now handled differently; please verify that the new mechanism is documented for future maintainers.
import os

.github/workflows/webassembly-reusable.yml:1

  • The deletion of the webassembly-reusable.yml workflow requires confirmation that the functionality is fully transitioned into the new workflows; update the CI documentation accordingly.
name: JavaScript Package (WebAssembly)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants