supervision 0.2.0-next.1 → 0.2.0-next.2

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 (63) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +508 -127
  4. package/dist/index.js.map +1 -1
  5. package/dist/mask-preparation.worker.js.map +1 -1
  6. package/dist/media/media-frame-clock.d.ts +4 -0
  7. package/dist/media/media-frame-clock.d.ts.map +1 -0
  8. package/dist/media/media-source.d.ts +6 -0
  9. package/dist/media/media-source.d.ts.map +1 -1
  10. package/dist/media/video-engine-media-source.d.ts.map +1 -1
  11. package/dist/media/video-engine-media-source.js +1 -1
  12. package/dist/render-preparation/prepared-window-timeline.d.ts +1 -0
  13. package/dist/render-preparation/prepared-window-timeline.d.ts.map +1 -1
  14. package/dist/renderers/media-frame-navigation.d.ts +17 -0
  15. package/dist/renderers/media-frame-navigation.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 +1 -0
  18. package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
  19. package/dist/renderers/media-renderer-transport.d.ts +4 -1
  20. package/dist/renderers/media-renderer-transport.d.ts.map +1 -1
  21. package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
  22. package/dist/renderers/prepared-annotation-window.d.ts.map +1 -1
  23. package/dist/renderers/presented-frame-channel.d.ts +8 -6
  24. package/dist/renderers/presented-frame-channel.d.ts.map +1 -1
  25. package/dist/sessions/media-session-defaults.d.ts.map +1 -1
  26. package/dist/sessions/media-session-detections.d.ts.map +1 -1
  27. package/dist/sessions/media-session.d.ts.map +1 -1
  28. package/dist/tracking.worker.js.map +1 -1
  29. package/dist/types/media-frame-clock.d.ts +16 -0
  30. package/dist/types/media-frame-clock.d.ts.map +1 -0
  31. package/dist/types/media-frame-navigation.d.ts +28 -0
  32. package/dist/types/media-frame-navigation.d.ts.map +1 -0
  33. package/dist/types/media-renderer-display.d.ts +12 -0
  34. package/dist/types/media-renderer-display.d.ts.map +1 -0
  35. package/dist/types/media-renderer.d.ts +13 -0
  36. package/dist/types/media-renderer.d.ts.map +1 -1
  37. package/dist/types/media-session.d.ts +15 -5
  38. package/dist/types/media-session.d.ts.map +1 -1
  39. package/dist/types/render-preparation.d.ts +8 -5
  40. package/dist/types/render-preparation.d.ts.map +1 -1
  41. package/dist/{video-engine-media-source-CUXnOJOV.js → video-engine-media-source-DR-x1UfK.js} +35 -2
  42. package/dist/video-engine-media-source-DR-x1UfK.js.map +1 -0
  43. package/dist/web-video-engine/analysis.js +16 -0
  44. package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts +6 -1
  45. package/dist/web-video-engine/decode-scheduler.d.ts +8 -2
  46. package/dist/web-video-engine/decode-session.d.ts +5 -2
  47. package/dist/web-video-engine/decode-source.d.ts +2 -0
  48. package/dist/web-video-engine/engine-core.d.ts +9 -0
  49. package/dist/web-video-engine/engine.js +103 -11
  50. package/dist/web-video-engine/engine.worker.js +492 -31
  51. package/dist/web-video-engine/frame-cache.d.ts +2 -0
  52. package/dist/web-video-engine/pausable-deadline.d.ts +11 -0
  53. package/dist/web-video-engine/scrub-controller.d.ts +8 -4
  54. package/dist/web-video-engine/scrub-cursor.d.ts +3 -0
  55. package/dist/web-video-engine/video-engine.d.ts +12 -1
  56. package/dist/web-video-engine/worker-protocol.d.ts +9 -1
  57. package/node_modules/supervision-js-core/dist/detections/buffered-detection-timeline.d.ts.map +1 -1
  58. package/node_modules/supervision-js-core/dist/index.js +77 -41
  59. package/node_modules/supervision-js-core/dist/index.js.map +1 -1
  60. package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts +8 -3
  61. package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/video-engine-media-source-CUXnOJOV.js.map +0 -1
@@ -0,0 +1,16 @@
1
+ /** Exact presentation timing in seconds for zero-based indexed media frames. */
2
+ export interface MediaFrameClock {
3
+ readonly frameCount: number;
4
+ readonly firstTimestamp: number;
5
+ /** Exclusive end of the final frame on the media timeline, in seconds. */
6
+ readonly endTimestamp: number;
7
+ /** Playable span in seconds: endTimestamp minus firstTimestamp. */
8
+ readonly duration: number;
9
+ /** Start time of a frame in presentation order. Invalid indices throw. */
10
+ timeAt(frameIndex: number): number;
11
+ /** Duration of one frame, including variable-rate and final frames. */
12
+ durationAt(frameIndex: number): number;
13
+ /** Frame covering a finite media time, clamped at the source's ends. */
14
+ indexAtOrBefore(mediaTime: number): number;
15
+ }
16
+ //# sourceMappingURL=media-frame-clock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-frame-clock.d.ts","sourceRoot":"","sources":["../../src/types/media-frame-clock.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,uEAAuE;IACvE,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,wEAAwE;IACxE,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C"}
@@ -0,0 +1,28 @@
1
+ /** Exact frame identity and timing after navigation has landed. */
2
+ export interface MediaFrameLanding {
3
+ readonly index: number;
4
+ readonly mediaTime: number;
5
+ readonly duration: number;
6
+ }
7
+ export type MediaFrameScrubSettlement = {
8
+ readonly status: "landed";
9
+ readonly frame: MediaFrameLanding;
10
+ } | {
11
+ readonly status: "superseded";
12
+ };
13
+ export interface MediaFrameScrub {
14
+ readonly target: MediaFrameLanding;
15
+ readonly settled: Promise<MediaFrameScrubSettlement>;
16
+ }
17
+ /** Optional exact-frame navigation for media sources with an indexed clock. */
18
+ export interface MediaFrameNavigation {
19
+ /** Move to a frame and resolve after that exact frame is presented. */
20
+ moveToFrame(index: number): Promise<MediaFrameLanding>;
21
+ /** Move to the frame covering a media time and resolve after it is presented. */
22
+ moveToTime(seconds: number): Promise<MediaFrameLanding>;
23
+ /** Start a frame scrub and observe whether it lands or is superseded. */
24
+ scrubToFrame(index: number): MediaFrameScrub;
25
+ /** Start a time scrub and observe whether it lands or is superseded. */
26
+ scrubToTime(seconds: number): MediaFrameScrub;
27
+ }
28
+ //# sourceMappingURL=media-frame-navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-frame-navigation.d.ts","sourceRoot":"","sources":["../../src/types/media-frame-navigation.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC;AAEtC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACtD;AAED,+EAA+E;AAC/E,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvD,iFAAiF;IACjF,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACxD,yEAAyE;IACzE,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;IAC7C,wEAAwE;IACxE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC;CAC/C"}
@@ -0,0 +1,12 @@
1
+ /** Display geometry used to size a media source's presentation output. */
2
+ export interface MediaRendererDisplay {
3
+ /** Width of the presentation box in CSS pixels. */
4
+ boxWidth: number;
5
+ /** Height of the presentation box in CSS pixels. */
6
+ boxHeight: number;
7
+ /** Pixel ratio of the display containing the presentation box. */
8
+ devicePixelRatio: number;
9
+ /** Optional ceiling on the display pixel ratio. */
10
+ maxDevicePixelRatio?: number;
11
+ }
12
+ //# sourceMappingURL=media-renderer-display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-renderer-display.d.ts","sourceRoot":"","sources":["../../src/types/media-renderer-display.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -1,9 +1,12 @@
1
+ import type { MediaRendererDisplay } from "#types/media-renderer-display";
1
2
  import type { DetectionBufferOptions, DetectionFrameSource, MediaFrameDiagnostics, MediaRendererDiagnosticsOptions, MediaRendererFit, MediaRendererPresentation, MediaRendererState, MediaRendererStateController, MediaSourceState } from "supervision-js-core";
2
3
  import type { PreparedAnnotationWindowSnapshot } from "#renderers/prepared-annotation-window";
3
4
  import type { DetectionFrame } from "supervision-js-core";
4
5
  import type { DetectionPickResult, DetectionSelectionOptions, MediaInteractionOptions } from "supervision-js-core";
5
6
  import type { DecodedMediaSource } from "#media/media-source";
6
7
  import type { RenderPreparationOptions } from "#types/render-preparation";
8
+ import type { MediaFrameClock } from "#types/media-frame-clock";
9
+ import type { MediaFrameNavigation } from "#types/media-frame-navigation";
7
10
  import type { AnnotationEditingEngine, PreviewOverlayData } from "supervision-js-core";
8
11
  import type { MaskBrushPreviewOptions } from "../editing";
9
12
  export { MediaRendererFit, MediaRendererPlaybackState, MediaSourceStatus, } from "supervision-js-core";
@@ -124,6 +127,16 @@ export interface DetectionLabelBounds {
124
127
  * preparation and detection buffering yourself.
125
128
  */
126
129
  export interface MediaRenderer extends MediaRendererStateController {
130
+ /** Exact frame timing when the source provides an index; null otherwise. */
131
+ readonly frameClock?: MediaFrameClock | null;
132
+ /** Indexed moves and observable scrub landings for push-based indexed sources. */
133
+ readonly frameNavigation?: MediaFrameNavigation | null;
134
+ /**
135
+ * Resize engine-backed display-box output without reopening the source.
136
+ * Resolves after the resized frame is presented; supersession rejects with AbortError.
137
+ * Available only on sources that support live output sizing.
138
+ */
139
+ setDisplay?(display: MediaRendererDisplay): Promise<void>;
127
140
  play(): Promise<void>;
128
141
  pause(): void;
129
142
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"media-renderer.d.ts","sourceRoot":"","sources":["../../src/types/media-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-renderer.d.ts","sourceRoot":"","sources":["../../src/types/media-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,4EAA4E;AAC5E,oBAAY,uBAAuB;IACjC,8EAA8E;IAC9E,aAAa,kBAAkB;IAC/B,yEAAyE;IACzE,UAAU,eAAe;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,yBAAyB;IACrE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACrD,QAAQ,CAAC,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAClD;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,+BAA+B,CAAC;IACvD,QAAQ,CAAC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IAC7C,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE;QACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,KAAK,uBAAuB,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAC;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACxD;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAc,SAAQ,4BAA4B;IACjE,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7C,kFAAkF;IAClF,QAAQ,CAAC,eAAe,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACvD;;;;OAIG;IACH,UAAU,CAAC,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,2EAA2E;IAC3E,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,yEAAyE;IACzE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7E,oBAAoB,CAClB,SAAS,EAAE,yBAAyB,GAAG,IAAI,GAC1C,mBAAmB,GAAG,IAAI,CAAC;IAC9B;;;;;;;OAOG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,2BAA2B,IAAI,gCAAgC,GAAG,IAAI,CAAC;IACvE,OAAO,IAAI,IAAI,CAAC;IAChB,oBAAoB,IAAI,OAAO,qBAAqB,EAAE,iBAAiB,CAAC;IACxE,oBAAoB,CAClB,SAAS,EAAE,OAAO,CAChB,IAAI,CAAC,OAAO,qBAAqB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAChE,GACA,IAAI,CAAC;IACR,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,aAAa,CACX,KAAK,EAAE,OAAO,qBAAqB,EAAE,KAAK,GACzC,OAAO,qBAAqB,EAAE,KAAK,CAAC;IACvC,aAAa,CACX,KAAK,EAAE,OAAO,qBAAqB,EAAE,KAAK,GACzC,OAAO,qBAAqB,EAAE,KAAK,CAAC;IACvC;;;;;OAKG;IACH,uBAAuB,CACrB,WAAW,EAAE,MAAM,GAAG,MAAM,GAC3B,oBAAoB,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,cAAc,CACZ,KAAK,EAAE,OAAO,qBAAqB,EAAE,KAAK,EAC1C,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;IACR,qBAAqB,CACnB,KAAK,EAAE,OAAO,qBAAqB,EAAE,KAAK,EAC1C,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;CACT"}
@@ -1,9 +1,12 @@
1
+ import type { MediaRendererDisplay } from "#types/media-renderer-display";
1
2
  import type { ColdDetectionFrameStore, ColdDetectionFrameStoreWriteSummary, DetectionBufferOptions, DetectionFrameLiveOptions, DetectionFrameRetentionOptions, DetectionFrameSelectionOptions, DetectionPlaybackGateOptions, DetectionFrameSource, MediaSessionLifecycleState, MediaSessionMode, MediaSessionStateListener as CoreMediaSessionStateListener, MediaSessionStateUnsubscribe, WritableDetectionFrameSource } from "supervision-js-core";
2
3
  import type { DetectionFrame } from "supervision-js-core";
3
4
  import type { MediaInteractionOptions } from "supervision-js-core";
4
5
  import type { MediaNormalizationInputMetadata, MediaNormalizationProgress, MediaNormalizationOptions, NormalizedMedia, ProgressiveNormalizedMedia } from "#types/media-normalization";
5
6
  import type { DetectionTimelineOrigin, MediaFrameCapture, MediaFrameCaptureOptions, MediaFrameDiagnostics, MediaRenderer, MediaRendererFit, MediaRendererPresentation, MediaRendererQuality, MediaRendererOptions, MediaRendererSource, MediaRendererState, MediaSourceState } from "#types/media-renderer";
6
7
  import type { RenderPreparationDiagnostics } from "#types/render-preparation";
8
+ import type { MediaFrameClock } from "#types/media-frame-clock";
9
+ import type { MediaFrameNavigation } from "#types/media-frame-navigation";
7
10
  export { MediaSessionActivityKind, MediaSessionActivityStatus, MediaSessionMode, MediaSessionStatus, } from "supervision-js-core";
8
11
  export type { MediaSessionActivity, MediaSessionStateUnsubscribe, } from "supervision-js-core";
9
12
  /**
@@ -203,8 +206,9 @@ export interface MediaSessionOptions {
203
206
  readonly detections?: MediaSessionDetectionOptions;
204
207
  /**
205
208
  * Buffered playback: hold the picture until the frame it is about to show has
206
- * both its detections and its prepared annotation artifacts, so a preview
207
- * opens annotated rather than opening bare and filling in.
209
+ * both its detections and its prepared annotation artifacts. Opening still
210
+ * presents an initial media frame so the session can accept future appends;
211
+ * these gates hold subsequent playback, not session creation.
208
212
  *
209
213
  * On by default. `false` starts playback at once and draws annotations as
210
214
  * they land, which suits a host that cares about cadence more than overlays.
@@ -295,6 +299,12 @@ export interface MediaSessionDetectionWriteOptions {
295
299
  * Public controller for one renderer-owned media item.
296
300
  */
297
301
  export interface MediaSession {
302
+ /** Exact frame timing when the media source provides an index; null otherwise. */
303
+ readonly frameClock?: MediaFrameClock | null;
304
+ /** Indexed moves and observable scrub landings for push-based indexed sources. */
305
+ readonly frameNavigation?: MediaFrameNavigation | null;
306
+ /** Resize an engine-backed display-box source and await its presented output. */
307
+ setDisplay?(display: MediaRendererDisplay): Promise<void>;
298
308
  /**
299
309
  * Detection source used by the renderer. Present when the session was created
300
310
  * with static frames, a source, or an appendable source.
@@ -303,7 +313,8 @@ export interface MediaSession {
303
313
  readonly media: MediaSessionMediaState;
304
314
  readonly renderer: MediaRenderer;
305
315
  /**
306
- * Append semantic detection frames to a session-owned appendable source.
316
+ * Append semantic detection frames to the selected writable source, supplied
317
+ * by the caller or created through `detections.appendable`.
307
318
  */
308
319
  appendDetectionFrames(frames: readonly DetectionFrame[], options?: MediaSessionDetectionWriteOptions): Promise<ColdDetectionFrameStoreWriteSummary>;
309
320
  /**
@@ -358,8 +369,7 @@ export interface MediaSession {
358
369
  */
359
370
  export interface LiveMediaSession extends MediaSession {
360
371
  /**
361
- * Append the newest live detection frame to a session-owned appendable
362
- * source.
372
+ * Append the newest live detection frame to the selected writable source.
363
373
  *
364
374
  * The frame stays active until the next live frame supersedes it, which is
365
375
  * closed at the new frame's `mediaTime`. Use this for streams whose producer
@@ -1 +1 @@
1
- {"version":3,"file":"media-session.d.ts","sourceRoot":"","sources":["../../src/types/media-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-session.d.ts","sourceRoot":"","sources":["../../src/types/media-session.ts"],"names":[],"mappings":"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"}
@@ -146,9 +146,9 @@ export interface RenderPreparationMaskFrameOptions {
146
146
  export interface RenderPreparationPlaybackGateOptions {
147
147
  /**
148
148
  * Pause playback while required artifacts are unprepared. A session turns
149
- * this on by default, so a preview opens with its annotations rather than
150
- * opening bare; `playbackGate: false` on the session turns it off. A renderer
151
- * created directly leaves it off.
149
+ * this on by default for playback. Its initial opening frame may appear
150
+ * before annotations arrive. `playbackGate: false` on the session turns it
151
+ * off. A renderer created directly leaves it off.
152
152
  */
153
153
  readonly enabled?: boolean;
154
154
  /**
@@ -187,6 +187,9 @@ export interface RenderPreparationPlaybackGateOptions {
187
187
  * timeline. Defaults to none, which asks only that the frame about to be
188
188
  * presented is no longer pending.
189
189
  *
190
+ * This is unrelated to the detection playback gate's field of the same name,
191
+ * which is a minimum coverage lead.
192
+ *
190
193
  * It buys no cooked frames: how far ahead preparation cooks and how much of
191
194
  * that it keeps are the prepared window's own prefetch and cache spans, sized
192
195
  * by the session rather than by this. The gate reads them only as a second
@@ -298,8 +301,8 @@ export interface RenderPreparationOptions {
298
301
  * reports the furthest any of its gates reaches.
299
302
  *
300
303
  * A renderer created directly leaves this off. `createMediaSession()` turns it
301
- * on, so a session opens with its annotations rather than opening bare; pass
302
- * `playbackGate: false` to the session to opt out. See
304
+ * on for playback; the initial opening frame does not wait for future
305
+ * annotations. Pass `playbackGate: false` to the session to opt out. See
303
306
  * {@link RenderPreparationPlaybackGateOptions}.
304
307
  */
305
308
  readonly playbackGate?: RenderPreparationPlaybackGateOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"render-preparation.d.ts","sourceRoot":"","sources":["../../src/types/render-preparation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-preparation.d.ts","sourceRoot":"","sources":["../../src/types/render-preparation.ts"],"names":[],"mappings":"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"}
@@ -108,6 +108,37 @@ function resolveDisplayPixelRatio(display) {
108
108
  return Math.min(devicePixelRatio, ceiling);
109
109
  }
110
110
 
111
+ function createMediaFrameClock(timeline) {
112
+ const { frameCount, tickRate } = timeline;
113
+ const firstTimestamp = timeline.timeAt(0);
114
+ const endTimestamp = timeline.endTicksAt(frameCount - 1) / tickRate;
115
+ const validateIndex = (index) => {
116
+ if (!Number.isInteger(index) || index < 0 || index >= frameCount) {
117
+ throw new RangeError(`Frame index must be between 0 and ${frameCount - 1}.`);
118
+ }
119
+ };
120
+ return Object.freeze({
121
+ frameCount,
122
+ firstTimestamp,
123
+ endTimestamp,
124
+ duration: endTimestamp - firstTimestamp,
125
+ timeAt(index) {
126
+ validateIndex(index);
127
+ return timeline.timeAt(index);
128
+ },
129
+ durationAt(index) {
130
+ validateIndex(index);
131
+ return (timeline.endTicksAt(index) - timeline.ticksAt(index)) / tickRate;
132
+ },
133
+ indexAtOrBefore(mediaTime) {
134
+ if (!Number.isFinite(mediaTime)) {
135
+ throw new RangeError("Media time must be finite.");
136
+ }
137
+ return timeline.indexAtOrBefore(mediaTime);
138
+ },
139
+ });
140
+ }
141
+
111
142
  const VIDEO_ENGINE_ENTRY = "supervision/web-video-engine";
112
143
  const VIDEO_ENGINE_ANALYSIS_ENTRY = `${VIDEO_ENGINE_ENTRY}/analysis`;
113
144
  /**
@@ -196,7 +227,7 @@ async function openWebVideoEngineMediaSource(options) {
196
227
  let engine;
197
228
  let retainedFrames;
198
229
  try {
199
- const { WebVideoEngine, displayBoxResolution } = await importEngineEntry();
230
+ const { WebVideoEngine, displayBoxResolution, FrameTimeline } = await importEngineEntry();
200
231
  const { display, frameDecodeStrategy, ...engineOptions } = options;
201
232
  engine = new WebVideoEngine({
202
233
  decodeStrategy: display ? displayBoxResolution(display) : undefined,
@@ -216,6 +247,8 @@ async function openWebVideoEngineMediaSource(options) {
216
247
  });
217
248
  return {
218
249
  engine: openedEngine,
250
+ setDisplay: (display) => openedEngine.setDisplay(display),
251
+ frameClock: createMediaFrameClock(FrameTimeline.from(snapshot.timeline)),
219
252
  input: {
220
253
  dispose() {
221
254
  retainedFrames?.dispose();
@@ -447,4 +480,4 @@ function resolveFrameDuration(nativeFps) {
447
480
  }
448
481
 
449
482
  export { MediaSourceError as M, createWebVideoEngineMediaRendererSource as c, getMediaErrorKind as g, isMediaSourceError as i, openWebVideoEngineMediaSource as o, resolveDisplayPixelRatio as r, toMediaSourceError as t };
450
- //# sourceMappingURL=video-engine-media-source-CUXnOJOV.js.map
483
+ //# sourceMappingURL=video-engine-media-source-DR-x1UfK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-engine-media-source-DR-x1UfK.js","sources":["../src/media/media-errors.ts","../src/media/display-pixel-ratio.ts","../src/media/media-frame-clock.ts","../src/media/engine-import-failure.ts","../src/media/video-engine-media-source.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
@@ -408,6 +408,19 @@ class DecodeSession {
408
408
  return queued.timestampS;
409
409
  return this.reachable;
410
410
  }
411
+ async resizeOutput({ width, height }) {
412
+ await this.exclusive(async () => {
413
+ if (this.closed || this.outputWidth === undefined)
414
+ return;
415
+ if (this.outputWidth === width && this.outputHeight === height)
416
+ return;
417
+ this.quiesce();
418
+ this.outputWidth = width;
419
+ this.outputHeight = height;
420
+ this.exhausted = true;
421
+ this.epoch++;
422
+ });
423
+ }
411
424
  /** The frame at or before `targetS`, or null when nothing precedes it. */
412
425
  async frameAt(targetS) {
413
426
  const landed = await this.exclusive(() => this.land(targetS));
@@ -1013,6 +1026,9 @@ function presentationSessionSource(source, timeline) {
1013
1026
  ? sampleAtPresentationTime(sample, timeline.fromSourceTime(sample.timestamp))
1014
1027
  : null;
1015
1028
  return {
1029
+ ...(source.resizeOutput
1030
+ ? { resizeOutput: source.resizeOutput.bind(source) }
1031
+ : {}),
1016
1032
  async frameAt(targetS) {
1017
1033
  return wrap(await source.frameAt(timeline.toSourceTime(targetS)));
1018
1034
  },
@@ -1,5 +1,6 @@
1
1
  import { type AnySourceHandle } from "./decode-source";
2
2
  import type { FrameId } from "./frame-timeline";
3
+ import type { DecodeDimensions } from "./decode-resolution";
3
4
  import { type ScrubCursor, ScrubCursorState, type ScrubFrame, type ScrubFrameListener, type ScrubTrackInfo } from "./scrub-cursor";
4
5
  import { type Sec } from "./types";
5
6
  /**
@@ -23,7 +24,9 @@ import { type Sec } from "./types";
23
24
  */
24
25
  export declare class CanvasSinkScrubCursor implements ScrubCursor {
25
26
  private readonly provider;
26
- private readonly trackInfo;
27
+ private trackInfo;
28
+ private outputGeneration;
29
+ private readonly outputReads;
27
30
  private readonly disposeSource;
28
31
  /**
29
32
  * Forward-playback iterator. Lives only between attachPlay and detachPlay so
@@ -50,6 +53,8 @@ export declare class CanvasSinkScrubCursor implements ScrubCursor {
50
53
  get state(): ScrubCursorState;
51
54
  get track(): ScrubTrackInfo;
52
55
  get isIdle(): boolean;
56
+ resizeOutput({ width, height }: DecodeDimensions): Promise<boolean>;
57
+ private trackOutputRead;
53
58
  open(): Promise<void>;
54
59
  /** No cache to read; the scheduler is the caching backend. */
55
60
  peekCached(): ScrubFrame | null;
@@ -1,3 +1,4 @@
1
+ import type { DecodeDimensions } from "./decode-resolution";
1
2
  import { type AnySourceHandle } from "./decode-source";
2
3
  import { FrameCache } from "./frame-cache";
3
4
  import type { FrameId } from "./frame-timeline";
@@ -66,9 +67,12 @@ export declare function boundedKeyframeTimestamps(keyframesS: readonly number[])
66
67
  */
67
68
  export declare class DecodeScheduler implements ScrubCursor {
68
69
  private provider;
69
- private readonly cache;
70
+ private cache;
70
71
  private keyframeIndex;
71
- private readonly trackInfo;
72
+ private trackInfo;
73
+ private outputGeneration;
74
+ private resizingOutput;
75
+ private readonly outputReads;
72
76
  private readonly exactTolMs;
73
77
  private readonly previewTolMs;
74
78
  private readonly now;
@@ -152,6 +156,7 @@ export declare class DecodeScheduler implements ScrubCursor {
152
156
  get track(): ScrubTrackInfo;
153
157
  get playReadAhead(): number;
154
158
  get isIdle(): boolean;
159
+ resizeOutput({ width, height }: DecodeDimensions): Promise<boolean>;
155
160
  open(): Promise<void>;
156
161
  /**
157
162
  * The first frame, on the seed ceiling and its own attempt budget.
@@ -269,6 +274,7 @@ export declare class DecodeScheduler implements ScrubCursor {
269
274
  * decoder having a bad moment from one that will never answer again.
270
275
  */
271
276
  private withDecodeWatchdog;
277
+ private trackOutputRead;
272
278
  /**
273
279
  * The same watchdog over a container metadata read. Deliberately unbooked:
274
280
  * the keyframe probe never touches the decoder, so its answer is no evidence
@@ -1,3 +1,4 @@
1
+ import type { DecodeDimensions } from "./decode-resolution";
1
2
  import { type Rotation } from "./rotation";
2
3
  import type { VideoSampleLike } from "./scrub-cursor";
3
4
  /**
@@ -64,6 +65,7 @@ export declare function sessionDrivable(config: VideoDecoderConfig): boolean;
64
65
  * wraps it stays fake-injectable under test.
65
66
  */
66
67
  export interface SessionFrameSource {
68
+ resizeOutput?(dimensions: DecodeDimensions): Promise<void>;
67
69
  frameAt(targetS: number): Promise<VideoSampleLike | null>;
68
70
  framesFrom(startS: number): AsyncGenerator<VideoSampleLike, void, unknown>;
69
71
  framesCovering(startS: number, endS: number): AsyncGenerator<VideoSampleLike, void, unknown>;
@@ -149,8 +151,8 @@ export declare class DecodeSession implements SessionFrameSource {
149
151
  private epoch;
150
152
  private readonly outputTimeoutMs;
151
153
  private readonly rotation;
152
- private readonly outputWidth;
153
- private readonly outputHeight;
154
+ private outputWidth;
155
+ private outputHeight;
154
156
  private readonly snapshotFrame;
155
157
  constructor(options: DecodeSessionOptions);
156
158
  /** Times the session has configured the decoder onto an anchor. */
@@ -163,6 +165,7 @@ export declare class DecodeSession implements SessionFrameSource {
163
165
  * when there is one, since those are still servable, else the last position
164
166
  * handed out. */
165
167
  get reachableFromS(): number;
168
+ resizeOutput({ width, height }: DecodeDimensions): Promise<void>;
166
169
  /** The frame at or before `targetS`, or null when nothing precedes it. */
167
170
  frameAt(targetS: number): Promise<VideoSampleLike | null>;
168
171
  /**
@@ -1,6 +1,7 @@
1
1
  import { BlobSource, ReadableStreamSource, UrlSource } from "mediabunny";
2
2
  import type { CreateScrubCursorOptions } from "./create-scrub-cursor";
3
3
  import { type SessionFrameSource } from "./decode-session";
4
+ import { type DecodeDimensions } from "./decode-resolution";
4
5
  import type { SourceResidency } from "./source-residency";
5
6
  import type { KeyframeProbe } from "./keyframe-index";
6
7
  import { type ScrubTrackInfo, type VideoSampleLike } from "./scrub-cursor";
@@ -97,6 +98,7 @@ export type DecodedFrame = {
97
98
  * which the scheduler reports so a human can see which machinery is decoding.
98
99
  */
99
100
  export interface FrameProvider {
101
+ resizeOutput?(dimensions: DecodeDimensions): Promise<void>;
100
102
  readonly decodePath: DecodePath;
101
103
  readonly track: ScrubTrackInfo;
102
104
  readonly keyframeProbe: KeyframeProbe;
@@ -1,4 +1,5 @@
1
1
  import { type MediaClock } from "./clock";
2
+ import { type DisplayBoxResolutionOptions } from "./decode-resolution";
2
3
  import type { FrameId, FrameLanding } from "./frame-timeline";
3
4
  import { type EngineDiagnostics } from "./diagnostics";
4
5
  import { type SeekIntent } from "./scrub-cursor";
@@ -38,6 +39,8 @@ export interface EngineCoreOptions {
38
39
  * the core never emits a competing time that would yank a settled playhead.
39
40
  */
40
41
  export declare class EngineCore {
42
+ private decodeStrategy;
43
+ private displayResize;
41
44
  private readonly emit;
42
45
  private readonly emitDiagnostics;
43
46
  private readonly emitPresentedFrame;
@@ -96,6 +99,8 @@ export declare class EngineCore {
96
99
  private lastHostFrame;
97
100
  /** Rejects an older refresh that completes after a newer one in one epoch. */
98
101
  private lastHostPaintSeq;
102
+ /** Main-thread visibility pauses only the wait for host presentation. */
103
+ private presentationVisible;
99
104
  /** Mirrors WebVideoEngine's interactive-seek latch: true when a drag paused a
100
105
  * playing engine, so endInteractiveSeek knows to resume. */
101
106
  private resumeAfterInteractiveSeek;
@@ -122,6 +127,8 @@ export declare class EngineCore {
122
127
  */
123
128
  setCanvas(canvas: OffscreenCanvas | null, viewport?: SerializedViewport): void;
124
129
  load(config: EngineLoadConfig): Promise<EngineReadySnapshot>;
130
+ setDisplay(display: DisplayBoxResolutionOptions): Promise<boolean>;
131
+ private afterDisplayResize;
125
132
  play(): void;
126
133
  pause(): void;
127
134
  togglePlayback(): void;
@@ -186,6 +193,8 @@ export declare class EngineCore {
186
193
  private observeSeekIdle;
187
194
  private handleEnded;
188
195
  private awaitSeekLanding;
196
+ /** Main-thread document visibility; decoding/watchdogs remain active. */
197
+ setPresentationVisibility(visible: boolean): void;
189
198
  private isCurrentSeek;
190
199
  private forgetSeekLanding;
191
200
  private abandonAwaitedSeek;