Sobre o projeto

Matter.js é um motor de física de corpos rígidos 2D em JavaScript para a web, descrito como uma implementação original e não um port. É distribuído via npm e Yarn (npm install matter-js) ou como uma tag script, e suporta navegadores e Node.js, incluindo toque em dispositivos móveis e layouts responsivos. As capacidades principais listadas pelo projeto incluem corpos rígidos, corpos compostos e compósitos, cascos côncavos e convexos, propriedades físicas como massa, área e densidade, restituição para colisões elásticas e inelásticas, detecção de colisão multifásica (ampla, média e estreita), empilhamento e repouso estáveis, conservação de momento, atrito e resistência, eventos, restrições, gravidade, sleeping e corpos estáticos, cantos arredondados (chanfro), vistas com translação e zoom, consultas de colisão como raycasting e testes de região, escala de tempo para câmera lenta ou aceleração, e um renderizador canvas com suporte a vetores e texturas. O motor pode ser estendido por meio de plugins, com páginas wiki que abordam o uso e a criação de plugins, uma lista de plugins e um repositório boilerplate. MatterTools é oferecido para criar, testar e depurar mundos, e a serialização do estado do mundo é possível com resurrect.js. O README remete a um extenso conjunto de demos ao vivo cobrindo formas mistas e sólidas, caminhos SVG côncavos e terreno, corpos compostos, berço de Newton, bola de demolição, estilingue, cantos arredondados, vistas, escala de tempo, manipulação de corpos e compósitos, raycasting, sprites, pirâmide, carro, catapulta, gravidade reversa, ponte, avalanche, corpos macios, tecido, eventos, filtragem de colisão, correntes, piscina de bolinhas, pilhas, restituição, variantes de atrito, sleeping, bolas de praia, testes de estresse e sensores. Uma galeria lista sites e projetos que usam o motor, incluindo trabalhos de Patrick Heng, Nice and Serious, Goodness, New Company, Google, Nathan Gordon, Lab212, Photon Storm (Phaser), Jessica Walsh, Fuse, überdosis e sabato studio. As orientações de uso apontam para páginas wiki sobre primeiros passos, execução e renderização, além de tutoriais, um diretório de exemplos contendo os códigos-fonte das demos e exemplos adicionais no CodePen. A documentação da API é hospedada separadamente. A compilação requer Node.js e pnpm, seguidos de pnpm install e pnpm run start para iniciar um servidor de desenvolvimento; as notas de contribuição estão em CONTRIBUTING.md. O projeto observa que bundlers e frameworks podem reduzir o desempenho em tempo real com configurações padrão, particularmente em modos de desenvolvimento, citando configurações de sourcemap do Webpack e watchers do Vue.js como exemplos com discussões de issues vinculadas. Matter.js é licenciado sob a Licença MIT, copyright 2014 Liam Brummitt, sem garantia fornecida.