{ "name": "blender-web-editor", "private": true, "version": "0.1.0", "type": "module", "scripts": { "dev": "vite --config app/vite.config.ts", "build": "tsc -p tsconfig.json && vite build --config app/vite.config.ts", "typecheck": "tsc -p tsconfig.json --noEmit", "lint": "eslint app", "check:local-deps": "bash ../tools/web/check-local-deps.sh", "test": "node --test tests/**/*.test.mjs", "test:e2e": "playwright test --config playwright.config.ts", "test:capability-gates": "playwright test --config playwright.config.ts -g \"undeclared capability protocols\"", "test:simulation-cache": "playwright test --config playwright.config.ts -g \"Simulation caches\"", "test:physics-main-reader": "node ../tools/web/check-physics-main-reader.mjs", "test:browser": "playwright test --config playwright.release.config.ts", "test:cross-browser": "npm run test:browser", "test:golden": "node ../tools/web/run-blender-golden.mjs", "test:collapse-ratios": "node ../tools/web/check-collapse-ratios.mjs", "test:topology-collapse": "node ../tools/web/check-topology-collapse.mjs", "test:depsgraph": "node ../tools/web/check-depsgraph.mjs", "test:nonmesh-binary": "playwright test --config playwright.config.ts -g \"one-million-point binary transfer gate\"", "test:vdb": "playwright test --config playwright.config.ts -g \"OpenVDB metadata\"", "test:frame-evaluation": "node ../tools/web/check-frame-evaluation.mjs", "test:pose-constraint-goldens": "node ../tools/web/check-pose-constraint-goldens.mjs", "test:main-roundtrip": "node ../tools/web/check-main-roundtrip.mjs", "test:nonmesh-roundtrip": "node ../tools/web/check-nonmesh-roundtrip.mjs", "test:nonmesh-desktop-golden": "node ../tools/web/check-nonmesh-desktop-golden.mjs", "test:selection-history": "playwright test --config playwright.config.ts -g \"N-015 selection history\"", "test:nonmesh-interaction": "playwright test --config playwright.config.ts -g \"N-015 curve gizmo interaction\"", "test:vdb-availability": "node ../tools/web/check-vdb-availability.mjs", "test:grease-pencil": "node ../tools/web/check-grease-pencil-roundtrip.mjs", "test:grease-pencil-editor": "playwright test --config playwright.config.ts -g \"N-016 Grease Pencil editor context\"", "test:paint-roundtrip": "node ../tools/web/check-paint-roundtrip.mjs", "test:lighting-roundtrip": "node ../tools/web/check-lighting-roundtrip.mjs", "test:compositor-main-reader": "node ../tools/web/check-compositor-main-reader.mjs", "test:sequencer": "playwright test --config playwright.config.ts -g \"N-021 sequencer\"", "test:sequencer-main-reader": "node ../tools/web/check-sequencer-main-reader.mjs", "test:tracking-mask": "playwright test --config playwright.config.ts -g \"N-022 tracking\"", "test:mask-main-reader": "node ../tools/web/check-mask-main-reader.mjs", "test:asset-library": "playwright test --config playwright.config.ts -g \"N-023 asset\"", "test:library-main-reader": "node ../tools/web/check-library-main-reader.mjs", "test:editor-workflow": "playwright test --config playwright.config.ts -g \"N-024 editor\"", "test:editor-main-reader": "node ../tools/web/check-editor-main-reader.mjs", "test:scripting-platform": "playwright test --config playwright.config.ts -g \"N-025 script\"", "test:script-main-reader": "node ../tools/web/check-script-main-reader.mjs", "test:release-gate": "playwright test --config playwright.config.ts -g \"N-026 release\"", "test:browser-smoke": "playwright test --config playwright.release.config.ts -g \"boots the offline engine\"", "test:cross-browser-smoke": "npm run test:browser-smoke", "test:authoring-roundtrip": "node ../tools/web/check-authoring-roundtrip.mjs", "test:modifier-goldens": "node ../tools/web/check-modifier-goldens.mjs", "test:modifier-cycle": "node ../tools/web/check-modifier-cycle.mjs", "test:modifier-matrix": "node ../tools/web/check-modifier-capability-matrix.mjs", "test:image-resources": "node ../tools/web/check-image-resources.mjs", "test:glb-blender-roundtrip": "node ../tools/web/check-glb-blender-roundtrip.mjs", "test:nonmesh-glb-blender-roundtrip": "node ../tools/web/check-nonmesh-glb-blender-roundtrip.mjs", "test:nonmesh-usd-serialization": "USD_DESKTOP_REQUIRED=0 node ../tools/web/check-nonmesh-usd-blender-roundtrip.mjs", "test:nonmesh-usd-blender-roundtrip": "USD_DESKTOP_REQUIRED=1 node ../tools/web/check-nonmesh-usd-blender-roundtrip.mjs", "test:release-performance": "node ../tools/web/check-release-performance.mjs", "test:malicious-blends": "node ../tools/web/check-malicious-blends.mjs", "test:release-package": "npm run build && npm run release:sbom && node ../tools/web/check-release-package.mjs", "release:sbom": "node ../tools/web/generate-sbom.mjs", "release:evidence": "node ../tools/web/collect-release-evidence.mjs", "test:release-evidence": "node ../tools/web/check-release-evidence.mjs", "release:offline": "npm run build && node ../tools/web/check-offline-reproducibility.mjs", "diagnose:depsgraph": "node ../tools/web/diagnose-depsgraph.mjs" }, "dependencies": { "react": "19.2.8", "react-dom": "19.2.8" }, "devDependencies": { "@eslint/js": "10.0.1", "@playwright/test": "1.62.1", "@types/react": "19.2.18", "@types/react-dom": "19.2.4", "@types/three": "0.185.1", "@vitejs/plugin-react": "6.0.5", "eslint": "10.8.0", "typescript": "5.9.3", "typescript-eslint": "8.66.0", "vite": "8.2.0" } }