diff --git a/package-lock.json b/package-lock.json index 8a691673..cd0bfb73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,7 +34,7 @@ "@types/react": "19.2.17", "@vitest/coverage-v8": "4.1.8", "brepjs-opencascade": "*", - "brepkit-wasm": "2.112.0", + "brepkit-wasm": "2.115.8", "eslint": "10.5.0", "fast-check": "4.8.0", "husky": "9.1.7", @@ -136,7 +136,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -314,7 +313,6 @@ "integrity": "sha512-Ds16IyPm/dNJPCU8OzApo2gwGrgWT5BYHhE3NFwZbpCveqyvPDB9sZDDkJ5DsdOGT2aC+R3i0/M1OVXF2qdgPg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@algolia/client-common": "5.53.0", "@algolia/requester-browser-xhr": "5.53.0", @@ -1068,7 +1066,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=20.19.0" }, @@ -1117,7 +1114,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=20.19.0" } @@ -1186,7 +1182,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" @@ -1199,7 +1194,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "tslib": "^2.4.0" } @@ -2308,7 +2302,6 @@ "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==", "dev": true, "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=8.0.0" } @@ -2362,7 +2355,6 @@ "integrity": "sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, @@ -2547,7 +2539,6 @@ "integrity": "sha512-9t6SvBXXBEjOBcIzgozvBbd3jWrv3Gt3ngGhl1fhdZ/zRc7oZDVOFEqbi2zlBpW9BXhgDMKv422J0DL/3iQWfw==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/core": "2.8.0", "@opentelemetry/otlp-exporter-base": "0.219.0", @@ -2808,7 +2799,6 @@ "integrity": "sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@opentelemetry/core": "2.8.0", "@opentelemetry/resources": "2.8.0", @@ -3691,7 +3681,6 @@ "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-9.6.1.tgz", "integrity": "sha512-zF0rsKcVYpcJwbFEnv2HkHX9cvOEgsfQo/X8lwmR2dn13S4qEQJXir9fxf5js2LQFoXqxOY7MDkOkYx2uZ4gSg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.17.8", "@types/webxr": "*", @@ -5339,7 +5328,6 @@ "integrity": "sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } @@ -5362,7 +5350,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz", "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==", "license": "MIT", - "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -5397,7 +5384,6 @@ "resolved": "https://registry.npmjs.org/@types/three/-/three-0.184.1.tgz", "integrity": "sha512-6q4VdiqVsrTRqmk62/BnlcAvIrnDM0zf2ZDVKI5kZiniWrSaOHaQzmbp+BNzoggc/8tgW412pL//wZIxu2PPTA==", "license": "MIT", - "peer": true, "dependencies": { "@dimforge/rapier3d-compat": "~0.12.0", "@tweenjs/tween.js": "~23.1.3", @@ -5486,7 +5472,6 @@ "integrity": "sha512-5B7PfA2e1NQGCnDHd/0lW7W3gvp3d59Ryw54FYO8Uswxo9f6ikw3AZV+Xj/TvpImmpsiYyUqAfhC6kJID1jF6w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.61.0", "@typescript-eslint/types": "8.61.0", @@ -6306,7 +6291,6 @@ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -6373,7 +6357,6 @@ "integrity": "sha512-OGW1q6b91CRSSeiOnM8LxuR5NYJ2esvw66jUZ4IIvdv+ItNkx3pwLuyR+jaCdbGee4ov5WgUnyPryyh11xvByQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@algolia/abtesting": "1.19.0", "@algolia/client-abtesting": "5.53.0", @@ -6582,8 +6565,7 @@ }, "node_modules/brepjs": { "resolved": "", - "link": true, - "version": "18.100.1" + "link": true }, "node_modules/brepjs-bim": { "resolved": "packages/brepjs-bim", @@ -6630,9 +6612,9 @@ "link": true }, "node_modules/brepkit-wasm": { - "version": "2.112.0", - "resolved": "https://registry.npmjs.org/brepkit-wasm/-/brepkit-wasm-2.112.0.tgz", - "integrity": "sha512-sYHfTeGo+0/pqZCe/EVh7OJXSQI52dZEh1Fes7XHV4UW1aMK51axLM0Ed0j8BD3KlZ+zewY1zvZKGxae3KT2Ig==", + "version": "2.115.8", + "resolved": "https://registry.npmjs.org/brepkit-wasm/-/brepkit-wasm-2.115.8.tgz", + "integrity": "sha512-/dhTfYtSwtgVcImfEQGqrzOMUaXYzAFTAXpt+VX8WzVXjb5XehrRV/IoQTfVqwZB7Zk3zf479+fj+nfWly4egA==", "dev": true, "license": "MIT OR Apache-2.0" }, @@ -7158,7 +7140,6 @@ "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -7265,7 +7246,6 @@ "integrity": "sha512-Gej7U+OKR+LZ8kvX7rb2HhCYJ0IhvEFsnkud4SB1PR+BUY/TsSO0dmOW59WEVLu51b1Rm+gQRKoz4bLYxGSZ2g==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10" } @@ -7710,7 +7690,6 @@ "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "dev": true, "license": "ISC", - "peer": true, "engines": { "node": ">=12" } @@ -7930,8 +7909,7 @@ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1624250.tgz", "integrity": "sha512-YFAat/lOiIk0ARmBweG+ygrEcbZrq5B9urRyUoeQKp53MlidHXE2TmTbxKcaXoQj7u/aX+jebDO4BW55rs0WwA==", "devOptional": true, - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/dompurify": { "version": "3.4.11", @@ -8202,7 +8180,6 @@ "integrity": "sha512-1y+7C+vi12bUK1IpZeaV3gsH9fHLBmPvYmPx42pvT/E9yG0IC8g3PUZZgp0+JLJl7ZDK0flc2gc+Aw9dpCvIsQ==", "dev": true, "license": "MIT", - "peer": true, "workspaces": [ "packages/*" ], @@ -8438,7 +8415,6 @@ "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", "license": "MIT", - "peer": true, "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.1", @@ -8732,7 +8708,6 @@ "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "tabbable": "^6.4.0" } @@ -9029,7 +9004,6 @@ "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.25.tgz", "integrity": "sha512-2NFaIyNVgJmBs/ecmtGzlmluTFs5cHEWGTdu0t1HBwYzoGXOL5nUQBRMXsXWla5i4KkG//QMzVP88m1+I3fdAQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=16.9.0" } @@ -9435,7 +9409,6 @@ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", "dev": true, "license": "MIT", - "peer": true, "bin": { "jiti": "lib/jiti-cli.mjs" } @@ -10184,6 +10157,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "license": "MIT", + "peer": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -10195,7 +10169,8 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lru-cache": { "version": "11.5.1", @@ -10698,7 +10673,6 @@ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.55.1.tgz", "integrity": "sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==", "license": "MIT", - "peer": true, "dependencies": { "dompurify": "^3.4.10", "marked": "14.0.0" @@ -11592,6 +11566,7 @@ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" } @@ -11738,7 +11713,6 @@ "integrity": "sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@oxc-project/types": "=0.133.0", "@rolldown/pluginutils": "^1.0.0" @@ -12113,7 +12087,6 @@ "integrity": "sha512-VnDS2fycANrJFVPQwjaD+h+hkISY7EB3LsPsYWje4lBCjQwwsZLxjwwRwVJKHrcj2ZqyG+DdXykWm9mbZklZrw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "bytes-iec": "^3.1.1", "lilconfig": "^3.1.3", @@ -12485,8 +12458,7 @@ "version": "0.184.0", "resolved": "https://registry.npmjs.org/three/-/three-0.184.0.tgz", "integrity": "sha512-wtTRjG92pM5eUg/KuUnHsqSAlPM296brTOcLgMRqEeylYTh/CdtvKUvCyyCQTzFuStieWxvZb8mVTMvdPyUpxg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/three-mesh-bvh": { "version": "0.8.3", @@ -12861,7 +12833,6 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -13180,7 +13151,6 @@ "integrity": "sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "lightningcss": "^1.32.0", "picomatch": "^4.0.4", @@ -13919,7 +13889,6 @@ "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -14092,7 +14061,6 @@ "integrity": "sha512-vAMKHfImQlYSy0C+PBue4s3ERZ2xGKfgZg5GXAsLInq1dyh2H78ILVP5sK0KPFPVW4kv+OGCIvBEondcjpZp7A==", "devOptional": true, "license": "MIT", - "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.38", "@vue/compiler-sfc": "3.5.38", @@ -14445,7 +14413,6 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } @@ -14522,11 +14489,11 @@ } }, "packages/brepjs-cad": { - "version": "0.30.1", + "version": "0.30.0", "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "1.29.0", - "brepjs": "^18.100.1", + "brepjs": "^18.83.2", "commander": "^15.0.0", "occt-wasm": "^3.0.0", "typescript": "^6.0.3" @@ -14591,7 +14558,6 @@ "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -14693,7 +14659,6 @@ "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -14762,7 +14727,6 @@ "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } diff --git a/package.json b/package.json index f3c18b4a..c90079be 100644 --- a/package.json +++ b/package.json @@ -261,7 +261,7 @@ "@types/react": "19.2.17", "@vitest/coverage-v8": "4.1.8", "brepjs-opencascade": "*", - "brepkit-wasm": "2.112.0", + "brepkit-wasm": "2.115.8", "eslint": "10.5.0", "fast-check": "4.8.0", "husky": "9.1.7", diff --git a/src/kernel/brepkit/brepkitWasmTypes.ts b/src/kernel/brepkit/brepkitWasmTypes.ts index 4db3c713..6832254d 100644 --- a/src/kernel/brepkit/brepkitWasmTypes.ts +++ b/src/kernel/brepkit/brepkitWasmTypes.ts @@ -2,7 +2,7 @@ * Type-safe interface for the brepkit WASM kernel (`BrepKernel`). * * AUTO-GENERATED by `npm run sync:brepkit-types`. - * Synced against `brepkit-wasm@2.112.0`. + * Synced against `brepkit-wasm@2.115.8`. * * Methods not yet referenced in the adapter layer are tagged `@unwired`. * @@ -766,12 +766,18 @@ export interface BrepkitKernel { copyFace(face: number): number; + /** @unwired */ + deserializeSolid(data: Uint8Array): number; + /** @unwired */ detectCoincidentFaces(a: number, b: number): string; /** @unwired */ filletWithEvolution(solid: number, edgeHandles: Uint32Array | number[], radius: number): string; + /** @unwired */ + fuseAll(solidHandles: Uint32Array | number[]): number; + getNurbsCurveData(edge: number): string; /** @unwired */ @@ -818,6 +824,27 @@ export interface BrepkitKernel { rz: number ): number; + /** @unwired */ + makeEllipseArc3d( + startX: number, + startY: number, + startZ: number, + endX: number, + endY: number, + endZ: number, + centerX: number, + centerY: number, + centerZ: number, + axisX: number, + axisY: number, + axisZ: number, + refX: number, + refY: number, + refZ: number, + semiMajor: number, + semiMinor: number + ): number; + makeEllipseEdge( cx: number, cy: number, @@ -876,6 +903,9 @@ export interface BrepkitKernel { deflection: number ): string; + /** @unwired */ + serializeSolid(solid: number): Uint8Array; + /** @unwired */ sketchAddCircle(sketch: number, centerIdx: number, radius: number): number; @@ -886,7 +916,7 @@ export interface BrepkitKernel { // ── Feature-guarded stubs (not in current WASM) ───────────────── - /** @future Not in brepkit-wasm 2.112.0. Referenced with feature detection in adapter. */ + /** @future Not in brepkit-wasm 2.115.8. Referenced with feature detection in adapter. */ chamferAsymmetric?( solid: number, edgeHandles: Uint32Array | number[], @@ -894,16 +924,16 @@ export interface BrepkitKernel { d2: number ): number; - /** @future Not in brepkit-wasm 2.112.0. Referenced with feature detection in adapter. */ + /** @future Not in brepkit-wasm 2.115.8. Referenced with feature detection in adapter. */ compoundFuse?(solidIds: Uint32Array | number[]): number; - /** @future Not in brepkit-wasm 2.112.0. Referenced with feature detection in adapter. */ + /** @future Not in brepkit-wasm 2.115.8. Referenced with feature detection in adapter. */ copyEdge?(edge: number): number; - /** @future Not in brepkit-wasm 2.112.0. Referenced with feature detection in adapter. */ + /** @future Not in brepkit-wasm 2.115.8. Referenced with feature detection in adapter. */ transformEdge?(edge: number, matrix: Float64Array | number[]): void; - /** @future Not in brepkit-wasm 2.112.0. Referenced with feature detection in adapter. */ + /** @future Not in brepkit-wasm 2.115.8. Referenced with feature detection in adapter. */ validateSolidDetails?(solid: number): string; // ── wasm-bindgen destructor ────────────────────────────────────