{
  "name": "@utsp/core",
  "version": "0.17.4",
  "description": "UTSP core engine - Universal Tile Stream Protocol data management",
  "author": "THP Software",
  "license": "MIT",
  "type": "module",
  "main": "./dist/index.cjs",
  "module": "./dist/index.mjs",
  "types": "./dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.mjs",
      "require": "./dist/index.cjs"
    },
    "./benchmark": {
      "types": "./dist/benchmark.d.ts",
      "import": "./dist/benchmark.mjs",
      "require": "./dist/benchmark.cjs"
    }
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/thp-software/utsp.git",
    "directory": "packages/core"
  },
  "bugs": "https://github.com/thp-software/utsp/issues",
  "homepage": "https://github.com/thp-software/utsp#readme",
  "keywords": [
    "utsp",
    "terminal",
    "text-mode",
    "websocket",
    "ascii",
    "rendering",
    "protocol",
    "networking",
    "multi-user"
  ],
  "engines": {
    "node": ">=18.0.0"
  },
  "sideEffects": false,
  "files": [
    "dist",
    "README.md",
    "LICENSE"
  ],
  "publishConfig": {
    "access": "public"
  },
  "dependencies": {
    "@utsp/types": "0.17.4"
  },
  "devDependencies": {
    "@types/node": "^24.9.1",
    "systeminformation": "^5.27.13",
    "tinybench": "^6.0.0",
    "tsx": "^4.19.4",
    "typescript": "^5.6.3"
  },
  "scripts": {
    "build": "rimraf dist && rimraf tsconfig.tsbuildinfo && node ../../scripts/build-package.mjs packages/core",
    "dev": "tsc --watch",
    "clean": "rimraf dist",
    "lint": "eslint \"src/**/*.ts\" --max-warnings 0",
    "lint:fix": "eslint \"src/**/*.ts\" --fix",
    "typecheck": "tsc --noEmit",
    "test": "node --import tsx --test ./tests/encoding/UpdatePacket.roundtrip.test.ts ./tests/encoding/LayerOrder.roundtrip.test.ts ./tests/encoding/AudioOrder.roundtrip.test.ts ./tests/encoding/VibrationOrder.roundtrip.test.ts ./tests/encoding/Load.roundtrip.test.ts ./tests/encoding/PostProcessOrder.roundtrip.test.ts ./tests/encoding/CompressedInput.roundtrip.test.ts ./tests/encoding/MacroOrder.roundtrip.test.ts ./tests/encoding/MacroLoad.roundtrip.test.ts ./tests/encoding/MacroEvent.roundtrip.test.ts ./tests/encoding/Display.roundtrip.test.ts ./tests/encoding/SizeBoundary.roundtrip.test.ts ./tests/rendering/LayerRasterizer.test.ts ./tests/rendering/LayerRasterizer.composite.test.ts ./tests/rendering/DisplayRasterizer.test.ts ./tests/OrderBuilder.test.ts ./tests/Cell.test.ts ./tests/Layer.test.ts",
    "bench": "pnpm run build && node --expose-gc --import tsx ./benchmarks/index.ts",
    "bench:warmup": "node --expose-gc --import tsx ./benchmarks/cpu-warmup.ts",
    "bench:warmup:quick": "node --expose-gc --import tsx ./benchmarks/cpu-warmup.ts --duration=10",
    "bench:warmup:full": "node --expose-gc --import tsx ./benchmarks/cpu-warmup.ts --duration=30",
    "bench:warmup:extended": "node --expose-gc --import tsx ./benchmarks/cpu-warmup.ts --duration=60",
    "bench:orders": "pnpm run build && node --expose-gc --import tsx ./benchmarks/index.ts --orders",
    "bench:render": "pnpm run build && node --expose-gc --import tsx ./benchmarks/index.ts --render",
    "bench:multipass": "pnpm run build && node --expose-gc --import tsx ./benchmarks/rendering/rasterizer-multipass.micro.ts",
    "bench:pipeline": "pnpm run build && node --expose-gc --import tsx ./benchmarks/index.ts --pipeline",
    "bench:scenarios": "pnpm run build && node --expose-gc --import tsx ./benchmarks/index.ts --scenarios",
    "bench:cached": "pnpm run build && node --expose-gc --import tsx ./benchmarks/index.ts --cached",
    "bench:display": "pnpm run build && node --expose-gc --import tsx ./benchmarks/index.ts --display",
    "bench:dev": "node --expose-gc --import tsx ./benchmarks/index.ts",
    "bench:dev:orders": "node --expose-gc --import tsx ./benchmarks/index.ts --orders",
    "bench:dev:render": "node --expose-gc --import tsx ./benchmarks/index.ts --render",
    "bench:dev:multipass": "node --expose-gc --import tsx ./benchmarks/rendering/rasterizer-multipass.micro.ts",
    "bench:dev:pipeline": "node --expose-gc --import tsx ./benchmarks/index.ts --pipeline",
    "bench:dev:scenarios": "node --expose-gc --import tsx ./benchmarks/index.ts --scenarios",
    "bench:dev:cached": "node --expose-gc --import tsx ./benchmarks/index.ts --cached",
    "bench:dev:display": "node --expose-gc --import tsx ./benchmarks/index.ts --display"
  }
}