Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update three-to-ammo dependency to 1.0.1 #44

Merged

Conversation

Elettrotecnica
Copy link

Dear maintainers,

this pull request updates three-to-ammo dependency to latest 1.0.1 version.

This version introduced api-breaking changes where now the function creating the collision shapes does not expect an object3D anymore, but the pre-digested vertices, matrixes and indexes. The purpose of these changes is to be able to run the code in workers.

In order to be able to compile and run the tests on the new version, I had to introduce a new dependency on esmify. Without this extra plugin, compilation on three-to-ammo would complain about:

SyntaxError: 'import' and 'export' may appear only with 'sourceType: module' browserify

I am not very happy about introducing esmify, as its project status does not seem the best and I am confident a better solution can be found. I am open to suggestions about a better way to build the distribution files when a library contains "import" and "export" keywords.

On the plus side, the patch we used to apply on three-to-ammo became obsolete.

All the best

Antonio

This version deeply reforms the api to enable use with workers. Now creating collision requires pre-calculating vertices, indexes and matrices so that they are expressed in basic Javascript types.
The new version is also written using the "include" and "export" syntax, so an additional dependency to esmify has been introduced and the command lines and tests updated to use esmify on the codebase.
The patch previously applied to three-to-ammo by us is obsolete, as we can pass the options to the entire api directly in our codebase.
@Elettrotecnica
Copy link
Author

I see there exists already a pull request #22 trying to address moving to a more modern bundling tool.

@diarmidmackenzie
Copy link
Member

Thanks for this. Much appreciated.

Happy to use esmify for now. Would like to eventually move to webpack per #22, but this is a nice way to get to three-to-ammo v1.0.1 with less radical changes.

@diarmidmackenzie diarmidmackenzie merged commit b74af35 into c-frame:master Oct 11, 2023
4 of 6 checks passed
@Elettrotecnica Elettrotecnica deleted the update-three-to-ammo-to-1-0-1 branch December 28, 2023 11:34
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