{
  "name": "@newkrok/nape-js",
  "version": "3.42.1",
  "description": "High-performance 2D physics engine for TypeScript & JavaScript — rigid bodies, constraints, fluid simulation, raycasting, and deterministic multiplayer. Tree-shakeable, zero dependencies.",
  "type": "module",
  "sideEffects": [
    "dist/**/*.js",
    "dist/**/*.cjs",
    "src/callbacks/CbEvent.ts",
    "src/callbacks/CbType.ts",
    "src/callbacks/InteractionType.ts",
    "src/callbacks/ListenerType.ts",
    "src/callbacks/OptionType.ts",
    "src/callbacks/PreFlag.ts",
    "src/constraint/AngleJoint.ts",
    "src/constraint/DistanceJoint.ts",
    "src/constraint/LineJoint.ts",
    "src/constraint/MotorJoint.ts",
    "src/constraint/PivotJoint.ts",
    "src/constraint/PulleyJoint.ts",
    "src/constraint/SpringJoint.ts",
    "src/constraint/WeldJoint.ts",
    "src/core/bootstrap.ts",
    "src/core/engine.ts",
    "src/dynamics/Arbiter.ts",
    "src/dynamics/ArbiterType.ts",
    "src/dynamics/Contact.ts",
    "src/dynamics/ContactList.ts",
    "src/dynamics/InteractionFilter.ts",
    "src/dynamics/InteractionGroup.ts",
    "src/geom/AABB.ts",
    "src/geom/ConvexResult.ts",
    "src/geom/GeomPoly.ts",
    "src/geom/GeomVertexIterator.ts",
    "src/geom/Mat23.ts",
    "src/geom/MatMN.ts",
    "src/geom/RayResult.ts",
    "src/geom/Vec2.ts",
    "src/geom/Vec2List.ts",
    "src/geom/Vec3.ts",
    "src/geom/Winding.ts",
    "src/native/dynamics/ZPP_SpaceArbiterList.ts",
    "src/native/geom/ZPP_GeomVertexIterator.ts",
    "src/native/util/ZPP_ContactList.ts",
    "src/native/util/ZPP_MixVec2List.ts",
    "src/native/util/ZPP_PublicList.ts",
    "src/native/util/ZPP_Vec2List.ts",
    "src/phys/Body.ts",
    "src/phys/BodyType.ts",
    "src/phys/Compound.ts",
    "src/phys/FluidProperties.ts",
    "src/phys/GravMassMode.ts",
    "src/phys/InertiaMode.ts",
    "src/phys/MassMode.ts",
    "src/phys/Material.ts",
    "src/shape/Capsule.ts",
    "src/shape/Circle.ts",
    "src/shape/Edge.ts",
    "src/shape/Polygon.ts",
    "src/shape/ShapeType.ts",
    "src/shape/ValidationResult.ts",
    "src/util/registerLists.ts",
    "src/worker/physics-worker-code.ts"
  ],
  "engines": {
    "node": ">=18"
  },
  "main": "dist/index.cjs",
  "module": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "import": {
        "types": "./dist/index.d.ts",
        "default": "./dist/index.js"
      },
      "require": {
        "types": "./dist/index.d.cts",
        "default": "./dist/index.cjs"
      }
    },
    "./serialization": {
      "import": {
        "types": "./dist/serialization/index.d.ts",
        "default": "./dist/serialization/index.js"
      },
      "require": {
        "types": "./dist/serialization/index.d.cts",
        "default": "./dist/serialization/index.cjs"
      }
    },
    "./replay": {
      "import": {
        "types": "./dist/replay/index.d.ts",
        "default": "./dist/replay/index.js"
      },
      "require": {
        "types": "./dist/replay/index.d.cts",
        "default": "./dist/replay/index.cjs"
      }
    },
    "./worker": {
      "import": {
        "types": "./dist/worker/index.d.ts",
        "default": "./dist/worker/index.js"
      },
      "require": {
        "types": "./dist/worker/index.d.cts",
        "default": "./dist/worker/index.cjs"
      }
    },
    "./profiler": {
      "import": {
        "types": "./dist/profiler/index.d.ts",
        "default": "./dist/profiler/index.js"
      },
      "require": {
        "types": "./dist/profiler/index.d.cts",
        "default": "./dist/profiler/index.cjs"
      }
    }
  },
  "llms": "https://napejs.org/llms.txt",
  "llmsFull": "https://napejs.org/llms-full.txt",
  "files": [
    "README.md",
    "dist",
    "!dist/**/*.map",
    "llms.txt",
    "llms-full.txt"
  ],
  "scripts": {
    "build": "tsup",
    "test": "vitest run",
    "test:watch": "vitest",
    "coverage": "vitest run --coverage",
    "lint": "eslint src/ tests/",
    "format": "prettier --write src/ tests/",
    "format:check": "prettier --check src/ tests/",
    "check:circular": "madge --circular --extensions ts src/ --json | node -e \"const d=JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'));if(d.length>27){console.error('New circular dependencies detected: '+d.length+' (max 27)');process.exit(1)}else{console.log('Circular dependencies: '+d.length+'/27 (OK)')}\""
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/NewKrok/nape-js",
    "directory": "packages/nape-js"
  },
  "keywords": [
    "physics",
    "physics-engine",
    "2d",
    "2d-physics",
    "game-physics",
    "physics-simulation",
    "box2d",
    "matter-js",
    "planck",
    "nape",
    "typescript",
    "javascript",
    "html5",
    "html5-game",
    "canvas",
    "webgl",
    "gamedev",
    "game-engine",
    "game-development",
    "rigid-body",
    "collision-detection",
    "collision",
    "raycasting",
    "pixijs",
    "phaser",
    "threejs",
    "deterministic",
    "deterministic-physics",
    "rollback-netcode",
    "multiplayer",
    "fluid-simulation",
    "buoyancy",
    "zero-dependencies",
    "tree-shakeable"
  ],
  "author": "Istvan Krisztian Somoracz",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/NewKrok/nape-js/issues"
  },
  "homepage": "https://napejs.org/"
}
