UNPKG

@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
{ "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" } }