raain-model 3.2.3 → 3.2.4

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/CHANGELOG.md CHANGED
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.2.3] - 2026-03-09
11
+
10
12
  ### Changed
11
13
 
12
14
  - **PolarFilter**: unified `azimuthMin/Max, edgeMin/Max` fields into `zones: PolarFilterZone[]` with free-form `metadata` per zone. Backward-compatible constructor. Bounding box exposed via getters. `merging()` uses intersection semantics.
package/bpInfo.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bpInfo = void 0;
4
- exports.bpInfo = { version: 'v3.2.3' };
4
+ exports.bpInfo = { version: 'v3.2.4' };
5
5
  //# sourceMappingURL=bpInfo.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "raain-model",
3
- "version": "3.2.3",
3
+ "version": "3.2.4",
4
4
  "author": "contact@radartorain.com",
5
5
  "homepage": "https://github.com/raainio/raain-model",
6
6
  "description": "radartorain.com api model",
@@ -50,5 +50,5 @@ export declare class PolarMeasureValueMap {
50
50
  };
51
51
  protected iterateOnEachAzimuth(azimuthMin: number, azimuthMax: number, edgeMin: number, edgeMax: number, onEachValue: (polarValue: PolarValue, azimuthIndex: number, edgeIndex: number, valueSetter: (newValue: number) => void) => void | Promise<void>, minExcludedValue?: number): Promise<void>;
52
52
  protected iterateOnEachEdge(azimuthMin: number, azimuthMax: number, edgeMin: number, edgeMax: number, onEachValue: (polarValue: PolarValue, azimuthIndex: number, edgeIndex: number, valueSetter: (newValue: number) => void) => void | Promise<void>, minExcludedValue?: number): Promise<void>;
53
- protected iterateOnZones(zones: PolarFilterZone[], onEachValue: (polarValue: PolarValue, azimuthIndex: number, edgeIndex: number, valueSetter: (newValue: number) => void) => void | Promise<void>, minExcludedValue?: number): Promise<void>;
53
+ protected iterateOnZones(zones: PolarFilterZone[], onEachValue: (polarValue: PolarValue, azimuthIndex: number, edgeIndex: number, valueSetter: (newValue: number) => void) => void | Promise<void>, minExcludedValue?: number, edgeFirst?: boolean): Promise<void>;
54
54
  }
@@ -173,9 +173,6 @@ class PolarMeasureValueMap {
173
173
  var _a, _b, _c, _d, _e, _f;
174
174
  const start = Date.now();
175
175
  const useBypass = (options === null || options === void 0 ? void 0 : options.bypass) && ((_b = (_a = this.buildPolarFilter) === null || _a === void 0 ? void 0 : _a.zones) === null || _b === void 0 ? void 0 : _b.length) > 0;
176
- if ((options === null || options === void 0 ? void 0 : options.bypass) && (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge)) {
177
- throw new Error('Cannot combine bypass and iterateOnEachEdge options');
178
- }
179
176
  const azimuthMin = typeof ((_c = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _c === void 0 ? void 0 : _c.azimuthMin) !== 'undefined'
180
177
  ? options === null || options === void 0 ? void 0 : options.polarFilter.azimuthMin
181
178
  : 0;
@@ -186,7 +183,13 @@ class PolarMeasureValueMap {
186
183
  const edgeMax = typeof ((_f = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _f === void 0 ? void 0 : _f.edgeMax) !== 'undefined'
187
184
  ? options === null || options === void 0 ? void 0 : options.polarFilter.edgeMax
188
185
  : this.polarMeasureValue.getPolarEdgesCount();
189
- const mode = useBypass ? 'bypass-zones' : (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge) ? 'edge-first' : 'azimuth-first';
186
+ const mode = useBypass
187
+ ? (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge)
188
+ ? 'bypass-zones-edge-first'
189
+ : 'bypass-zones'
190
+ : (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge)
191
+ ? 'edge-first'
192
+ : 'azimuth-first';
190
193
  const totalCells = this.countPolar();
191
194
  let callCount = 0;
192
195
  const wrappedCallback = (polarValue, azimuthIndex, edgeIndex, valueSetter) => {
@@ -212,7 +215,7 @@ class PolarMeasureValueMap {
212
215
  const minExcludedValue = options === null || options === void 0 ? void 0 : options.minExcludedValue;
213
216
  let result;
214
217
  if (useBypass) {
215
- result = this.iterateOnZones(this.buildPolarFilter.zones, wrappedCallback, minExcludedValue);
218
+ result = this.iterateOnZones(this.buildPolarFilter.zones, wrappedCallback, minExcludedValue, options === null || options === void 0 ? void 0 : options.iterateOnEachEdge);
216
219
  }
217
220
  else if (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge) {
218
221
  result = this.iterateOnEachEdge(azimuthMin, azimuthMax, edgeMin, edgeMax, wrappedCallback, minExcludedValue);
@@ -379,11 +382,15 @@ class PolarMeasureValueMap {
379
382
  }
380
383
  // Azimuth-first iteration (default): iterates radial lines one by one
381
384
  // Order: Az0-Edge0, Az0-Edge1, Az0-Edge2, ..., Az1-Edge0, Az1-Edge1, ...
382
- // Performance: O(containers * edges_per_container) - efficient, only iterates actual data
385
+ // Performance: O(containers * edgeRange) - direct index access, no inner scan
383
386
  iterateOnEachAzimuth(azimuthMin, azimuthMax, edgeMin, edgeMax, onEachValue, minExcludedValue) {
387
+ var _a;
384
388
  const promises = [];
385
389
  let isAsync = false;
386
390
  const hasMinFilter = typeof minExcludedValue === 'number';
391
+ const buildEdgeMin = typeof ((_a = this.buildPolarFilter) === null || _a === void 0 ? void 0 : _a.edgeMin) !== 'undefined'
392
+ ? this.buildPolarFilter.edgeMin
393
+ : 0;
387
394
  let azimuthAbsoluteIndex = -1;
388
395
  let updatedAzimuth = -1;
389
396
  while (updatedAzimuth < 0 && azimuthAbsoluteIndex < azimuthMax) {
@@ -401,24 +408,19 @@ class PolarMeasureValueMap {
401
408
  }
402
409
  const azimuthInDegrees = measureValuePolarContainer.azimuth;
403
410
  const polarEdges = measureValuePolarContainer.polarEdges;
404
- for (const [edgeIndex, value] of polarEdges.entries()) {
405
- // Skip values <= minExcludedValue
411
+ const distance = measureValuePolarContainer.distance || this.polarMeasureValue.getDefaultDistance();
412
+ // Direct index range: convert absolute edge range to local indices
413
+ const localStart = Math.max(edgeMin - buildEdgeMin, 0);
414
+ const localEnd = Math.min(edgeMax - buildEdgeMin, polarEdges.length - 1);
415
+ for (let i = localStart; i <= localEnd; i++) {
416
+ const value = polarEdges[i];
406
417
  if (hasMinFilter && value <= minExcludedValue) {
407
418
  continue;
408
419
  }
409
- const updated = this.updatedEdge(edgeIndex, measureValuePolarContainer, {
410
- reverse: true,
411
- });
412
- const edgeAbsoluteIndex = updated.edgeIndex;
413
- const distanceInMeters = updated.distanceInMeters;
414
- if (edgeAbsoluteIndex < edgeMin) {
415
- continue;
416
- }
417
- if (edgeMax < edgeAbsoluteIndex) {
418
- break;
419
- }
420
+ const edgeAbsoluteIndex = i + buildEdgeMin;
421
+ const distanceInMeters = (edgeAbsoluteIndex + 1) * distance;
420
422
  const valueSetter = (newValue) => {
421
- polarEdges[edgeIndex] = newValue;
423
+ polarEdges[i] = newValue;
422
424
  };
423
425
  const result = onEachValue(new PolarValue_1.PolarValue({
424
426
  value,
@@ -437,20 +439,26 @@ class PolarMeasureValueMap {
437
439
  }
438
440
  // Edge-first iteration: iterates concentric circles one by one
439
441
  // Order: Az0-Edge0, Az1-Edge0, Az2-Edge0, ..., Az0-Edge1, Az1-Edge1, ...
440
- // Performance: O(edgeRange * containers * edges_per_container) - less efficient
441
- // For each target edge, scans ALL containers and ALL their edges to find matches
442
+ // Performance: O(edgeRange * containers) - direct index access per container
442
443
  iterateOnEachEdge(azimuthMin, azimuthMax, edgeMin, edgeMax, onEachValue, minExcludedValue) {
444
+ var _a;
443
445
  const promises = [];
444
446
  let isAsync = false;
445
447
  const hasMinFilter = typeof minExcludedValue === 'number';
448
+ const buildEdgeMin = typeof ((_a = this.buildPolarFilter) === null || _a === void 0 ? void 0 : _a.edgeMin) !== 'undefined'
449
+ ? this.buildPolarFilter.edgeMin
450
+ : 0;
451
+ // Compute azimuth offset once
452
+ let azStartOffset = -1;
453
+ let updatedAzimuth = -1;
454
+ while (updatedAzimuth < 0 && azStartOffset < azimuthMax) {
455
+ const upd = this.updatedAzimuth(++azStartOffset);
456
+ updatedAzimuth = upd.azimuthIndexAbsolute;
457
+ }
458
+ azStartOffset--;
446
459
  for (let edge = edgeMin; edge <= edgeMax; edge++) {
447
- let azimuthAbsoluteIndex = -1;
448
- let updatedAzimuth = -1;
449
- while (updatedAzimuth < 0 && azimuthAbsoluteIndex < azimuthMax) {
450
- const upd = this.updatedAzimuth(++azimuthAbsoluteIndex);
451
- updatedAzimuth = upd.azimuthIndexAbsolute;
452
- }
453
- azimuthAbsoluteIndex--;
460
+ const localEdgeIdx = edge - buildEdgeMin;
461
+ let azimuthAbsoluteIndex = azStartOffset;
454
462
  for (const measureValuePolarContainer of this.builtMeasureValuePolarContainers) {
455
463
  azimuthAbsoluteIndex++;
456
464
  if (azimuthAbsoluteIndex < azimuthMin) {
@@ -459,35 +467,28 @@ class PolarMeasureValueMap {
459
467
  if (azimuthMax < azimuthAbsoluteIndex) {
460
468
  break;
461
469
  }
462
- const azimuthInDegrees = measureValuePolarContainer.azimuth;
463
470
  const polarEdges = measureValuePolarContainer.polarEdges;
464
- for (const [edgeIndex, value] of polarEdges.entries()) {
465
- // Skip values <= minExcludedValue
466
- if (hasMinFilter && value <= minExcludedValue) {
467
- continue;
468
- }
469
- const updated = this.updatedEdge(edgeIndex, measureValuePolarContainer, {
470
- reverse: true,
471
- });
472
- const edgeAbsoluteIndex = updated.edgeIndex;
473
- const distanceInMeters = updated.distanceInMeters;
474
- if (edge === edgeAbsoluteIndex) {
475
- const valueSetter = (newValue) => {
476
- polarEdges[edgeIndex] = newValue;
477
- };
478
- const result = onEachValue(new PolarValue_1.PolarValue({
479
- value,
480
- polarAzimuthInDegrees: azimuthInDegrees,
481
- polarDistanceInMeters: distanceInMeters,
482
- }), azimuthAbsoluteIndex, edgeAbsoluteIndex, valueSetter);
483
- if (result instanceof Promise) {
484
- isAsync = true;
485
- promises.push(result);
486
- }
487
- }
488
- if (edge < edgeAbsoluteIndex) {
489
- break;
490
- }
471
+ if (localEdgeIdx < 0 || localEdgeIdx >= polarEdges.length) {
472
+ continue;
473
+ }
474
+ const value = polarEdges[localEdgeIdx];
475
+ if (hasMinFilter && value <= minExcludedValue) {
476
+ continue;
477
+ }
478
+ const distance = measureValuePolarContainer.distance ||
479
+ this.polarMeasureValue.getDefaultDistance();
480
+ const distanceInMeters = (edge + 1) * distance;
481
+ const valueSetter = (newValue) => {
482
+ polarEdges[localEdgeIdx] = newValue;
483
+ };
484
+ const result = onEachValue(new PolarValue_1.PolarValue({
485
+ value,
486
+ polarAzimuthInDegrees: measureValuePolarContainer.azimuth,
487
+ polarDistanceInMeters: distanceInMeters,
488
+ }), azimuthAbsoluteIndex, edge, valueSetter);
489
+ if (result instanceof Promise) {
490
+ isAsync = true;
491
+ promises.push(result);
491
492
  }
492
493
  }
493
494
  }
@@ -497,7 +498,9 @@ class PolarMeasureValueMap {
497
498
  }
498
499
  // Zone-based iteration: only visits cells within defined zones, with deduplication
499
500
  // Direct index mapping (no wrapping) for predictable zone traversal
500
- iterateOnZones(zones, onEachValue, minExcludedValue) {
501
+ // edgeFirst=false (default): azimuth-first per zone
502
+ // edgeFirst=true: edge-first per zone
503
+ iterateOnZones(zones, onEachValue, minExcludedValue, edgeFirst) {
501
504
  var _a, _b, _c, _d, _e, _f;
502
505
  const promises = [];
503
506
  let isAsync = false;
@@ -508,45 +511,56 @@ class PolarMeasureValueMap {
508
511
  const azimuthsCount = this.polarMeasureValue.getAzimuthsCount();
509
512
  const defaultDistance = this.polarMeasureValue.getDefaultDistance();
510
513
  const maxEdKey = this.polarMeasureValue.getPolarEdgesCount() + 1;
514
+ const visitCell = (azIdx, edIdx) => {
515
+ const key = azIdx * maxEdKey + edIdx;
516
+ if (visited.has(key)) {
517
+ return;
518
+ }
519
+ visited.add(key);
520
+ const containerIdx = azIdx - globalAzMin;
521
+ if (containerIdx < 0 || containerIdx >= this.builtMeasureValuePolarContainers.length) {
522
+ return;
523
+ }
524
+ const container = this.builtMeasureValuePolarContainers[containerIdx];
525
+ const polarEdges = container.polarEdges;
526
+ const localEdIdx = edIdx - globalEdMin;
527
+ if (localEdIdx < 0 || localEdIdx >= polarEdges.length) {
528
+ return;
529
+ }
530
+ const value = polarEdges[localEdIdx];
531
+ if (hasMinFilter && value <= minExcludedValue) {
532
+ return;
533
+ }
534
+ const distance = container.distance || defaultDistance;
535
+ const valueSetter = (newValue) => {
536
+ polarEdges[localEdIdx] = newValue;
537
+ };
538
+ const result = onEachValue(new PolarValue_1.PolarValue({
539
+ value,
540
+ polarAzimuthInDegrees: container.azimuth,
541
+ polarDistanceInMeters: (edIdx + 1) * distance,
542
+ }), azIdx, edIdx, valueSetter);
543
+ if (result instanceof Promise) {
544
+ isAsync = true;
545
+ promises.push(result);
546
+ }
547
+ };
511
548
  for (const zone of zones) {
512
549
  const azMin = Math.max((_c = zone.azMin) !== null && _c !== void 0 ? _c : 0, 0);
513
550
  const azMax = Math.min((_d = zone.azMax) !== null && _d !== void 0 ? _d : azimuthsCount - 1, azimuthsCount - 1);
514
551
  const edMin = Math.max((_e = zone.edMin) !== null && _e !== void 0 ? _e : 0, 0);
515
552
  const edMax = (_f = zone.edMax) !== null && _f !== void 0 ? _f : this.polarMeasureValue.getPolarEdgesCount() - 1;
516
- for (let azIdx = azMin; azIdx <= azMax; azIdx++) {
517
- const containerIdx = azIdx - globalAzMin;
518
- if (containerIdx < 0 || containerIdx >= this.builtMeasureValuePolarContainers.length) {
519
- continue;
520
- }
521
- const container = this.builtMeasureValuePolarContainers[containerIdx];
522
- const azimuthInDegrees = container.azimuth;
523
- const polarEdges = container.polarEdges;
524
- const distance = container.distance || defaultDistance;
553
+ if (edgeFirst) {
525
554
  for (let edIdx = edMin; edIdx <= edMax; edIdx++) {
526
- const key = azIdx * maxEdKey + edIdx;
527
- if (visited.has(key)) {
528
- continue;
529
- }
530
- visited.add(key);
531
- const localEdIdx = edIdx - globalEdMin;
532
- if (localEdIdx < 0 || localEdIdx >= polarEdges.length) {
533
- continue;
534
- }
535
- const value = polarEdges[localEdIdx];
536
- if (hasMinFilter && value <= minExcludedValue) {
537
- continue;
555
+ for (let azIdx = azMin; azIdx <= azMax; azIdx++) {
556
+ visitCell(azIdx, edIdx);
538
557
  }
539
- const valueSetter = (newValue) => {
540
- polarEdges[localEdIdx] = newValue;
541
- };
542
- const result = onEachValue(new PolarValue_1.PolarValue({
543
- value,
544
- polarAzimuthInDegrees: azimuthInDegrees,
545
- polarDistanceInMeters: (edIdx + 1) * distance,
546
- }), azIdx, edIdx, valueSetter);
547
- if (result instanceof Promise) {
548
- isAsync = true;
549
- promises.push(result);
558
+ }
559
+ }
560
+ else {
561
+ for (let azIdx = azMin; azIdx <= azMax; azIdx++) {
562
+ for (let edIdx = edMin; edIdx <= edMax; edIdx++) {
563
+ visitCell(azIdx, edIdx);
550
564
  }
551
565
  }
552
566
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PolarMeasureValueMap.js","sourceRoot":"","sources":["../../src/polar/PolarMeasureValueMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PolarMeasureValueMap.js","sourceRoot":"","sources":["../../src/polar/PolarMeasureValueMap.ts"],"names":[],"mappings":"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"}