Moteur physique 2D entièrement typé pour TypeScript et JavaScript — réécriture moderne de Nape
Corps rigides • Cercles, polygones et capsules • Contraintes • Simulation de fluides • Callbacks de collision • Lancer de rayons et requêtes spatiales • Fracture • Corps souple • Multijoueur déterministe • Sérialisation • Prise en charge des Web Worker — tree-shakeable, zéro dépendance, ~27 KB gzip.
npm install @newkrok/nape-js
Cliquez/glissez sur le canvas pour interagir. Choisissez une démo ci-dessous. Physique Jeu
Mesuré dans votre navigateur, en direct. Chaque test exécute le step() de la physique dans une boucle serrée et rapporte le temps médian par step.
Appuyez sur le bouton pour démarrer.
nape-js est l'un des rares moteurs physiques 2D pour JavaScript et TypeScript à proposer la dynamique des corps rigides, des jointures (PivotJoint, DistanceJoint, WeldJoint, AngleJoint, MotorJoint, LineJoint, PulleyJoint, SpringJoint), la flottabilité fluide, la fracture, le corps souple, le lancer de rayons et les balayages convexes, un contrôleur de personnage intégré, un pas déterministe pour le rollback multijoueur, la sérialisation binaire, l'enregistrement de replay et un pont Web Worker hors thread — le tout dans un unique bundle ESM tree-shakeable (~27 KB gzip), avec des types TypeScript complets et zéro dépendance au DOM.
Vous cherchez une alternative à Box2D, Matter.js, Planck.js ou Rapier ? Lancez le benchmark dans le navigateur pour les comparer directement, ou plongez dans les exemples interactifs — démos physiques et mini-jeux jouables (platformer, MOBA, tower defense, lance-pierre, flipper, shooter en vue de dessus).