{
  "name": "@needle-tools/engine",
  "version": "5.0.2",
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
  "main": "dist/needle-engine.min.js",
  "exports": {
    ".": {
      "import": "./lib/needle-engine.js",
      "require": "./dist/needle-engine.umd.cjs",
      "types": "./lib/needle-engine.d.ts"
    },
    "./package.json": "./package.json",
    "./components.json": "./components.needle.json",
    "./asap": "./lib/asap/needle-asap.js",
    "./vite": {
      "types": "./plugins/vite/index.d.ts",
      "import": "./plugins/vite/index.js",
      "require": "./plugins/vite/index.js"
    },
    "./next": {
      "types": "./plugins/next/next.d.ts",
      "import": "./plugins/next/index.js",
      "require": "./plugins/next/index.js"
    },
    "./plugins/vite": {
      "types": "./plugins/vite/index.d.ts",
      "default": "./plugins/vite/index.js"
    },
    "./plugins/vite/index.js": {
      "types": "./plugins/vite/index.d.ts",
      "default": "./plugins/vite/index.js"
    },
    "./plugins/next": {
      "types": "./plugins/next/next.d.ts",
      "default": "./plugins/next/index.js"
    },
    "./plugins/next/index.js": {
      "types": "./plugins/next/next.d.ts",
      "default": "./plugins/next/index.js"
    }
  },
  "type": "module",
  "repository": {
    "type": "git",
    "url": "https://github.com/needle-tools/needle-engine-support"
  },
  "bugs": {
    "url": "https://github.com/needle-tools/needle-engine-support/issues"
  },
  "homepage": "https://needle.tools",
  "author": {
    "name": "Needle",
    "email": "hi@needle.tools",
    "url": "https://needle.tools/"
  },
  "readme": "README.md",
  "sideEffects": [
    "./lib/needle-engine.*",
    "./src/needle-engine.*",
    "*.css"
  ],
  "scripts": {
    "dev": "npm-watch",
    "build": "npm run build:plugin-types && npm run build:src && npm run build:dist",
    "build:dist": "vite build",
    "build:src": "tsc -p tsconfig.build.json --rootDir ./src --outDir ./lib --noEmit false --declaration",
    "build:license": "node plugins/publish/create-license.mjs",
    "build:plugin-types": "tsc -p tsconfig.plugins.json && cp .plugin-types-tmp/plugins/vite/*.d.ts plugins/vite/ && cp .plugin-types-tmp/plugins/next/*.d.ts plugins/next/ && rm -rf .plugin-types-tmp",
    "build:components-data": "node plugins/publish/create-component-types.now.mjs",
    "test": "node plugins/test/test.mjs",
    "test:playwright": "cd tests/playwright && npm install --prefer-offline && npx playwright install --with-deps chromium && npx playwright test",
    "test:playwright:fast": "cd tests/playwright && npm install --prefer-offline && npx playwright install --with-deps chromium && npx playwright test --grep @fast",
    "test:playwright:report": "cd tests/playwright && npm install --prefer-offline && npx playwright install --with-deps chromium && npx playwright show-report",
    "test:circular-imports": "node plugins/test/check-circular-imports.mjs",
    "test:tsc": "node plugins/test/test.tsc.mjs",
    "test:attw": "npx --yes @arethetypeswrong/cli --pack dist",
    "test:type-coverage:plugins": "node test/type-coverage.mjs plugins",
    "test:type-coverage:engine": "node test/type-coverage.mjs engine",
    "test:type-coverage:components": "node test/type-coverage.mjs components",
    "test:all": "node test/run-all.mjs",
    "generate:custom-elements": "npx web-component-analyzer src --format vscode --outFile custom-elements.json && node plugins/publish/clean-wca-json.mjs",
    "lint": "eslint src",
    "lint:fix": "eslint src --fix",
    "stats": "howfat ."
  },
  "files": [
    "package.json",
    "README.md",
    "CHANGELOG.md",
    "LICENSE.md",
    "SKILL.md",
    "src",
    "lib",
    "dist",
    "plugins",
    "components.needle.json",
    "custom-elements.json"
  ],
  "keywords": [
    "needle",
    "threejs",
    "unity",
    "blender",
    "ar",
    "augmented reality",
    "glTF",
    "glb",
    "webgl",
    "webar",
    "webvr",
    "webxr",
    "3d",
    "khronos",
    "usdz",
    "quicklook",
    "ios",
    "vision-pro",
    "immersive-ar",
    "immersive-vr",
    "quest"
  ],
  "dependencies": {
    "@dimforge/rapier3d-compat": "0.19.3",
    "@needle-tools/gltf-progressive": "3.4.0-beta.3",
    "@needle-tools/materialx": "1.6.0",
    "@needle-tools/three-animation-pointer": "1.0.7",
    "@webxr-input-profiles/motion-controllers": "1.0.0",
    "flatbuffers": "2.0.4",
    "md5": "2.3.0",
    "n8ao": "1.10.1",
    "peerjs": "1.4.7",
    "postprocessing": "6.39.0",
    "scroll-timeline-polyfill": "1.1.0",
    "simplex-noise": "4.0.3",
    "stats.js": "0.17.0",
    "three": "npm:@needle-tools/three@0.169.19",
    "three-mesh-bvh": "0.9.7",
    "three-mesh-ui": "npm:@needle-tools/three-mesh-ui@7.1.5-alpha.5",
    "three.quarks": "0.15.6",
    "uuid": "9.0.1",
    "websocket-ts": "2.2.1"
  },
  "devDependencies": {
    "@babel/runtime": "^7.16.0",
    "@eslint/js": "^9.0.0",
    "@luncheon/esbuild-plugin-gzip": "^0.1.0",
    "@needle-tools/helper": "2.0.0-next.faf57e6",
    "@needle-tools/needle-component-compiler": "3.0.0-alpha.1.999f08a",
    "@types/node": "^20.14.8",
    "@types/three": "0.169.0",
    "@typescript-eslint/eslint-plugin": "^8.0.0",
    "@typescript-eslint/parser": "^8.0.0",
    "esbuild": "^0.15.10",
    "esbuild-node-externals": "^1.5.0",
    "eslint": "^9.0.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-no-secrets": "^2.2.2",
    "eslint-plugin-no-unsanitized": "^4.1.5",
    "eslint-plugin-promise": "^7.0.0",
    "eslint-plugin-simple-import-sort": "^10.0.0",
    "eslint-plugin-xss": "^0.1.12",
    "filehound": "^1.17.6",
    "fs-extra": "^11.1.1",
    "ftp-deploy": "^2.4.4",
    "howfat": "^0.3.7",
    "jsdoc-babel": "^0.5.0",
    "jsdoc-to-markdown": "^7.1.1",
    "madge": "^5.0.1",
    "npm-watch": "^0.11.0",
    "rollup-plugin-visualizer": "^7.0.1",
    "ts-morph": "^27.0.2",
    "typescript": "5.9.3",
    "typescript-eslint": "^8.0.0",
    "vite": "7",
    "vite-plugin-dts": "^4.5.4"
  },
  "peerDependencies": {
    "open": "^10.1.0"
  },
  "overrides": {
    "three": "$three"
  },
  "watch": {
    "test:circular-imports": {
      "patterns": [
        "engine/*",
        "engine-components/*",
        "engine-experimental/**/*"
      ],
      "extensions": "ts",
      "quiet": false
    },
    "build:dist": {
      "patterns": [
        "engine/*",
        "engine-components/*",
        "engine-experimental/**/*"
      ],
      "extensions": "ts",
      "quiet": false
    }
  },
  "customElements": "./custom-elements.json",
  "module": "lib/needle-engine.js",
  "typings": "lib/needle-engine.d.ts",
  "types": "lib/needle-engine.d.ts"
}