Vollständig typisierte 2D-Physik-Engine für TypeScript & JavaScript — moderne Neuentwicklung von Nape
Starrkörper • Kreise, Polygone und Kapseln • Constraints • Flüssigkeitssimulation • Kollisions-Callbacks • Raycasting und räumliche Abfragen • Bruch • Soft Body über Constraints • Deterministischer Multiplayer • Serialisierung • Web-Worker-Unterstützung — ohne Abhängigkeiten, ~195 KB gzip.
npm install @newkrok/nape-js
Klicken/Ziehen auf der Leinwand zum Interagieren. Wähle unten eine Demo. Physik Spiel
Veröffentlichte Spiele mit nape-js-Physik — im Browser spielen oder die native Version holen.
Life of a Fish
Ein pixeliger Tauchgang — schwimmen, sprinten und durch Höhlen ausweichen, mit mehrphasigen Bosskämpfen und einem täglichen Abstieg.
loaf.newkrok.com →
MX Dash
Motocross-Arcade in Seitenansicht — ein gegliederter Fahrer auf echter Federung, große Sprünge, Flips und Crash-Replays in Zeitlupe.
mxdash.newkrok.com →
Dust Kings
Voxel-Monstertruck-Rennen — handgebaute Schotterkurse, schnelle Rennen und eine tägliche Herausforderung. Derzeit in geschlossener Beta.
dustkings.newkrok.com →
Etwas mit nape-js veröffentlicht? Eröffne ein Issue — dann landet es hier.
nape-js ist eine der wenigen 2D-Physik-Engines für JavaScript und TypeScript, die Starrkörperdynamik, Gelenke (PivotJoint, DistanceJoint, WeldJoint, AngleJoint, MotorJoint, LineJoint, PulleyJoint, SpringJoint), Flüssigkeitsauftrieb, Bruch, aus Constraint-Netzen gebaute Soft-Body- und Stoffsimulation, Raycasting und konvexe Sweeps, einen eingebauten Character Controller, deterministisches Stepping für Multiplayer-Rollback, binäre Serialisierung, Replay-Aufzeichnung und eine Web-Worker-Brücke mitbringt — als einzelnes ESM-Paket (~195 KB gzip), mit vollständigen TypeScript-Typen und ohne DOM-Abhängigkeiten.
Suchst du eine Alternative zu Box2D, Matter.js, Planck.js oder Rapier? Führe den Benchmark im Browser aus, um sie direkt zu vergleichen, oder stürze dich in die interaktiven Beispiele — Physik-Demos und spielbare Mini-Games (Platformer, MOBA, Tower Defense, Slingshot, Pinball, Top-Down-Shooter).
Coding-Agents arbeiten am besten mit einer Bibliothek, die sie lesen, typprüfen und tatsächlich ausführen können. nape-js liefert alle drei.
Die gesamte API in einer Textdatei unter /llms.txt, dazu die vollständige Referenz unter /llms-full.txt — der entstehende Standard, um Doku an ein Modell zu geben. Gib deinem Agenten die URL, statt HTML zu scrapen.
Durchgängig handgeschriebenes TypeScript mit strict: true, ausgeliefert als generierte Deklarationen. Dein Agent bekommt echte Signaturen und TSDoc beim Hovern und erfindet dadurch seltener Methoden, die es nicht gibt.
Keine DOM-Abhängigkeiten: Ein Agent kann die Engine importieren, eine Simulation steppen und das Ergebnis im Terminal prüfen — ohne Browser, ohne Canvas, ohne Mocking.
Mit space.deterministic = true liefern gleiche Eingaben auf derselben Plattform dasselbe Ergebnis. Ein vom Agenten geschriebener Regressionstest bleibt aus dem richtigen Grund grün.
Ein Anti-Pattern-Leitfaden und ein Troubleshooting-Leitfaden benennen die Fehler, die Modelle bei Physik-APIs am häufigsten machen.
Das Kochbuch ist nach Zielen gegliedert — Platformer, Ragdoll, Flüssigkeit, Replay — also genau in der Form, in der ein Prompt üblicherweise ankommt.
Jetzt direkt in deinem Browser gemessen. Jeder Test führt den Physik-step() in einer engen Schleife aus und meldet die mittlere Zeit pro Step.
Drücke die Schaltfläche zum Starten.