Teljesen típusozott 2D fizikai motor TypeScripthez és JavaScripthez — a Nape modern újraírása
Merev testek • Körök, sokszögek és kapszulák • Kényszerek • Folyadékszimuláció • Ütközési visszahívások • Sugárkövetés és térbeli lekérdezések • Törés • Lágy test kényszerekkel • Determinisztikus többjátékos mód • Szerializálás • Web Worker támogatás — függőségmentes, ~195 KB gzip.
npm install @newkrok/nape-js
Kattints vagy húzz a vásznon a kölcsönhatáshoz. Válassz egy demót alább. Fizika Játék
Kiadott játékok, amelyek nape-js fizikán futnak — próbáld ki őket böngészőben, vagy töltsd le a natív változatot.
Life of a Fish
Pixeles víz alatti kaland — úszás, cikázás és kitérés a barlangokban, több fázisú bossharcokkal és napi merüléssel.
loaf.newkrok.com →
MX Dash
Oldalnézetes motocross-arcade — tagolt vezető élő rugózáson, nagy ugrások, szaltók és lassított bukás-visszajátszások.
mxdash.newkrok.com →
Dust Kings
Voxel monstertruck-versenyzés — kézzel épített földutak, gyors versenyek és napi kihívás. Jelenleg zárt bétában.
dustkings.newkrok.com →
Készítettél valamit nape-js-szel? Nyiss egy issue-t, és bekerülhet ide.
A nape-js azon kevés JavaScript- és TypeScript-alapú 2D fizikai motor egyike, amely merevtest-dinamikát, kényszereket (PivotJoint, DistanceJoint, WeldJoint, AngleJoint, MotorJoint, LineJoint, PulleyJoint, SpringJoint), folyadék-felhajtóerőt, törést, kényszerhálóból épített lágytest- és szövetszimulációt, sugárkövetést és konvex söprést, beépített karaktervezérlőt, többjátékos rollbackhez determinisztikus léptetést, bináris szerializálást, visszajátszás-rögzítést és külön szálon futó Web Worker hidat kínál — egyetlen ESM csomagban (~195 KB gzip), teljes TypeScript-típusokkal és DOM-függőség nélkül.
A Box2D, Matter.js, Planck.js vagy Rapier alternatíváját keresed? Futtasd a böngészőbeli teljesítménytesztet, hogy közvetlenül összehasonlítsd őket, vagy merülj el az interaktív példákban — fizikai demók és játszható minijátékok (platformer, MOBA, tornyos védekezés, csúzli, flipper, felülnézetes lövölde).
A kódoló ügynökök olyan könyvtárral dolgoznak jól, amit el tudnak olvasni, típusellenőrizni és ténylegesen futtatni. A nape-js mindhármat hozza.
A teljes API egyetlen szövegfájlban a /llms.txt címen, a teljes referencia pedig a /llms-full.txt alatt — ez a kialakulóban lévő szabvány a dokumentáció modellnek adására. HTML-kaparás helyett add oda az URL-t az ügynöknek.
Végig kézzel írt TypeScript strict: true mellett, generált deklarációkkal szállítva. Az ügynök valódi szignatúrákat és TSDoc-ot kap, így kevesebb nem létező metódust talál ki.
Nulla DOM-függőség: az ügynök importálhatja a motort, léptethet egy szimulációt, és a terminálban ellenőrizheti az eredményt — böngésző, canvas és mockolás nélkül.
A space.deterministic = true mellett ugyanaz a bemenet ugyanazt az eredményt adja azonos platformon. Az ügynök írta regressziós teszt a helyes okból marad zöld.
Egy anti-pattern útmutató és egy hibaelhárítási útmutató sorolja fel azokat a hibákat, amelyeket a modellek a fizikai API-knál a leggyakrabban elkövetnek.
A szakácskönyv célok szerint tagolt — platformer, ragdoll, folyadék, visszajátszás —, vagyis pont abban a formában, ahogy egy prompt érkezni szokott.
Épp most, a te böngésződben mérve. Minden teszt egy szoros ciklusban futtatja a fizikai step() hívást, és a lépésenkénti medián időt jelenti.
Nyomd meg a gombot az indításhoz.