supervision 0.1.2 → 0.1.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.
Files changed (90) hide show
  1. package/dist/index.d.ts +11 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1232 -107
  4. package/dist/index.js.map +1 -1
  5. package/dist/mask-preparation.worker.js +43 -9
  6. package/dist/mask-preparation.worker.js.map +1 -1
  7. package/dist/render-preparation/mask-frame-artifact.d.ts +6 -0
  8. package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
  9. package/dist/render-preparation/mask-frame-compositor.d.ts +1 -0
  10. package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
  11. package/dist/render-preparation/mask-frame-preparer.d.ts.map +1 -1
  12. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +1 -0
  13. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
  14. package/dist/renderers/annotation-shape-styles.d.ts +17 -0
  15. package/dist/renderers/annotation-shape-styles.d.ts.map +1 -0
  16. package/dist/renderers/media-renderer-core.d.ts.map +1 -1
  17. package/dist/renderers/media-renderer-scene.d.ts +17 -2
  18. package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
  19. package/dist/renderers/pixi-annotation-overlay-layer.d.ts.map +1 -1
  20. package/dist/renderers/pixi-focus-layer.d.ts +1 -0
  21. package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
  22. package/dist/renderers/pixi-interaction-layer.d.ts +2 -0
  23. package/dist/renderers/pixi-interaction-layer.d.ts.map +1 -1
  24. package/dist/renderers/pixi-interaction-presentation-layer.d.ts +2 -1
  25. package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
  26. package/dist/renderers/pixi-mask-halo.d.ts +94 -0
  27. package/dist/renderers/pixi-mask-halo.d.ts.map +1 -0
  28. package/dist/renderers/pixi-mask-layer.d.ts +10 -1
  29. package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
  30. package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
  31. package/dist/renderers/pixi-path.d.ts +13 -7
  32. package/dist/renderers/pixi-path.d.ts.map +1 -1
  33. package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
  34. package/dist/renderers/pixi-region-layer.d.ts +42 -0
  35. package/dist/renderers/pixi-region-layer.d.ts.map +1 -0
  36. package/dist/renderers/pixi-scene-layer-slot.d.ts +1 -0
  37. package/dist/renderers/pixi-scene-layer-slot.d.ts.map +1 -1
  38. package/dist/renderers/pixi-vector-layer.d.ts +3 -1
  39. package/dist/renderers/pixi-vector-layer.d.ts.map +1 -1
  40. package/dist/sessions/media-session.d.ts.map +1 -1
  41. package/dist/types/media-renderer.d.ts +1 -1
  42. package/dist/types/media-renderer.d.ts.map +1 -1
  43. package/node_modules/supervision-js-core/dist/index.d.ts +19 -3
  44. package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
  45. package/node_modules/supervision-js-core/dist/index.js +944 -157
  46. package/node_modules/supervision-js-core/dist/index.js.map +1 -1
  47. package/node_modules/supervision-js-core/dist/interactions/detection-picker.d.ts +18 -0
  48. package/node_modules/supervision-js-core/dist/interactions/detection-picker.d.ts.map +1 -1
  49. package/node_modules/supervision-js-core/dist/styles/annotation-renderer-presentation.d.ts +9 -0
  50. package/node_modules/supervision-js-core/dist/styles/annotation-renderer-presentation.d.ts.map +1 -0
  51. package/node_modules/supervision-js-core/dist/styles/annotation-renderer-registry.d.ts +47 -0
  52. package/node_modules/supervision-js-core/dist/styles/annotation-renderer-registry.d.ts.map +1 -0
  53. package/node_modules/supervision-js-core/dist/styles/box-corner-style.d.ts +14 -0
  54. package/node_modules/supervision-js-core/dist/styles/box-corner-style.d.ts.map +1 -0
  55. package/node_modules/supervision-js-core/dist/styles/box-style.d.ts.map +1 -1
  56. package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts +38 -0
  57. package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts.map +1 -1
  58. package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts.map +1 -1
  59. package/node_modules/supervision-js-core/dist/styles/keypoint-style.d.ts.map +1 -1
  60. package/node_modules/supervision-js-core/dist/styles/marker-style.d.ts +14 -0
  61. package/node_modules/supervision-js-core/dist/styles/marker-style.d.ts.map +1 -0
  62. package/node_modules/supervision-js-core/dist/styles/polygon-style.d.ts.map +1 -1
  63. package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts.map +1 -1
  64. package/node_modules/supervision-js-core/dist/styles/source-presentation.d.ts +18 -2
  65. package/node_modules/supervision-js-core/dist/styles/source-presentation.d.ts.map +1 -1
  66. package/node_modules/supervision-js-core/dist/styles/stroke-style.d.ts +12 -0
  67. package/node_modules/supervision-js-core/dist/styles/stroke-style.d.ts.map +1 -0
  68. package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts +197 -0
  69. package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts.map +1 -0
  70. package/node_modules/supervision-js-core/dist/types/box-corner-style.d.ts +31 -0
  71. package/node_modules/supervision-js-core/dist/types/box-corner-style.d.ts.map +1 -0
  72. package/node_modules/supervision-js-core/dist/types/box-style.d.ts +4 -17
  73. package/node_modules/supervision-js-core/dist/types/box-style.d.ts.map +1 -1
  74. package/node_modules/supervision-js-core/dist/types/ellipse-style.d.ts +30 -0
  75. package/node_modules/supervision-js-core/dist/types/ellipse-style.d.ts.map +1 -0
  76. package/node_modules/supervision-js-core/dist/types/interaction.d.ts +12 -0
  77. package/node_modules/supervision-js-core/dist/types/interaction.d.ts.map +1 -1
  78. package/node_modules/supervision-js-core/dist/types/marker-style.d.ts +46 -0
  79. package/node_modules/supervision-js-core/dist/types/marker-style.d.ts.map +1 -0
  80. package/node_modules/supervision-js-core/dist/types/mask-halo-style.d.ts +29 -0
  81. package/node_modules/supervision-js-core/dist/types/mask-halo-style.d.ts.map +1 -0
  82. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +26 -1
  83. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
  84. package/node_modules/supervision-js-core/dist/types/paint-style.d.ts +36 -0
  85. package/node_modules/supervision-js-core/dist/types/paint-style.d.ts.map +1 -0
  86. package/node_modules/supervision-js-core/dist/types/shape-style.d.ts +112 -0
  87. package/node_modules/supervision-js-core/dist/types/shape-style.d.ts.map +1 -0
  88. package/node_modules/supervision-js-core/dist/utils/shape-geometry.d.ts +50 -0
  89. package/node_modules/supervision-js-core/dist/utils/shape-geometry.d.ts.map +1 -0
  90. package/package.json +1 -1
@@ -209,17 +209,19 @@
209
209
  AnnotationHandleKind["Keypoint"] = "keypoint";
210
210
  })(AnnotationHandleKind || (AnnotationHandleKind = {}));
211
211
 
212
+ /** Alignment for strokes applied to closed rendered geometry. */
213
+ var StrokeAlignment;
214
+ (function (StrokeAlignment) {
215
+ StrokeAlignment["Inside"] = "inside";
216
+ StrokeAlignment["Center"] = "center";
217
+ StrokeAlignment["Outside"] = "outside";
218
+ })(StrokeAlignment || (StrokeAlignment = {}));
219
+
212
220
  var BoxShape;
213
221
  (function (BoxShape) {
214
222
  BoxShape["Rect"] = "rect";
215
223
  BoxShape["RoundedRect"] = "roundedRect";
216
224
  })(BoxShape || (BoxShape = {}));
217
- var BoxStrokeAlignment;
218
- (function (BoxStrokeAlignment) {
219
- BoxStrokeAlignment["Inside"] = "inside";
220
- BoxStrokeAlignment["Center"] = "center";
221
- BoxStrokeAlignment["Outside"] = "outside";
222
- })(BoxStrokeAlignment || (BoxStrokeAlignment = {}));
223
225
 
224
226
  var FocusTargetMode;
225
227
  (function (FocusTargetMode) {
@@ -256,6 +258,32 @@
256
258
  MaskRenderMode["StrokeOnly"] = "strokeOnly";
257
259
  })(MaskRenderMode || (MaskRenderMode = {}));
258
260
 
261
+ /**
262
+ * Discriminator for renderer-neutral shape draw instructions.
263
+ */
264
+ var ShapeInstructionKind;
265
+ (function (ShapeInstructionKind) {
266
+ ShapeInstructionKind["Ellipse"] = "ellipse";
267
+ ShapeInstructionKind["Marker"] = "marker";
268
+ ShapeInstructionKind["Path"] = "path";
269
+ })(ShapeInstructionKind || (ShapeInstructionKind = {}));
270
+ var MarkerShape;
271
+ (function (MarkerShape) {
272
+ MarkerShape["Circle"] = "circle";
273
+ MarkerShape["Cross"] = "cross";
274
+ MarkerShape["Square"] = "square";
275
+ MarkerShape["Triangle"] = "triangle";
276
+ })(MarkerShape || (MarkerShape = {}));
277
+ /**
278
+ * Coordinate space for marker sizing. Media sizes scale with the viewport;
279
+ * screen sizes stay constant on screen, matching stroke-width semantics.
280
+ */
281
+ var MarkerSizeSpace;
282
+ (function (MarkerSizeSpace) {
283
+ MarkerSizeSpace["Media"] = "media";
284
+ MarkerSizeSpace["Screen"] = "screen";
285
+ })(MarkerSizeSpace || (MarkerSizeSpace = {}));
286
+
259
287
  var KeypointMarkerShape;
260
288
  (function (KeypointMarkerShape) {
261
289
  KeypointMarkerShape["Circle"] = "circle";
@@ -510,8 +538,11 @@
510
538
  }
511
539
  return { data, height, width };
512
540
  }
541
+ function createMaskIdFrame(instructions) {
542
+ return createIdMaskFrame(materializeMaskInstructions(instructions));
543
+ }
513
544
  async function createPngIdMaskFrame(instructions) {
514
- const frame = createIdMaskFrame(materializeMaskInstructions(instructions));
545
+ const frame = createMaskIdFrame(instructions);
515
546
  if (!frame) {
516
547
  return undefined;
517
548
  }
@@ -742,21 +773,24 @@
742
773
  }
743
774
  const imageData = new ImageData(compositedFrame.data, compositedFrame.width, compositedFrame.height);
744
775
  const imageBitmap = createImageBitmapFromImageData(imageData);
776
+ const idMaskData = createMaskIdFrame(message.job.instructions)?.data;
745
777
  if (imageBitmap) {
746
778
  workerScope.postMessage({
747
779
  imageBitmap,
780
+ idMaskData,
748
781
  key: message.job.key,
749
782
  requestId: message.requestId,
750
783
  type: MaskPreparationWorkerMessageType.Complete,
751
- }, [imageBitmap]);
784
+ }, [...(idMaskData ? [idMaskData.buffer] : []), imageBitmap]);
752
785
  return;
753
786
  }
754
787
  workerScope.postMessage({
788
+ idMaskData,
755
789
  imageData,
756
790
  key: message.job.key,
757
791
  requestId: message.requestId,
758
792
  type: MaskPreparationWorkerMessageType.Complete,
759
- }, [imageData.data.buffer]);
793
+ }, [...(idMaskData ? [idMaskData.buffer] : []), imageData.data.buffer]);
760
794
  }
761
795
  catch (error) {
762
796
  workerScope.postMessage({