[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3233":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},3233,"matter-js","liabru\u002Fmatter-js","liabru","a 2D rigid body physics engine for the web ▲● ■","",null,"JavaScript",18241,1988,236,232,0,3,16,63,14,90.2,"MIT License",false,"master",true,[27,28,29,30,31,32],"canvas","javascript","physics","physics-engine","rigid-bodies","web","2026-06-12 04:00:17","\u003Cimg alt=\"Matter.js\" src=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fimg\u002Fmatter-js.svg\" width=\"300\">\n\n> *Matter.js* is a JavaScript 2D rigid body physics engine for the web\n\n[brm.io\u002Fmatter-js](https:\u002F\u002Fbrm.io\u002Fmatter-js\u002F)\n\n[Demos](#demos) ・ [Gallery](#gallery) ・ [Features](#features) ・ [Plugins](#plugins) ・ [Install](#install) ・ [Usage](#usage) ・ [Examples](#examples) ・ [Docs](#documentation) ・ [Wiki](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki) ・ [References](#references) ・ [License](#license)\n\n### Demos\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd>\n      \u003Cul>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#mixed\">Mixed Shapes\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#mixedSolid\">Solid Shapes\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#svg\">Concave SVG Paths\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#terrain\">Concave Terrain\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#concave\">Concave Bodies\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#compound\">Compound Bodies\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#newtonsCradle\">Newton's Cradle\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#wreckingBall\">Wrecking Ball\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#slingshot\">Slingshot Game\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#rounded\">Rounded Corners\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#views\">Views\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#timescale\">Time Scaling\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#manipulation\">Body Manipulation\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#compositeManipulation\">Composite Manipulation\u003C\u002Fa>\u003C\u002Fli>\n      \u003C\u002Ful>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cul>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#raycasting\">Raycasting\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#sprites\">Sprites\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#pyramid\">Pyramid\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#car\">Car\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#catapult\">Catapult\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#gravity\">Reverse Gravity\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#bridge\">Bridge\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#avalanche\">Avalanche\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#softBody\">Basic Soft Bodies\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#cloth\">Cloth\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#events\">Events\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#collisionFiltering\">Collision Filtering\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#chains\">Chains\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#ballPool\">Ball Pool\u003C\u002Fa>\u003C\u002Fli>\n      \u003C\u002Ful>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cul>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#stack\">Stack\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#circleStack\">Circle Stack\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#compoundStack\">Compound Stack\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#restitution\">Restitution\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#friction\">Friction\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#airFriction\">Air Friction\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#staticFriction\">Static Friction\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#sleeping\">Sleeping\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#beachBalls\">Beach Balls\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#stress\">Stress 1\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#stress2\">Stress 2\u003C\u002Fa>\u003C\u002Fli>\n        \u003Cli>\u003Ca href=\"https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdemo\u002F#sensors\">Sensors\u003C\u002Fa>\u003C\u002Fli>\n      \u003C\u002Ful>\n      \u003Cbr>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### Gallery\n\nSee how others are using matter.js physics\n\n- [Patrick Heng](https:\u002F\u002Fpatrickheng.com\u002F) by Patrick Heng\n- [USELESS](https:\u002F\u002Fuseless.london\u002F) by Nice and Serious\n- [Secret 7](https:\u002F\u002Fsecret-7.com\u002F) by Goodness\n- [New Company](https:\u002F\u002Fwww.new.company\u002F) by New Company\n- [Game of The Year](https:\u002F\u002Fgameoftheyear.withgoogle.com\u002F) by Google\n- [Pablo The Flamingo](https:\u002F\u002Fpablotheflamingo.com\u002F) by Nathan Gordon\n- [Les métamorphoses de Mr. Kalia](https:\u002F\u002Flab212.org\u002Foeuvres\u002F2:art\u002F18\u002FLes-metamorphoses-de-Mr-Kalia) by Lab212\n- [Phaser](https:\u002F\u002Fphaser.io\u002F) by Photon Storm\n- [Sorry I Have No Filter](https:\u002F\u002Fsorryihavenofilter.com\u002Fpages\u002Fabout\u002F) by Jessica Walsh\n- [Fuse](https:\u002F\u002Ffuse.blog\u002F) by Fuse\n- [Glyphfinder](https:\u002F\u002Fwww.glyphfinder.com\u002F) by überdosis\n- [Isolation](https:\u002F\u002Fisolation.is\u002Fpostcards\u002Fmy-week) by sabato studio\n- [more...](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki\u002FGallery)\n\n### Features\n\n- Rigid bodies\n- Compound bodies\n- Composite bodies\n- Concave and convex hulls\n- Physical properties (mass, area, density etc.)\n- Restitution (elastic and inelastic collisions)\n- Collisions (broad-phase, mid-phase and narrow-phase)\n- Stable stacking and resting\n- Conservation of momentum\n- Friction and resistance\n- Events\n- Constraints\n- Gravity\n- Sleeping and static bodies\n- Plugins\n- Rounded corners (chamfering)\n- Views (translate, zoom)\n- Collision queries (raycasting, region tests)\n- Time scaling (slow-mo, speed-up)\n- Canvas renderer (supports vectors and textures)\n- [MatterTools](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-tools) for creating, testing and debugging worlds\n- World state serialisation (requires [resurrect.js](https:\u002F\u002Fgithub.com\u002Fskeeto\u002Fresurrect-js))\n- Cross-browser and Node.js support (Chrome, Firefox, Safari, IE8+)\n- Mobile-compatible (touch, responsive)\n- An original JavaScript physics implementation (not a port)\n\n### Install\n\nYou can install using package managers [npm](https:\u002F\u002Fwww.npmjs.org\u002Fpackage\u002Fmatter-js) and [Yarn](https:\u002F\u002Fyarnpkg.com\u002F) using:\n\n    npm install matter-js\n\nAlternatively you can download a [stable release](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Ftags) or try the latest experimental [alpha build](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Ftree\u002Fmaster\u002Fbuild) (master) and include the script in your web page:\n\n    \u003Cscript src=\"matter.js\" type=\"text\u002Fjavascript\">\u003C\u002Fscript>\n\n### Performance with other tools (e.g. Webpack, Vue etc.)\n\nBundlers and frameworks may reduce real-time performance when using their default configs, especially in development modes.\n\nWhen using [Webpack](https:\u002F\u002Fwebpack.js.org\u002F), the default sourcemap config can have a large impact, for a solution see [issue](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fissues\u002F1001).\n\nWhen using [Vue.js](https:\u002F\u002Fvuejs.org\u002F), watchers can have a large impact, for a solution see [issue](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fissues\u002F1001#issuecomment-998911435). \n\n### Usage\n\nVisit the [Getting started](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki\u002FGetting-started) wiki page for a minimal usage example which should work in both browsers and Node.js.  \nAlso see the [Running](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki\u002FRunning) and [Rendering](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki\u002FRendering) wiki pages, which show how to use your own game and rendering loops.\n\n### Tutorials\n\nSee the list of [tutorials](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki\u002FTutorials).\n\n### Examples\n\nSee the [examples](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Ftree\u002Fmaster\u002Fexamples) directory which contains the source for all [demos](#demos).  \nThere are even more examples on [codepen](https:\u002F\u002Fcodepen.io\u002Fcollection\u002FFuagy\u002F).\n\n### Plugins\n\nThe engine can be extended through plugins, see these resources:\n\n- [Using plugins](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki\u002FUsing-plugins)\n- [Creating plugins](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki\u002FCreating-plugins)\n- [List of plugins](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki\u002FList-of-plugins)\n- [matter-plugin-boilerplate](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-plugin-boilerplate)\n\n### Documentation\n\nSee the [API Documentation](https:\u002F\u002Fbrm.io\u002Fmatter-js\u002Fdocs\u002F) and the [wiki](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki)\n\n### Building and Contributing\n\nTo build you must first install [node.js](https:\u002F\u002Fnodejs.org\u002F), then run\n\n\tnpm install\n\nThis will install the required build dependencies, then run\n\n\tnpm run dev\n\nto spawn a development server. For information on contributing see [CONTRIBUTING.md](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md).\n\n### Changelog\n\nTo see what's new or changed in the latest version, see the [changelog](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fblob\u002Fmaster\u002FCHANGELOG.md).\n\n### References\n\nSee the wiki page on [References](https:\u002F\u002Fgithub.com\u002Fliabru\u002Fmatter-js\u002Fwiki\u002FReferences).\n\n### License\n\nMatter.js is licensed under [The MIT License (MIT)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)  \nCopyright (c) 2014 Liam Brummitt\n\nThis license is also supplied with the release and source code.  \nAs stated in the license, absolutely no warranty is provided.\n","Matter.js 是一个用于网页的2D刚体物理引擎。它支持多种形状和物体的模拟，包括混合形状、复合物体以及复杂的地形等，并且能够处理碰撞检测、重力调整等功能。该引擎利用了HTML5 Canvas技术来渲染物理效果，具备良好的性能和可扩展性。适用于需要在浏览器中实现真实物理交互的游戏开发、教育软件或任何希望增加动态元素的Web应用场合。",2,"2026-06-11 02:52:59","top_language"]