supervision 0.2.0-next.0 → 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 (192) hide show
  1. package/dist/constants/media-renderer.d.ts +3 -0
  2. package/dist/constants/media-renderer.d.ts.map +1 -1
  3. package/dist/index.d.ts +5 -5
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1722 -1395
  6. package/dist/index.js.map +1 -1
  7. package/dist/mask-preparation.worker.js +109 -31
  8. package/dist/mask-preparation.worker.js.map +1 -1
  9. package/dist/media/media-frame-clock.d.ts +4 -0
  10. package/dist/media/media-frame-clock.d.ts.map +1 -0
  11. package/dist/media/media-source-state.d.ts.map +1 -1
  12. package/dist/media/media-source.d.ts +6 -0
  13. package/dist/media/media-source.d.ts.map +1 -1
  14. package/dist/media/video-engine-media-source.d.ts +17 -7
  15. package/dist/media/video-engine-media-source.d.ts.map +1 -1
  16. package/dist/media/video-engine-media-source.js +3 -0
  17. package/dist/media/video-engine-media-source.js.map +1 -0
  18. package/dist/playback/media-playback-controller.d.ts +7 -1
  19. package/dist/playback/media-playback-controller.d.ts.map +1 -1
  20. package/dist/render-preparation/mask-frame-artifact.d.ts +2 -0
  21. package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
  22. package/dist/render-preparation/mask-frame-compositor.d.ts +7 -0
  23. package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
  24. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +1 -0
  25. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
  26. package/dist/render-preparation/prepared-render-window.d.ts +21 -2
  27. package/dist/render-preparation/prepared-render-window.d.ts.map +1 -1
  28. package/dist/render-preparation/prepared-window-timeline.d.ts +1 -0
  29. package/dist/render-preparation/prepared-window-timeline.d.ts.map +1 -1
  30. package/dist/renderers/injected-pixi.d.ts +38 -0
  31. package/dist/renderers/injected-pixi.d.ts.map +1 -0
  32. package/dist/renderers/media-frame-navigation.d.ts +17 -0
  33. package/dist/renderers/media-frame-navigation.d.ts.map +1 -0
  34. package/dist/renderers/media-renderer-core.d.ts +9 -0
  35. package/dist/renderers/media-renderer-core.d.ts.map +1 -1
  36. package/dist/renderers/media-renderer-scene.d.ts +17 -5
  37. package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
  38. package/dist/renderers/media-renderer-state.d.ts +9 -0
  39. package/dist/renderers/media-renderer-state.d.ts.map +1 -1
  40. package/dist/renderers/media-renderer-transport.d.ts +19 -3
  41. package/dist/renderers/media-renderer-transport.d.ts.map +1 -1
  42. package/dist/renderers/pixi-focus-layer.d.ts +1 -0
  43. package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
  44. package/dist/renderers/pixi-frame-present.d.ts +1 -1
  45. package/dist/renderers/pixi-frame-present.d.ts.map +1 -1
  46. package/dist/renderers/pixi-id-mask-shader.d.ts +4 -33
  47. package/dist/renderers/pixi-id-mask-shader.d.ts.map +1 -1
  48. package/dist/renderers/pixi-interaction-presentation-layer.d.ts +0 -1
  49. package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
  50. package/dist/renderers/pixi-mask-halo.d.ts +4 -33
  51. package/dist/renderers/pixi-mask-halo.d.ts.map +1 -1
  52. package/dist/renderers/pixi-mask-layer.d.ts +28 -29
  53. package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
  54. package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
  55. package/dist/renderers/pixi-polygon-layer.d.ts +2 -0
  56. package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
  57. package/dist/renderers/pixi-region-coverage-mask.d.ts +4 -33
  58. package/dist/renderers/pixi-region-coverage-mask.d.ts.map +1 -1
  59. package/dist/renderers/pixi-region-layer.d.ts +6 -31
  60. package/dist/renderers/pixi-region-layer.d.ts.map +1 -1
  61. package/dist/renderers/pixi-shader-lifecycle.d.ts +14 -0
  62. package/dist/renderers/pixi-shader-lifecycle.d.ts.map +1 -0
  63. package/dist/renderers/prepared-annotation-window.d.ts.map +1 -1
  64. package/dist/renderers/presented-frame-channel.d.ts +34 -1
  65. package/dist/renderers/presented-frame-channel.d.ts.map +1 -1
  66. package/dist/sessions/media-session-defaults.d.ts.map +1 -1
  67. package/dist/sessions/media-session-detections.d.ts.map +1 -1
  68. package/dist/sessions/media-session-state.d.ts.map +1 -1
  69. package/dist/sessions/media-session.d.ts.map +1 -1
  70. package/dist/tracking.worker.js +19 -5
  71. package/dist/tracking.worker.js.map +1 -1
  72. package/dist/types/media-frame-clock.d.ts +16 -0
  73. package/dist/types/media-frame-clock.d.ts.map +1 -0
  74. package/dist/types/media-frame-navigation.d.ts +28 -0
  75. package/dist/types/media-frame-navigation.d.ts.map +1 -0
  76. package/dist/types/media-renderer-display.d.ts +12 -0
  77. package/dist/types/media-renderer-display.d.ts.map +1 -0
  78. package/dist/types/media-renderer.d.ts +13 -0
  79. package/dist/types/media-renderer.d.ts.map +1 -1
  80. package/dist/types/media-session.d.ts +35 -32
  81. package/dist/types/media-session.d.ts.map +1 -1
  82. package/dist/types/render-preparation.d.ts +78 -28
  83. package/dist/types/render-preparation.d.ts.map +1 -1
  84. package/dist/video-engine-media-source-DR-x1UfK.js +483 -0
  85. package/dist/video-engine-media-source-DR-x1UfK.js.map +1 -0
  86. package/dist/web-video-engine/analysis-session.d.ts +0 -1
  87. package/dist/web-video-engine/analysis.d.ts +0 -1
  88. package/dist/web-video-engine/analysis.js +211 -23
  89. package/dist/web-video-engine/cache-budget.d.ts +0 -1
  90. package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts +6 -2
  91. package/dist/web-video-engine/clock.d.ts +0 -1
  92. package/dist/web-video-engine/constants.d.ts +9 -1
  93. package/dist/web-video-engine/create-scrub-cursor.d.ts +6 -3
  94. package/dist/web-video-engine/decode-resolution.d.ts +0 -1
  95. package/dist/web-video-engine/decode-scheduler.d.ts +26 -5
  96. package/dist/web-video-engine/decode-session.d.ts +11 -1
  97. package/dist/web-video-engine/decode-source.d.ts +11 -1
  98. package/dist/web-video-engine/diagnostics-store.d.ts +0 -1
  99. package/dist/web-video-engine/diagnostics.d.ts +19 -19
  100. package/dist/web-video-engine/embedded-engine-worker.d.ts +0 -1
  101. package/dist/web-video-engine/engine-core.d.ts +31 -11
  102. package/dist/web-video-engine/engine.d.ts +3 -4
  103. package/dist/web-video-engine/engine.js +175 -44
  104. package/dist/web-video-engine/engine.worker.d.ts +0 -1
  105. package/dist/web-video-engine/engine.worker.js +5712 -2947
  106. package/dist/web-video-engine/frame-cache.d.ts +121 -12
  107. package/dist/web-video-engine/frame-extractor.d.ts +0 -1
  108. package/dist/web-video-engine/{frame-timeline-GINI8Gum.js → frame-timeline-DreEwsRY.js} +83 -27
  109. package/dist/web-video-engine/frame-timeline.d.ts +10 -1
  110. package/dist/web-video-engine/frame-walker.d.ts +0 -1
  111. package/dist/web-video-engine/index.d.ts +12 -2
  112. package/dist/web-video-engine/index.d.ts.map +1 -1
  113. package/dist/web-video-engine/index.js +2 -2
  114. package/dist/web-video-engine/key-packet.d.ts +0 -1
  115. package/dist/web-video-engine/keyframe-index.d.ts +0 -1
  116. package/dist/web-video-engine/mirror-store.d.ts +0 -1
  117. package/dist/web-video-engine/pausable-deadline.d.ts +11 -0
  118. package/dist/web-video-engine/renderer.d.ts +0 -1
  119. package/dist/web-video-engine/rotation.d.ts +0 -1
  120. package/dist/web-video-engine/scrub-controller.d.ts +8 -5
  121. package/dist/web-video-engine/scrub-cursor.d.ts +15 -7
  122. package/dist/web-video-engine/scrub-trajectory.d.ts +0 -1
  123. package/dist/web-video-engine/source-residency.d.ts +35 -1
  124. package/dist/web-video-engine/trace-recorder.d.ts +0 -1
  125. package/dist/web-video-engine/types.d.ts +18 -22
  126. package/dist/web-video-engine/video-engine.d.ts +39 -17
  127. package/dist/web-video-engine/webgpu-renderer.d.ts +0 -1
  128. package/dist/web-video-engine/worker-bridge.d.ts +0 -1
  129. package/dist/web-video-engine/worker-dispatch.d.ts +0 -1
  130. package/dist/web-video-engine/worker-protocol.d.ts +38 -15
  131. package/node_modules/supervision-js-core/dist/detections/buffered-detection-timeline.d.ts.map +1 -1
  132. package/node_modules/supervision-js-core/dist/index.d.ts +2 -2
  133. package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
  134. package/node_modules/supervision-js-core/dist/index.js +182 -68
  135. package/node_modules/supervision-js-core/dist/index.js.map +1 -1
  136. package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts +20 -3
  137. package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts.map +1 -1
  138. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +28 -26
  139. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
  140. package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts +16 -0
  141. package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts.map +1 -1
  142. package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts.map +1 -1
  143. package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts +19 -0
  144. package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts.map +1 -1
  145. package/package.json +3 -3
  146. package/dist/media/media-condition-probe.d.ts +0 -51
  147. package/dist/media/media-condition-probe.d.ts.map +0 -1
  148. package/dist/media/media-conditions.d.ts +0 -28
  149. package/dist/media/media-conditions.d.ts.map +0 -1
  150. package/dist/types/media-conditions.d.ts +0 -149
  151. package/dist/types/media-conditions.d.ts.map +0 -1
  152. package/dist/web-video-engine/analysis-session.d.ts.map +0 -1
  153. package/dist/web-video-engine/analysis.d.ts.map +0 -1
  154. package/dist/web-video-engine/analysis.js.map +0 -1
  155. package/dist/web-video-engine/cache-budget.d.ts.map +0 -1
  156. package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts.map +0 -1
  157. package/dist/web-video-engine/clock.d.ts.map +0 -1
  158. package/dist/web-video-engine/constants.d.ts.map +0 -1
  159. package/dist/web-video-engine/create-scrub-cursor.d.ts.map +0 -1
  160. package/dist/web-video-engine/decode-resolution.d.ts.map +0 -1
  161. package/dist/web-video-engine/decode-scheduler.d.ts.map +0 -1
  162. package/dist/web-video-engine/decode-session.d.ts.map +0 -1
  163. package/dist/web-video-engine/decode-source.d.ts.map +0 -1
  164. package/dist/web-video-engine/diagnostics-store.d.ts.map +0 -1
  165. package/dist/web-video-engine/diagnostics.d.ts.map +0 -1
  166. package/dist/web-video-engine/embedded-engine-worker.d.ts.map +0 -1
  167. package/dist/web-video-engine/engine-core.d.ts.map +0 -1
  168. package/dist/web-video-engine/engine.d.ts.map +0 -1
  169. package/dist/web-video-engine/engine.js.map +0 -1
  170. package/dist/web-video-engine/engine.worker.d.ts.map +0 -1
  171. package/dist/web-video-engine/engine.worker.js.map +0 -1
  172. package/dist/web-video-engine/frame-cache.d.ts.map +0 -1
  173. package/dist/web-video-engine/frame-extractor.d.ts.map +0 -1
  174. package/dist/web-video-engine/frame-timeline-GINI8Gum.js.map +0 -1
  175. package/dist/web-video-engine/frame-timeline.d.ts.map +0 -1
  176. package/dist/web-video-engine/frame-walker.d.ts.map +0 -1
  177. package/dist/web-video-engine/key-packet.d.ts.map +0 -1
  178. package/dist/web-video-engine/keyframe-index.d.ts.map +0 -1
  179. package/dist/web-video-engine/mirror-store.d.ts.map +0 -1
  180. package/dist/web-video-engine/renderer.d.ts.map +0 -1
  181. package/dist/web-video-engine/rotation.d.ts.map +0 -1
  182. package/dist/web-video-engine/scrub-controller.d.ts.map +0 -1
  183. package/dist/web-video-engine/scrub-cursor.d.ts.map +0 -1
  184. package/dist/web-video-engine/scrub-trajectory.d.ts.map +0 -1
  185. package/dist/web-video-engine/source-residency.d.ts.map +0 -1
  186. package/dist/web-video-engine/trace-recorder.d.ts.map +0 -1
  187. package/dist/web-video-engine/types.d.ts.map +0 -1
  188. package/dist/web-video-engine/video-engine.d.ts.map +0 -1
  189. package/dist/web-video-engine/webgpu-renderer.d.ts.map +0 -1
  190. package/dist/web-video-engine/worker-bridge.d.ts.map +0 -1
  191. package/dist/web-video-engine/worker-dispatch.d.ts.map +0 -1
  192. package/dist/web-video-engine/worker-protocol.d.ts.map +0 -1
@@ -161,4 +161,3 @@ export declare class TraceRecorder {
161
161
  assemble(): EngineTrace;
162
162
  private summarize;
163
163
  }
164
- //# sourceMappingURL=trace-recorder.d.ts.map
@@ -12,10 +12,9 @@ export type Fps = number & {
12
12
  };
13
13
  /**
14
14
  * Paints since the source loaded, monotonic within it and reset on source swap.
15
- * It counts paints, not frames of the source: two paints of the same media
16
- * position (a coarse stand-in then the crisp decode) take two numbers, and
17
- * nothing here identifies which frame of the source is on screen. That identity
18
- * travels only as the media timestamp on the paint event.
15
+ * It counts paints, not source frames: two paints of one media position can
16
+ * take two sequence numbers. Source-frame identity is carried separately by
17
+ * the presented frame's frameId and media timestamp.
19
18
  */
20
19
  export type PaintSeq = number & {
21
20
  readonly __paintSeq: unique symbol;
@@ -52,9 +51,11 @@ export interface BlobVideoSource {
52
51
  }
53
52
  export interface StreamVideoSource {
54
53
  kind: SourceKind.Stream;
54
+ /** The load transfers this stream to the worker, which detaches this side's
55
+ * reference: afterwards the worker holds the only readable end. */
55
56
  stream: ReadableStream<Uint8Array>;
56
- /** Declared container type. The demuxer sniffs the bytes and never reads
57
- * this; it travels so a host can report what the media is. */
57
+ /** Declared container type. Nothing reads it: the demuxer sniffs the bytes,
58
+ * and no metadata surface carries it back out. */
58
59
  mimeType: string;
59
60
  }
60
61
  /**
@@ -91,7 +92,7 @@ export declare enum PlaybackStatus {
91
92
  Ended = "ENDED",
92
93
  Errored = "ERRORED"
93
94
  }
94
- export declare enum VideoEngineErrorCode {
95
+ export declare enum WebVideoEngineErrorCode {
95
96
  DecodeUnsupported = "DECODE_UNSUPPORTED",
96
97
  SourceUnreadable = "SOURCE_UNREADABLE",
97
98
  /**
@@ -118,28 +119,27 @@ export declare enum VideoEngineErrorCode {
118
119
  /**
119
120
  * The decoder cannot decode this source at all: it refused to configure, it
120
121
  * errored, or it acknowledged decode requests and never produced a frame.
121
- * Distinct from BackendCrashed, which a rebuild can recover; this one
122
- * survives every rebuild, so the runtime stops rebuilding and says so. The
123
- * usual cause is outside the page: another tab holding every hardware
124
- * decoder session the machine has.
122
+ * Distinct from BackendCrashed; this one survives every rebuild, so the
123
+ * runtime stops rebuilding and says so. The usual cause is outside the page:
124
+ * another tab holding every hardware decoder session the machine has.
125
125
  */
126
126
  DecoderStalled = "DECODER_STALLED",
127
127
  /** A playback rate outside the forward range the engine supports. */
128
128
  RateUnsupported = "RATE_UNSUPPORTED"
129
129
  }
130
130
  /**
131
- * Thrown by createScrubCursor / VideoEngine.load when decode is unsupported
132
- * or the source is unreadable. Branch on `error.code` (VideoEngineErrorCode)
131
+ * Thrown by createScrubCursor / WebVideoEngine.load when decode is unsupported
132
+ * or the source is unreadable. Branch on `error.code` (WebVideoEngineErrorCode)
133
133
  * to differentiate decode failures from network failures.
134
134
  */
135
- export declare class VideoEngineError extends Error {
136
- readonly code: VideoEngineErrorCode;
135
+ export declare class WebVideoEngineError extends Error {
136
+ readonly code: WebVideoEngineErrorCode;
137
137
  readonly cause?: unknown;
138
- constructor(code: VideoEngineErrorCode, message: string, cause?: unknown);
138
+ constructor(code: WebVideoEngineErrorCode, message: string, cause?: unknown);
139
139
  }
140
140
  /** Shared by the facade and the core so a host gets the same refusal wherever
141
141
  * its canvas is caught. */
142
- export declare function canvasBindingRefused(): VideoEngineError;
142
+ export declare function canvasBindingRefused(): WebVideoEngineError;
143
143
  /**
144
144
  * Validates a requested playback rate and returns it. The facade and the core
145
145
  * both call it, so a rate is refused at whichever boundary it arrives at and
@@ -153,7 +153,7 @@ export declare function canvasBindingRefused(): VideoEngineError;
153
153
  export declare function resolvePlaybackRate(rate: number): number;
154
154
  export interface PlaybackState {
155
155
  status: PlaybackStatus;
156
- error: VideoEngineError | null;
156
+ error: WebVideoEngineError | null;
157
157
  }
158
158
  export interface VideoMetadata {
159
159
  durationMs: number;
@@ -182,9 +182,6 @@ export interface EngineReadySnapshot extends VideoMetadata {
182
182
  * succeeded. A host knows what it asked for; only the engine knows what it
183
183
  * got, and the three kinds differ in what they can do afterwards — a stream
184
184
  * cannot be rewound or reopened, and only a URL is fetched.
185
- *
186
- * Optional so a host holding a snapshot it built before this field existed
187
- * still satisfies the type.
188
185
  */
189
186
  readonly byteSource?: SourceKind;
190
187
  }
@@ -201,4 +198,3 @@ export interface EngineReadySnapshot extends VideoMetadata {
201
198
  * readout does not wake on status and vice versa.
202
199
  */
203
200
  export type EngineChannel = "time" | "frame" | "state" | "duration" | "seeking" | "rate";
204
- //# sourceMappingURL=types.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { DecodeResolutionStrategy } from "./decode-resolution";
1
+ import type { DecodeResolutionStrategy, DisplayBoxResolutionOptions } from "./decode-resolution";
2
2
  import type { DiagnosticsSnapshot, EngineDiagnostics } from "./diagnostics";
3
3
  import { type FrameId, type FrameLanding } from "./frame-timeline";
4
4
  import type { SeekIntent } from "./scrub-cursor";
@@ -11,8 +11,15 @@ import { type EngineCommand, type EngineEvent, type PresentedFrame, type SourceR
11
11
  * published carries the first, and handing that back needs no conversion.
12
12
  */
13
13
  export type SeekTarget = number | FrameId;
14
- export interface VideoEngineOptions {
14
+ export interface WebVideoEngineOptions {
15
15
  source: VideoSource;
16
+ /**
17
+ * Creates the worker that hosts decode and presentation. Omit it to use the
18
+ * embedded Blob worker. A host whose Content Security Policy disallows
19
+ * `blob:` workers can return a Worker created from the separately exported
20
+ * `supervision/web-video-engine/worker` URL instead.
21
+ */
22
+ workerFactory?: () => Worker;
16
23
  /**
17
24
  * Who owns the pixels, fixed for the life of the engine. Default "canvas":
18
25
  * the engine holds the display canvas bindCanvas transfers to it and paints
@@ -88,7 +95,7 @@ export interface EngineWorkerPort {
88
95
  terminate(): void;
89
96
  }
90
97
  /**
91
- * Main-thread facade for the worker-hosted video engine. Owns the worker
98
+ * Main-thread facade for the worker-hosted web video engine. Owns the worker
92
99
  * (spawned lazily on the first command), the mirror store React reads through
93
100
  * useSyncExternalStore, and the imperative handle. The decode + render loop runs
94
101
  * in the worker (EngineCore); this class never touches a cursor or clock directly.
@@ -106,7 +113,7 @@ export interface EngineWorkerPort {
106
113
  * Engine outlives a single React render. Recreate the engine only when the
107
114
  * source identity changes.
108
115
  */
109
- export declare class VideoEngine {
116
+ export declare class WebVideoEngine {
110
117
  private readonly options;
111
118
  private readonly store;
112
119
  private readonly diagnosticsStore;
@@ -116,6 +123,9 @@ export declare class VideoEngine {
116
123
  private lastTrace;
117
124
  private traceArmed;
118
125
  private readonly pending;
126
+ private presentationVisible;
127
+ private listeningForPresentationVisibility;
128
+ private readonly onPresentationVisibilityChange;
119
129
  private nextRequestId;
120
130
  private metadata;
121
131
  /** The loaded source's frame table, held here so a gesture is resolved to a
@@ -133,7 +143,11 @@ export declare class VideoEngine {
133
143
  /** WebGPU support is a main-thread fact the worker cannot cheaply probe, so
134
144
  * the facade fills it onto each diagnostics snapshot for the warning rules. */
135
145
  private readonly webgpuAvailable;
136
- constructor(options: VideoEngineOptions, createWorker?: () => EngineWorkerPort);
146
+ constructor(options: WebVideoEngineOptions, createWorker?: () => EngineWorkerPort);
147
+ /**
148
+ * Loads the configured source. A stream source is transferred on this call,
149
+ * so a repeat load has nothing left to hand over and rejects.
150
+ */
137
151
  load(): Promise<EngineReadySnapshot>;
138
152
  /**
139
153
  * Transfers the display canvas to the worker exactly once. The transfer is
@@ -145,6 +159,10 @@ export declare class VideoEngine {
145
159
  */
146
160
  bindCanvas: (el: HTMLCanvasElement | null) => void;
147
161
  play: () => Promise<void>;
162
+ /** Changes frames-mode display output without reopening the video. Resolves
163
+ * with true after worker delivery, or false for unchanged output dimensions.
164
+ * The host still acknowledges its actual presentation. */
165
+ setDisplay: (display: DisplayBoxResolutionOptions) => Promise<boolean>;
148
166
  pause: () => void;
149
167
  togglePlayback: () => void;
150
168
  /**
@@ -248,8 +266,9 @@ export declare class VideoEngine {
248
266
  /**
249
267
  * Registers THE consumer of presented frames, in "frames" presentation mode.
250
268
  * A second registration replaces the first, so at most one holder exists.
251
- * The handler owns every frame it is given and must close() it; one left
252
- * open pins a decoder buffer and stalls the decoder.
269
+ * After synchronously drawing the frame and its matching layers, the handler
270
+ * calls acknowledgePresentation(), then close(). A discarded frame is only
271
+ * closed. One left open pins a decoder buffer and stalls the decoder.
253
272
  *
254
273
  * There is deliberately no counterpart that reports the frame most recently
255
274
  * presented. A frame readable apart from the message that carried it can be
@@ -271,7 +290,7 @@ export declare class VideoEngine {
271
290
  * killed.
272
291
  *
273
292
  * The engine is inert afterwards. A fire-and-forget command is dropped and an
274
- * awaitable one rejects with {@link VideoEngineErrorCode.Aborted}; neither
293
+ * awaitable one rejects with {@link WebVideoEngineErrorCode.Aborted}; neither
275
294
  * starts another worker.
276
295
  */
277
296
  dispose(): Promise<void>;
@@ -280,7 +299,7 @@ export declare class VideoEngine {
280
299
  * handle keeps a stable identity for the lifetime of the engine (consumers
281
300
  * may list it in useEffect deps).
282
301
  */
283
- toHandle(): VideoEngineHandle;
302
+ toHandle(): WebVideoEngineHandle;
284
303
  private readonly isIdleBound;
285
304
  private readonly getPlayheadBound;
286
305
  private readonly getTimeMsBound;
@@ -315,13 +334,16 @@ export declare class VideoEngine {
315
334
  /**
316
335
  * Spawns the worker on first use and wires the state plane into the mirror
317
336
  * store. Deferring the spawn keeps construction side-effect-free, so a
318
- * VideoEngine built during render (e.g. a useState initializer) never leaks
337
+ * WebVideoEngine built during render (e.g. a useState initializer) never leaks
319
338
  * a worker when React discards a duplicate.
320
339
  */
321
340
  private ensurePort;
322
341
  private request;
323
342
  private post;
324
343
  private rejectAllPending;
344
+ private startPresentationVisibilityTracking;
345
+ private stopPresentationVisibilityTracking;
346
+ private syncPresentationVisibility;
325
347
  /**
326
348
  * The frame a target names.
327
349
  *
@@ -337,10 +359,9 @@ export declare class VideoEngine {
337
359
  private requireTimeline;
338
360
  private measureViewport;
339
361
  }
340
- /**
341
- * Receives one presented frame and owns it: it must close() the VideoFrame, and
342
- * the identity it is judged against arrives in the same object, never fetched.
343
- */
362
+ /** Receives one presented frame and owns it. After drawing its pixels and
363
+ * matching layers, call acknowledgePresentation(), then close(). If it is
364
+ * discarded before display, only close it. */
344
365
  export type PresentedFrameHandler = (presented: PresentedFrame) => void;
345
366
  /**
346
367
  * Imperative handle exposed to React via useImperativeHandle. Stable identity
@@ -351,7 +372,8 @@ export type PresentedFrameHandler = (presented: PresentedFrame) => void;
351
372
  * consumer that latches onto the handle does not also depend on the shape of
352
373
  * getPlaybackState.
353
374
  */
354
- export interface VideoEngineHandle {
375
+ export interface WebVideoEngineHandle {
376
+ setDisplay(display: DisplayBoxResolutionOptions): Promise<boolean>;
355
377
  play(): Promise<void>;
356
378
  pause(): void;
357
379
  togglePlayback(): void;
@@ -399,7 +421,8 @@ export interface VideoEngineHandle {
399
421
  /**
400
422
  * Registers the single consumer of presented frames ("frames" presentation
401
423
  * mode). Registering again replaces the previous consumer. The handler owns
402
- * each frame and must close() it.
424
+ * each frame; a displayed frame is acknowledged before it is closed, while a
425
+ * discarded frame is only closed.
403
426
  */
404
427
  onPresentedFrame(handler: PresentedFrameHandler): void;
405
428
  subscribe(channel: EngineChannel, listener: () => void): () => void;
@@ -423,4 +446,3 @@ export interface VideoEngineHandle {
423
446
  /** Latest broadcast snapshot, or null before the first push. */
424
447
  getLatestDiagnostics(): DiagnosticsSnapshot | null;
425
448
  }
426
- //# sourceMappingURL=video-engine.d.ts.map
@@ -59,4 +59,3 @@ export declare class WebGpuRenderer implements Renderer {
59
59
  /** (Re)allocates the sampled texture and bind group when the size changes. */
60
60
  private ensureTexture;
61
61
  }
62
- //# sourceMappingURL=webgpu-renderer.d.ts.map
@@ -9,4 +9,3 @@
9
9
  * facade under test stays real.
10
10
  */
11
11
  export declare function createEngineWorker(): Worker;
12
- //# sourceMappingURL=worker-bridge.d.ts.map
@@ -14,4 +14,3 @@ import { type EngineCommand, type EngineEvent } from "./worker-protocol";
14
14
  */
15
15
  export type PostEngineEvent = (event: EngineEvent) => void;
16
16
  export declare function handleEngineCommand(engine: EngineCore, command: EngineCommand, post: PostEngineEvent): Promise<void>;
17
- //# sourceMappingURL=worker-dispatch.d.ts.map
@@ -1,14 +1,14 @@
1
1
  import type { FrameId, FrameLanding } from "./frame-timeline";
2
2
  import type { FrameQuality, SeekIntent } from "./scrub-cursor";
3
- import type { DecodeResolutionStrategy } from "./decode-resolution";
3
+ import type { DecodeResolutionStrategy, DisplayBoxResolutionOptions } from "./decode-resolution";
4
4
  import type { DiagnosticsSnapshot, EngineDiagnostics } from "./diagnostics";
5
5
  import type { Rotation } from "./rotation";
6
6
  import type { EngineTrace } from "./trace-recorder";
7
- import { VideoEngineError } from "./types";
8
- import type { EngineReadySnapshot, PlaybackStatus, PresentationMode, UrlSourceReadConfig, VideoEngineErrorCode, VideoSource } from "./types";
7
+ import { WebVideoEngineError } from "./types";
8
+ import type { EngineReadySnapshot, PlaybackStatus, PresentationMode, UrlSourceReadConfig, WebVideoEngineErrorCode, VideoSource } from "./types";
9
9
  import type { MirrorStore } from "./mirror-store";
10
10
  /**
11
- * Wire contract between the main-thread VideoEngine facade and the dedicated
11
+ * Wire contract between the main-thread WebVideoEngine facade and the dedicated
12
12
  * worker that hosts the decode + render loop. Three planes cross the boundary:
13
13
  *
14
14
  * - Control plane: EngineCommand, main -> worker. Fire-and-forget commands
@@ -23,19 +23,21 @@ import type { MirrorStore } from "./mirror-store";
23
23
  * paints nothing and every frame that earns the screen crosses as a
24
24
  * PresentedFrameEvent, its VideoFrame on that message's transfer list.
25
25
  *
26
- * Everything here is structured-clone safe (no class instances besides the
27
- * transferable OffscreenCanvas and VideoFrame, no closures), which is what lets
28
- * the decode strategy and source descriptors travel as plain data.
26
+ * Everything here is structured-clone safe apart from three transferables: the
27
+ * OffscreenCanvas on bindCanvas, the VideoFrame on a presented-frame event, and
28
+ * a stream source's ReadableStream on the load command. Nothing else is a class
29
+ * instance and nothing is a closure, which is what lets the decode strategy and
30
+ * source descriptors travel as plain data.
29
31
  */
30
32
  export type RequestId = number;
31
- /** A VideoEngineError flattened to its clone-safe fields. cause is dropped at
33
+ /** A WebVideoEngineError flattened to its clone-safe fields. cause is dropped at
32
34
  * the boundary; consumers branch on code, not on the original cause chain. */
33
35
  export interface SerializedEngineError {
34
- readonly code: VideoEngineErrorCode;
36
+ readonly code: WebVideoEngineErrorCode;
35
37
  readonly message: string;
36
38
  }
37
- export declare function serializeEngineError(error: VideoEngineError): SerializedEngineError;
38
- export declare function deserializeEngineError(error: SerializedEngineError | null): VideoEngineError | null;
39
+ export declare function serializeEngineError(error: WebVideoEngineError): SerializedEngineError;
40
+ export declare function deserializeEngineError(error: SerializedEngineError | null): WebVideoEngineError | null;
39
41
  /** Canvas-box measurement taken on the main thread (layout lives there) and
40
42
  * shipped to the worker so a viewport decode strategy can size the sink. */
41
43
  export interface SerializedViewport {
@@ -43,7 +45,7 @@ export interface SerializedViewport {
43
45
  readonly devicePixelRatio: number;
44
46
  }
45
47
  /**
46
- * The serializable subset of VideoEngineOptions the worker needs to build the
48
+ * The serializable subset of WebVideoEngineOptions the worker needs to build the
47
49
  * engine. Omits `clock` (a class instance the worker constructs itself) and
48
50
  * `source` (carried separately on the load command).
49
51
  */
@@ -77,6 +79,9 @@ export interface BindCanvasCommand {
77
79
  }
78
80
  export type FireAndForgetCommand = BindCanvasCommand | {
79
81
  readonly type: "unbindCanvas";
82
+ } | {
83
+ readonly type: "setPresentationVisibility";
84
+ readonly visible: boolean;
80
85
  } | {
81
86
  readonly type: "scrub";
82
87
  readonly frameIndex: number;
@@ -85,6 +90,11 @@ export type FireAndForgetCommand = BindCanvasCommand | {
85
90
  readonly type: "pause";
86
91
  } | {
87
92
  readonly type: "togglePlayback";
93
+ } | {
94
+ readonly type: "acknowledgePresentedFrame";
95
+ readonly paintSeq: number;
96
+ readonly frameId: FrameId;
97
+ readonly navigationGeneration: number;
88
98
  } | {
89
99
  readonly type: "beginInteractiveSeek";
90
100
  } | {
@@ -102,6 +112,10 @@ export type FireAndForgetCommand = BindCanvasCommand | {
102
112
  readonly type: "traceDisarm";
103
113
  };
104
114
  export type AwaitableCommand = {
115
+ readonly type: "setDisplay";
116
+ readonly requestId: RequestId;
117
+ readonly display: DisplayBoxResolutionOptions;
118
+ } | {
105
119
  readonly type: "load";
106
120
  readonly requestId: RequestId;
107
121
  readonly config: EngineLoadConfig;
@@ -193,6 +207,7 @@ export type ResponseEvent = {
193
207
  readonly type: "ack";
194
208
  readonly requestId: RequestId;
195
209
  readonly landing?: FrameLanding;
210
+ readonly outputChanged?: boolean;
196
211
  } | {
197
212
  readonly type: "stats";
198
213
  readonly requestId: RequestId;
@@ -224,8 +239,10 @@ export interface DiagnosticsEvent {
224
239
  * Identity rides in the same message as the pixels and is reachable nowhere
225
240
  * else, so what a consumer holds and what it believes it holds cannot drift.
226
241
  */
227
- export interface PresentedFrame {
242
+ interface PresentedFramePayload {
228
243
  readonly paintSeq: number;
244
+ /** Navigation epoch in which the worker selected these pixels. */
245
+ readonly navigationGeneration: number;
229
246
  /** Which frame of the source these pixels are. */
230
247
  readonly frameId: FrameId;
231
248
  /** `frameId.ticks / tickRate`, the one seconds value anyone publishes. */
@@ -244,13 +261,19 @@ export interface PresentedFrame {
244
261
  * restated alongside it. */
245
262
  readonly frame: VideoFrame;
246
263
  }
264
+ /** A frame delivered to the host. Acknowledging means its pixels and matching
265
+ * layers reached the host surface. A frame discarded before display is closed
266
+ * without being acknowledged. */
267
+ export interface PresentedFrame extends Omit<PresentedFramePayload, "navigationGeneration"> {
268
+ acknowledgePresentation(): void;
269
+ }
247
270
  /**
248
271
  * The pixel plane, worker -> main. A fourth EngineEvent arm, neither a
249
272
  * MirrorEvent nor a ResponseEvent: it is the only channel a presented frame has,
250
273
  * and the VideoFrame rides this message's transfer list, so the worker's
251
274
  * reference is detached the moment it is posted.
252
275
  */
253
- export interface PresentedFrameEvent extends PresentedFrame {
276
+ export interface PresentedFrameEvent extends PresentedFramePayload {
254
277
  readonly type: "presentedFrame";
255
278
  }
256
279
  export type EngineEvent = MirrorEvent | ResponseEvent | DiagnosticsEvent | PresentedFrameEvent;
@@ -264,4 +287,4 @@ export declare function isMirrorEvent(event: EngineEvent): event is MirrorEvent;
264
287
  * wake, so replaying an idempotent event is a no-op.
265
288
  */
266
289
  export declare function applyMirrorEvent(store: MirrorStore, event: MirrorEvent): void;
267
- //# sourceMappingURL=worker-protocol.d.ts.map
290
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"buffered-detection-timeline.d.ts","sourceRoot":"","sources":["../../src/detections/buffered-detection-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAE3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAG1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAuDxD;;;;;GAKG;AACH,wBAAgB,yCAAyC,CACvD,QAAQ,EAAE,yBAAyB,GAClC,SAAS,cAAc,EAAE,CAI3B;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE;IACP,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;CACvC,GAAG,sBAAsB,GACzB,yBAAyB,CAi1B3B;AAED,wBAAgB,8BAA8B,IAAI,oBAAoB,CAWrE"}
1
+ {"version":3,"file":"buffered-detection-timeline.d.ts","sourceRoot":"","sources":["../../src/detections/buffered-detection-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAE3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAG1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAuDxD;;;;;GAKG;AACH,wBAAgB,yCAAyC,CACvD,QAAQ,EAAE,yBAAyB,GAClC,SAAS,cAAc,EAAE,CAI3B;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE;IACP,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;CACvC,GAAG,sBAAsB,GACzB,yBAAyB,CA07B3B;AAED,wBAAgB,8BAA8B,IAAI,oBAAoB,CAWrE"}
@@ -40,7 +40,7 @@ export { createDefaultAnnotationPresentation, type DefaultAnnotationPresentation
40
40
  export { annotationRendererKinds, annotationRenderers, type AnnotationRenderer, type AnnotationRendererFactory, type AnnotationRendererKind, type BoxAnnotationRenderer, type BoxCornerAnnotationRenderer, type EllipseAnnotationRenderer, type KeypointAnnotationRenderer, type LabelAnnotationRenderer, type MaskAnnotationRenderer, type MaskHaloAnnotationRenderer, type MarkerAnnotationRenderer, type PolygonAnnotationRenderer, type PolylineAnnotationRenderer, RegionRendererComposeMode, RegionRendererCoverageKind, RegionRendererMediaEffectKind, RegionRendererRegionKind, RegionRendererSizeSpace, RegionRendererSourceKind, type RegionAnnotationRenderer, type RegionRendererAssetReference, type RegionRendererAssetSource, type RegionRendererBoundsRegion, type RegionRendererCompose, type RegionRendererMaskCoverage, type RegionRendererBlurEffect, type RegionRendererMediaEffect, type RegionRendererPixelateEffect, type RegionRendererPolygonCoverage, type RegionRendererKeypointAnchorRegion, type RegionRendererMediaSource, type RegionRendererRegion, type RegionRendererRelativeTransform, type RegionRendererSize, type RegionRendererSizedTransform, type RegionRendererSource, type RegionRendererTarget, type RegionRendererTargetContext, type RegionRendererTargetValue, type RegionRendererTransform, } from "#types/annotation-renderer";
41
41
  export { type ClosedMarkerDrawInstruction, type CrossMarkerDrawInstruction, type MarkerDrawInstruction, type MarkerStyle, type MarkerStyleContext, } from "#types/marker-style";
42
42
  export { resolveAnnotationRendererPresentation } from "#styles/annotation-renderer-presentation";
43
- export { resolveAnnotationRendererStyleFields } from "#styles/annotation-renderer-registry";
43
+ export { resolveAnnotationRendererStyleFields, type AnnotationRendererStyleField, } from "#styles/annotation-renderer-registry";
44
44
  export { createSourceAwarePresentation, type PresentationStyleSet, type SourceAwarePresentationOptions, type SourcePresentation, type SourcePresentationEntry, } from "#styles/source-presentation";
45
45
  export { resolveStyleValue } from "#styles/style-value";
46
46
  export { copySortedDetectionFrames, decodeCompressedRleMask, decodeCompressedRleCounts, detectionFrameOverlapsRange, encodeCompressedRleCounts, filterDetectionFramesForRange, selectDetectionFrame, validateDetectionFrames, type DecodedDetectionMask, } from "#utils/detection-frames";
@@ -50,7 +50,7 @@ export { projectDetectionFrame, projectDetectionFrames, } from "#utils/detection
50
50
  export { centerRectToTopLeftRect, containsPoint, distanceToSegment, getDetectionRect, getPointsRect, pointInPolygon, polygonArea, rectArea, topLeftRectToCenterRect, } from "#utils/geometry";
51
51
  export { canReuseMaskStyleArtifacts, resolveMaskStyleOpacity, } from "#utils/mask-style";
52
52
  export { DEFAULT_DETECTION_CLASS_STYLES, DEFAULT_DETECTION_COLOR_SEQUENCE, SUPERVISION_ROBOFLOW_COLOR, normalizeDetectionClassName, resolveDetectionClassColorStyle, type DetectionClassColorStyle, } from "#utils/color-palette";
53
- export { MAX_ID_MASK_PALETTE_ENTRIES, MAX_ID_MASK_STROKE_WIDTH, createIdMaskFrame, type IdMaskFrame, type IdMaskInstruction, } from "#utils/id-mask-frame";
53
+ export { MAX_ID_MASK_PALETTE_ENTRIES, MAX_ID_MASK_STROKE_WIDTH, createIdMaskFrame, resolveIdMaskPaletteId, resolveIdMaskStrokeTexels, writeIdMaskPaletteEntry, type IdMaskFrame, type IdMaskInstruction, } from "#utils/id-mask-frame";
54
54
  export { resolveEllipseSegmentCount, resolveMarkerGeometry, sampleEllipseArc, } from "#utils/shape-geometry";
55
55
  export type { BoxCornerDrawInstruction, BoxCornerStyle, BoxCornerStyleContext, } from "#types/box-corner-style";
56
56
  export type { EllipseGeometry, MarkerGeometry, MarkerGeometryInput, SampledShapePath, } from "#utils/shape-geometry";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}