supervision 0.1.7 → 0.2.0-next.0
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/dist/detections/chunked-detection-frame-source.d.ts.map +1 -1
- package/dist/index.d.ts +11 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8856 -4559
- package/dist/index.js.map +1 -1
- package/dist/mask-preparation.worker.js +310 -164
- package/dist/mask-preparation.worker.js.map +1 -1
- package/dist/media/display-pixel-ratio.d.ts +15 -0
- package/dist/media/display-pixel-ratio.d.ts.map +1 -0
- package/dist/media/engine-import-failure.d.ts +16 -0
- package/dist/media/engine-import-failure.d.ts.map +1 -0
- package/dist/media/media-condition-probe.d.ts +51 -0
- package/dist/media/media-condition-probe.d.ts.map +1 -0
- package/dist/media/media-conditions.d.ts +28 -0
- package/dist/media/media-conditions.d.ts.map +1 -0
- package/dist/media/media-errors.d.ts +6 -0
- package/dist/media/media-errors.d.ts.map +1 -1
- package/dist/media/media-normalization.d.ts.map +1 -1
- package/dist/media/media-probe.d.ts.map +1 -1
- package/dist/media/media-source.d.ts +17 -0
- package/dist/media/media-source.d.ts.map +1 -1
- package/dist/media/mediabunny-media-source.d.ts.map +1 -1
- package/dist/media/video-engine-media-source.d.ts +44 -0
- package/dist/media/video-engine-media-source.d.ts.map +1 -0
- package/dist/render-preparation/mask-frame-artifact.d.ts +46 -12
- package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-compositor.d.ts +5 -5
- package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-preparer.d.ts.map +1 -1
- package/dist/render-preparation/mask-preparation-worker-count.d.ts +4 -4
- package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +12 -3
- package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
- package/dist/render-preparation/prepared-render-window.d.ts +23 -0
- package/dist/render-preparation/prepared-render-window.d.ts.map +1 -1
- package/dist/render-preparation/prepared-window-timeline.d.ts +2 -6
- package/dist/render-preparation/prepared-window-timeline.d.ts.map +1 -1
- package/dist/renderers/mask-palette.d.ts +14 -0
- package/dist/renderers/mask-palette.d.ts.map +1 -0
- package/dist/renderers/mask-vertex.d.ts +14 -0
- package/dist/renderers/mask-vertex.d.ts.map +1 -0
- package/dist/renderers/media-renderer-core.d.ts.map +1 -1
- package/dist/renderers/media-renderer-scene.d.ts +37 -0
- package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
- package/dist/renderers/media-renderer-state.d.ts +11 -1
- package/dist/renderers/media-renderer-state.d.ts.map +1 -1
- package/dist/renderers/media-renderer-transport.d.ts +59 -0
- package/dist/renderers/media-renderer-transport.d.ts.map +1 -0
- package/dist/renderers/pixi-box-layer.d.ts +5 -0
- package/dist/renderers/pixi-box-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-focus-layer.d.ts +18 -2
- package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-frame-present.d.ts +77 -0
- package/dist/renderers/pixi-frame-present.d.ts.map +1 -0
- package/dist/renderers/pixi-id-mask-shader.d.ts +12 -2
- package/dist/renderers/pixi-id-mask-shader.d.ts.map +1 -1
- package/dist/renderers/pixi-interaction-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-interaction-presentation-layer.d.ts +13 -2
- package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-mask-halo.d.ts +24 -0
- package/dist/renderers/pixi-mask-halo.d.ts.map +1 -1
- package/dist/renderers/pixi-mask-layer.d.ts +71 -8
- package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-media-scene.d.ts +67 -0
- package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
- package/dist/renderers/pixi-polygon-layer.d.ts +7 -2
- package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-region-coverage-mask.d.ts +91 -0
- package/dist/renderers/pixi-region-coverage-mask.d.ts.map +1 -0
- package/dist/renderers/pixi-region-effect.d.ts +42 -0
- package/dist/renderers/pixi-region-effect.d.ts.map +1 -0
- package/dist/renderers/pixi-region-layer.d.ts +68 -2
- package/dist/renderers/pixi-region-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-vector-layer.d.ts.map +1 -1
- package/dist/renderers/prepared-annotation-window.d.ts +47 -0
- package/dist/renderers/prepared-annotation-window.d.ts.map +1 -0
- package/dist/renderers/presented-frame-channel.d.ts +107 -0
- package/dist/renderers/presented-frame-channel.d.ts.map +1 -0
- package/dist/renderers/scene-render-scheduler.d.ts +20 -0
- package/dist/renderers/scene-render-scheduler.d.ts.map +1 -0
- package/dist/sessions/media-session-defaults.d.ts +10 -6
- package/dist/sessions/media-session-defaults.d.ts.map +1 -1
- package/dist/sessions/media-session-media.d.ts.map +1 -1
- package/dist/sessions/media-session-state.d.ts.map +1 -1
- package/dist/sessions/media-session.d.ts.map +1 -1
- package/dist/tracking.worker.js +58 -3
- package/dist/tracking.worker.js.map +1 -1
- package/dist/types/media-conditions.d.ts +149 -0
- package/dist/types/media-conditions.d.ts.map +1 -0
- package/dist/types/media-normalization.d.ts +34 -0
- package/dist/types/media-normalization.d.ts.map +1 -1
- package/dist/types/media-renderer.d.ts +31 -1
- package/dist/types/media-renderer.d.ts.map +1 -1
- package/dist/types/media-session.d.ts +89 -8
- package/dist/types/media-session.d.ts.map +1 -1
- package/dist/types/render-preparation.d.ts +101 -4
- package/dist/types/render-preparation.d.ts.map +1 -1
- package/dist/web-video-engine/analysis-session.d.ts +76 -0
- package/dist/web-video-engine/analysis-session.d.ts.map +1 -0
- package/dist/web-video-engine/analysis.d.ts +7 -0
- package/dist/web-video-engine/analysis.d.ts.map +1 -0
- package/dist/web-video-engine/analysis.js +1678 -0
- package/dist/web-video-engine/analysis.js.map +1 -0
- package/dist/web-video-engine/cache-budget.d.ts +19 -0
- package/dist/web-video-engine/cache-budget.d.ts.map +1 -0
- package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts +90 -0
- package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts.map +1 -0
- package/dist/web-video-engine/clock.d.ts +83 -0
- package/dist/web-video-engine/clock.d.ts.map +1 -0
- package/dist/web-video-engine/constants.d.ts +253 -0
- package/dist/web-video-engine/constants.d.ts.map +1 -0
- package/dist/web-video-engine/create-scrub-cursor.d.ts +62 -0
- package/dist/web-video-engine/create-scrub-cursor.d.ts.map +1 -0
- package/dist/web-video-engine/decode-resolution.d.ts +115 -0
- package/dist/web-video-engine/decode-resolution.d.ts.map +1 -0
- package/dist/web-video-engine/decode-scheduler.d.ts +356 -0
- package/dist/web-video-engine/decode-scheduler.d.ts.map +1 -0
- package/dist/web-video-engine/decode-session.d.ts +276 -0
- package/dist/web-video-engine/decode-session.d.ts.map +1 -0
- package/dist/web-video-engine/decode-source.d.ts +250 -0
- package/dist/web-video-engine/decode-source.d.ts.map +1 -0
- package/dist/web-video-engine/diagnostics-store.d.ts +18 -0
- package/dist/web-video-engine/diagnostics-store.d.ts.map +1 -0
- package/dist/web-video-engine/diagnostics.d.ts +316 -0
- package/dist/web-video-engine/diagnostics.d.ts.map +1 -0
- package/dist/web-video-engine/embedded-engine-worker.d.ts +2 -0
- package/dist/web-video-engine/embedded-engine-worker.d.ts.map +1 -0
- package/dist/web-video-engine/engine-core.d.ts +258 -0
- package/dist/web-video-engine/engine-core.d.ts.map +1 -0
- package/dist/web-video-engine/engine.d.ts +26 -0
- package/dist/web-video-engine/engine.d.ts.map +1 -0
- package/dist/web-video-engine/engine.js +873 -0
- package/dist/web-video-engine/engine.js.map +1 -0
- package/dist/web-video-engine/engine.worker.d.ts +2 -0
- package/dist/web-video-engine/engine.worker.d.ts.map +1 -0
- package/dist/web-video-engine/engine.worker.js +31320 -0
- package/dist/web-video-engine/engine.worker.js.map +1 -0
- package/dist/web-video-engine/frame-cache.d.ts +129 -0
- package/dist/web-video-engine/frame-cache.d.ts.map +1 -0
- package/dist/web-video-engine/frame-extractor.d.ts +28 -0
- package/dist/web-video-engine/frame-extractor.d.ts.map +1 -0
- package/dist/web-video-engine/frame-timeline-GINI8Gum.js +560 -0
- package/dist/web-video-engine/frame-timeline-GINI8Gum.js.map +1 -0
- package/dist/web-video-engine/frame-timeline.d.ts +71 -0
- package/dist/web-video-engine/frame-timeline.d.ts.map +1 -0
- package/dist/web-video-engine/frame-walker.d.ts +74 -0
- package/dist/web-video-engine/frame-walker.d.ts.map +1 -0
- package/dist/web-video-engine/index.d.ts +3 -0
- package/dist/web-video-engine/index.d.ts.map +1 -0
- package/dist/web-video-engine/index.js +3 -0
- package/dist/web-video-engine/index.js.map +1 -0
- package/dist/web-video-engine/key-packet.d.ts +65 -0
- package/dist/web-video-engine/key-packet.d.ts.map +1 -0
- package/dist/web-video-engine/keyframe-index.d.ts +91 -0
- package/dist/web-video-engine/keyframe-index.d.ts.map +1 -0
- package/dist/web-video-engine/mirror-store.d.ts +56 -0
- package/dist/web-video-engine/mirror-store.d.ts.map +1 -0
- package/dist/web-video-engine/renderer.d.ts +94 -0
- package/dist/web-video-engine/renderer.d.ts.map +1 -0
- package/dist/web-video-engine/rotation.d.ts +35 -0
- package/dist/web-video-engine/rotation.d.ts.map +1 -0
- package/dist/web-video-engine/scrub-controller.d.ts +376 -0
- package/dist/web-video-engine/scrub-controller.d.ts.map +1 -0
- package/dist/web-video-engine/scrub-cursor.d.ts +342 -0
- package/dist/web-video-engine/scrub-cursor.d.ts.map +1 -0
- package/dist/web-video-engine/scrub-trajectory.d.ts +30 -0
- package/dist/web-video-engine/scrub-trajectory.d.ts.map +1 -0
- package/dist/web-video-engine/source-residency.d.ts +57 -0
- package/dist/web-video-engine/source-residency.d.ts.map +1 -0
- package/dist/web-video-engine/trace-recorder.d.ts +164 -0
- package/dist/web-video-engine/trace-recorder.d.ts.map +1 -0
- package/dist/web-video-engine/types.d.ts +204 -0
- package/dist/web-video-engine/types.d.ts.map +1 -0
- package/dist/web-video-engine/video-engine.d.ts +426 -0
- package/dist/web-video-engine/video-engine.d.ts.map +1 -0
- package/dist/web-video-engine/webgpu-renderer.d.ts +62 -0
- package/dist/web-video-engine/webgpu-renderer.d.ts.map +1 -0
- package/dist/web-video-engine/worker-bridge.d.ts +12 -0
- package/dist/web-video-engine/worker-bridge.d.ts.map +1 -0
- package/dist/web-video-engine/worker-dispatch.d.ts +17 -0
- package/dist/web-video-engine/worker-dispatch.d.ts.map +1 -0
- package/dist/web-video-engine/worker-protocol.d.ts +267 -0
- package/dist/web-video-engine/worker-protocol.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/detections/buffered-detection-timeline.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/detections/composite-detection-frame-source.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/index.d.ts +4 -3
- package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/index.js +1075 -266
- package/node_modules/supervision-js-core/dist/index.js.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts +4 -36
- package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts +5 -0
- package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts +92 -7
- package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts +179 -17
- package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +78 -2
- package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/polyline-style.d.ts +2 -0
- package/node_modules/supervision-js-core/dist/types/polyline-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts +16 -0
- package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-conversions.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts +5 -0
- package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts +9 -0
- package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/detection-ranges.d.ts +18 -0
- package/node_modules/supervision-js-core/dist/utils/detection-ranges.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts +15 -2
- package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/wait-bound.d.ts +7 -0
- package/node_modules/supervision-js-core/dist/utils/wait-bound.d.ts.map +1 -0
- package/package.json +22 -1
package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-annotation-presentation.d.ts","sourceRoot":"","sources":["../../src/styles/default-annotation-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"default-annotation-presentation.d.ts","sourceRoot":"","sources":["../../src/styles/default-annotation-presentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAuBxE,MAAM,WAAW,oCAAoC;IACnD;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CACvB,SAAS,EAAE,MAAM,GAAG,SAAS,KAC1B,MAAM,GAAG,SAAS,CAAC;IACxB,gEAAgE;IAChE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,wEAAwE;IACxE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,oCAAyC,GACjD,yBAAyB,CAS3B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,oCAAyC,GACjD,YAAY,CAuBd;AAED,8DAA8D;AAC9D,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,oCAAyC,GACjD,kBAAkB,CAMpB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,oCAAyC,GACjD,YAAY,CA+Bd;AAED,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,oCAAyC,GACjD,iBAAiB,CAwBnB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,oCAAyC,GACjD,cAAc,CAoBhB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,oCAAyC,GACjD,aAAa,CAcf;AAED,4CAA4C;AAC5C,wBAAgB,wBAAwB,IAAI,eAAe,CAE1D;AAKD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,oCAAyC,GACjD,aAAa,CAgBf;AAED,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,oCAAyC,GACjD,gBAAgB,CAclB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,oCAAyC,GACjD,iBAAiB,CAenB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { Detection, Rect } from "#types/detections";
|
|
1
|
+
import type { Detection } from "#types/detections";
|
|
3
2
|
import { type InteractionPresentation, type InteractionStyle, type InteractionStyleContext } from "#types/interaction-style";
|
|
4
|
-
import type { DetectionStylePredicate
|
|
3
|
+
import type { DetectionStylePredicate } from "#types/style";
|
|
5
4
|
export interface BaseInteractionStyleOptions {
|
|
6
5
|
/**
|
|
7
6
|
* Presentation applied to hovered detections. Uses the same style objects as
|
|
@@ -13,32 +12,6 @@ export interface BaseInteractionStyleOptions {
|
|
|
13
12
|
* the base renderer presentation.
|
|
14
13
|
*/
|
|
15
14
|
readonly selected?: InteractionPresentation | null;
|
|
16
|
-
/**
|
|
17
|
-
* Highlight geometry. Pass a resolver for per-class or per-state changes.
|
|
18
|
-
*
|
|
19
|
-
* @deprecated Prefer `hovered.boxStyle` and `selected.boxStyle`.
|
|
20
|
-
*/
|
|
21
|
-
readonly shape?: DetectionStyleValue<BoxShape, InteractionStyleContext>;
|
|
22
|
-
/**
|
|
23
|
-
* Rounded highlight corner radius in media pixels.
|
|
24
|
-
*
|
|
25
|
-
* @deprecated Prefer `hovered.boxStyle` and `selected.boxStyle`.
|
|
26
|
-
*/
|
|
27
|
-
readonly cornerRadius?: DetectionStyleValue<number | undefined, InteractionStyleContext>;
|
|
28
|
-
/**
|
|
29
|
-
* Highlight stroke. Pass `null` to disable strokes, or a resolver for
|
|
30
|
-
* per-state/per-detection styling.
|
|
31
|
-
*
|
|
32
|
-
* @deprecated Prefer `hovered.boxStyle` and `selected.boxStyle`.
|
|
33
|
-
*/
|
|
34
|
-
readonly stroke?: DetectionStyleValue<Partial<BoxStrokeStyle> | null, InteractionStyleContext>;
|
|
35
|
-
/**
|
|
36
|
-
* Highlight fill. Pass `null` to disable fills, or a resolver for
|
|
37
|
-
* per-state/per-detection styling.
|
|
38
|
-
*
|
|
39
|
-
* @deprecated Prefer `hovered.boxStyle` and `selected.boxStyle`.
|
|
40
|
-
*/
|
|
41
|
-
readonly fill?: DetectionStyleValue<Partial<BoxFillStyle> | null, InteractionStyleContext>;
|
|
42
15
|
/**
|
|
43
16
|
* Return false to skip rendering an interaction highlight.
|
|
44
17
|
*/
|
|
@@ -48,17 +21,12 @@ export interface BaseInteractionStyleOptions {
|
|
|
48
21
|
* Default configurable interaction style.
|
|
49
22
|
*
|
|
50
23
|
* It resolves hover and selected picks into state-specific presentations using
|
|
51
|
-
* the same style contracts as normal boxes, masks, and labels.
|
|
52
|
-
*
|
|
24
|
+
* the same style contracts as normal boxes, masks, and labels. A state left
|
|
25
|
+
* unconfigured falls back to a highlight rectangle over the detection.
|
|
53
26
|
*/
|
|
54
27
|
export declare class BaseInteractionStyle implements InteractionStyle {
|
|
55
28
|
protected readonly options: BaseInteractionStyleOptions;
|
|
56
29
|
constructor(options?: BaseInteractionStyleOptions);
|
|
57
30
|
resolve(detection: Detection, context: InteractionStyleContext): InteractionPresentation | undefined;
|
|
58
|
-
protected resolveBoxInstruction(detection: Detection, context: InteractionStyleContext, rect: Rect): BoxDrawInstruction;
|
|
59
|
-
protected resolveShape(detection: Detection, context: InteractionStyleContext): BoxShape;
|
|
60
|
-
protected resolveCornerRadius(detection: Detection, context: InteractionStyleContext, shape: BoxShape): number | undefined;
|
|
61
|
-
protected resolveStroke(detection: Detection, context: InteractionStyleContext): BoxStrokeStyle | undefined;
|
|
62
|
-
protected resolveFill(detection: Detection, context: InteractionStyleContext): BoxFillStyle | undefined;
|
|
63
31
|
}
|
|
64
32
|
//# sourceMappingURL=interaction-style.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction-style.d.ts","sourceRoot":"","sources":["../../src/styles/interaction-style.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interaction-style.d.ts","sourceRoot":"","sources":["../../src/styles/interaction-style.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAQ,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAa5D,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;CAC1E;AAED;;;;;;GAMG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;gBAE5C,OAAO,GAAE,2BAAgC;IAIrD,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,uBAAuB,GAC/B,uBAAuB,GAAG,SAAS;CAwBvC"}
|
|
@@ -4,6 +4,11 @@ import type { PolylineDrawInstruction, PolylineStyle, PolylineStyleContext } fro
|
|
|
4
4
|
import type { DetectionStylePredicate, DetectionStyleValue } from "#types/style";
|
|
5
5
|
export interface BasePolylineStyleOptions {
|
|
6
6
|
readonly stroke?: DetectionStyleValue<Partial<BoxStrokeStyle> | null, PolylineStyleContext>;
|
|
7
|
+
/**
|
|
8
|
+
* Contrast stroke drawn under the path. An absent value draws no shadow; the
|
|
9
|
+
* canonical default polyline style supplies one.
|
|
10
|
+
*/
|
|
11
|
+
readonly shadowStroke?: DetectionStyleValue<Partial<BoxStrokeStyle> | null, PolylineStyleContext>;
|
|
7
12
|
readonly shouldRender?: DetectionStylePredicate<PolylineStyleContext>;
|
|
8
13
|
}
|
|
9
14
|
export declare class BasePolylineStyle implements PolylineStyle {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polyline-style.d.ts","sourceRoot":"","sources":["../../src/styles/polyline-style.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CACnC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,EAC9B,oBAAoB,CACrB,CAAC;IACF,QAAQ,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;CACvE;AAED,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,wBAA6B;IAEnE,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,oBAAoB,GAC5B,uBAAuB,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"polyline-style.d.ts","sourceRoot":"","sources":["../../src/styles/polyline-style.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CACnC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,EAC9B,oBAAoB,CACrB,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CACzC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,EAC9B,oBAAoB,CACrB,CAAC;IACF,QAAQ,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;CACvE;AAED,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,wBAA6B;IAEnE,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,oBAAoB,GAC5B,uBAAuB,GAAG,SAAS;CAwCvC"}
|
|
@@ -91,6 +91,7 @@ export interface PolylineAnnotationRenderer extends BaseAnnotationRenderer {
|
|
|
91
91
|
/** Sources currently supported by a region renderer. */
|
|
92
92
|
export declare const RegionRendererSourceKind: {
|
|
93
93
|
readonly Asset: "asset";
|
|
94
|
+
readonly Media: "media";
|
|
94
95
|
};
|
|
95
96
|
export type RegionRendererSourceKind = (typeof RegionRendererSourceKind)[keyof typeof RegionRendererSourceKind];
|
|
96
97
|
/** Media-space regions currently supported by a region renderer. */
|
|
@@ -99,6 +100,24 @@ export declare const RegionRendererRegionKind: {
|
|
|
99
100
|
readonly KeypointAnchor: "keypoint-anchor";
|
|
100
101
|
};
|
|
101
102
|
export type RegionRendererRegionKind = (typeof RegionRendererRegionKind)[keyof typeof RegionRendererRegionKind];
|
|
103
|
+
/** Semantic coverage used to clip pixels sampled from the current media. */
|
|
104
|
+
export declare const RegionRendererCoverageKind: {
|
|
105
|
+
readonly Mask: "mask";
|
|
106
|
+
readonly Polygon: "polygon";
|
|
107
|
+
};
|
|
108
|
+
export type RegionRendererCoverageKind = (typeof RegionRendererCoverageKind)[keyof typeof RegionRendererCoverageKind];
|
|
109
|
+
/** Filter effects that can be applied to a current-frame media region. */
|
|
110
|
+
export declare const RegionRendererMediaEffectKind: {
|
|
111
|
+
readonly Blur: "blur";
|
|
112
|
+
readonly Pixelate: "pixelate";
|
|
113
|
+
};
|
|
114
|
+
export type RegionRendererMediaEffectKind = (typeof RegionRendererMediaEffectKind)[keyof typeof RegionRendererMediaEffectKind];
|
|
115
|
+
/** Coordinate space used by an explicit region-renderer size. */
|
|
116
|
+
export declare const RegionRendererSizeSpace: {
|
|
117
|
+
readonly Media: "media";
|
|
118
|
+
readonly Screen: "screen";
|
|
119
|
+
};
|
|
120
|
+
export type RegionRendererSizeSpace = (typeof RegionRendererSizeSpace)[keyof typeof RegionRendererSizeSpace];
|
|
102
121
|
/** Composition modes currently supported by a region renderer. */
|
|
103
122
|
export declare const RegionRendererComposeMode: {
|
|
104
123
|
readonly Over: "over";
|
|
@@ -121,6 +140,49 @@ export interface RegionRendererAssetSource {
|
|
|
121
140
|
readonly kind: typeof RegionRendererSourceKind.Asset;
|
|
122
141
|
readonly asset: RegionRendererAssetReference;
|
|
123
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Reuses pixels from the renderer-owned media frame.
|
|
145
|
+
*
|
|
146
|
+
* The source region is resolved from the same semantic detection as the
|
|
147
|
+
* destination region. Browser backends crop the already-presented media
|
|
148
|
+
* texture; they must not create another decoder or expose that texture.
|
|
149
|
+
*/
|
|
150
|
+
export interface RegionRendererMediaSource {
|
|
151
|
+
readonly kind: typeof RegionRendererSourceKind.Media;
|
|
152
|
+
readonly region: RegionRendererRegion;
|
|
153
|
+
/** Optional semantic coverage that removes pixels outside the source shape. */
|
|
154
|
+
readonly coverage?: RegionRendererMaskCoverage | RegionRendererPolygonCoverage;
|
|
155
|
+
/**
|
|
156
|
+
* Optional bounded effect applied before the media crop is composited.
|
|
157
|
+
*
|
|
158
|
+
* The browser backend samples the renderer-owned media texture and keeps its
|
|
159
|
+
* filters, render targets, and coverage artifacts private. An effect never
|
|
160
|
+
* creates a second decoder or copies the composited canvas through the CPU.
|
|
161
|
+
*/
|
|
162
|
+
readonly effect?: RegionRendererMediaEffect;
|
|
163
|
+
}
|
|
164
|
+
/** Clips a media crop to the detection's exact semantic mask. */
|
|
165
|
+
export interface RegionRendererMaskCoverage {
|
|
166
|
+
readonly kind: typeof RegionRendererCoverageKind.Mask;
|
|
167
|
+
}
|
|
168
|
+
/** Clips a media crop to the detection's closed polygon. */
|
|
169
|
+
export interface RegionRendererPolygonCoverage {
|
|
170
|
+
readonly kind: typeof RegionRendererCoverageKind.Polygon;
|
|
171
|
+
}
|
|
172
|
+
/** Softens pixels in the selected media region. */
|
|
173
|
+
export interface RegionRendererBlurEffect {
|
|
174
|
+
readonly kind: typeof RegionRendererMediaEffectKind.Blur;
|
|
175
|
+
/** Blur radius in media pixels. Defaults to `8`. */
|
|
176
|
+
readonly strength?: number;
|
|
177
|
+
}
|
|
178
|
+
/** Reduces the selected media region to square pixel blocks. */
|
|
179
|
+
export interface RegionRendererPixelateEffect {
|
|
180
|
+
readonly kind: typeof RegionRendererMediaEffectKind.Pixelate;
|
|
181
|
+
/** Pixel-block size in media pixels. Defaults to `12`. */
|
|
182
|
+
readonly size?: number;
|
|
183
|
+
}
|
|
184
|
+
export type RegionRendererMediaEffect = RegionRendererBlurEffect | RegionRendererPixelateEffect;
|
|
185
|
+
export type RegionRendererSource = RegionRendererAssetSource | RegionRendererMediaSource;
|
|
124
186
|
export interface RegionRendererBoundsRegion {
|
|
125
187
|
readonly kind: typeof RegionRendererRegionKind.Bounds;
|
|
126
188
|
}
|
|
@@ -136,10 +198,7 @@ export interface RegionRendererKeypointAnchorRegion {
|
|
|
136
198
|
readonly anchor: number | "head";
|
|
137
199
|
}
|
|
138
200
|
export type RegionRendererRegion = RegionRendererBoundsRegion | RegionRendererKeypointAnchorRegion;
|
|
139
|
-
|
|
140
|
-
export interface RegionRendererTransform {
|
|
141
|
-
/** Uniform scale relative to the resolved region. Defaults to 1. */
|
|
142
|
-
readonly scale?: number;
|
|
201
|
+
interface RegionRendererTransformBase {
|
|
143
202
|
/** Region-relative translation. `{ x: 1, y: 1 }` moves one region size. */
|
|
144
203
|
readonly offset?: {
|
|
145
204
|
readonly x: number;
|
|
@@ -149,22 +208,48 @@ export interface RegionRendererTransform {
|
|
|
149
208
|
readonly rotation?: number;
|
|
150
209
|
/** Sprite opacity from 0 through 1. Defaults to 1. */
|
|
151
210
|
readonly opacity?: number;
|
|
211
|
+
/** Mirrors the rendered region around its destination anchor. */
|
|
212
|
+
readonly flip?: {
|
|
213
|
+
readonly horizontal?: boolean;
|
|
214
|
+
readonly vertical?: boolean;
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
/** Keeps an asset at one explicit size instead of deriving it from a detection. */
|
|
218
|
+
export interface RegionRendererSize {
|
|
219
|
+
/** Rendered width in the declared size space. */
|
|
220
|
+
readonly width: number;
|
|
221
|
+
/** Rendered height. Omit it to preserve the source aspect ratio. */
|
|
222
|
+
readonly height?: number;
|
|
223
|
+
/** Defaults to media space. Screen space stays constant while zooming. */
|
|
224
|
+
readonly space?: RegionRendererSizeSpace;
|
|
225
|
+
}
|
|
226
|
+
export interface RegionRendererRelativeTransform extends RegionRendererTransformBase {
|
|
227
|
+
/** Uniform scale relative to the resolved region. Defaults to 1. */
|
|
228
|
+
readonly scale?: number;
|
|
229
|
+
readonly size?: never;
|
|
230
|
+
}
|
|
231
|
+
export interface RegionRendererSizedTransform extends RegionRendererTransformBase {
|
|
232
|
+
readonly scale?: never;
|
|
233
|
+
readonly size: RegionRendererSize;
|
|
152
234
|
}
|
|
235
|
+
/** Transform applied after a target region is resolved. */
|
|
236
|
+
export type RegionRendererTransform = RegionRendererRelativeTransform | RegionRendererSizedTransform;
|
|
153
237
|
export interface RegionRendererCompose {
|
|
154
238
|
readonly mode: typeof RegionRendererComposeMode.Over;
|
|
155
239
|
/** Stable ordering among region renderers. Defaults to 0. */
|
|
156
240
|
readonly zIndex?: number;
|
|
157
241
|
}
|
|
158
242
|
/**
|
|
159
|
-
* Places a
|
|
243
|
+
* Places an asset or a crop of the current media frame over a
|
|
244
|
+
* detection-owned region.
|
|
160
245
|
*
|
|
161
246
|
* This descriptor is intentionally semantic and backend-neutral. Asset
|
|
162
|
-
* loading, texture
|
|
247
|
+
* loading, media texture reuse, sprites, and teardown remain backend details.
|
|
163
248
|
*/
|
|
164
249
|
export interface RegionAnnotationRenderer extends BaseAnnotationRenderer {
|
|
165
250
|
readonly kind: "region";
|
|
166
251
|
readonly target: RegionRendererTarget;
|
|
167
|
-
readonly source:
|
|
252
|
+
readonly source: RegionRendererSource;
|
|
168
253
|
readonly region: RegionRendererRegion;
|
|
169
254
|
readonly transform?: RegionRendererTransform;
|
|
170
255
|
readonly compose?: RegionRendererCompose;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation-renderer.d.ts","sourceRoot":"","sources":["../../src/types/annotation-renderer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"annotation-renderer.d.ts","sourceRoot":"","sources":["../../src/types/annotation-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,12 @@ import type { DetectionCoordinateSpace, DetectionFrame } from "#types/detections
|
|
|
2
2
|
export declare enum DetectionBufferStatus {
|
|
3
3
|
Idle = "idle",
|
|
4
4
|
Loading = "loading",
|
|
5
|
+
/**
|
|
6
|
+
* The playback gate is holding playback until the source produces detections
|
|
7
|
+
* for the requested range. {@link DetectionBufferStatus.Loading} fetches
|
|
8
|
+
* detections the source already has; this one waits on a producer.
|
|
9
|
+
*/
|
|
10
|
+
AwaitingCoverage = "awaitingCoverage",
|
|
5
11
|
Ready = "ready",
|
|
6
12
|
Error = "error",
|
|
7
13
|
Destroyed = "destroyed"
|
|
@@ -13,12 +19,30 @@ export declare enum DetectionFrameSelectionMode {
|
|
|
13
19
|
/**
|
|
14
20
|
* Select the frame whose `[mediaTime, endTime)` interval contains the media
|
|
15
21
|
* time. This is the default for interval annotations and timestamped sources.
|
|
22
|
+
*
|
|
23
|
+
* Frame times must come from the media itself. Times reconstructed from a
|
|
24
|
+
* nominal frame rate drift against a clip whose real rate differs, and once
|
|
25
|
+
* that drift passes the half-millisecond selection tolerance a playhead
|
|
26
|
+
* landing on a frame boundary selects the previous frame's detections.
|
|
27
|
+
*
|
|
28
|
+
* A frame that carries no `endTime` stays active until the next frame starts,
|
|
29
|
+
* which bridges an index the source never produced.
|
|
30
|
+
* {@link DetectionFrameSelectionMode.NearestFrameIndex} bounds each frame to
|
|
31
|
+
* one grid step instead, so a missing index reads as no detections.
|
|
16
32
|
*/
|
|
17
33
|
Interval = "interval",
|
|
18
34
|
/**
|
|
19
|
-
* Select from a known inference frame grid using `frameIndex
|
|
20
|
-
*
|
|
21
|
-
*
|
|
35
|
+
* Select from a known inference frame grid using `frameIndex` and
|
|
36
|
+
* `frameRate`. This is useful when inference was run on normalized frames and
|
|
37
|
+
* playback should snap detections to that grid.
|
|
38
|
+
*
|
|
39
|
+
* A frame speaks for one grid step starting at its own media time, and an
|
|
40
|
+
* index the source never produced selects nothing rather than a neighbour.
|
|
41
|
+
*
|
|
42
|
+
* A frame carrying no `frameIndex` speaks for its step on the same terms,
|
|
43
|
+
* reached by the time it starts at rather than by an index that names it. Its
|
|
44
|
+
* `endTime` does not widen it past that step, so a source that labels only
|
|
45
|
+
* part of what it writes cannot bridge the indexes it never produced.
|
|
22
46
|
*/
|
|
23
47
|
NearestFrameIndex = "nearestFrameIndex"
|
|
24
48
|
}
|
|
@@ -28,12 +52,18 @@ export interface DetectionFrameSelectionOptions {
|
|
|
28
52
|
*/
|
|
29
53
|
readonly selectionMode?: DetectionFrameSelectionMode;
|
|
30
54
|
/**
|
|
31
|
-
*
|
|
55
|
+
* Nominal inference frame rate, and the grid step `NearestFrameIndex` falls
|
|
56
|
+
* back to. With two or more indexed frames buffered the step is measured from
|
|
57
|
+
* their own media times, so a rate that disagrees with the clip's real one
|
|
58
|
+
* cannot walk selection off the grid.
|
|
32
59
|
*/
|
|
33
60
|
readonly frameRate?: number;
|
|
34
61
|
/**
|
|
35
|
-
* Media timestamp for inference frame index 0.
|
|
36
|
-
*
|
|
62
|
+
* Media timestamp for inference frame index 0.
|
|
63
|
+
*
|
|
64
|
+
* @deprecated Selection does not read this. Each buffered frame carries the
|
|
65
|
+
* media time its index sits at, which states the same thing without an origin
|
|
66
|
+
* to extrapolate from.
|
|
37
67
|
*/
|
|
38
68
|
readonly frameIndexOriginTime?: number;
|
|
39
69
|
}
|
|
@@ -60,6 +90,22 @@ export interface DetectionFrameSourceChanges {
|
|
|
60
90
|
readonly requiresReload: boolean;
|
|
61
91
|
}
|
|
62
92
|
export interface DetectionBufferOptions extends DetectionFrameSelectionOptions {
|
|
93
|
+
/**
|
|
94
|
+
* Whether the window keeps loading, asked again every time a load is about
|
|
95
|
+
* to start.
|
|
96
|
+
*
|
|
97
|
+
* Loading stays on when this is unset, so a host that hides its annotations
|
|
98
|
+
* while keeping them buffered behaves as it always has. Turned off, nothing
|
|
99
|
+
* is fetched: no rolling prefetch, no per-frame `prepare`, and no playback
|
|
100
|
+
* gate wait. The window already loaded is kept and still answers
|
|
101
|
+
* `selectFrame`, so turning it back on resumes from where it stopped instead
|
|
102
|
+
* of reloading ground it still holds.
|
|
103
|
+
*
|
|
104
|
+
* A predicate is read at each of those points rather than captured, which is
|
|
105
|
+
* how a host drives this from state that changes while the timeline lives
|
|
106
|
+
* without rebuilding it and throwing the window away.
|
|
107
|
+
*/
|
|
108
|
+
readonly enabled?: boolean | (() => boolean);
|
|
63
109
|
/**
|
|
64
110
|
* Seconds of detections to keep loaded ahead of playback.
|
|
65
111
|
*/
|
|
@@ -69,11 +115,34 @@ export interface DetectionBufferOptions extends DetectionFrameSelectionOptions {
|
|
|
69
115
|
*/
|
|
70
116
|
readonly bufferBehindSeconds?: number;
|
|
71
117
|
/**
|
|
72
|
-
* Minimum media-time movement before
|
|
118
|
+
* Minimum media-time movement before the hot detection window is rebuilt.
|
|
119
|
+
*
|
|
120
|
+
* This governs refreshes of ground the window already covers. A media time
|
|
121
|
+
* the window does not cover loads immediately whatever this says, so raising
|
|
122
|
+
* it costs coverage nothing and only reduces repeated work.
|
|
123
|
+
*
|
|
124
|
+
* A session defaults it to 2.5 seconds for a file, whose detections do not
|
|
125
|
+
* change while it plays, and to 0.25 seconds for a stream, where the source
|
|
126
|
+
* gains data under the window. A renderer created directly leaves it unset,
|
|
127
|
+
* which refreshes whenever the playhead moves.
|
|
73
128
|
*/
|
|
74
129
|
readonly refreshIntervalSeconds?: number;
|
|
75
130
|
/**
|
|
76
|
-
*
|
|
131
|
+
* Hold playback until detections cover the frame about to be presented.
|
|
132
|
+
*
|
|
133
|
+
* Off by default: the picture moves first, and a frame the buffered window
|
|
134
|
+
* does not cover presents without annotations until a later load reaches it.
|
|
135
|
+
* Enabled, a gated `prepare` awaits the source's `waitForRange` for the
|
|
136
|
+
* requested lookahead before it loads, so playback stalls rather than
|
|
137
|
+
* showing an unannotated frame.
|
|
138
|
+
*
|
|
139
|
+
* A media source the renderer pulls decoded samples from stalls in the
|
|
140
|
+
* renderer's own sample pump, frame by frame. A source that
|
|
141
|
+
* presents its own frames owns the playhead and the renderer follows it.
|
|
142
|
+
* There the renderer stops the producer instead: coverage is awaited before
|
|
143
|
+
* it is asked to run, and again whenever it reaches a frame the source
|
|
144
|
+
* cannot answer for yet, which it resumes from on its own once the coverage
|
|
145
|
+
* arrives.
|
|
77
146
|
*/
|
|
78
147
|
readonly playbackGate?: DetectionPlaybackGateOptions;
|
|
79
148
|
}
|
|
@@ -81,15 +150,48 @@ export interface DetectionTimelineContext {
|
|
|
81
150
|
readonly duration: number | null;
|
|
82
151
|
readonly loop: boolean;
|
|
83
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Detection-coverage playback gate, off unless `enabled` says otherwise.
|
|
155
|
+
*
|
|
156
|
+
* Off, annotations catch up to the picture and never hold it: a frame the
|
|
157
|
+
* buffered window does not cover presents without annotations. On, playback
|
|
158
|
+
* waits for the requested coverage before the next frame is presented, and the
|
|
159
|
+
* renderer reports buffering for as long as that wait lasts.
|
|
160
|
+
*
|
|
161
|
+
* On a media source the renderer pulls samples from, that wait happens between
|
|
162
|
+
* pulling one decoded sample and drawing it. A source that
|
|
163
|
+
* presents its own frames runs the playhead itself. There the renderer stops
|
|
164
|
+
* the producer for the wait and starts it again afterwards, before playback
|
|
165
|
+
* begins and again at any frame the source cannot answer for yet.
|
|
166
|
+
*
|
|
167
|
+
* Either way the renderer reports `Buffering` for as long as the wait lasts,
|
|
168
|
+
* and `maxWaitSeconds` bounds it, so a producer that has stopped answering
|
|
169
|
+
* costs that wait once rather than stranding the picture.
|
|
170
|
+
*/
|
|
84
171
|
export interface DetectionPlaybackGateOptions {
|
|
85
172
|
/**
|
|
86
|
-
* Pause playback while the requested detection window is unavailable.
|
|
173
|
+
* Pause playback while the requested detection window is unavailable. A
|
|
174
|
+
* session with appendable detections turns this on by default, since a source
|
|
175
|
+
* still being written is the case worth waiting for; `playbackGate: false` on
|
|
176
|
+
* the session turns it off.
|
|
87
177
|
*/
|
|
88
178
|
readonly enabled?: boolean;
|
|
89
179
|
/**
|
|
90
|
-
*
|
|
180
|
+
* Detection lead required ahead of the playback time before an enabled gate
|
|
181
|
+
* lets playback continue. Defaults to none, which asks only that the frame
|
|
182
|
+
* about to be presented is covered.
|
|
91
183
|
*/
|
|
92
184
|
readonly requiredAheadSeconds?: number;
|
|
185
|
+
/**
|
|
186
|
+
* How long an enabled gate holds playback before it gives up and presents the
|
|
187
|
+
* frame with whatever detections exist. `Infinity` waits indefinitely.
|
|
188
|
+
*
|
|
189
|
+
* Inference can fail, fall behind, or be cancelled, and none of those look
|
|
190
|
+
* any different to the gate from a result still on its way. Once a wait is
|
|
191
|
+
* abandoned, a source that reports versions is not waited on again until it
|
|
192
|
+
* gains data, so a producer that has stopped costs one wait, not one a frame.
|
|
193
|
+
*/
|
|
194
|
+
readonly maxWaitSeconds?: number;
|
|
93
195
|
}
|
|
94
196
|
export declare enum DetectionFrameRetentionMode {
|
|
95
197
|
/**
|
|
@@ -115,13 +217,34 @@ export interface DetectionFrameRetentionOptions {
|
|
|
115
217
|
*/
|
|
116
218
|
readonly windowSeconds?: number;
|
|
117
219
|
}
|
|
220
|
+
/**
|
|
221
|
+
* Per-call preparation context.
|
|
222
|
+
*
|
|
223
|
+
* Only a gated prepare reads `duration` and `firstTimestamp`, which bound the
|
|
224
|
+
* coverage it asks for at the end of media. Everything else the timeline needs
|
|
225
|
+
* about duration and looping arrives through
|
|
226
|
+
* {@link BufferedDetectionTimeline.setTimelineContext}.
|
|
227
|
+
*/
|
|
118
228
|
export interface DetectionBufferPrepareOptions {
|
|
119
229
|
readonly duration?: number | null;
|
|
120
230
|
readonly firstTimestamp?: number;
|
|
231
|
+
/**
|
|
232
|
+
* Wait for the coverage {@link DetectionPlaybackGateOptions} asks for before
|
|
233
|
+
* loading the hot window.
|
|
234
|
+
*
|
|
235
|
+
* Defaults to false, and does nothing unless the timeline was built with an
|
|
236
|
+
* enabled gate. Both have to say yes, so a caller that prepares detections
|
|
237
|
+
* for its own reasons never blocks on coverage.
|
|
238
|
+
*/
|
|
121
239
|
readonly gatePlayback?: boolean;
|
|
122
240
|
}
|
|
123
241
|
/**
|
|
124
242
|
* Current hot detection-buffer state.
|
|
243
|
+
*
|
|
244
|
+
* Window ends are media times, so a current time sits inside them or outside
|
|
245
|
+
* them. On a looping timeline a window that reaches past the last frame keeps
|
|
246
|
+
* counting: its start stays within the media, and its end runs past the
|
|
247
|
+
* duration by however far it wraps into the replay.
|
|
125
248
|
*/
|
|
126
249
|
export interface DetectionBufferState {
|
|
127
250
|
readonly status: DetectionBufferStatus;
|
|
@@ -158,8 +281,13 @@ export interface DetectionFrameSource {
|
|
|
158
281
|
*/
|
|
159
282
|
loadFrames(startTime: number, endTime: number, options?: DetectionFrameLoadOptions): Promise<readonly DetectionFrame[]>;
|
|
160
283
|
/**
|
|
161
|
-
* Optional
|
|
162
|
-
*
|
|
284
|
+
* Optional coverage hook. Resolve when the source has enough data to answer
|
|
285
|
+
* `loadFrames` for the requested range.
|
|
286
|
+
*
|
|
287
|
+
* Playback awaits it under an enabled detection playback gate, which a
|
|
288
|
+
* session with appendable detections gets by default; otherwise a caller that
|
|
289
|
+
* wants to wait awaits it itself. A
|
|
290
|
+
* composed source fans it out to the entries it composes.
|
|
163
291
|
*/
|
|
164
292
|
waitForRange?(range: DetectionFrameSourceVersionRange): Promise<void>;
|
|
165
293
|
/**
|
|
@@ -204,9 +332,10 @@ export interface CompositeDetectionFrameSourceEntry {
|
|
|
204
332
|
*/
|
|
205
333
|
readonly sync?: DetectionFrameSelectionOptions;
|
|
206
334
|
/**
|
|
207
|
-
* When false,
|
|
335
|
+
* When false, the composed source's `waitForRange` resolves without waiting
|
|
336
|
+
* for this entry. Defaults to true.
|
|
208
337
|
*/
|
|
209
|
-
readonly
|
|
338
|
+
readonly requiredForCoverage?: boolean;
|
|
210
339
|
}
|
|
211
340
|
export interface CompositeDetectionFrameSourceOptions extends DetectionFrameSelectionOptions {
|
|
212
341
|
readonly sources: readonly CompositeDetectionFrameSourceEntry[];
|
|
@@ -257,19 +386,51 @@ export interface ChunkedDetectionFrameSourceOptions {
|
|
|
257
386
|
readonly fetchChunk?: DetectionFrameChunkFetch;
|
|
258
387
|
/**
|
|
259
388
|
* Maximum number of decoded chunks cached in memory.
|
|
389
|
+
*
|
|
390
|
+
* Left unset, the cache grows to twice the widest buffer window it has been
|
|
391
|
+
* asked to serve, so the ground a backwards scrub lands on is still resident.
|
|
392
|
+
* A fixed value caps the cache at that size even when the window is wider,
|
|
393
|
+
* which costs a refetch on every load that spans more chunks than the cap.
|
|
260
394
|
*/
|
|
261
395
|
readonly maxCachedChunks?: number;
|
|
396
|
+
/**
|
|
397
|
+
* Maximum number of chunk requests in flight at once.
|
|
398
|
+
*
|
|
399
|
+
* One buffer window can span dozens of chunk files, and they queue behind the
|
|
400
|
+
* same connection the media's own reads use. Raise it on a transport that is
|
|
401
|
+
* not competing with a media fetch.
|
|
402
|
+
*/
|
|
403
|
+
readonly maxConcurrentChunkFetches?: number;
|
|
262
404
|
}
|
|
263
405
|
/**
|
|
264
406
|
* Hot detection timeline controller.
|
|
265
407
|
*/
|
|
266
408
|
export interface BufferedDetectionTimeline {
|
|
267
409
|
prepare(mediaTime: number, options?: DetectionBufferPrepareOptions): Promise<void>;
|
|
410
|
+
/**
|
|
411
|
+
* Whether a gated `prepare` at `mediaTime` would wait, answered without
|
|
412
|
+
* starting the wait.
|
|
413
|
+
*
|
|
414
|
+
* A caller driving a source that runs its own playhead uses this to decide
|
|
415
|
+
* whether to stop it, which it cannot do by awaiting: the wait is the thing
|
|
416
|
+
* it is deciding about. False whenever waiting is not on the table at all,
|
|
417
|
+
* which covers a disabled gate, a source that reports neither coverage nor a
|
|
418
|
+
* way to wait for it, and a source the gate has already given up on.
|
|
419
|
+
*/
|
|
420
|
+
needsPlaybackGateWait?(mediaTime: number, options?: DetectionBufferPrepareOptions): boolean;
|
|
268
421
|
prefetch(mediaTime: number): void;
|
|
269
422
|
setTimelineContext?(context: DetectionTimelineContext): void;
|
|
270
423
|
selectFrame(mediaTime: number): DetectionFrame | undefined;
|
|
271
424
|
getBufferedFrames(): readonly DetectionFrame[];
|
|
272
425
|
getState(): DetectionBufferState;
|
|
426
|
+
/**
|
|
427
|
+
* Observe the buffered window changing.
|
|
428
|
+
*
|
|
429
|
+
* A load landing is the only way a media time that answered nothing starts
|
|
430
|
+
* answering a frame, and a resting playhead draws nothing that would ask
|
|
431
|
+
* again. Without this a consumer keeps the answer from before the load.
|
|
432
|
+
*/
|
|
433
|
+
subscribe?(listener: () => void): () => void;
|
|
273
434
|
destroy(): void;
|
|
274
435
|
}
|
|
275
436
|
/**
|
|
@@ -426,9 +587,10 @@ export interface LiveWritableDetectionFrameSource extends WritableDetectionFrame
|
|
|
426
587
|
* A container can declare a duration beyond the last decoded sample, and a
|
|
427
588
|
* live frame is deliberately held open past the data it describes. Finalizing
|
|
428
589
|
* sets the latest frame's exclusive end to `endTime`, extending or shortening
|
|
429
|
-
* it as needed, so
|
|
430
|
-
*
|
|
431
|
-
* idempotent and returns the current summary when
|
|
590
|
+
* it as needed, so the source stops answering for time past the end of media.
|
|
591
|
+
* The readers this serves are `waitForRange` and the buffered window's own
|
|
592
|
+
* coverage arithmetic. It is idempotent and returns the current summary when
|
|
593
|
+
* there is nothing to change.
|
|
432
594
|
*/
|
|
433
595
|
finalizeCoverage(endTime: number): Promise<ColdDetectionFrameStoreWriteSummary | null>;
|
|
434
596
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection-timeline.d.ts","sourceRoot":"","sources":["../../src/types/detection-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC
|
|
1
|
+
{"version":3,"file":"detection-timeline.d.ts","sourceRoot":"","sources":["../../src/types/detection-timeline.ts"],"names":[],"mappings":"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"}
|