@camstack/addon-post-analysis 1.2.265 → 1.2.266

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.
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.2.223",
21
+ version: "1.2.224",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_analytics_widgets",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.223",
39
+ version: "1.2.224",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -37075,6 +37075,7 @@ function growthAdjacentMatch(track, det, ctx) {
37075
37075
  const trackArea = track.w * track.h;
37076
37076
  const detArea = det.w * det.h;
37077
37077
  if (trackArea <= 0 || detArea <= 0) return false;
37078
+ if (ctx.frameArea > 0 && trackArea / ctx.frameArea > .01) return false;
37078
37079
  const larger = Math.max(trackArea, detArea);
37079
37080
  const smaller = Math.min(trackArea, detArea);
37080
37081
  if (larger / smaller < 1.5) return false;
@@ -37228,6 +37229,12 @@ var SortTracker = class SortTracker {
37228
37229
  * and a busy one span the same seconds (D438).
37229
37230
  */
37230
37231
  frameSeq = 0;
37232
+ /**
37233
+ * The area of the frame this pass is running over, or `0` when the caller
37234
+ * gave no frame context. Read by the growth clause's FRAGMENT test, which
37235
+ * three call sites reach and only one of them could have been handed it.
37236
+ */
37237
+ frameArea = 0;
37231
37238
  /** Sink for track deaths — see {@link setTrackLossObserver}. */
37232
37239
  trackLossObserver = null;
37233
37240
  trackLossSampler = new TrackLossSampler();
@@ -37345,7 +37352,7 @@ var SortTracker = class SortTracker {
37345
37352
  if (!this.config.reacquireTimeScaled) return "plausible-birth-veto";
37346
37353
  return this.isUnambiguousReach(track, det, detections) ? "already-claimed" : "crowd-guard";
37347
37354
  }
37348
- if (growthAdjacentMatch(track.bbox, det.bbox, SortTracker.growthContext(track, timestamp))) return "already-claimed";
37355
+ if (growthAdjacentMatch(track.bbox, det.bbox, this.growthContext(track, timestamp))) return "already-claimed";
37349
37356
  return "geometry";
37350
37357
  }
37351
37358
  /** Emit one dropped-detection record, subject to the refusal sampler. */
@@ -37472,10 +37479,11 @@ var SortTracker = class SortTracker {
37472
37479
  });
37473
37480
  }
37474
37481
  /** When the pair is being judged, relative to `track`. */
37475
- static growthContext(track, timestamp) {
37482
+ growthContext(track, timestamp) {
37476
37483
  return {
37477
37484
  trackAgeMs: timestamp - track.firstSeen,
37478
- gapMs: timestamp - track.lastSeen
37485
+ gapMs: timestamp - track.lastSeen,
37486
+ frameArea: this.frameArea
37479
37487
  };
37480
37488
  }
37481
37489
  /** Whether two macro-classes may be collapsed as the SAME subject. Same class
@@ -37604,7 +37612,7 @@ var SortTracker = class SortTracker {
37604
37612
  });
37605
37613
  return true;
37606
37614
  }
37607
- if (t.class === det.class && growthAdjacentMatch(t.bbox, det.bbox, SortTracker.growthContext(t, timestamp))) {
37615
+ if (t.class === det.class && growthAdjacentMatch(t.bbox, det.bbox, this.growthContext(t, timestamp))) {
37608
37616
  this.reportBind("spawn-dedup", "growth", t, det, timestamp);
37609
37617
  return true;
37610
37618
  }
@@ -37779,7 +37787,7 @@ var SortTracker = class SortTracker {
37779
37787
  const tc = bboxCentroid(track.bbox);
37780
37788
  const dc = bboxCentroid(det.bbox);
37781
37789
  if (Math.hypot(tc.x - dc.x, tc.y - dc.y) <= this.reacquireReach(track, timestamp, timeScaled)) return "centroid";
37782
- if (growthAdjacentMatch(track.bbox, det.bbox, SortTracker.growthContext(track, timestamp))) return "growth";
37790
+ if (growthAdjacentMatch(track.bbox, det.bbox, this.growthContext(track, timestamp))) return "growth";
37783
37791
  return null;
37784
37792
  }
37785
37793
  /**
@@ -38007,6 +38015,7 @@ var SortTracker = class SortTracker {
38007
38015
  update(detections, timestamp, frameContext) {
38008
38016
  this.frameSeq++;
38009
38017
  const frameArea = frameContext ? frameContext.frameWidth * frameContext.frameHeight : 0;
38018
+ this.frameArea = frameArea;
38010
38019
  const continuationOnly = frameContext?.continuationOnly ?? EMPTY_INDEX_SET;
38011
38020
  const resurrectedScene = /* @__PURE__ */ new Map();
38012
38021
  if (this.config.maxTrackLifetimeMs > 0) {
@@ -37050,6 +37050,7 @@ function growthAdjacentMatch(track, det, ctx) {
37050
37050
  const trackArea = track.w * track.h;
37051
37051
  const detArea = det.w * det.h;
37052
37052
  if (trackArea <= 0 || detArea <= 0) return false;
37053
+ if (ctx.frameArea > 0 && trackArea / ctx.frameArea > .01) return false;
37053
37054
  const larger = Math.max(trackArea, detArea);
37054
37055
  const smaller = Math.min(trackArea, detArea);
37055
37056
  if (larger / smaller < 1.5) return false;
@@ -37203,6 +37204,12 @@ var SortTracker = class SortTracker {
37203
37204
  * and a busy one span the same seconds (D438).
37204
37205
  */
37205
37206
  frameSeq = 0;
37207
+ /**
37208
+ * The area of the frame this pass is running over, or `0` when the caller
37209
+ * gave no frame context. Read by the growth clause's FRAGMENT test, which
37210
+ * three call sites reach and only one of them could have been handed it.
37211
+ */
37212
+ frameArea = 0;
37206
37213
  /** Sink for track deaths — see {@link setTrackLossObserver}. */
37207
37214
  trackLossObserver = null;
37208
37215
  trackLossSampler = new TrackLossSampler();
@@ -37320,7 +37327,7 @@ var SortTracker = class SortTracker {
37320
37327
  if (!this.config.reacquireTimeScaled) return "plausible-birth-veto";
37321
37328
  return this.isUnambiguousReach(track, det, detections) ? "already-claimed" : "crowd-guard";
37322
37329
  }
37323
- if (growthAdjacentMatch(track.bbox, det.bbox, SortTracker.growthContext(track, timestamp))) return "already-claimed";
37330
+ if (growthAdjacentMatch(track.bbox, det.bbox, this.growthContext(track, timestamp))) return "already-claimed";
37324
37331
  return "geometry";
37325
37332
  }
37326
37333
  /** Emit one dropped-detection record, subject to the refusal sampler. */
@@ -37447,10 +37454,11 @@ var SortTracker = class SortTracker {
37447
37454
  });
37448
37455
  }
37449
37456
  /** When the pair is being judged, relative to `track`. */
37450
- static growthContext(track, timestamp) {
37457
+ growthContext(track, timestamp) {
37451
37458
  return {
37452
37459
  trackAgeMs: timestamp - track.firstSeen,
37453
- gapMs: timestamp - track.lastSeen
37460
+ gapMs: timestamp - track.lastSeen,
37461
+ frameArea: this.frameArea
37454
37462
  };
37455
37463
  }
37456
37464
  /** Whether two macro-classes may be collapsed as the SAME subject. Same class
@@ -37579,7 +37587,7 @@ var SortTracker = class SortTracker {
37579
37587
  });
37580
37588
  return true;
37581
37589
  }
37582
- if (t.class === det.class && growthAdjacentMatch(t.bbox, det.bbox, SortTracker.growthContext(t, timestamp))) {
37590
+ if (t.class === det.class && growthAdjacentMatch(t.bbox, det.bbox, this.growthContext(t, timestamp))) {
37583
37591
  this.reportBind("spawn-dedup", "growth", t, det, timestamp);
37584
37592
  return true;
37585
37593
  }
@@ -37754,7 +37762,7 @@ var SortTracker = class SortTracker {
37754
37762
  const tc = bboxCentroid(track.bbox);
37755
37763
  const dc = bboxCentroid(det.bbox);
37756
37764
  if (Math.hypot(tc.x - dc.x, tc.y - dc.y) <= this.reacquireReach(track, timestamp, timeScaled)) return "centroid";
37757
- if (growthAdjacentMatch(track.bbox, det.bbox, SortTracker.growthContext(track, timestamp))) return "growth";
37765
+ if (growthAdjacentMatch(track.bbox, det.bbox, this.growthContext(track, timestamp))) return "growth";
37758
37766
  return null;
37759
37767
  }
37760
37768
  /**
@@ -37982,6 +37990,7 @@ var SortTracker = class SortTracker {
37982
37990
  update(detections, timestamp, frameContext) {
37983
37991
  this.frameSeq++;
37984
37992
  const frameArea = frameContext ? frameContext.frameWidth * frameContext.frameHeight : 0;
37993
+ this.frameArea = frameArea;
37985
37994
  const continuationOnly = frameContext?.continuationOnly ?? EMPTY_INDEX_SET;
37986
37995
  const resurrectedScene = /* @__PURE__ */ new Map();
37987
37996
  if (this.config.maxTrackLifetimeMs > 0) {
@@ -30,7 +30,7 @@ async function d(e) {
30
30
  }
31
31
  }
32
32
  async function f() {
33
- return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-DhI7w_A1.mjs")).catch((e) => {
33
+ return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Cpkxf2UJ.mjs")).catch((e) => {
34
34
  throw l = void 0, e;
35
35
  }), l;
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-post-analysis",
3
- "version": "1.2.265",
3
+ "version": "1.2.266",
4
4
  "description": "Post-Analysis bundle — enrichment, embedding-encoder, pipeline-analytics. Multi-entry npm package shipping addons that consume pipeline output.",
5
5
  "keywords": [
6
6
  "camstack",