{"id":13534363,"url":"https://github.com/chandlerprall/GoblinPhysics","last_synced_at":"2025-04-01T22:31:31.914Z","repository":{"id":57251711,"uuid":"9022118","full_name":"chandlerprall/GoblinPhysics","owner":"chandlerprall","description":"Collision Detection \u0026 Response in JavaScript","archived":false,"fork":false,"pushed_at":"2016-10-18T21:25:27.000Z","size":30152,"stargazers_count":146,"open_issues_count":29,"forks_count":18,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-04-25T05:40:37.262Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.goblinphysics.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chandlerprall.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-26T03:34:56.000Z","updated_at":"2024-02-26T21:49:16.000Z","dependencies_parsed_at":"2022-09-04T21:12:16.219Z","dependency_job_id":null,"html_url":"https://github.com/chandlerprall/GoblinPhysics","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chandlerprall%2FGoblinPhysics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chandlerprall%2FGoblinPhysics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chandlerprall%2FGoblinPhysics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chandlerprall%2FGoblinPhysics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chandlerprall","download_url":"https://codeload.github.com/chandlerprall/GoblinPhysics/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246720582,"owners_count":20822919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T07:01:31.380Z","updated_at":"2025-04-01T22:31:30.208Z","avatar_url":"https://github.com/chandlerprall.png","language":"JavaScript","funding_links":[],"categories":["Libraries"],"sub_categories":["JavaScript"],"readme":"GoblinPhysics\n==============\n\nGoblinPhysics is an open source physics engine written from the ground up in JavaScript. It aims to provide a fast and dependable physics simulation regardless of platform (desktop vs. mobile, browser vs. nodejs).\n\nExamples\n--------\n* [Mesh Shape](http://www.goblinphysics.com/examples/mesh-shape-statue.html)\n* [Boxes](http://www.goblinphysics.com/examples/boxes.html)\n* [Box Stack](http://www.goblinphysics.com/examples/stack.html)\n* [Sphere Stack](http://www.goblinphysics.com/examples/spheres.html)\n* [Shapes](http://www.goblinphysics.com/examples/shapes.html)\n* [Compound Shapes](http://www.goblinphysics.com/examples/compound-shapes.html)\n* [Infinite Boxes](http://www.goblinphysics.com/examples/boxes.html)\n* [Point Constraint](http://www.goblinphysics.com/examples/constraint-point.html)\n* [Slider Constraint](http://www.goblinphysics.com/examples/constraint-slider.html)\n* [Weld Constraint](http://www.goblinphysics.com/examples/constraint-weld.html)\n* [Ray Traycer](http://www.goblinphysics.com/examples/raytracer.html)\n\nFeatures\n--------\n* Rigid body simulation\n* Sphere, Box, Cone, Cylinder, Plane, Convex, Mesh, and Compound shapes\n* Weld, Slider, and Point constraints\n* Basic event callback system\n* Ray tracing\n* Example scripts\n* Test suite\n\nDocumentation\n-------------\nSee `Building` below for how to generate documentation. Hosted version available at [http://www.goblinphysics.com/documentation](http://www.goblinphysics.com/documentation).\n\nRoadmap\n-------\n**Non-exhaustive list of planned features**\n* Sweep \u0026 Prune broad phase\n* More event callbacks\n* More constraints\n* Internal object re-use (framework for this is in place, need to actually use it)\n* Island solver\n* Box-Box detection for better performance and stability\n* Force generators\n\nTests\n-----\n* [Balance](http://www.goblinphysics.com/tests/balance.html)\n* [Box-Sphere](http://www.goblinphysics.com/tests/box-sphere.html)\n* [GJK-Boxes](http://www.goblinphysics.com/tests/gjk_boxes.html)\n* [GJK-Spheres](http://www.goblinphysics.com/tests/gjk_spheres.html)\n* [Gravity](http://www.goblinphysics.com/tests/gravity.html)\n* [Ray Tracing](http://www.goblinphysics.com/tests/raytracing.html)\n* [Restitution](http://www.goblinphysics.com/tests/restitution.html)\n* [Sphere-Sphere](http://www.goblinphysics.com/tests/sphere-sphere.html)\n* [Support Points](http://www.goblinphysics.com/tests/support-points.html)\n\nBuilding\n--------\n[gulp](http://gulpjs.com/) is used to build the library and generate documentation. Follow gulp's [getting started](https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md) page for a quick setup. To install the packages necessary to build GoblinPhysics, run `npm install` in the git checkout directory. Once all of the packages have been downloaded you can build by running `gulp default`. To generate documenation, run `gulp docs`.\n\nLicense\n-------\nGoblinPhysics is distributed under the [zlib license](https://github.com/chandlerprall/GoblinPhysics/blob/master/LICENSE). This means you can use the library to do whatever you want, free of charge, with or without giving attribution (although attribution is always appreciated). [Three.js](https://github.com/mrdoob/three.js/) and [Stats.js](https://github.com/mrdoob/stats.js), used in GoblinPhysics' examples and tests, are distributed under the MIT license which requires attribution if used.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchandlerprall%2FGoblinPhysics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchandlerprall%2FGoblinPhysics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchandlerprall%2FGoblinPhysics/lists"}