geo-polygonize 0.40.1 → 0.41.0

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.
Files changed (62) hide show
  1. package/README.md +14 -8
  2. package/dist/geo_polygonize.wasm +0 -0
  3. package/dist/geo_polygonize_simd.wasm +0 -0
  4. package/dist/slim/cjs/bindings/NodingGuarantee.d.ts +1 -0
  5. package/dist/slim/cjs/bindings/NodingOptions.d.ts +2 -0
  6. package/dist/slim/cjs/bindings/PolygonizerOptions.d.ts +4 -6
  7. package/dist/slim/cjs/bindings/PrecisionModel.d.ts +9 -0
  8. package/dist/slim/cjs/index.d.ts +2 -0
  9. package/dist/slim/cjs/index_slim.d.ts +2 -0
  10. package/dist/slim/cjs/index_slim.js +86 -3
  11. package/dist/slim/cjs/index_threads.d.ts +2 -0
  12. package/dist/slim/es/bindings/NodingGuarantee.d.ts +1 -0
  13. package/dist/slim/es/bindings/NodingOptions.d.ts +2 -0
  14. package/dist/slim/es/bindings/PolygonizerOptions.d.ts +4 -6
  15. package/dist/slim/es/bindings/PrecisionModel.d.ts +9 -0
  16. package/dist/slim/es/index.d.ts +2 -0
  17. package/dist/slim/es/index_slim.d.ts +2 -0
  18. package/dist/slim/es/index_slim.js +86 -3
  19. package/dist/slim/es/index_threads.d.ts +2 -0
  20. package/dist/slim/pkg-scalar/geo_polygonize.d.ts +2 -1
  21. package/dist/slim/pkg-scalar/geo_polygonize_bg.wasm.d.ts +2 -1
  22. package/dist/slim/pkg-wrapper/bindings/NodingGuarantee.d.ts +1 -0
  23. package/dist/slim/pkg-wrapper/bindings/NodingOptions.d.ts +2 -0
  24. package/dist/slim/pkg-wrapper/bindings/PolygonizerOptions.d.ts +4 -6
  25. package/dist/slim/pkg-wrapper/bindings/PrecisionModel.d.ts +9 -0
  26. package/dist/standard/cjs/bindings/NodingGuarantee.d.ts +1 -0
  27. package/dist/standard/cjs/bindings/NodingOptions.d.ts +2 -0
  28. package/dist/standard/cjs/bindings/PolygonizerOptions.d.ts +4 -6
  29. package/dist/standard/cjs/bindings/PrecisionModel.d.ts +9 -0
  30. package/dist/standard/cjs/index.d.ts +2 -0
  31. package/dist/standard/cjs/index.js +88 -5
  32. package/dist/standard/cjs/index_slim.d.ts +2 -0
  33. package/dist/standard/cjs/index_threads.d.ts +2 -0
  34. package/dist/standard/es/bindings/NodingGuarantee.d.ts +1 -0
  35. package/dist/standard/es/bindings/NodingOptions.d.ts +2 -0
  36. package/dist/standard/es/bindings/PolygonizerOptions.d.ts +4 -6
  37. package/dist/standard/es/bindings/PrecisionModel.d.ts +9 -0
  38. package/dist/standard/es/index.d.ts +2 -0
  39. package/dist/standard/es/index.js +88 -5
  40. package/dist/standard/es/index_slim.d.ts +2 -0
  41. package/dist/standard/es/index_threads.d.ts +2 -0
  42. package/dist/standard/pkg-scalar/geo_polygonize.d.ts +2 -1
  43. package/dist/standard/pkg-scalar/geo_polygonize_bg.wasm.d.ts +2 -1
  44. package/dist/standard/pkg-wrapper/bindings/NodingGuarantee.d.ts +1 -0
  45. package/dist/standard/pkg-wrapper/bindings/NodingOptions.d.ts +2 -0
  46. package/dist/standard/pkg-wrapper/bindings/PolygonizerOptions.d.ts +4 -6
  47. package/dist/standard/pkg-wrapper/bindings/PrecisionModel.d.ts +9 -0
  48. package/dist/threads/es/bindings/NodingGuarantee.d.ts +1 -0
  49. package/dist/threads/es/bindings/NodingOptions.d.ts +2 -0
  50. package/dist/threads/es/bindings/PolygonizerOptions.d.ts +4 -6
  51. package/dist/threads/es/bindings/PrecisionModel.d.ts +9 -0
  52. package/dist/threads/es/index.d.ts +2 -0
  53. package/dist/threads/es/index.js +86 -3
  54. package/dist/threads/es/index_slim.d.ts +2 -0
  55. package/dist/threads/es/index_threads.d.ts +2 -0
  56. package/dist/threads/pkg-threads/geo_polygonize.d.ts +2 -1
  57. package/dist/threads/pkg-threads/geo_polygonize_bg.wasm.d.ts +2 -1
  58. package/dist/threads/pkg-wrapper/bindings/NodingGuarantee.d.ts +1 -0
  59. package/dist/threads/pkg-wrapper/bindings/NodingOptions.d.ts +2 -0
  60. package/dist/threads/pkg-wrapper/bindings/PolygonizerOptions.d.ts +4 -6
  61. package/dist/threads/pkg-wrapper/bindings/PrecisionModel.d.ts +9 -0
  62. package/package.json +1 -1
@@ -5,8 +5,10 @@ export * from "./bindings/ContainmentOptions";
5
5
  export * from "./bindings/DeterminismOptions";
6
6
  export * from "./bindings/DiagnosticsOptions";
7
7
  export * from "./bindings/NodingBackend";
8
+ export * from "./bindings/NodingGuarantee";
8
9
  export * from "./bindings/NodingOptions";
9
10
  export * from "./bindings/OutputFilterOptions";
11
+ export * from "./bindings/PrecisionModel";
10
12
  export * from "./bindings/ProvenanceOptions";
11
13
  export * from "./bindings/SnapStrategy";
12
14
  export * from "./bindings/TileOwnershipPolicy";
@@ -5,8 +5,10 @@ export * from "./bindings/ContainmentOptions";
5
5
  export * from "./bindings/DeterminismOptions";
6
6
  export * from "./bindings/DiagnosticsOptions";
7
7
  export * from "./bindings/NodingBackend";
8
+ export * from "./bindings/NodingGuarantee";
8
9
  export * from "./bindings/NodingOptions";
9
10
  export * from "./bindings/OutputFilterOptions";
11
+ export * from "./bindings/PrecisionModel";
10
12
  export * from "./bindings/ProvenanceOptions";
11
13
  export * from "./bindings/SnapStrategy";
12
14
  export * from "./bindings/TileOwnershipPolicy";
@@ -90,9 +90,10 @@ export interface InitOutput {
90
90
  readonly polygonize_result_free: () => void;
91
91
  readonly __wbindgen_malloc: (a: number, b: number) => number;
92
92
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
93
- readonly __wbindgen_free: (a: number, b: number, c: number) => void;
93
+ readonly __wbindgen_exn_store: (a: number) => void;
94
94
  readonly __externref_table_alloc: () => number;
95
95
  readonly __wbindgen_externrefs: WebAssembly.Table;
96
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
96
97
  readonly __externref_table_dealloc: (a: number) => void;
97
98
  readonly __wbindgen_start: () => void;
98
99
  }
@@ -31,8 +31,9 @@ export const polygonize_with_options_ffi: (a: number, b: number, c: number, d: n
31
31
  export const polygonize_result_free: () => void;
32
32
  export const __wbindgen_malloc: (a: number, b: number) => number;
33
33
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
34
- export const __wbindgen_free: (a: number, b: number, c: number) => void;
34
+ export const __wbindgen_exn_store: (a: number) => void;
35
35
  export const __externref_table_alloc: () => number;
36
36
  export const __wbindgen_externrefs: WebAssembly.Table;
37
+ export const __wbindgen_free: (a: number, b: number, c: number) => void;
37
38
  export const __externref_table_dealloc: (a: number) => void;
38
39
  export const __wbindgen_start: () => void;
@@ -0,0 +1 @@
1
+ export type NodingGuarantee = "Unchecked" | "Validate";
@@ -1,4 +1,6 @@
1
1
  import type { NodingBackend } from "./NodingBackend";
2
+ import type { NodingGuarantee } from "./NodingGuarantee";
2
3
  export type NodingOptions = {
3
4
  backend: NodingBackend;
5
+ guarantee: NodingGuarantee;
4
6
  };
@@ -3,6 +3,7 @@ import type { DeterminismOptions } from "./DeterminismOptions";
3
3
  import type { DiagnosticsOptions } from "./DiagnosticsOptions";
4
4
  import type { NodingOptions } from "./NodingOptions";
5
5
  import type { OutputFilterOptions } from "./OutputFilterOptions";
6
+ import type { PrecisionModel } from "./PrecisionModel";
6
7
  import type { ProvenanceOptions } from "./ProvenanceOptions";
7
8
  import type { SnapStrategy } from "./SnapStrategy";
8
9
  /**
@@ -23,14 +24,11 @@ export type PolygonizerOptions = {
23
24
  */
24
25
  node_input: boolean;
25
26
  /**
26
- * The snapping grid size used for vertex deduplication and noding operations.
27
+ * Coordinate precision used for topology and noding.
27
28
  *
28
- * Vertices falling within the same grid cell are coalesced. A size of `0.0`
29
- * indicates exact floating-point evaluation without grid snapping.
30
- *
31
- * Default: `1e-10`
29
+ * Default: `PrecisionModel::Floating`
32
30
  */
33
- snap_grid_size: number;
31
+ precision_model: PrecisionModel;
34
32
  /**
35
33
  * Snap input segments to nearby vertices from exact-noded input linework before grid noding.
36
34
  *
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Coordinate precision used by the topology pipeline.
3
+ */
4
+ export type PrecisionModel = {
5
+ "type": "floating";
6
+ } | {
7
+ "type": "fixed_grid";
8
+ grid_size: number;
9
+ };
@@ -0,0 +1 @@
1
+ export type NodingGuarantee = "Unchecked" | "Validate";
@@ -1,4 +1,6 @@
1
1
  import type { NodingBackend } from "./NodingBackend";
2
+ import type { NodingGuarantee } from "./NodingGuarantee";
2
3
  export type NodingOptions = {
3
4
  backend: NodingBackend;
5
+ guarantee: NodingGuarantee;
4
6
  };
@@ -3,6 +3,7 @@ import type { DeterminismOptions } from "./DeterminismOptions";
3
3
  import type { DiagnosticsOptions } from "./DiagnosticsOptions";
4
4
  import type { NodingOptions } from "./NodingOptions";
5
5
  import type { OutputFilterOptions } from "./OutputFilterOptions";
6
+ import type { PrecisionModel } from "./PrecisionModel";
6
7
  import type { ProvenanceOptions } from "./ProvenanceOptions";
7
8
  import type { SnapStrategy } from "./SnapStrategy";
8
9
  /**
@@ -23,14 +24,11 @@ export type PolygonizerOptions = {
23
24
  */
24
25
  node_input: boolean;
25
26
  /**
26
- * The snapping grid size used for vertex deduplication and noding operations.
27
+ * Coordinate precision used for topology and noding.
27
28
  *
28
- * Vertices falling within the same grid cell are coalesced. A size of `0.0`
29
- * indicates exact floating-point evaluation without grid snapping.
30
- *
31
- * Default: `1e-10`
29
+ * Default: `PrecisionModel::Floating`
32
30
  */
33
- snap_grid_size: number;
31
+ precision_model: PrecisionModel;
34
32
  /**
35
33
  * Snap input segments to nearby vertices from exact-noded input linework before grid noding.
36
34
  *
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Coordinate precision used by the topology pipeline.
3
+ */
4
+ export type PrecisionModel = {
5
+ "type": "floating";
6
+ } | {
7
+ "type": "fixed_grid";
8
+ grid_size: number;
9
+ };
@@ -5,8 +5,10 @@ export * from "./bindings/ContainmentOptions";
5
5
  export * from "./bindings/DeterminismOptions";
6
6
  export * from "./bindings/DiagnosticsOptions";
7
7
  export * from "./bindings/NodingBackend";
8
+ export * from "./bindings/NodingGuarantee";
8
9
  export * from "./bindings/NodingOptions";
9
10
  export * from "./bindings/OutputFilterOptions";
11
+ export * from "./bindings/PrecisionModel";
10
12
  export * from "./bindings/ProvenanceOptions";
11
13
  export * from "./bindings/SnapStrategy";
12
14
  export * from "./bindings/TileOwnershipPolicy";
@@ -497,6 +497,12 @@ function __wbg_get_imports(memory) {
497
497
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
498
498
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
499
499
  },
500
+ __wbg___wbindgen_bigint_get_as_i64_447a76b5c6ef7bda: function(arg0, arg1) {
501
+ const v = arg1;
502
+ const ret = typeof(v) === 'bigint' ? v : undefined;
503
+ getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);
504
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
505
+ },
500
506
  __wbg___wbindgen_boolean_get_c0f3f60bac5a78d1: function(arg0) {
501
507
  const v = arg0;
502
508
  const ret = typeof(v) === 'boolean' ? v : undefined;
@@ -513,6 +519,14 @@ function __wbg_get_imports(memory) {
513
519
  const ret = arg0 in arg1;
514
520
  return ret;
515
521
  },
522
+ __wbg___wbindgen_is_bigint_e2141d4f045b7eda: function(arg0) {
523
+ const ret = typeof(arg0) === 'bigint';
524
+ return ret;
525
+ },
526
+ __wbg___wbindgen_is_function_3c846841762788c1: function(arg0) {
527
+ const ret = typeof(arg0) === 'function';
528
+ return ret;
529
+ },
516
530
  __wbg___wbindgen_is_object_781bc9f159099513: function(arg0) {
517
531
  const val = arg0;
518
532
  const ret = typeof(val) === 'object' && val !== null;
@@ -526,6 +540,10 @@ function __wbg_get_imports(memory) {
526
540
  const ret = arg0 === undefined;
527
541
  return ret;
528
542
  },
543
+ __wbg___wbindgen_jsval_eq_ee31bfad3e536463: function(arg0, arg1) {
544
+ const ret = arg0 === arg1;
545
+ return ret;
546
+ },
529
547
  __wbg___wbindgen_jsval_loose_eq_5bcc3bed3c69e72b: function(arg0, arg1) {
530
548
  const ret = arg0 == arg1;
531
549
  return ret;
@@ -555,6 +573,14 @@ function __wbg_get_imports(memory) {
555
573
  __wbg___wbindgen_throw_6ddd609b62940d55: function(arg0, arg1) {
556
574
  throw new Error(getStringFromWasm0(arg0, arg1));
557
575
  },
576
+ __wbg_call_e133b57c9155d22c: function() { return handleError(function (arg0, arg1) {
577
+ const ret = arg0.call(arg1);
578
+ return ret;
579
+ }, arguments); },
580
+ __wbg_done_08ce71ee07e3bd17: function(arg0) {
581
+ const ret = arg0.done;
582
+ return ret;
583
+ },
558
584
  __wbg_entries_e8a20ff8c9757101: function(arg0) {
559
585
  const ret = Object.entries(arg0);
560
586
  return ret;
@@ -570,10 +596,18 @@ function __wbg_get_imports(memory) {
570
596
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
571
597
  }
572
598
  },
599
+ __wbg_get_326e41e095fb2575: function() { return handleError(function (arg0, arg1) {
600
+ const ret = Reflect.get(arg0, arg1);
601
+ return ret;
602
+ }, arguments); },
573
603
  __wbg_get_a8ee5c45dabc1b3b: function(arg0, arg1) {
574
604
  const ret = arg0[arg1 >>> 0];
575
605
  return ret;
576
606
  },
607
+ __wbg_get_unchecked_329cfe50afab7352: function(arg0, arg1) {
608
+ const ret = arg0[arg1 >>> 0];
609
+ return ret;
610
+ },
577
611
  __wbg_get_with_ref_key_6412cf3094599694: function(arg0, arg1) {
578
612
  const ret = arg0[arg1];
579
613
  return ret;
@@ -588,6 +622,16 @@ function __wbg_get_imports(memory) {
588
622
  const ret = result;
589
623
  return ret;
590
624
  },
625
+ __wbg_instanceof_Map_f194b366846aca0c: function(arg0) {
626
+ let result;
627
+ try {
628
+ result = arg0 instanceof Map;
629
+ } catch (_) {
630
+ result = false;
631
+ }
632
+ const ret = result;
633
+ return ret;
634
+ },
591
635
  __wbg_instanceof_Uint8Array_740438561a5b956d: function(arg0) {
592
636
  let result;
593
637
  try {
@@ -608,6 +652,18 @@ function __wbg_get_imports(memory) {
608
652
  const ret = result;
609
653
  return ret;
610
654
  },
655
+ __wbg_isArray_33b91feb269ff46e: function(arg0) {
656
+ const ret = Array.isArray(arg0);
657
+ return ret;
658
+ },
659
+ __wbg_isSafeInteger_ecd6a7f9c3e053cd: function(arg0) {
660
+ const ret = Number.isSafeInteger(arg0);
661
+ return ret;
662
+ },
663
+ __wbg_iterator_d8f549ec8fb061b1: function() {
664
+ const ret = Symbol.iterator;
665
+ return ret;
666
+ },
611
667
  __wbg_length_b3416cf66a5452c8: function(arg0) {
612
668
  const ret = arg0.length;
613
669
  return ret;
@@ -632,6 +688,14 @@ function __wbg_get_imports(memory) {
632
688
  const ret = new Object();
633
689
  return ret;
634
690
  },
691
+ __wbg_next_11b99ee6237339e3: function() { return handleError(function (arg0) {
692
+ const ret = arg0.next();
693
+ return ret;
694
+ }, arguments); },
695
+ __wbg_next_e01a967809d1aa68: function(arg0) {
696
+ const ret = arg0.next;
697
+ return ret;
698
+ },
635
699
  __wbg_now_16f0c993d5dd6c27: function() {
636
700
  const ret = Date.now();
637
701
  return ret;
@@ -688,17 +752,26 @@ function __wbg_get_imports(memory) {
688
752
  const ret = arg0.timeOrigin;
689
753
  return ret;
690
754
  },
755
+ __wbg_value_21fc78aab0322612: function(arg0) {
756
+ const ret = arg0.value;
757
+ return ret;
758
+ },
691
759
  __wbindgen_cast_0000000000000001: function(arg0) {
692
760
  // Cast intrinsic for `F64 -> Externref`.
693
761
  const ret = arg0;
694
762
  return ret;
695
763
  },
696
- __wbindgen_cast_0000000000000002: function(arg0, arg1) {
764
+ __wbindgen_cast_0000000000000002: function(arg0) {
765
+ // Cast intrinsic for `I64 -> Externref`.
766
+ const ret = arg0;
767
+ return ret;
768
+ },
769
+ __wbindgen_cast_0000000000000003: function(arg0, arg1) {
697
770
  // Cast intrinsic for `Ref(String) -> Externref`.
698
771
  const ret = getStringFromWasm0(arg0, arg1);
699
772
  return ret;
700
773
  },
701
- __wbindgen_cast_0000000000000003: function(arg0) {
774
+ __wbindgen_cast_0000000000000004: function(arg0) {
702
775
  // Cast intrinsic for `U64 -> Externref`.
703
776
  const ret = BigInt.asUintN(64, arg0);
704
777
  return ret;
@@ -843,6 +916,15 @@ function getUint8ArrayMemory0() {
843
916
  return cachedUint8ArrayMemory0;
844
917
  }
845
918
 
919
+ function handleError(f, args) {
920
+ try {
921
+ return f.apply(this, args);
922
+ } catch (e) {
923
+ const idx = addToExternrefTable0(e);
924
+ wasm.__wbindgen_exn_store(idx);
925
+ }
926
+ }
927
+
846
928
  function isLikeNone(x) {
847
929
  return x === undefined || x === null;
848
930
  }
@@ -1057,12 +1139,13 @@ var geo_polygonize = /*#__PURE__*/Object.freeze({
1057
1139
 
1058
1140
  const cfbRobustOptions = {
1059
1141
  node_input: true,
1060
- snap_grid_size: 0.1,
1142
+ precision_model: { type: "fixed_grid", grid_size: 0.1 },
1061
1143
  pre_snap_tolerance: 0.5,
1062
1144
  extract_only_polygonal: false,
1063
1145
  snap_strategy: "GeosCompat",
1064
1146
  noding: {
1065
1147
  backend: "Snap",
1148
+ guarantee: "Unchecked",
1066
1149
  },
1067
1150
  containment: {
1068
1151
  touch_policy: "AllowPointTouchDisallowEdgeShare",
@@ -5,8 +5,10 @@ export * from "./bindings/ContainmentOptions";
5
5
  export * from "./bindings/DeterminismOptions";
6
6
  export * from "./bindings/DiagnosticsOptions";
7
7
  export * from "./bindings/NodingBackend";
8
+ export * from "./bindings/NodingGuarantee";
8
9
  export * from "./bindings/NodingOptions";
9
10
  export * from "./bindings/OutputFilterOptions";
11
+ export * from "./bindings/PrecisionModel";
10
12
  export * from "./bindings/ProvenanceOptions";
11
13
  export * from "./bindings/SnapStrategy";
12
14
  export * from "./bindings/TileOwnershipPolicy";
@@ -5,8 +5,10 @@ export * from "./bindings/ContainmentOptions";
5
5
  export * from "./bindings/DeterminismOptions";
6
6
  export * from "./bindings/DiagnosticsOptions";
7
7
  export * from "./bindings/NodingBackend";
8
+ export * from "./bindings/NodingGuarantee";
8
9
  export * from "./bindings/NodingOptions";
9
10
  export * from "./bindings/OutputFilterOptions";
11
+ export * from "./bindings/PrecisionModel";
10
12
  export * from "./bindings/ProvenanceOptions";
11
13
  export * from "./bindings/SnapStrategy";
12
14
  export * from "./bindings/TileOwnershipPolicy";
@@ -109,9 +109,10 @@ export interface InitOutput {
109
109
  readonly memory: WebAssembly.Memory;
110
110
  readonly __wbindgen_malloc: (a: number, b: number) => number;
111
111
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
112
- readonly __wbindgen_free: (a: number, b: number, c: number) => void;
112
+ readonly __wbindgen_exn_store: (a: number) => void;
113
113
  readonly __externref_table_alloc: () => number;
114
114
  readonly __wbindgen_externrefs: WebAssembly.Table;
115
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
115
116
  readonly __externref_table_dealloc: (a: number) => void;
116
117
  readonly __wbindgen_thread_destroy: (a?: number, b?: number, c?: number) => void;
117
118
  readonly __wbindgen_start: (a: number) => void;
@@ -37,9 +37,10 @@ export const polygonize_result_free: () => void;
37
37
  export const memory: WebAssembly.Memory;
38
38
  export const __wbindgen_malloc: (a: number, b: number) => number;
39
39
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
40
- export const __wbindgen_free: (a: number, b: number, c: number) => void;
40
+ export const __wbindgen_exn_store: (a: number) => void;
41
41
  export const __externref_table_alloc: () => number;
42
42
  export const __wbindgen_externrefs: WebAssembly.Table;
43
+ export const __wbindgen_free: (a: number, b: number, c: number) => void;
43
44
  export const __externref_table_dealloc: (a: number) => void;
44
45
  export const __wbindgen_thread_destroy: (a?: number, b?: number, c?: number) => void;
45
46
  export const __wbindgen_start: (a: number) => void;
@@ -0,0 +1 @@
1
+ export type NodingGuarantee = "Unchecked" | "Validate";
@@ -1,4 +1,6 @@
1
1
  import type { NodingBackend } from "./NodingBackend";
2
+ import type { NodingGuarantee } from "./NodingGuarantee";
2
3
  export type NodingOptions = {
3
4
  backend: NodingBackend;
5
+ guarantee: NodingGuarantee;
4
6
  };
@@ -3,6 +3,7 @@ import type { DeterminismOptions } from "./DeterminismOptions";
3
3
  import type { DiagnosticsOptions } from "./DiagnosticsOptions";
4
4
  import type { NodingOptions } from "./NodingOptions";
5
5
  import type { OutputFilterOptions } from "./OutputFilterOptions";
6
+ import type { PrecisionModel } from "./PrecisionModel";
6
7
  import type { ProvenanceOptions } from "./ProvenanceOptions";
7
8
  import type { SnapStrategy } from "./SnapStrategy";
8
9
  /**
@@ -23,14 +24,11 @@ export type PolygonizerOptions = {
23
24
  */
24
25
  node_input: boolean;
25
26
  /**
26
- * The snapping grid size used for vertex deduplication and noding operations.
27
+ * Coordinate precision used for topology and noding.
27
28
  *
28
- * Vertices falling within the same grid cell are coalesced. A size of `0.0`
29
- * indicates exact floating-point evaluation without grid snapping.
30
- *
31
- * Default: `1e-10`
29
+ * Default: `PrecisionModel::Floating`
32
30
  */
33
- snap_grid_size: number;
31
+ precision_model: PrecisionModel;
34
32
  /**
35
33
  * Snap input segments to nearby vertices from exact-noded input linework before grid noding.
36
34
  *
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Coordinate precision used by the topology pipeline.
3
+ */
4
+ export type PrecisionModel = {
5
+ "type": "floating";
6
+ } | {
7
+ "type": "fixed_grid";
8
+ grid_size: number;
9
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geo-polygonize",
3
- "version": "0.40.1",
3
+ "version": "0.41.0",
4
4
  "description": "A native Rust port of the JTS/GEOS polygonization algorithm (Wasm)",
5
5
  "type": "module",
6
6
  "scripts": {