@motion-core/motion-gpu
Version:
Framework-agnostic WebGPU runtime for fullscreen WGSL shaders with explicit Svelte, React, and Vue adapter entrypoints.
183 lines (182 loc) • 6.36 kB
JSON
{
"name": "@motion-core/motion-gpu",
"version": "0.15.0",
"description": "Framework-agnostic WebGPU runtime for fullscreen WGSL shaders with explicit Svelte, React, and Vue adapter entrypoints.",
"keywords": [
"svelte",
"svelte5",
"react",
"react19",
"webgpu",
"wgsl",
"shader",
"graphics",
"gpu",
"postprocessing"
],
"homepage": "https://github.com/Motion-Core/motion-gpu/tree/master/packages/motion-gpu#readme",
"bugs": {
"url": "https://github.com/Motion-Core/motion-gpu/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/Motion-Core/motion-gpu.git",
"directory": "packages/motion-gpu"
},
"license": "MIT",
"publishConfig": {
"access": "public"
},
"type": "module",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
},
"./advanced": {
"types": "./dist/advanced.d.ts",
"default": "./dist/advanced.js"
},
"./svelte": {
"types": "./dist/svelte/index.d.ts",
"svelte": "./dist/svelte/index.js",
"default": "./dist/svelte/index.js"
},
"./svelte/advanced": {
"types": "./dist/svelte/advanced.d.ts",
"svelte": "./dist/svelte/advanced.js",
"default": "./dist/svelte/advanced.js"
},
"./react": {
"types": "./dist/react/index.d.ts",
"default": "./dist/react/index.js"
},
"./react/advanced": {
"types": "./dist/react/advanced.d.ts",
"default": "./dist/react/advanced.js"
},
"./vue": {
"types": "./dist/vue/index.d.ts",
"default": "./dist/vue/index.js"
},
"./vue/advanced": {
"types": "./dist/vue/advanced.d.ts",
"default": "./dist/vue/advanced.js"
},
"./core": {
"types": "./dist/core/index.d.ts",
"default": "./dist/core/index.js"
},
"./core/advanced": {
"types": "./dist/core/advanced.d.ts",
"default": "./dist/core/advanced.js"
}
},
"files": [
"dist",
"!dist/**/*.test.*",
"!dist/**/*.spec.*",
"src/lib",
"!src/lib/**/*.test.*",
"!src/lib/**/*.spec.*"
],
"scripts": {
"build": "vite build --config ./vite.package.config.ts",
"build:watch": "vite build --watch --config ./vite.package.config.ts",
"prepack": "pnpm run build",
"check": "svelte-check --tsconfig ./tsconfig.json && vue-tsc --project ./tsconfig.vue.json --noEmit && publint",
"check:consumers": "node --test ./scripts/consumers/packed-consumers.test.mjs && node ./scripts/consumers/packed-consumers.mjs",
"check:consumers:peers": "node --test ./scripts/consumers/packed-consumers.test.mjs && node ./scripts/consumers/packed-consumers.mjs --peer-matrix",
"test": "vitest run",
"test:coverage": "vitest run --coverage",
"test:perf-tools": "tsx --test ./scripts/perf/benchmark-schema.test.ts ./scripts/perf/statistics.test.ts ./scripts/perf/real-renderer-results.test.ts",
"test:watch": "vitest",
"test:e2e": "playwright test",
"test:e2e:headed": "playwright test --headed",
"e2e:serve": "vite --config e2e/vite.config.ts",
"e2e:serve:svelte": "MOTION_GPU_E2E_FRAMEWORK=svelte vite --config e2e/vite.config.ts",
"e2e:serve:react": "MOTION_GPU_E2E_FRAMEWORK=react vite --config e2e/vite.config.ts",
"e2e:serve:vue": "MOTION_GPU_E2E_FRAMEWORK=vue vite --config e2e/vite.config.ts",
"perf:core": "tsx ./scripts/perf/core-benchmark.ts",
"perf:core:check": "tsx ./scripts/perf/core-benchmark.ts --strict",
"perf:core:baseline": "tsx ./scripts/perf/core-benchmark.ts --update-baseline",
"perf:runtime": "tsx ./scripts/perf/runtime-benchmark.ts",
"perf:runtime:check": "tsx ./scripts/perf/runtime-benchmark.ts --strict",
"perf:runtime:baseline": "tsx ./scripts/perf/runtime-benchmark.ts --update-baseline",
"perf:gpu": "tsx ./scripts/perf/hardware-gpu-benchmark.ts",
"perf:gpu:check": "tsx ./scripts/perf/hardware-gpu-benchmark.ts --strict",
"perf:gpu:baseline": "tsx ./scripts/perf/hardware-gpu-benchmark.ts --update-baseline",
"perf:gpu:headed": "tsx ./scripts/perf/hardware-gpu-benchmark.ts --headed",
"perf:renderer": "tsx ./scripts/perf/real-renderer-benchmark.ts",
"perf:renderer:baseline": "tsx ./scripts/perf/real-renderer-benchmark.ts --update-baseline",
"perf:renderer:headed": "tsx ./scripts/perf/real-renderer-benchmark.ts --headed",
"lint": "pnpm run lint:oxlint && eslint . --max-warnings 0 && pnpm run lint:config && pnpm run lint:imports",
"lint:config": "node --test ./scripts/lint/config-coverage.test.mjs && node ./scripts/lint/config-coverage.mjs",
"lint:imports": "node --test ./scripts/lint/import-boundaries.test.mjs && node ./scripts/lint/import-boundaries.mjs",
"lint:oxlint": "oxlint --deny-warnings src/lib && oxlint --type-aware -A all -D typescript/await-thenable -D typescript/no-floating-promises -D typescript/no-misused-promises --deny-warnings src/lib && node --test ./scripts/lint/oxlint-equivalence.test.mjs && node ./scripts/lint/oxlint-equivalence.mjs",
"format": "oxfmt",
"format:check": "oxfmt --check"
},
"peerDependencies": {
"react": "^19.0.0",
"react-dom": "^19.0.0",
"svelte": "^5.29.0",
"vue": "^3.5.2"
},
"peerDependenciesMeta": {
"react": {
"optional": true
},
"react-dom": {
"optional": true
},
"svelte": {
"optional": true
},
"vue": {
"optional": true
}
},
"dependencies": {
"@webgpu/types": "^0.1.71"
},
"devDependencies": {
"@eslint/compat": "^2.1.0",
"@eslint/js": "catalog:",
"@playwright/test": "^1.62.1",
"@sveltejs/vite-plugin-svelte": "^7.3.0",
"@testing-library/react": "^16.3.2",
"@testing-library/svelte": "^5.4.2",
"@testing-library/vue": "^8.1.0",
"@types/node": "^25.8.0",
"@types/react": "^19.2.18",
"@types/react-dom": "^19.2.4",
"@vitejs/plugin-vue": "^6.0.8",
"@vitest/coverage-v8": "^4.1.10",
"@vue/tsconfig": "^0.8.1",
"eslint": "catalog:",
"eslint-config-prettier": "catalog:",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-svelte": "^3.23.0",
"eslint-plugin-vue": "^10.10.0",
"globals": "^17.11.0",
"happy-dom": "^20.11.2",
"oxlint": "^1.78.0",
"oxlint-tsgolint": "^7.0.2001",
"oxfmt": "catalog:",
"publint": "^0.3.23",
"react": "^19.2.8",
"react-dom": "^19.2.8",
"svelte": "^5.56.9",
"svelte-check": "^4.7.6",
"svelte2tsx": "^0.7.61",
"tsx": "^4.23.12",
"typescript": "catalog:",
"typescript-eslint": "^8.67.0",
"vite": "^8.2.1",
"vitest": "^4.1.10",
"vue": "^3.5.41",
"vue-tsc": "^3.3.9"
}
}