@camstack/addon-post-analysis 1.2.201 → 1.2.202

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.
@@ -35739,12 +35739,7 @@ var FrameProcessor = class {
35739
35739
  trackId: e.detection.trackId,
35740
35740
  className: e.detection.class,
35741
35741
  confidence: e.detection.score,
35742
- bbox: td ? { ...td.bbox } : {
35743
- x: 0,
35744
- y: 0,
35745
- w: 0,
35746
- h: 0
35747
- },
35742
+ ...td ? { bbox: { ...td.bbox } } : {},
35748
35743
  zones,
35749
35744
  state,
35750
35745
  ...crossing !== void 0 ? { zoneCrossing: crossing } : {},
@@ -71693,6 +71688,15 @@ var PipelineAnalyticsAddon = class PipelineAnalyticsAddon extends require_dist.B
71693
71688
  if (this.eventMediaDispatcher && frameHandle) {
71694
71689
  const mediaEvents = [...result.objectEvents, ...result.appearanceEvents];
71695
71690
  const childCropsByEvent = buildEventChildCrops(mediaEvents, frame.detections);
71691
+ const uncroppable = mediaEvents.filter((e) => e.bbox === void 0 || e.bbox.w <= 0 || e.bbox.h <= 0);
71692
+ if (uncroppable.length > 0) this.ctx.logger.debug("event media: no crop for events with no box in this frame (a departed track has nothing to cut)", {
71693
+ tags: { deviceId },
71694
+ meta: {
71695
+ events: uncroppable.length,
71696
+ states: [...new Set(uncroppable.map((e) => e.state ?? "unknown"))],
71697
+ zeroArea: uncroppable.filter((e) => e.bbox !== void 0).length
71698
+ }
71699
+ });
71696
71700
  const eventTargets = mediaEvents.filter((e) => e.bbox !== void 0 && e.bbox.w > 0 && e.bbox.h > 0).map((e) => {
71697
71701
  const childCrops = childCropsByEvent.get(e.id);
71698
71702
  return {
@@ -35714,12 +35714,7 @@ var FrameProcessor = class {
35714
35714
  trackId: e.detection.trackId,
35715
35715
  className: e.detection.class,
35716
35716
  confidence: e.detection.score,
35717
- bbox: td ? { ...td.bbox } : {
35718
- x: 0,
35719
- y: 0,
35720
- w: 0,
35721
- h: 0
35722
- },
35717
+ ...td ? { bbox: { ...td.bbox } } : {},
35723
35718
  zones,
35724
35719
  state,
35725
35720
  ...crossing !== void 0 ? { zoneCrossing: crossing } : {},
@@ -71619,6 +71614,15 @@ var PipelineAnalyticsAddon = class PipelineAnalyticsAddon extends BaseAddon {
71619
71614
  if (this.eventMediaDispatcher && frameHandle) {
71620
71615
  const mediaEvents = [...result.objectEvents, ...result.appearanceEvents];
71621
71616
  const childCropsByEvent = buildEventChildCrops(mediaEvents, frame.detections);
71617
+ const uncroppable = mediaEvents.filter((e) => e.bbox === void 0 || e.bbox.w <= 0 || e.bbox.h <= 0);
71618
+ if (uncroppable.length > 0) this.ctx.logger.debug("event media: no crop for events with no box in this frame (a departed track has nothing to cut)", {
71619
+ tags: { deviceId },
71620
+ meta: {
71621
+ events: uncroppable.length,
71622
+ states: [...new Set(uncroppable.map((e) => e.state ?? "unknown"))],
71623
+ zeroArea: uncroppable.filter((e) => e.bbox !== void 0).length
71624
+ }
71625
+ });
71622
71626
  const eventTargets = mediaEvents.filter((e) => e.bbox !== void 0 && e.bbox.w > 0 && e.bbox.h > 0).map((e) => {
71623
71627
  const childCrops = childCropsByEvent.get(e.id);
71624
71628
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-post-analysis",
3
- "version": "1.2.201",
3
+ "version": "1.2.202",
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",