supervision 0.1.3 → 0.1.5

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 (121) hide show
  1. package/dist/index.d.ts +16 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1587 -177
  4. package/dist/index.js.map +1 -1
  5. package/dist/mask-preparation.worker.js +110 -68
  6. package/dist/mask-preparation.worker.js.map +1 -1
  7. package/dist/post-processing/default-tracking-worker.d.ts +3 -0
  8. package/dist/post-processing/default-tracking-worker.d.ts.map +1 -0
  9. package/dist/post-processing/detection-post-processing-pipeline.d.ts +7 -0
  10. package/dist/post-processing/detection-post-processing-pipeline.d.ts.map +1 -0
  11. package/dist/post-processing/embedded-tracking-worker.d.ts +2 -0
  12. package/dist/post-processing/embedded-tracking-worker.d.ts.map +1 -0
  13. package/dist/post-processing/tracking-worker-protocol.d.ts +29 -0
  14. package/dist/post-processing/tracking-worker-protocol.d.ts.map +1 -0
  15. package/dist/post-processing/tracking.worker.d.ts +2 -0
  16. package/dist/post-processing/tracking.worker.d.ts.map +1 -0
  17. package/dist/render-preparation/mask-frame-artifact.d.ts +6 -0
  18. package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
  19. package/dist/render-preparation/mask-frame-compositor.d.ts +1 -0
  20. package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
  21. package/dist/render-preparation/mask-frame-preparer.d.ts.map +1 -1
  22. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +1 -0
  23. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
  24. package/dist/renderers/annotation-shape-styles.d.ts +17 -0
  25. package/dist/renderers/annotation-shape-styles.d.ts.map +1 -0
  26. package/dist/renderers/media-renderer-core.d.ts.map +1 -1
  27. package/dist/renderers/media-renderer-scene.d.ts +17 -2
  28. package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
  29. package/dist/renderers/pixi-annotation-overlay-layer.d.ts.map +1 -1
  30. package/dist/renderers/pixi-focus-layer.d.ts +1 -0
  31. package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
  32. package/dist/renderers/pixi-interaction-layer.d.ts +2 -0
  33. package/dist/renderers/pixi-interaction-layer.d.ts.map +1 -1
  34. package/dist/renderers/pixi-interaction-presentation-layer.d.ts +2 -1
  35. package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
  36. package/dist/renderers/pixi-mask-halo.d.ts +94 -0
  37. package/dist/renderers/pixi-mask-halo.d.ts.map +1 -0
  38. package/dist/renderers/pixi-mask-layer.d.ts +10 -1
  39. package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
  40. package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
  41. package/dist/renderers/pixi-path.d.ts +13 -7
  42. package/dist/renderers/pixi-path.d.ts.map +1 -1
  43. package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
  44. package/dist/renderers/pixi-region-layer.d.ts +42 -0
  45. package/dist/renderers/pixi-region-layer.d.ts.map +1 -0
  46. package/dist/renderers/pixi-scene-layer-slot.d.ts +1 -0
  47. package/dist/renderers/pixi-scene-layer-slot.d.ts.map +1 -1
  48. package/dist/renderers/pixi-vector-layer.d.ts +3 -1
  49. package/dist/renderers/pixi-vector-layer.d.ts.map +1 -1
  50. package/dist/sessions/media-session.d.ts.map +1 -1
  51. package/dist/tracking.worker.js +1485 -0
  52. package/dist/tracking.worker.js.map +1 -0
  53. package/dist/types/detection-post-processing.d.ts +62 -0
  54. package/dist/types/detection-post-processing.d.ts.map +1 -0
  55. package/dist/types/media-renderer.d.ts +1 -1
  56. package/dist/types/media-renderer.d.ts.map +1 -1
  57. package/dist/workers/worker-rpc-client.d.ts +2 -1
  58. package/dist/workers/worker-rpc-client.d.ts.map +1 -1
  59. package/node_modules/supervision-js-core/dist/index.d.ts +23 -3
  60. package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
  61. package/node_modules/supervision-js-core/dist/index.js +2545 -566
  62. package/node_modules/supervision-js-core/dist/index.js.map +1 -1
  63. package/node_modules/supervision-js-core/dist/interactions/detection-picker.d.ts +18 -0
  64. package/node_modules/supervision-js-core/dist/interactions/detection-picker.d.ts.map +1 -1
  65. package/node_modules/supervision-js-core/dist/post-processing/byte-track-tracker.d.ts +4 -0
  66. package/node_modules/supervision-js-core/dist/post-processing/byte-track-tracker.d.ts.map +1 -0
  67. package/node_modules/supervision-js-core/dist/post-processing/cbiou-tracker.d.ts +4 -0
  68. package/node_modules/supervision-js-core/dist/post-processing/cbiou-tracker.d.ts.map +1 -0
  69. package/node_modules/supervision-js-core/dist/post-processing/oc-sort-tracker.d.ts +4 -0
  70. package/node_modules/supervision-js-core/dist/post-processing/oc-sort-tracker.d.ts.map +1 -0
  71. package/node_modules/supervision-js-core/dist/post-processing/sort-tracker.d.ts +4 -0
  72. package/node_modules/supervision-js-core/dist/post-processing/sort-tracker.d.ts.map +1 -0
  73. package/node_modules/supervision-js-core/dist/post-processing/tracking.d.ts +9 -0
  74. package/node_modules/supervision-js-core/dist/post-processing/tracking.d.ts.map +1 -0
  75. package/node_modules/supervision-js-core/dist/styles/annotation-renderer-presentation.d.ts.map +1 -1
  76. package/node_modules/supervision-js-core/dist/styles/annotation-renderer-registry.d.ts +13 -6
  77. package/node_modules/supervision-js-core/dist/styles/annotation-renderer-registry.d.ts.map +1 -1
  78. package/node_modules/supervision-js-core/dist/styles/box-corner-style.d.ts +14 -0
  79. package/node_modules/supervision-js-core/dist/styles/box-corner-style.d.ts.map +1 -0
  80. package/node_modules/supervision-js-core/dist/styles/box-style.d.ts.map +1 -1
  81. package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts +19 -0
  82. package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts.map +1 -1
  83. package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts.map +1 -1
  84. package/node_modules/supervision-js-core/dist/styles/keypoint-style.d.ts.map +1 -1
  85. package/node_modules/supervision-js-core/dist/styles/marker-style.d.ts +14 -0
  86. package/node_modules/supervision-js-core/dist/styles/marker-style.d.ts.map +1 -0
  87. package/node_modules/supervision-js-core/dist/styles/polygon-style.d.ts.map +1 -1
  88. package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts.map +1 -1
  89. package/node_modules/supervision-js-core/dist/styles/source-presentation.d.ts +8 -0
  90. package/node_modules/supervision-js-core/dist/styles/source-presentation.d.ts.map +1 -1
  91. package/node_modules/supervision-js-core/dist/styles/stroke-style.d.ts +12 -0
  92. package/node_modules/supervision-js-core/dist/styles/stroke-style.d.ts.map +1 -0
  93. package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts +124 -4
  94. package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts.map +1 -1
  95. package/node_modules/supervision-js-core/dist/types/box-corner-style.d.ts +31 -0
  96. package/node_modules/supervision-js-core/dist/types/box-corner-style.d.ts.map +1 -0
  97. package/node_modules/supervision-js-core/dist/types/box-style.d.ts +4 -17
  98. package/node_modules/supervision-js-core/dist/types/box-style.d.ts.map +1 -1
  99. package/node_modules/supervision-js-core/dist/types/detections.d.ts +11 -3
  100. package/node_modules/supervision-js-core/dist/types/detections.d.ts.map +1 -1
  101. package/node_modules/supervision-js-core/dist/types/ellipse-style.d.ts +30 -0
  102. package/node_modules/supervision-js-core/dist/types/ellipse-style.d.ts.map +1 -0
  103. package/node_modules/supervision-js-core/dist/types/interaction.d.ts +12 -0
  104. package/node_modules/supervision-js-core/dist/types/interaction.d.ts.map +1 -1
  105. package/node_modules/supervision-js-core/dist/types/marker-style.d.ts +46 -0
  106. package/node_modules/supervision-js-core/dist/types/marker-style.d.ts.map +1 -0
  107. package/node_modules/supervision-js-core/dist/types/mask-halo-style.d.ts +29 -0
  108. package/node_modules/supervision-js-core/dist/types/mask-halo-style.d.ts.map +1 -0
  109. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +18 -2
  110. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
  111. package/node_modules/supervision-js-core/dist/types/paint-style.d.ts +36 -0
  112. package/node_modules/supervision-js-core/dist/types/paint-style.d.ts.map +1 -0
  113. package/node_modules/supervision-js-core/dist/types/post-processing.d.ts +148 -0
  114. package/node_modules/supervision-js-core/dist/types/post-processing.d.ts.map +1 -0
  115. package/node_modules/supervision-js-core/dist/types/shape-style.d.ts +112 -0
  116. package/node_modules/supervision-js-core/dist/types/shape-style.d.ts.map +1 -0
  117. package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts.map +1 -1
  118. package/node_modules/supervision-js-core/dist/utils/shape-geometry.d.ts +50 -0
  119. package/node_modules/supervision-js-core/dist/utils/shape-geometry.d.ts.map +1 -0
  120. package/node_modules/supervision-js-core/package.json +12 -5
  121. package/package.json +7 -2
@@ -1,34 +1,21 @@
1
1
  import type { Detection, Rect } from "#types/detections";
2
+ import type { FillStyle, StrokeStyle } from "#types/paint-style";
2
3
  import type { AnnotationStyleContext } from "#types/style";
4
+ export { StrokeAlignment as BoxStrokeAlignment } from "#types/paint-style";
3
5
  export declare enum BoxShape {
4
6
  Rect = "rect",
5
7
  RoundedRect = "roundedRect"
6
8
  }
7
- export declare enum BoxStrokeAlignment {
8
- Inside = "inside",
9
- Center = "center",
10
- Outside = "outside"
11
- }
12
9
  /**
13
10
  * Stroke applied to a rendered detection rectangle.
14
11
  *
15
12
  * This belongs to presentation styling, not to the underlying detection data.
16
13
  */
17
- export interface BoxStrokeStyle {
18
- readonly color: number;
19
- readonly alpha: number;
20
- readonly width: number;
21
- readonly alignment?: BoxStrokeAlignment;
22
- /** Alternating dash and gap lengths in screen pixels. */
23
- readonly dash?: readonly number[];
24
- }
14
+ export type BoxStrokeStyle = StrokeStyle;
25
15
  /**
26
16
  * Fill applied behind or inside a rendered detection rectangle.
27
17
  */
28
- export interface BoxFillStyle {
29
- readonly color: number;
30
- readonly alpha: number;
31
- }
18
+ export type BoxFillStyle = FillStyle;
32
19
  /**
33
20
  * Per-frame context passed to a box style while resolving draw instructions.
34
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"box-style.d.ts","sourceRoot":"","sources":["../../src/types/box-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,WAAW,gBAAgB;CAC5B;AAED,oBAAY,kBAAkB;IAC5B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACxC,yDAAyD;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,eAAe,GACvB,kBAAkB,GAAG,SAAS,CAAC;CACnC"}
1
+ {"version":3,"file":"box-style.d.ts","sourceRoot":"","sources":["../../src/types/box-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,WAAW,gBAAgB;CAC5B;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,eAAe,GACvB,kBAAkB,GAAG,SAAS,CAAC;CACnC"}
@@ -98,10 +98,12 @@ export interface CompressedRleDetectionMask {
98
98
  }
99
99
  export type DetectionMask = CompressedRleDetectionMask;
100
100
  /**
101
- * One model output for a media frame.
101
+ * One semantic detection for a media frame.
102
102
  *
103
- * A detection stores model data only: identity, class, confidence, geometry,
104
- * mask, and caller metadata. It intentionally does not carry render styling.
103
+ * A detection may come directly from a model or from a semantic
104
+ * post-processor such as tracking. It stores identity, class, confidence,
105
+ * geometry, mask, and caller metadata, but intentionally does not carry render
106
+ * styling.
105
107
  * Styling is resolved through presentation styles so the same detections can be
106
108
  * rendered as boxes, masks, labels, or future layers without mutating the
107
109
  * underlying annotation data.
@@ -111,6 +113,12 @@ export interface Detection {
111
113
  * Optional stable identity for picking, interaction, and host app metadata.
112
114
  */
113
115
  readonly id?: string | number;
116
+ /**
117
+ * Optional temporal identity assigned by a tracking post-processor.
118
+ * This is separate from `id`, which remains the annotation/picking identity.
119
+ * Post-processors may update this derived field in place.
120
+ */
121
+ trackerId?: number;
114
122
  /**
115
123
  * Optional provenance for detections copied from a composed source.
116
124
  *
@@ -1 +1 @@
1
- {"version":3,"file":"detections.d.ts","sourceRoot":"","sources":["../../src/types/detections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detections.d.ts","sourceRoot":"","sources":["../../src/types/detections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { Detection } from "#types/detections";
2
+ import type { ClosedEllipseShapeInstruction, EllipseArcShapeInstruction } from "#types/shape-style";
3
+ import type { AnnotationStyleContext } from "#types/style";
4
+ export type EllipseStyleContext = AnnotationStyleContext;
5
+ /**
6
+ * One closed ellipse drawn for a detection, in media coordinates.
7
+ *
8
+ * The annotation renderer omits only the internal shape discriminator; all
9
+ * geometry and paint constraints come from the shared ellipse primitive.
10
+ */
11
+ export type ClosedEllipseDrawInstruction = Omit<ClosedEllipseShapeInstruction, "kind">;
12
+ /**
13
+ * One elliptical arc drawn for a detection, in media coordinates.
14
+ *
15
+ * Angles are radians measured from the positive x axis before `rotation` is
16
+ * applied.
17
+ */
18
+ export type EllipseArcDrawInstruction = Omit<EllipseArcShapeInstruction, "kind">;
19
+ export type EllipseDrawInstruction = ClosedEllipseDrawInstruction | EllipseArcDrawInstruction;
20
+ /**
21
+ * Style contract of the `ellipse` annotation renderer.
22
+ *
23
+ * Resolves per detection to the ellipse drawn for it, or `undefined` to skip
24
+ * the detection. Ellipses are presentation only: they are never pickable and
25
+ * never become editable annotations.
26
+ */
27
+ export interface EllipseStyle {
28
+ resolve(detection: Detection, context: EllipseStyleContext): EllipseDrawInstruction | undefined;
29
+ }
30
+ //# sourceMappingURL=ellipse-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ellipse-style.d.ts","sourceRoot":"","sources":["../../src/types/ellipse-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACV,6BAA6B,EAC7B,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,6BAA6B,EAC7B,MAAM,CACP,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,0BAA0B,EAC1B,MAAM,CACP,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAChC,4BAA4B,GAAG,yBAAyB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,mBAAmB,GAC3B,sBAAsB,GAAG,SAAS,CAAC;CACvC"}
@@ -56,8 +56,20 @@ export type DetectionSelectionOptions = DetectionSelectionOptionsBase & ({
56
56
  export interface MediaInteractionOptions extends DetectionPickOptions {
57
57
  readonly mode?: MediaInteractionMode;
58
58
  readonly onHover?: (pick: DetectionPickResult | null) => void;
59
+ /**
60
+ * Reports selection identity changes. A stable, frame-unique detection id
61
+ * may keep rendering as selected across later frames without re-emitting
62
+ * this callback. The pick is the immutable frame snapshot where the
63
+ * selection event occurred; use the detection id with the active frame when
64
+ * current geometry is required.
65
+ */
59
66
  readonly onSelect?: (pick: DetectionPickResult | null) => void;
60
67
  readonly multiSelect?: boolean;
68
+ /**
69
+ * Reports selection membership changes, not per-frame geometry updates for
70
+ * stable detection ids. Each pick is the snapshot that produced that
71
+ * membership event.
72
+ */
61
73
  readonly onSelectionChange?: (picks: readonly DetectionPickResult[]) => void;
62
74
  readonly onMarqueeChange?: (rect: {
63
75
  readonly x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/types/interaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/types/interaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { Detection, Point } from "#types/detections";
2
+ import type { FillStyle, OpenStrokeStyle, StrokeStyle } from "#types/paint-style";
3
+ import { MarkerShape, MarkerSizeSpace } from "#types/shape-style";
4
+ import type { AnnotationStyleContext, DetectionStylePredicate, DetectionStyleValue } from "#types/style";
5
+ export type MarkerStyleContext = AnnotationStyleContext;
6
+ interface MarkerDrawInstructionBase {
7
+ readonly center: Point;
8
+ readonly shape: MarkerShape;
9
+ /** Marker diameter in the declared size space. */
10
+ readonly size: number;
11
+ readonly sizeSpace: MarkerSizeSpace;
12
+ readonly rotation?: number;
13
+ }
14
+ export interface ClosedMarkerDrawInstruction extends MarkerDrawInstructionBase {
15
+ readonly shape: MarkerShape.Circle | MarkerShape.Square | MarkerShape.Triangle;
16
+ readonly fill?: FillStyle;
17
+ readonly stroke?: StrokeStyle;
18
+ }
19
+ export interface CrossMarkerDrawInstruction extends MarkerDrawInstructionBase {
20
+ readonly shape: MarkerShape.Cross;
21
+ readonly fill?: never;
22
+ readonly stroke?: OpenStrokeStyle;
23
+ }
24
+ export type MarkerDrawInstruction = ClosedMarkerDrawInstruction | CrossMarkerDrawInstruction;
25
+ /**
26
+ * Style contract of the `marker` annotation renderer.
27
+ *
28
+ * A style maps a semantic detection to one positioned marker. The renderer is
29
+ * presentation-only and does not change picking or editing geometry.
30
+ */
31
+ export interface MarkerStyle {
32
+ resolve(detection: Detection, context: MarkerStyleContext): MarkerDrawInstruction | undefined;
33
+ }
34
+ export interface BaseMarkerStyleOptions {
35
+ /** Optional media-space anchor. The default is the detection-rect center. */
36
+ readonly center?: DetectionStyleValue<Point | undefined, MarkerStyleContext>;
37
+ readonly shape?: DetectionStyleValue<MarkerShape, MarkerStyleContext>;
38
+ readonly size?: DetectionStyleValue<number, MarkerStyleContext>;
39
+ readonly sizeSpace?: DetectionStyleValue<MarkerSizeSpace, MarkerStyleContext>;
40
+ readonly rotation?: DetectionStyleValue<number | undefined, MarkerStyleContext>;
41
+ readonly fill?: DetectionStyleValue<Partial<FillStyle> | null, MarkerStyleContext>;
42
+ readonly stroke?: DetectionStyleValue<Partial<StrokeStyle> | null, MarkerStyleContext>;
43
+ readonly shouldRender?: DetectionStylePredicate<MarkerStyleContext>;
44
+ }
45
+ export {};
46
+ //# sourceMappingURL=marker-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker-style.d.ts","sourceRoot":"","sources":["../../src/types/marker-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAExD,UAAU,yBAAyB;IACjC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;IAC5E,QAAQ,CAAC,KAAK,EACZ,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC3E,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,MAAM,qBAAqB,GAC/B,2BAA2B,GAAG,0BAA0B,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,kBAAkB,GAC1B,qBAAqB,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,KAAK,GAAG,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CACrC,MAAM,GAAG,SAAS,EAClB,kBAAkB,CACnB,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CACjC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,EACzB,kBAAkB,CACnB,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CACnC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,EAC3B,kBAAkB,CACnB,CAAC;IACF,QAAQ,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;CACrE"}
@@ -0,0 +1,29 @@
1
+ import type { Detection } from "#types/detections";
2
+ import type { AnnotationStyleContext } from "#types/style";
3
+ export type MaskHaloStyleContext = AnnotationStyleContext;
4
+ /**
5
+ * Renderer-neutral mask halo drawing instruction.
6
+ *
7
+ * The backend blurs the prepared mask coverage on the GPU, so the glow
8
+ * follows the exact mask silhouette. Each detection's spread is honored:
9
+ * detections requesting different spreads render in separate blur passes.
10
+ */
11
+ export interface MaskHaloDrawInstruction {
12
+ /** Peak glow alpha at the silhouette. */
13
+ readonly alpha: number;
14
+ readonly color: number;
15
+ /** Blur radius in screen pixels. */
16
+ readonly spread: number;
17
+ }
18
+ /**
19
+ * Mask halo presentation contract.
20
+ *
21
+ * The halo renderer consumes semantic detections with masks and returns a
22
+ * glow instruction per detection, or `undefined` to skip one. Halos are
23
+ * presentation only: never pickable or editable, and they reuse the prepared
24
+ * mask artifact without invalidating it.
25
+ */
26
+ export interface MaskHaloStyle {
27
+ resolve(detection: Detection, context: MaskHaloStyleContext): MaskHaloDrawInstruction | undefined;
28
+ }
29
+ //# sourceMappingURL=mask-halo-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mask-halo-style.d.ts","sourceRoot":"","sources":["../../src/types/mask-halo-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,oBAAoB,GAC5B,uBAAuB,GAAG,SAAS,CAAC;CACxC"}
@@ -1,14 +1,18 @@
1
1
  import type { DetectionBufferState } from "#types/detection-timeline";
2
2
  import type { DetectionFrame } from "#types/detections";
3
3
  import type { BoxStyle } from "#types/box-style";
4
+ import type { BoxCornerStyle } from "#types/box-corner-style";
4
5
  import type { FocusStyle } from "#types/focus-style";
5
6
  import type { InteractionStyle } from "#types/interaction-style";
6
7
  import type { LabelStyle } from "#types/label-style";
8
+ import type { MaskHaloStyle } from "#types/mask-halo-style";
7
9
  import type { MaskStyle } from "#types/mask-style";
10
+ import type { MarkerStyle } from "#types/marker-style";
8
11
  import type { Point } from "#types/detections";
9
12
  import type { ViewportTransform } from "#types/viewport";
10
13
  import type { PolygonStyle } from "#types/polygon-style";
11
14
  import type { PolylineStyle } from "#types/polyline-style";
15
+ import type { EllipseStyle } from "#types/ellipse-style";
12
16
  import type { KeypointStyle } from "#types/keypoint-style";
13
17
  import type { AnnotationOverlayStyle } from "#types/editing";
14
18
  import type { AnnotationRenderer } from "#types/annotation-renderer";
@@ -92,6 +96,13 @@ export interface MediaRendererDiagnosticsOptions {
92
96
  * it permanently in latency-sensitive apps unless needed.
93
97
  */
94
98
  readonly frameTimings?: boolean;
99
+ /** Receives browser asset failures without failing media playback. */
100
+ readonly onAssetError?: (error: MediaRendererAssetError) => void;
101
+ }
102
+ export interface MediaRendererAssetError {
103
+ readonly rendererId: string;
104
+ readonly src: string;
105
+ readonly error: unknown;
95
106
  }
96
107
  /**
97
108
  * Snapshot of the opened media source.
@@ -150,18 +161,23 @@ export interface MediaRendererPresentation {
150
161
  /**
151
162
  * Built-in renderers that contribute semantic annotations to the
152
163
  * renderer-owned scene. When present, this list selects the enabled
153
- * built-in layers; the matching style field supplies the default for a
154
- * descriptor without an explicit style. Existing style fields remain
164
+ * built-in layers. Style-backed descriptors resolve into their established
165
+ * presentation fields, while direct descriptors such as `region` retain
166
+ * their semantic configuration for the backend. Existing style fields remain
155
167
  * supported for compatibility and source-specific presentation overrides.
156
168
  */
157
169
  readonly renderers?: readonly AnnotationRenderer[];
158
170
  readonly boxStyle?: BoxStyle | null;
171
+ readonly boxCornerStyle?: BoxCornerStyle | null;
159
172
  readonly focusStyle?: FocusStyle | null;
160
173
  readonly interactionStyle?: InteractionStyle | null;
161
174
  readonly labelStyle?: LabelStyle | null;
175
+ readonly maskHaloStyle?: MaskHaloStyle | null;
162
176
  readonly maskStyle?: MaskStyle | null;
177
+ readonly markerStyle?: MarkerStyle | null;
163
178
  readonly polygonStyle?: PolygonStyle | null;
164
179
  readonly polylineStyle?: PolylineStyle | null;
180
+ readonly ellipseStyle?: EllipseStyle | null;
165
181
  readonly keypointStyle?: KeypointStyle | null;
166
182
  readonly visibility?: AnnotationVisibility;
167
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"media-rendering.d.ts","sourceRoot":"","sources":["../../src/types/media-rendering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-rendering.d.ts","sourceRoot":"","sources":["../../src/types/media-rendering.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /** Alignment for strokes applied to closed rendered geometry. */
2
+ export declare enum StrokeAlignment {
3
+ Inside = "inside",
4
+ Center = "center",
5
+ Outside = "outside"
6
+ }
7
+ /** Shape used at the exposed endpoints of an open stroke. */
8
+ export type StrokeCap = "butt" | "round" | "square";
9
+ /** Shape used where consecutive stroke segments meet. */
10
+ export type StrokeJoin = "bevel" | "miter" | "round";
11
+ /** Renderer-neutral stroke paint shared by boxes, paths, and shape primitives. */
12
+ export interface StrokeStyle {
13
+ readonly color: number;
14
+ readonly alpha: number;
15
+ readonly width: number;
16
+ readonly alignment?: StrokeAlignment;
17
+ readonly cap?: StrokeCap;
18
+ readonly join?: StrokeJoin;
19
+ /** Maximum miter length as a multiple of the stroke width. */
20
+ readonly miterLimit?: number;
21
+ /** Alternating dash and gap lengths in screen pixels. */
22
+ readonly dash?: readonly number[];
23
+ }
24
+ /**
25
+ * Stroke paint for open geometry. Alignment is intentionally unavailable:
26
+ * inside and outside have no stable meaning without a closed region.
27
+ */
28
+ export type OpenStrokeStyle = Omit<StrokeStyle, "alignment"> & {
29
+ readonly alignment?: never;
30
+ };
31
+ /** Renderer-neutral fill paint shared by closed geometry. */
32
+ export interface FillStyle {
33
+ readonly color: number;
34
+ readonly alpha: number;
35
+ }
36
+ //# sourceMappingURL=paint-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paint-style.d.ts","sourceRoot":"","sources":["../../src/types/paint-style.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpD,yDAAyD;AACzD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAErD,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;CAC5B,CAAC;AAEF,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,148 @@
1
+ import type { DetectionFrame, Rect } from "#types/detections";
2
+ /** Built-in semantic detection post-processors. */
3
+ export type DetectionPostProcessor = TrackingDetectionPostProcessor;
4
+ /** Geometry projected into a tracker. The original detection payload is retained. */
5
+ export declare enum TrackingGeometry {
6
+ Box = "box",
7
+ Mask = "mask",
8
+ Keypoints = "keypoints"
9
+ }
10
+ export interface SortTrackingOptions {
11
+ /** Missing-track buffer expressed in 30 FPS frames. Zero removes on the first miss. */
12
+ readonly lostTrackBuffer?: number;
13
+ /** Source frame rate used to scale `lostTrackBuffer`. */
14
+ readonly frameRate?: number;
15
+ /** Minimum confidence required to create a new track. Missing confidence is 1. */
16
+ readonly trackActivationThreshold?: number;
17
+ /** Successful observations required before a track receives an ID. */
18
+ readonly minimumConsecutiveFrames?: number;
19
+ /** Minimum intersection-over-union accepted by assignment. */
20
+ readonly minimumIouThreshold?: number;
21
+ }
22
+ export interface ByteTrackTrackingOptions {
23
+ /** Missing-track buffer expressed in 30 FPS frames. Zero removes on the first miss. */
24
+ readonly lostTrackBuffer?: number;
25
+ /** Source frame rate used to scale `lostTrackBuffer`. */
26
+ readonly frameRate?: number;
27
+ /** Minimum confidence required to create a new track. Missing confidence is 1. */
28
+ readonly trackActivationThreshold?: number;
29
+ /** Consecutive observations required before a track receives an ID. */
30
+ readonly minimumConsecutiveFrames?: number;
31
+ /** Minimum intersection-over-union accepted by either association stage. */
32
+ readonly minimumIouThreshold?: number;
33
+ /** Confidence boundary between the first and second association stages. */
34
+ readonly highConfidenceDetectionThreshold?: number;
35
+ }
36
+ export interface CBIoUTrackingOptions {
37
+ /** Missing-track buffer expressed in 30 FPS frames. */
38
+ readonly lostTrackBuffer?: number;
39
+ /** Source frame rate used to scale `lostTrackBuffer`. */
40
+ readonly frameRate?: number;
41
+ /** Minimum confidence required to create a new track. */
42
+ readonly trackActivationThreshold?: number;
43
+ /** Successful observations required before a track receives an ID. */
44
+ readonly minimumConsecutiveFrames?: number;
45
+ /** Minimum fused buffered-IoU score in the high-confidence pass. */
46
+ readonly minimumIouThresholdFirstAssociation?: number;
47
+ /** Minimum buffered IoU in the low-confidence recovery pass. */
48
+ readonly minimumIouThresholdSecondAssociation?: number;
49
+ /** Minimum fused buffered-IoU score for tentative tracks. */
50
+ readonly minimumIouThresholdUnconfirmedAssociation?: number;
51
+ /** Confidence boundary between the first and second association stages. */
52
+ readonly highConfidenceDetectionThreshold?: number;
53
+ /** Whether eligible detections on the first frame receive IDs immediately. */
54
+ readonly instantFirstFrameActivation?: boolean;
55
+ /** Proportional box expansion used by the first association stage. */
56
+ readonly bufferRatioFirst?: number;
57
+ /** Proportional box expansion used by the second association stage. */
58
+ readonly bufferRatioSecond?: number;
59
+ }
60
+ export interface OCSortTrackingOptions {
61
+ /** Missing-track buffer expressed in 30 FPS frames. */
62
+ readonly lostTrackBuffer?: number;
63
+ /** Source frame rate used to scale `lostTrackBuffer`. */
64
+ readonly frameRate?: number;
65
+ /** Consecutive observations required before a recovered track emits its ID. */
66
+ readonly minimumConsecutiveFrames?: number;
67
+ /** Minimum IoU accepted by primary and last-observation association. */
68
+ readonly minimumIouThreshold?: number;
69
+ /** Weight applied to observation-centric motion-direction consistency. */
70
+ readonly directionConsistencyWeight?: number;
71
+ /** Minimum confidence eligible for association and track creation. */
72
+ readonly highConfidenceDetectionThreshold?: number;
73
+ /** Observation-history lookback used to estimate motion direction. */
74
+ readonly deltaT?: number;
75
+ }
76
+ export interface SortTrackingDetectionPostProcessor {
77
+ readonly kind: "tracking";
78
+ readonly algorithm: "sort";
79
+ readonly geometry: TrackingGeometry;
80
+ readonly options: Required<SortTrackingOptions>;
81
+ }
82
+ export interface ByteTrackTrackingDetectionPostProcessor {
83
+ readonly kind: "tracking";
84
+ readonly algorithm: "bytetrack";
85
+ readonly geometry: TrackingGeometry;
86
+ readonly options: Required<ByteTrackTrackingOptions>;
87
+ }
88
+ export interface CBIoUTrackingDetectionPostProcessor {
89
+ readonly kind: "tracking";
90
+ readonly algorithm: "cbiou";
91
+ readonly geometry: TrackingGeometry;
92
+ readonly options: Required<CBIoUTrackingOptions>;
93
+ }
94
+ export interface OCSortTrackingDetectionPostProcessor {
95
+ readonly kind: "tracking";
96
+ readonly algorithm: "ocsort";
97
+ readonly geometry: TrackingGeometry;
98
+ readonly options: Required<OCSortTrackingOptions>;
99
+ }
100
+ export type TrackingDetectionPostProcessor = SortTrackingDetectionPostProcessor | ByteTrackTrackingDetectionPostProcessor | CBIoUTrackingDetectionPostProcessor | OCSortTrackingDetectionPostProcessor;
101
+ export interface TrackingProjection {
102
+ readonly confidence?: number;
103
+ readonly detectionIndex: number;
104
+ readonly rect: Rect;
105
+ }
106
+ export interface TrackingAssignment {
107
+ readonly detectionIndex: number;
108
+ readonly trackerId: number;
109
+ }
110
+ export interface SortTrackerUpdate {
111
+ readonly assignments: readonly TrackingAssignment[];
112
+ readonly activeTrackCount: number;
113
+ readonly confirmedTrackCount: number;
114
+ }
115
+ export interface SortTracker {
116
+ reset(): void;
117
+ update(detections: readonly TrackingProjection[], frameIndex?: number): SortTrackerUpdate;
118
+ }
119
+ export type ByteTrackTrackerUpdate = SortTrackerUpdate;
120
+ export interface ByteTrackTracker {
121
+ reset(): void;
122
+ update(detections: readonly TrackingProjection[], frameIndex?: number): ByteTrackTrackerUpdate;
123
+ }
124
+ export type CBIoUTrackerUpdate = SortTrackerUpdate;
125
+ export type CBIoUTracker = SortTracker;
126
+ export type OCSortTrackerUpdate = SortTrackerUpdate;
127
+ export type OCSortTracker = SortTracker;
128
+ export type TrackingTracker = SortTracker | ByteTrackTracker | CBIoUTracker | OCSortTracker;
129
+ export interface DetectionPostProcessorFactory {
130
+ tracking(options: CBIoUTrackingOptions & {
131
+ readonly algorithm: "cbiou";
132
+ readonly geometry?: TrackingGeometry;
133
+ }): CBIoUTrackingDetectionPostProcessor;
134
+ tracking(options: OCSortTrackingOptions & {
135
+ readonly algorithm: "ocsort";
136
+ readonly geometry?: TrackingGeometry;
137
+ }): OCSortTrackingDetectionPostProcessor;
138
+ tracking(options: ByteTrackTrackingOptions & {
139
+ readonly algorithm: "bytetrack";
140
+ readonly geometry?: TrackingGeometry;
141
+ }): ByteTrackTrackingDetectionPostProcessor;
142
+ tracking(options?: SortTrackingOptions & {
143
+ readonly algorithm?: "sort";
144
+ readonly geometry?: TrackingGeometry;
145
+ }): SortTrackingDetectionPostProcessor;
146
+ }
147
+ export type TrackingFrameProjector = (frame: DetectionFrame, geometry: TrackingGeometry) => readonly TrackingProjection[];
148
+ //# sourceMappingURL=post-processing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-processing.d.ts","sourceRoot":"","sources":["../../src/types/post-processing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9D,mDAAmD;AACnD,MAAM,MAAM,sBAAsB,GAAG,8BAA8B,CAAC;AAEpE,qFAAqF;AACrF,oBAAY,gBAAgB;IAC1B,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,uFAAuF;IACvF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,sEAAsE;IACtE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,8DAA8D;IAC9D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,wBAAwB;IACvC,uFAAuF;IACvF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,uEAAuE;IACvE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,4EAA4E;IAC5E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,2EAA2E;IAC3E,QAAQ,CAAC,gCAAgC,CAAC,EAAE,MAAM,CAAC;CACpD;AAED,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,sEAAsE;IACtE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,oEAAoE;IACpE,QAAQ,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAAC;IACtD,gEAAgE;IAChE,QAAQ,CAAC,oCAAoC,CAAC,EAAE,MAAM,CAAC;IACvD,6DAA6D;IAC7D,QAAQ,CAAC,yCAAyC,CAAC,EAAE,MAAM,CAAC;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IACnD,8EAA8E;IAC9E,QAAQ,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAC/C,sEAAsE;IACtE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,uEAAuE;IACvE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C,sEAAsE;IACtE,QAAQ,CAAC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IACnD,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;CACnD;AAED,MAAM,MAAM,8BAA8B,GACtC,kCAAkC,GAClC,uCAAuC,GACvC,mCAAmC,GACnC,oCAAoC,CAAC;AAEzC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CACJ,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,UAAU,CAAC,EAAE,MAAM,GAClB,iBAAiB,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,IAAI,IAAI,CAAC;IACd,MAAM,CACJ,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,UAAU,CAAC,EAAE,MAAM,GAClB,sBAAsB,CAAC;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AAEvC,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AACpD,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC,MAAM,MAAM,eAAe,GACzB,WAAW,GAAG,gBAAgB,GAAG,YAAY,GAAG,aAAa,CAAC;AAEhE,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CACN,OAAO,EAAE,oBAAoB,GAAG;QAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KACtC,GACA,mCAAmC,CAAC;IACvC,QAAQ,CACN,OAAO,EAAE,qBAAqB,GAAG;QAC/B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KACtC,GACA,oCAAoC,CAAC;IACxC,QAAQ,CACN,OAAO,EAAE,wBAAwB,GAAG;QAClC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KACtC,GACA,uCAAuC,CAAC;IAC3C,QAAQ,CACN,OAAO,CAAC,EAAE,mBAAmB,GAAG;QAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KACtC,GACA,kCAAkC,CAAC;CACvC;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,gBAAgB,KACvB,SAAS,kBAAkB,EAAE,CAAC"}