geospec-engine 0.1.1-next.163 → 0.1.1-next.165

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -40,12 +40,14 @@ than a geometric pass, including under negation.
40
40
 
41
41
  Admission and retention limits default to the entry profile
42
42
  (`geospec-entry-config-v1`: 64 MiB subject and resource, 128 MiB total binary,
43
- 2 000 000 vertices, 4 000 000 triangles, 256 MiB retained analysis, 32 retained
44
- subjects). A host may select other limits when it constructs an engine: Node
43
+ 2 000 000 vertices, 4 000 000 triangles, 65 536 occurrences, 256 MiB retained
44
+ analysis, 256 mesh entries, 256 reusable CSG solids, 32 retained subjects). A
45
+ host may select other limits when it constructs an engine: Node
45
46
  `new Engine(cacheOptions, executionPermits, limits)`, WASM
46
47
  `new Engine(execution, limits)` and Python `GeoSpecEngine(limits=...)` accept
47
48
  `maxSubjectBytes`, `maxResourceBytes`, `maxTotalBinaryBytes`, `maxVertices`,
48
- `maxTriangles`, `maxMeshBytes` and `maxRetainedSubjects` (snake_case in Python).
49
+ `maxTriangles`, `maxOccurrences`, `maxMeshBytes`, `maxMeshEntries`,
50
+ `maxSolidEntries` and `maxRetainedSubjects` (snake_case in Python).
49
51
 
50
52
  Each limit must be a positive integer, and the subject and resource limits must
51
53
  not exceed the total; anything else refuses with `invalid-request`. Native hosts
@@ -56,6 +58,19 @@ carries a `geospec-host-config-v1-…` profile id derived from its values, so a
56
58
  run records which limits it used. Raised limits change no tolerance or refusal
57
59
  rule.
58
60
 
61
+ An input over a limit refuses with `limit-exceeded`. The error also carries
62
+ `GEOSPEC_RESOURCE_LIMIT` or `GEOSPEC_ANALYSIS_LIMIT` with the limit class, unit,
63
+ limit and requirement: `capacity` in JS, `capacity_code` and `capacity_details`
64
+ in Python.
65
+
66
+ `maxMeshBytes` also bounds the working memory of the mesh watertight analysis
67
+ (`toBeWatertight`, a declared `watertight` in `toHaveMeshIntegrity`,
68
+ `analyzeMesh` and the mesh overlap observation) and of the material analysis
69
+ behind connected components. A claim whose analysis would need more refuses
70
+ with `GEOSPEC_ANALYSIS_LIMIT` before it allocates past the limit, naming what
71
+ it needed: `Watertight scratch needs …; the analysis limit is 256 MiB
72
+ (268435456 bytes).`
73
+
59
74
  Use `geospec/assertion-client` for standalone JS host composition,
60
75
  `geospec/vitest` for Vitest integration, and the wheel's `geospec` facade
61
76
  and pytest plugin for Python. These clients retain canonical claims/results from
@@ -1,10 +1,27 @@
1
1
  //#region src/host-types.d.ts
2
2
  /** Bytes accepted and returned by a GeoSpec host facade. @public */
3
3
  type HostBytes = Uint8Array<ArrayBuffer>;
4
+ /**
5
+ * The numbers behind a `limit-exceeded` capacity refusal, matching the details of a claim refused with
6
+ * `GEOSPEC_RESOURCE_LIMIT` or `GEOSPEC_ANALYSIS_LIMIT`. @public
7
+ */
8
+ type HostCapacityRefusal = {
9
+ /** `GEOSPEC_RESOURCE_LIMIT` for an admission limit, `GEOSPEC_ANALYSIS_LIMIT` for an analysis limit. */
10
+ readonly code: 'GEOSPEC_RESOURCE_LIMIT' | 'GEOSPEC_ANALYSIS_LIMIT';
11
+ readonly limitClass: 'admission' | 'analysis';
12
+ /** `bytes` or the counted noun, such as `occurrences` or `retained subjects`. */
13
+ readonly unit: string;
14
+ /** The configured limit. */
15
+ readonly limit: number;
16
+ /** What the refused input needs, counted in the same unit. */
17
+ readonly required: number;
18
+ };
4
19
  /** Stable protocol failure surfaced by every GeoSpec host facade. @public */
5
20
  declare class ProtocolError extends Error {
6
21
  /** Machine-readable core error code. */
7
22
  readonly code: string;
23
+ /** The limit and requirement of a `limit-exceeded` capacity refusal; absent for any other error. */
24
+ readonly capacity?: HostCapacityRefusal;
8
25
  constructor(code: string, message: string, options?: ErrorOptions);
9
26
  }
10
27
  /** Byte-only stateful engine surface shared by Node and WASM hosts. @public */
@@ -54,8 +71,14 @@ type HostEngineLimits = {
54
71
  readonly maxVertices?: number;
55
72
  /** Most decoded mesh triangles (entry: 4 000 000). */
56
73
  readonly maxTriangles?: number;
74
+ /** Most STEP occurrences one subject admits (entry: 65 536). */
75
+ readonly maxOccurrences?: number;
57
76
  /** Retained analysis bytes per subject (entry: 256 MiB). */
58
77
  readonly maxMeshBytes?: number;
78
+ /** Most mesh entries one claim phase demands per subject (entry: 256). */
79
+ readonly maxMeshEntries?: number;
80
+ /** Most CSG source solids one engine keeps for reuse; further operands are admitted per claim (entry: 256). */
81
+ readonly maxSolidEntries?: number;
59
82
  /** Most subjects one engine retains (entry: 32). */
60
83
  readonly maxRetainedSubjects?: number;
61
84
  };
@@ -66,4 +89,4 @@ type HostCacheLifecycle = {
66
89
  cacheProducerIdentity(): HostBytes;
67
90
  };
68
91
  //#endregion
69
- export { HostBytes, HostCacheLifecycle, HostCacheOptions, HostClaimEvaluation, HostEngine, HostEngineLimits, HostSubjectLifecycle, ProtocolError };
92
+ export { HostBytes, HostCacheLifecycle, HostCacheOptions, HostCapacityRefusal, HostClaimEvaluation, HostEngine, HostEngineLimits, HostSubjectLifecycle, ProtocolError };
@@ -1 +1 @@
1
- var e=class extends Error{code;constructor(e,t,n){super(t,n),this.name=`ProtocolError`,this.code=e}};const t=/* @__PURE__ */ new Set([`maxSubjectBytes`,`maxResourceBytes`,`maxTotalBinaryBytes`,`maxVertices`,`maxTriangles`,`maxMeshBytes`,`maxRetainedSubjects`]),n=n=>{if(typeof n!=`object`||!n||Array.isArray(n))throw new e(`invalid-request`,`Engine limits must be an object.`);let r={};for(let[i,a]of Object.entries(n)){if(!t.has(i))throw new e(`invalid-request`,`Unknown engine limit '${i}'.`);if(a!==void 0){if(typeof a!=`number`)throw new e(`invalid-request`,`Engine limit ${i} must be a positive integer.`);r[i]=a}}return r},r=e=>typeof e==`object`&&!!e,i=t=>{if(t instanceof e)return t;if(r(t)&&typeof t.code==`string`&&typeof t.message==`string`)return new e(t.code,t.message,{cause:t});throw t},a=t=>{if(!(t instanceof Uint8Array))throw new e(`invalid-request`,`Host binding returned a non-byte value.`);return Uint8Array.from(t)},o=t=>{if(t.byteLength>=8){let e=new DataView(t.buffer,t.byteOffset,8),n=8+e.getUint32(0,!0),r=n+e.getUint32(4,!0);if(r<=t.byteLength)return{canonicalPlan:t.subarray(8,n),canonicalClaim:t.subarray(n,r),canonicalResult:t.subarray(r)}}throw new e(`invalid-request`,`Host binding returned a malformed claim evaluation.`)},s=e=>{try{return e()}catch(e){throw i(e)}},c=(e,t,n)=>{if(n===0)return;let r=t===`input`?`inputCopies`:`outputCopies`,i=t===`input`?`inputBytes`:`outputBytes`,a=e[i]+BigInt(n),o=18446744073709551615n;e[r]===o||a>o?e.exact=!1:(e[r]+=1n,e[i]=a)},l=(e,t)=>{let n=JSON.parse(new TextDecoder().decode(e));if(n.schema!==`geospec-engine-observations-v1`)throw Error(`Unsupported engine observation schema.`);n.exact=n.exact&&t.exact;for(let e of[`inputCopies`,`inputBytes`,`outputCopies`,`outputBytes`])n.copies[e]=(BigInt(n.copies[e])+t[e]).toString();return new TextEncoder().encode(JSON.stringify(n))};export{e as ProtocolError,l as appendHostObservationCopies,i as asProtocolError,s as callHost,c as observeHostCopy,a as toHostBytes,o as toHostClaimEvaluation,n as toHostEngineLimits};
1
+ const e=/* @__PURE__ */ new Map([[`binary subject`,[`admission`,`bytes`]],[`binary resource`,[`admission`,`bytes`]],[`total binary`,[`admission`,`bytes`]],[`vertex`,[`admission`,`vertices`]],[`triangle`,[`admission`,`triangles`]],[`occurrence`,[`admission`,`occurrences`]],[`retained subject`,[`admission`,`retained subjects`]],[`analysis retention`,[`analysis`,`bytes`]],[`mesh entry`,[`analysis`,`mesh entries`]]]),t=/^.+? (?:\S+ [KMGTPE]iB \((?<requiredBytes>\d+) bytes\)|(?<requiredCount>\d+) (?<requiredUnit>[a-z ]+)); the configured (?<name>[a-z ]+) limit is (?:\S+ [KMGTPE]iB \((?<limitBytes>\d+) bytes\)|(?<limitCount>\d+) (?<limitUnit>[a-z ]+))\.$/,n=n=>{let r=t.exec(n)?.groups;if(r===void 0)return;let{requiredBytes:i,requiredCount:a,requiredUnit:o,name:s,limitBytes:c,limitCount:l,limitUnit:u}=r,d=e.get(s??``);if(d===void 0)return;let[f,p]=d,m=(e,t,n)=>e===void 0?(p===`bytes`?n===`bytes`||n===`byte`&&t===`1`:n===p)?Number(t):void 0:p===`bytes`?Number(e):void 0,h=m(i,a,o),g=m(c,l,u);if(h!==void 0&&g!==void 0)return{code:f===`admission`?`GEOSPEC_RESOURCE_LIMIT`:`GEOSPEC_ANALYSIS_LIMIT`,limitClass:f,unit:p,limit:g,required:h}};var r=class extends Error{code;capacity;constructor(e,t,r){super(t,r),this.name=`ProtocolError`,this.code=e;let i=e===`limit-exceeded`?n(t):void 0;i!==void 0&&(this.capacity=i)}};const i=/* @__PURE__ */ new Set([`maxSubjectBytes`,`maxResourceBytes`,`maxTotalBinaryBytes`,`maxVertices`,`maxTriangles`,`maxOccurrences`,`maxMeshBytes`,`maxMeshEntries`,`maxSolidEntries`,`maxRetainedSubjects`]),a=e=>{if(typeof e!=`object`||!e||Array.isArray(e))throw new r(`invalid-request`,`Engine limits must be an object.`);let t={};for(let[n,a]of Object.entries(e)){if(!i.has(n))throw new r(`invalid-request`,`Unknown engine limit '${n}'.`);if(a!==void 0){if(typeof a!=`number`)throw new r(`invalid-request`,`Engine limit ${n} must be a positive integer.`);t[n]=a}}return t},o=e=>typeof e==`object`&&!!e,s=e=>{if(e instanceof r)return e;if(o(e)&&typeof e.code==`string`&&typeof e.message==`string`)return new r(e.code,e.message,{cause:e});throw e},c=e=>{if(!(e instanceof Uint8Array))throw new r(`invalid-request`,`Host binding returned a non-byte value.`);return Uint8Array.from(e)},l=e=>{if(e.byteLength>=8){let t=new DataView(e.buffer,e.byteOffset,8),n=8+t.getUint32(0,!0),r=n+t.getUint32(4,!0);if(r<=e.byteLength)return{canonicalPlan:e.subarray(8,n),canonicalClaim:e.subarray(n,r),canonicalResult:e.subarray(r)}}throw new r(`invalid-request`,`Host binding returned a malformed claim evaluation.`)},u=e=>{try{return e()}catch(e){throw s(e)}},d=(e,t,n)=>{if(n===0)return;let r=t===`input`?`inputCopies`:`outputCopies`,i=t===`input`?`inputBytes`:`outputBytes`,a=e[i]+BigInt(n),o=18446744073709551615n;e[r]===o||a>o?e.exact=!1:(e[r]+=1n,e[i]=a)},f=(e,t)=>{let n=JSON.parse(new TextDecoder().decode(e));if(n.schema!==`geospec-engine-observations-v1`)throw Error(`Unsupported engine observation schema.`);n.exact=n.exact&&t.exact;for(let e of[`inputCopies`,`inputBytes`,`outputCopies`,`outputBytes`])n.copies[e]=(BigInt(n.copies[e])+t[e]).toString();return new TextEncoder().encode(JSON.stringify(n))};export{r as ProtocolError,f as appendHostObservationCopies,s as asProtocolError,u as callHost,d as observeHostCopy,c as toHostBytes,l as toHostClaimEvaluation,a as toHostEngineLimits};
package/dist/index.d.mts CHANGED
@@ -1,3 +1,3 @@
1
- import { HostBytes, HostEngine, HostEngineLimits, ProtocolError } from "./host-types.mjs";
1
+ import { HostBytes, HostCapacityRefusal, HostEngine, HostEngineLimits, ProtocolError } from "./host-types.mjs";
2
2
  import { Engine, WasmInput, canonicalize, initialize } from "./wasm.mjs";
3
- export { Engine, type HostBytes, type HostEngine, type HostEngineLimits, ProtocolError, type WasmInput, canonicalize, initialize };
3
+ export { Engine, type HostBytes, type HostCapacityRefusal, type HostEngine, type HostEngineLimits, ProtocolError, type WasmInput, canonicalize, initialize };
package/dist/node.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { HostBytes, HostCacheLifecycle, HostCacheOptions, HostClaimEvaluation, HostEngine, HostEngineLimits, HostSubjectLifecycle, ProtocolError } from "./host-types.mjs";
1
+ import { HostBytes, HostCacheLifecycle, HostCacheOptions, HostCapacityRefusal, HostClaimEvaluation, HostEngine, HostEngineLimits, HostSubjectLifecycle, ProtocolError } from "./host-types.mjs";
2
2
  //#region src/node.d.ts
3
3
  /** Stateful Node N-API facade over the configured native GeoSpec engine. @public */
4
4
  declare class Engine implements HostEngine, HostSubjectLifecycle, HostCacheLifecycle {
@@ -96,4 +96,4 @@ declare class Engine implements HostEngine, HostSubjectLifecycle, HostCacheLifec
96
96
  */
97
97
  declare const canonicalize: (input: HostBytes) => HostBytes;
98
98
  //#endregion
99
- export { Engine, type HostBytes, type HostCacheLifecycle, type HostCacheOptions, type HostClaimEvaluation, type HostEngine, type HostEngineLimits, type HostSubjectLifecycle, ProtocolError, canonicalize };
99
+ export { Engine, type HostBytes, type HostCacheLifecycle, type HostCacheOptions, type HostCapacityRefusal, type HostClaimEvaluation, type HostEngine, type HostEngineLimits, type HostSubjectLifecycle, ProtocolError, canonicalize };
package/dist/wasm.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { HostBytes, HostClaimEvaluation, HostEngine, HostEngineLimits, HostSubjectLifecycle, ProtocolError } from "./host-types.mjs";
1
+ import { HostBytes, HostCapacityRefusal, HostClaimEvaluation, HostEngine, HostEngineLimits, HostSubjectLifecycle, ProtocolError } from "./host-types.mjs";
2
2
  import { WasmExecution as WasmExecution$1, WasmInput as WasmInput$1, WasmResources as WasmResources$1 } from "./mixed-wasm-loader.mjs";
3
3
  //#region src/wasm.d.ts
4
4
  /** Input accepted by the compiled Emscripten module. @public */
@@ -92,4 +92,4 @@ declare class Engine implements HostEngine, HostSubjectLifecycle {
92
92
  */
93
93
  declare const canonicalize: (input: HostBytes) => HostBytes;
94
94
  //#endregion
95
- export { Engine, type HostBytes, type HostClaimEvaluation, type HostEngine, type HostEngineLimits, type HostSubjectLifecycle, ProtocolError, WasmExecution, WasmInput, WasmResources, canonicalize, initialize };
95
+ export { Engine, type HostBytes, type HostCapacityRefusal, type HostClaimEvaluation, type HostEngine, type HostEngineLimits, type HostSubjectLifecycle, ProtocolError, WasmExecution, WasmInput, WasmResources, canonicalize, initialize };
@@ -2,19 +2,19 @@
2
2
  "schema": "geospec-native-source-relink-asset-v2",
3
3
  "artifact": {
4
4
  "fileName": "geospec-engine-native-source-relink.tar.gz",
5
- "bytes": 56817603,
6
- "sha256": "79c13426a6d4542f5967d194392d819ef82073591e17cdb5ae53c35a5af219c1",
5
+ "bytes": 56843982,
6
+ "sha256": "b1d2eb06956ed4226ab0aca514058264e992e268fed14272a46ce29d6c13525d",
7
7
  "format": "deterministic tar+gzip"
8
8
  },
9
9
  "delivery": {
10
10
  "required": "co-deliver adjacent to each root, platform and wheel artifact",
11
11
  "publicationStatus": "outside this local charter"
12
12
  },
13
- "sourceRevision": "6f4f6d6d01d16d82d3db42549ddcf779cc92cc94",
13
+ "sourceRevision": "fcd57f6e17dfb615f7597c8906b0c38abe08f927",
14
14
  "sourceRevisionIsReferenceOnly": true,
15
15
  "sourceTree": {
16
- "files": 551,
17
- "sha256": "977198cfc7874015c836ec4e9cee9c8b51489b7c4473cdb7cce512332fa3df11"
16
+ "files": 554,
17
+ "sha256": "f1640465afd482c0aaadc3a79c7066a92fdab8d8de5324691bfd4803ae6c871e"
18
18
  },
19
19
  "occtSourceArchive": {
20
20
  "path": "archives/occt.tar.gz",
@@ -28,11 +28,11 @@
28
28
  },
29
29
  "mixedProducerRecipe": {
30
30
  "path": "receipts/mixed-producer-recipe.json",
31
- "sha256": "bc0f02c301f8529b29aeec6cccb28dbfc591b85c751d9d13d1846e628099e0d0",
31
+ "sha256": "3e563442e3795484d724caae3a726528bed30022d431fd98a518bde391ea00c3",
32
32
  "status": "current-mixed",
33
33
  "target": "wasm32-unknown-emscripten",
34
34
  "profile": "emscripten-6.0.5-wasm-legacy-exceptions-wasm-sjlj-st-simd128-v1-rust-c656540-panic-abort-link-O3",
35
- "sourceRevision": "6f4f6d6d01d16d82d3db42549ddcf779cc92cc94",
35
+ "sourceRevision": "fcd57f6e17dfb615f7597c8906b0c38abe08f927",
36
36
  "sourceRevisionIsReferenceOnly": true,
37
37
  "artifacts": [
38
38
  {
@@ -43,15 +43,15 @@
43
43
  },
44
44
  {
45
45
  "path": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/packages/geospec-engine/bindings/emscripten/generated/geospec_engine_native.wasm",
46
- "bytes": 16558946,
47
- "sha256": "f9dbcaab9331d4851afa250f786319e28b6a99218fe370509a6fdbfad54d8623",
46
+ "bytes": 16604495,
47
+ "sha256": "d011870491410cb3198a24963cef25464f3c3ddd0f06960e6233563ab027bd64",
48
48
  "distPath": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/packages/geospec-engine/dist/bindings/mixed-wasm/geospec_engine_native.wasm"
49
49
  }
50
50
  ],
51
51
  "evidence": {
52
52
  "receipt": {
53
53
  "path": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/out/artifacts/geospec-native-engine/ci/mixed-build-receipt.json",
54
- "sha256": "5c64b7909c9d8a022c33a3a998844259b64e684a7f76546c4397b68841285e15",
54
+ "sha256": "f74505caaf8c5afb31ac1db97ec18013d38204ee90f6f5efd86fa69268316e7e",
55
55
  "bytes": 7434
56
56
  },
57
57
  "commands": {
@@ -61,11 +61,11 @@
61
61
  },
62
62
  "inputs": {
63
63
  "path": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/out/artifacts/geospec-native-engine/ci/mixed-inputs.json",
64
- "sha256": "880030ceec068284e7d1f53ab3218eb2861670d4b9b16eb8842af6709d7bb47a",
65
- "bytes": 26331467
64
+ "sha256": "125785a0c52903dd9a3f3259a505b92ca9bd4be515efc4527e3343e5a4c3774a",
65
+ "bytes": 26332223
66
66
  }
67
67
  },
68
- "inputCount": 67813,
68
+ "inputCount": 67816,
69
69
  "qualification": "Current-source compile/link only; runtime and target parity require independent checks.",
70
70
  "prefixRecovery": null,
71
71
  "environmentEvidence": "Exact source-derived environment from the pinned build-mixed-wasm.mts; commands are recorded observations.",
@@ -81,7 +81,7 @@
81
81
  "prefix": "native",
82
82
  "path": "receipts/build-occt-28b9757e494af724cde7c38b9227cf443f66ad6f2f8344d9f9e51b85a0b55c50.sh",
83
83
  "sha256": "28b9757e494af724cde7c38b9227cf443f66ad6f2f8344d9f9e51b85a0b55c50",
84
- "prefixReceiptSha256": "19da226f3e12b318d58163c53b3546e30056275246f30be82ee6869af612896a",
84
+ "prefixReceiptSha256": "8e777da4452391e6f74e61f474ef6bf9ef72bd77711ef389a1e4e19a91447248",
85
85
  "recovery": null,
86
86
  "currentRebuildHelper": {
87
87
  "path": "source/packages/geospec-engine/native/occt/build-occt.sh",
@@ -4,10 +4,10 @@ The complete corresponding source and relink kit is delivered as the separate
4
4
  adjacent asset `geospec-engine-native-source-relink.tar.gz`. It is intentionally excluded from the
5
5
  root npm package, platform npm package and Python wheel payloads.
6
6
 
7
- - SHA-256: `79c13426a6d4542f5967d194392d819ef82073591e17cdb5ae53c35a5af219c1`
8
- - Bytes: `56817603`
9
- - Source files: `551`
10
- - Source tree SHA-256: `977198cfc7874015c836ec4e9cee9c8b51489b7c4473cdb7cce512332fa3df11`
7
+ - SHA-256: `b1d2eb06956ed4226ab0aca514058264e992e268fed14272a46ce29d6c13525d`
8
+ - Bytes: `56843982`
9
+ - Source files: `554`
10
+ - Source tree SHA-256: `f1640465afd482c0aaadc3a79c7066a92fdab8d8de5324691bfd4803ae6c871e`
11
11
 
12
12
  The distributor must co-deliver the exact asset adjacent to every root,
13
13
  platform and wheel artifact. No public URL or publication claim is made here.
@@ -728,8 +728,8 @@
728
728
  "source": null,
729
729
  "sourceIdentity": {
730
730
  "type": "local-source-tree",
731
- "files": 126,
732
- "sha256": "1081f059707a1e34188fbe91d62d5750f96e838b5a3712044eb0a7a11668333e"
731
+ "files": 129,
732
+ "sha256": "01e3db98e62d3839fb7c59573cfd1ce214cc222941ee51bcb829099a1e53b0ec"
733
733
  },
734
734
  "features": [],
735
735
  "licenseFiles": [
@@ -767,7 +767,7 @@
767
767
  "sourceIdentity": {
768
768
  "type": "local-source-tree",
769
769
  "files": 7,
770
- "sha256": "5fe350a821becea30e8b5fd93a060bd2d60c9e61f8c5062397777d1ee35071a7"
770
+ "sha256": "01a28d4d5679f02c842fa9884402308972e5fa5f0bfb1f8a7e46e07bbac9dd23"
771
771
  },
772
772
  "features": [],
773
773
  "licenseFiles": [
@@ -786,7 +786,7 @@
786
786
  "sourceIdentity": {
787
787
  "type": "local-source-tree",
788
788
  "files": 180,
789
- "sha256": "1f89fb0cafaf0f148ab52f314f706d2d6ee329fc0023fbd496b00711214f26fb"
789
+ "sha256": "3bfc2f9586dc6b0fbd5adf7d4c8e8be3bc9442564a25a94dd70c4d53acb0488d"
790
790
  },
791
791
  "features": [],
792
792
  "licenseFiles": [
@@ -805,7 +805,7 @@
805
805
  "sourceIdentity": {
806
806
  "type": "local-source-tree",
807
807
  "files": 14,
808
- "sha256": "3511cb2b7a9caf17abb9836bcfd3efdc48dfccb98acba7b5fa56f7c903fb4e8e"
808
+ "sha256": "9c7e26c9d6213149e064b3fcf062ce27915bdc1b9c08bbdbf5d3399807d5d8d4"
809
809
  },
810
810
  "features": [
811
811
  "binding-node"
@@ -2297,8 +2297,8 @@
2297
2297
  "source": null,
2298
2298
  "sourceIdentity": {
2299
2299
  "type": "local-source-tree",
2300
- "files": 126,
2301
- "sha256": "1081f059707a1e34188fbe91d62d5750f96e838b5a3712044eb0a7a11668333e"
2300
+ "files": 129,
2301
+ "sha256": "01e3db98e62d3839fb7c59573cfd1ce214cc222941ee51bcb829099a1e53b0ec"
2302
2302
  },
2303
2303
  "features": [],
2304
2304
  "licenseFiles": [
@@ -2355,7 +2355,7 @@
2355
2355
  "sourceIdentity": {
2356
2356
  "type": "local-source-tree",
2357
2357
  "files": 180,
2358
- "sha256": "1f89fb0cafaf0f148ab52f314f706d2d6ee329fc0023fbd496b00711214f26fb"
2358
+ "sha256": "3bfc2f9586dc6b0fbd5adf7d4c8e8be3bc9442564a25a94dd70c4d53acb0488d"
2359
2359
  },
2360
2360
  "features": [],
2361
2361
  "licenseFiles": [
@@ -2374,7 +2374,7 @@
2374
2374
  "sourceIdentity": {
2375
2375
  "type": "local-source-tree",
2376
2376
  "files": 14,
2377
- "sha256": "3511cb2b7a9caf17abb9836bcfd3efdc48dfccb98acba7b5fa56f7c903fb4e8e"
2377
+ "sha256": "9c7e26c9d6213149e064b3fcf062ce27915bdc1b9c08bbdbf5d3399807d5d8d4"
2378
2378
  },
2379
2379
  "features": [
2380
2380
  "binding-emscripten"
@@ -4886,12 +4886,12 @@
4886
4886
  },
4887
4887
  {
4888
4888
  "path": "SOURCE-RELINK.json",
4889
- "sha256": "7c2b89427234ab259ce222983e2bfd028840d1b3e0305a10e38bd9331f2c670d",
4889
+ "sha256": "513adf9c7ffdbb543242ecde6600c1d6192c58380bf843b0be5bd978d693a9c7",
4890
4890
  "bytes": 6134
4891
4891
  },
4892
4892
  {
4893
4893
  "path": "SOURCE-RELINK.md",
4894
- "sha256": "9f42ad6884ece87788014752f23a05f5253ae0642c5dc37b259fdf7cb344b4d6",
4894
+ "sha256": "df5ece2d7b66699e14b38a61a26460630abbccf385d56138c4e381d136d044a7",
4895
4895
  "bytes": 1117
4896
4896
  },
4897
4897
  {
@@ -5639,19 +5639,19 @@
5639
5639
  "schema": "geospec-native-source-relink-asset-v2",
5640
5640
  "artifact": {
5641
5641
  "fileName": "geospec-engine-native-source-relink.tar.gz",
5642
- "bytes": 56817603,
5643
- "sha256": "79c13426a6d4542f5967d194392d819ef82073591e17cdb5ae53c35a5af219c1",
5642
+ "bytes": 56843982,
5643
+ "sha256": "b1d2eb06956ed4226ab0aca514058264e992e268fed14272a46ce29d6c13525d",
5644
5644
  "format": "deterministic tar+gzip"
5645
5645
  },
5646
5646
  "delivery": {
5647
5647
  "required": "co-deliver adjacent to each root, platform and wheel artifact",
5648
5648
  "publicationStatus": "outside this local charter"
5649
5649
  },
5650
- "sourceRevision": "6f4f6d6d01d16d82d3db42549ddcf779cc92cc94",
5650
+ "sourceRevision": "fcd57f6e17dfb615f7597c8906b0c38abe08f927",
5651
5651
  "sourceRevisionIsReferenceOnly": true,
5652
5652
  "sourceTree": {
5653
- "files": 551,
5654
- "sha256": "977198cfc7874015c836ec4e9cee9c8b51489b7c4473cdb7cce512332fa3df11"
5653
+ "files": 554,
5654
+ "sha256": "f1640465afd482c0aaadc3a79c7066a92fdab8d8de5324691bfd4803ae6c871e"
5655
5655
  },
5656
5656
  "occtSourceArchive": {
5657
5657
  "path": "archives/occt.tar.gz",
@@ -5665,11 +5665,11 @@
5665
5665
  },
5666
5666
  "mixedProducerRecipe": {
5667
5667
  "path": "receipts/mixed-producer-recipe.json",
5668
- "sha256": "bc0f02c301f8529b29aeec6cccb28dbfc591b85c751d9d13d1846e628099e0d0",
5668
+ "sha256": "3e563442e3795484d724caae3a726528bed30022d431fd98a518bde391ea00c3",
5669
5669
  "status": "current-mixed",
5670
5670
  "target": "wasm32-unknown-emscripten",
5671
5671
  "profile": "emscripten-6.0.5-wasm-legacy-exceptions-wasm-sjlj-st-simd128-v1-rust-c656540-panic-abort-link-O3",
5672
- "sourceRevision": "6f4f6d6d01d16d82d3db42549ddcf779cc92cc94",
5672
+ "sourceRevision": "fcd57f6e17dfb615f7597c8906b0c38abe08f927",
5673
5673
  "sourceRevisionIsReferenceOnly": true,
5674
5674
  "artifacts": [
5675
5675
  {
@@ -5680,15 +5680,15 @@
5680
5680
  },
5681
5681
  {
5682
5682
  "path": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/packages/geospec-engine/bindings/emscripten/generated/geospec_engine_native.wasm",
5683
- "bytes": 16558946,
5684
- "sha256": "f9dbcaab9331d4851afa250f786319e28b6a99218fe370509a6fdbfad54d8623",
5683
+ "bytes": 16604495,
5684
+ "sha256": "d011870491410cb3198a24963cef25464f3c3ddd0f06960e6233563ab027bd64",
5685
5685
  "distPath": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/packages/geospec-engine/dist/bindings/mixed-wasm/geospec_engine_native.wasm"
5686
5686
  }
5687
5687
  ],
5688
5688
  "evidence": {
5689
5689
  "receipt": {
5690
5690
  "path": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/out/artifacts/geospec-native-engine/ci/mixed-build-receipt.json",
5691
- "sha256": "5c64b7909c9d8a022c33a3a998844259b64e684a7f76546c4397b68841285e15",
5691
+ "sha256": "f74505caaf8c5afb31ac1db97ec18013d38204ee90f6f5efd86fa69268316e7e",
5692
5692
  "bytes": 7434
5693
5693
  },
5694
5694
  "commands": {
@@ -5698,11 +5698,11 @@
5698
5698
  },
5699
5699
  "inputs": {
5700
5700
  "path": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/out/artifacts/geospec-native-engine/ci/mixed-inputs.json",
5701
- "sha256": "880030ceec068284e7d1f53ab3218eb2861670d4b9b16eb8842af6709d7bb47a",
5702
- "bytes": 26331467
5701
+ "sha256": "125785a0c52903dd9a3f3259a505b92ca9bd4be515efc4527e3343e5a4c3774a",
5702
+ "bytes": 26332223
5703
5703
  }
5704
5704
  },
5705
- "inputCount": 67813,
5705
+ "inputCount": 67816,
5706
5706
  "qualification": "Current-source compile/link only; runtime and target parity require independent checks.",
5707
5707
  "prefixRecovery": null,
5708
5708
  "environmentEvidence": "Exact source-derived environment from the pinned build-mixed-wasm.mts; commands are recorded observations.",
@@ -5718,7 +5718,7 @@
5718
5718
  "prefix": "native",
5719
5719
  "path": "receipts/build-occt-28b9757e494af724cde7c38b9227cf443f66ad6f2f8344d9f9e51b85a0b55c50.sh",
5720
5720
  "sha256": "28b9757e494af724cde7c38b9227cf443f66ad6f2f8344d9f9e51b85a0b55c50",
5721
- "prefixReceiptSha256": "19da226f3e12b318d58163c53b3546e30056275246f30be82ee6869af612896a",
5721
+ "prefixReceiptSha256": "8e777da4452391e6f74e61f474ef6bf9ef72bd77711ef389a1e4e19a91447248",
5722
5722
  "recovery": null,
5723
5723
  "currentRebuildHelper": {
5724
5724
  "path": "source/packages/geospec-engine/native/occt/build-occt.sh",
@@ -5762,7 +5762,7 @@
5762
5762
  "status": "current-mixed",
5763
5763
  "target": "wasm32-unknown-emscripten",
5764
5764
  "profile": "emscripten-6.0.5-wasm-legacy-exceptions-wasm-sjlj-st-simd128-v1-rust-c656540-panic-abort-link-O3",
5765
- "sourceRevision": "6f4f6d6d01d16d82d3db42549ddcf779cc92cc94",
5765
+ "sourceRevision": "fcd57f6e17dfb615f7597c8906b0c38abe08f927",
5766
5766
  "sourceRevisionIsReferenceOnly": true,
5767
5767
  "artifacts": [
5768
5768
  {
@@ -5773,15 +5773,15 @@
5773
5773
  },
5774
5774
  {
5775
5775
  "path": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/packages/geospec-engine/bindings/emscripten/generated/geospec_engine_native.wasm",
5776
- "bytes": 16558946,
5777
- "sha256": "f9dbcaab9331d4851afa250f786319e28b6a99218fe370509a6fdbfad54d8623",
5776
+ "bytes": 16604495,
5777
+ "sha256": "d011870491410cb3198a24963cef25464f3c3ddd0f06960e6233563ab027bd64",
5778
5778
  "distPath": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/packages/geospec-engine/dist/bindings/mixed-wasm/geospec_engine_native.wasm"
5779
5779
  }
5780
5780
  ],
5781
5781
  "evidence": {
5782
5782
  "receipt": {
5783
5783
  "path": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/out/artifacts/geospec-native-engine/ci/mixed-build-receipt.json",
5784
- "sha256": "5c64b7909c9d8a022c33a3a998844259b64e684a7f76546c4397b68841285e15",
5784
+ "sha256": "f74505caaf8c5afb31ac1db97ec18013d38204ee90f6f5efd86fa69268316e7e",
5785
5785
  "bytes": 7434
5786
5786
  },
5787
5787
  "commands": {
@@ -5791,11 +5791,11 @@
5791
5791
  },
5792
5792
  "inputs": {
5793
5793
  "path": "/Users/gha-runner/Library/GitHubRunner/macos-primary/_work/geospec/geospec/out/artifacts/geospec-native-engine/ci/mixed-inputs.json",
5794
- "sha256": "880030ceec068284e7d1f53ab3218eb2861670d4b9b16eb8842af6709d7bb47a",
5795
- "bytes": 26331467
5794
+ "sha256": "125785a0c52903dd9a3f3259a505b92ca9bd4be515efc4527e3343e5a4c3774a",
5795
+ "bytes": 26332223
5796
5796
  }
5797
5797
  },
5798
- "inputCount": 67813,
5798
+ "inputCount": 67816,
5799
5799
  "qualification": "Current-source compile/link only; runtime and target parity require independent checks.",
5800
5800
  "prefixRecovery": null,
5801
5801
  "environmentEvidence": "Exact source-derived environment from the pinned build-mixed-wasm.mts; commands are recorded observations.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geospec-engine",
3
- "version": "0.1.1-next.163",
3
+ "version": "0.1.1-next.165",
4
4
  "description": "Portable GeoSpec native engine",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -80,8 +80,8 @@
80
80
  ]
81
81
  },
82
82
  "optionalDependencies": {
83
- "geospec-engine-darwin-arm64": "0.1.1-next.163",
84
- "geospec-engine-linux-x64-gnu": "0.1.1-next.163"
83
+ "geospec-engine-darwin-arm64": "0.1.1-next.165",
84
+ "geospec-engine-linux-x64-gnu": "0.1.1-next.165"
85
85
  },
86
86
  "publishConfig": {
87
87
  "access": "public"