supervision 0.2.0-next.0 → 0.2.0-next.1

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 (172) 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 +2 -5
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1246 -1300
  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-source-state.d.ts.map +1 -1
  10. package/dist/media/video-engine-media-source.d.ts +17 -7
  11. package/dist/media/video-engine-media-source.d.ts.map +1 -1
  12. package/dist/media/video-engine-media-source.js +3 -0
  13. package/dist/media/video-engine-media-source.js.map +1 -0
  14. package/dist/playback/media-playback-controller.d.ts +7 -1
  15. package/dist/playback/media-playback-controller.d.ts.map +1 -1
  16. package/dist/render-preparation/mask-frame-artifact.d.ts +2 -0
  17. package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
  18. package/dist/render-preparation/mask-frame-compositor.d.ts +7 -0
  19. package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
  20. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +1 -0
  21. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
  22. package/dist/render-preparation/prepared-render-window.d.ts +21 -2
  23. package/dist/render-preparation/prepared-render-window.d.ts.map +1 -1
  24. package/dist/renderers/injected-pixi.d.ts +38 -0
  25. package/dist/renderers/injected-pixi.d.ts.map +1 -0
  26. package/dist/renderers/media-renderer-core.d.ts +9 -0
  27. package/dist/renderers/media-renderer-core.d.ts.map +1 -1
  28. package/dist/renderers/media-renderer-scene.d.ts +16 -5
  29. package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
  30. package/dist/renderers/media-renderer-state.d.ts +9 -0
  31. package/dist/renderers/media-renderer-state.d.ts.map +1 -1
  32. package/dist/renderers/media-renderer-transport.d.ts +16 -3
  33. package/dist/renderers/media-renderer-transport.d.ts.map +1 -1
  34. package/dist/renderers/pixi-focus-layer.d.ts +1 -0
  35. package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
  36. package/dist/renderers/pixi-frame-present.d.ts +1 -1
  37. package/dist/renderers/pixi-frame-present.d.ts.map +1 -1
  38. package/dist/renderers/pixi-id-mask-shader.d.ts +4 -33
  39. package/dist/renderers/pixi-id-mask-shader.d.ts.map +1 -1
  40. package/dist/renderers/pixi-interaction-presentation-layer.d.ts +0 -1
  41. package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
  42. package/dist/renderers/pixi-mask-halo.d.ts +4 -33
  43. package/dist/renderers/pixi-mask-halo.d.ts.map +1 -1
  44. package/dist/renderers/pixi-mask-layer.d.ts +28 -29
  45. package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
  46. package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
  47. package/dist/renderers/pixi-polygon-layer.d.ts +2 -0
  48. package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
  49. package/dist/renderers/pixi-region-coverage-mask.d.ts +4 -33
  50. package/dist/renderers/pixi-region-coverage-mask.d.ts.map +1 -1
  51. package/dist/renderers/pixi-region-layer.d.ts +6 -31
  52. package/dist/renderers/pixi-region-layer.d.ts.map +1 -1
  53. package/dist/renderers/pixi-shader-lifecycle.d.ts +14 -0
  54. package/dist/renderers/pixi-shader-lifecycle.d.ts.map +1 -0
  55. package/dist/renderers/presented-frame-channel.d.ts +32 -1
  56. package/dist/renderers/presented-frame-channel.d.ts.map +1 -1
  57. package/dist/sessions/media-session-defaults.d.ts.map +1 -1
  58. package/dist/sessions/media-session-state.d.ts.map +1 -1
  59. package/dist/tracking.worker.js +19 -5
  60. package/dist/tracking.worker.js.map +1 -1
  61. package/dist/types/media-session.d.ts +20 -27
  62. package/dist/types/media-session.d.ts.map +1 -1
  63. package/dist/types/render-preparation.d.ts +70 -23
  64. package/dist/types/render-preparation.d.ts.map +1 -1
  65. package/dist/video-engine-media-source-CUXnOJOV.js +450 -0
  66. package/dist/video-engine-media-source-CUXnOJOV.js.map +1 -0
  67. package/dist/web-video-engine/analysis-session.d.ts +0 -1
  68. package/dist/web-video-engine/analysis.d.ts +0 -1
  69. package/dist/web-video-engine/analysis.js +195 -23
  70. package/dist/web-video-engine/cache-budget.d.ts +0 -1
  71. package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts +0 -1
  72. package/dist/web-video-engine/clock.d.ts +0 -1
  73. package/dist/web-video-engine/constants.d.ts +9 -1
  74. package/dist/web-video-engine/create-scrub-cursor.d.ts +6 -3
  75. package/dist/web-video-engine/decode-resolution.d.ts +0 -1
  76. package/dist/web-video-engine/decode-scheduler.d.ts +18 -3
  77. package/dist/web-video-engine/decode-session.d.ts +8 -1
  78. package/dist/web-video-engine/decode-source.d.ts +9 -1
  79. package/dist/web-video-engine/diagnostics-store.d.ts +0 -1
  80. package/dist/web-video-engine/diagnostics.d.ts +19 -19
  81. package/dist/web-video-engine/embedded-engine-worker.d.ts +0 -1
  82. package/dist/web-video-engine/engine-core.d.ts +22 -11
  83. package/dist/web-video-engine/engine.d.ts +3 -4
  84. package/dist/web-video-engine/engine.js +76 -37
  85. package/dist/web-video-engine/engine.worker.d.ts +0 -1
  86. package/dist/web-video-engine/engine.worker.js +5501 -3197
  87. package/dist/web-video-engine/frame-cache.d.ts +119 -12
  88. package/dist/web-video-engine/frame-extractor.d.ts +0 -1
  89. package/dist/web-video-engine/{frame-timeline-GINI8Gum.js → frame-timeline-DreEwsRY.js} +83 -27
  90. package/dist/web-video-engine/frame-timeline.d.ts +10 -1
  91. package/dist/web-video-engine/frame-walker.d.ts +0 -1
  92. package/dist/web-video-engine/index.d.ts +12 -2
  93. package/dist/web-video-engine/index.d.ts.map +1 -1
  94. package/dist/web-video-engine/index.js +2 -2
  95. package/dist/web-video-engine/key-packet.d.ts +0 -1
  96. package/dist/web-video-engine/keyframe-index.d.ts +0 -1
  97. package/dist/web-video-engine/mirror-store.d.ts +0 -1
  98. package/dist/web-video-engine/renderer.d.ts +0 -1
  99. package/dist/web-video-engine/rotation.d.ts +0 -1
  100. package/dist/web-video-engine/scrub-controller.d.ts +0 -1
  101. package/dist/web-video-engine/scrub-cursor.d.ts +12 -7
  102. package/dist/web-video-engine/scrub-trajectory.d.ts +0 -1
  103. package/dist/web-video-engine/source-residency.d.ts +35 -1
  104. package/dist/web-video-engine/trace-recorder.d.ts +0 -1
  105. package/dist/web-video-engine/types.d.ts +18 -22
  106. package/dist/web-video-engine/video-engine.d.ts +27 -16
  107. package/dist/web-video-engine/webgpu-renderer.d.ts +0 -1
  108. package/dist/web-video-engine/worker-bridge.d.ts +0 -1
  109. package/dist/web-video-engine/worker-dispatch.d.ts +0 -1
  110. package/dist/web-video-engine/worker-protocol.d.ts +29 -14
  111. package/node_modules/supervision-js-core/dist/detections/buffered-detection-timeline.d.ts.map +1 -1
  112. package/node_modules/supervision-js-core/dist/index.d.ts +2 -2
  113. package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
  114. package/node_modules/supervision-js-core/dist/index.js +107 -29
  115. package/node_modules/supervision-js-core/dist/index.js.map +1 -1
  116. package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts +12 -0
  117. package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts.map +1 -1
  118. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +28 -26
  119. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
  120. package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts +16 -0
  121. package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts.map +1 -1
  122. package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts.map +1 -1
  123. package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts +19 -0
  124. package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts.map +1 -1
  125. package/package.json +3 -3
  126. package/dist/media/media-condition-probe.d.ts +0 -51
  127. package/dist/media/media-condition-probe.d.ts.map +0 -1
  128. package/dist/media/media-conditions.d.ts +0 -28
  129. package/dist/media/media-conditions.d.ts.map +0 -1
  130. package/dist/types/media-conditions.d.ts +0 -149
  131. package/dist/types/media-conditions.d.ts.map +0 -1
  132. package/dist/web-video-engine/analysis-session.d.ts.map +0 -1
  133. package/dist/web-video-engine/analysis.d.ts.map +0 -1
  134. package/dist/web-video-engine/analysis.js.map +0 -1
  135. package/dist/web-video-engine/cache-budget.d.ts.map +0 -1
  136. package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts.map +0 -1
  137. package/dist/web-video-engine/clock.d.ts.map +0 -1
  138. package/dist/web-video-engine/constants.d.ts.map +0 -1
  139. package/dist/web-video-engine/create-scrub-cursor.d.ts.map +0 -1
  140. package/dist/web-video-engine/decode-resolution.d.ts.map +0 -1
  141. package/dist/web-video-engine/decode-scheduler.d.ts.map +0 -1
  142. package/dist/web-video-engine/decode-session.d.ts.map +0 -1
  143. package/dist/web-video-engine/decode-source.d.ts.map +0 -1
  144. package/dist/web-video-engine/diagnostics-store.d.ts.map +0 -1
  145. package/dist/web-video-engine/diagnostics.d.ts.map +0 -1
  146. package/dist/web-video-engine/embedded-engine-worker.d.ts.map +0 -1
  147. package/dist/web-video-engine/engine-core.d.ts.map +0 -1
  148. package/dist/web-video-engine/engine.d.ts.map +0 -1
  149. package/dist/web-video-engine/engine.js.map +0 -1
  150. package/dist/web-video-engine/engine.worker.d.ts.map +0 -1
  151. package/dist/web-video-engine/engine.worker.js.map +0 -1
  152. package/dist/web-video-engine/frame-cache.d.ts.map +0 -1
  153. package/dist/web-video-engine/frame-extractor.d.ts.map +0 -1
  154. package/dist/web-video-engine/frame-timeline-GINI8Gum.js.map +0 -1
  155. package/dist/web-video-engine/frame-timeline.d.ts.map +0 -1
  156. package/dist/web-video-engine/frame-walker.d.ts.map +0 -1
  157. package/dist/web-video-engine/key-packet.d.ts.map +0 -1
  158. package/dist/web-video-engine/keyframe-index.d.ts.map +0 -1
  159. package/dist/web-video-engine/mirror-store.d.ts.map +0 -1
  160. package/dist/web-video-engine/renderer.d.ts.map +0 -1
  161. package/dist/web-video-engine/rotation.d.ts.map +0 -1
  162. package/dist/web-video-engine/scrub-controller.d.ts.map +0 -1
  163. package/dist/web-video-engine/scrub-cursor.d.ts.map +0 -1
  164. package/dist/web-video-engine/scrub-trajectory.d.ts.map +0 -1
  165. package/dist/web-video-engine/source-residency.d.ts.map +0 -1
  166. package/dist/web-video-engine/trace-recorder.d.ts.map +0 -1
  167. package/dist/web-video-engine/types.d.ts.map +0 -1
  168. package/dist/web-video-engine/video-engine.d.ts.map +0 -1
  169. package/dist/web-video-engine/webgpu-renderer.d.ts.map +0 -1
  170. package/dist/web-video-engine/worker-bridge.d.ts.map +0 -1
  171. package/dist/web-video-engine/worker-dispatch.d.ts.map +0 -1
  172. package/dist/web-video-engine/worker-protocol.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { type MediaClock } from "./clock";
2
- import type { FrameLanding } from "./frame-timeline";
2
+ import type { FrameId, FrameLanding } from "./frame-timeline";
3
3
  import { type EngineDiagnostics } from "./diagnostics";
4
4
  import { type SeekIntent } from "./scrub-cursor";
5
5
  import { type EngineTrace } from "./trace-recorder";
@@ -82,6 +82,7 @@ export declare class EngineCore {
82
82
  * so without the target on it any leftover frame answers for the seek in
83
83
  * flight and publishes itself as the playhead. */
84
84
  private awaitedSeek;
85
+ private seekGeneration;
85
86
  /** Wall stamp of a seek being served by re-anchoring the playback walk, or
86
87
  * null when no such seek is waiting on its crisp frame. */
87
88
  private playSeekStartedAtMs;
@@ -91,7 +92,11 @@ export declare class EngineCore {
91
92
  private playSeekMaxMs;
92
93
  /** The frame the last paint put up, for the diagnostics screen readout. */
93
94
  private lastPaintedId;
94
- /** Mirrors VideoEngine's interactive-seek latch: true when a drag paused a
95
+ /** Last frame the host confirmed reached its display surface. */
96
+ private lastHostFrame;
97
+ /** Rejects an older refresh that completes after a newer one in one epoch. */
98
+ private lastHostPaintSeq;
99
+ /** Mirrors WebVideoEngine's interactive-seek latch: true when a drag paused a
95
100
  * playing engine, so endInteractiveSeek knows to resume. */
96
101
  private resumeAfterInteractiveSeek;
97
102
  /** Worker-realm broadcast timer handle, or null when diagnostics are off. */
@@ -160,13 +165,11 @@ export declare class EngineCore {
160
165
  * exported trace shows the playback-state timeline alongside paints/seeks. */
161
166
  private emitStatus;
162
167
  /**
163
- * The decoder cannot decode this source, and nothing else was going to say
164
- * so: a stalled decoder keeps accepting commands and the clock keeps
165
- * running, so playback reads as healthy over a canvas that will never change
166
- * again. Stop the transport first, then report, so the status a consumer
167
- * sees and what the engine is doing agree.
168
+ * The runtime can no longer deliver pixels, whether decoding stopped or the
169
+ * frames handoff failed. Stop the transport first, then report, so the status
170
+ * a consumer sees and what the engine is doing agree.
168
171
  */
169
- private handleDecodeFailure;
172
+ private handleTerminalFailure;
170
173
  /** Says the failure again for whoever just asked the transport to move. A
171
174
  * consumer that only listens for changes has already been told; one that
172
175
  * reads the status after its own command has to find the same answer. */
@@ -175,7 +178,7 @@ export declare class EngineCore {
175
178
  endInteractiveSeek(): void;
176
179
  dispose(): Promise<void>;
177
180
  /** True only when the cursor exists and reports settled. Mirrors
178
- * VideoEngine.isIdle for tests; the facade derives its own from state. */
181
+ * WebVideoEngine.isIdle for tests; the facade derives its own from state. */
179
182
  isIdle(): boolean;
180
183
  /** Engine diagnostics snapshot (renderer, track facts, scheduler stats), or
181
184
  * null before load. The scheduler field is null on the uncached cursor. */
@@ -183,7 +186,12 @@ export declare class EngineCore {
183
186
  private observeSeekIdle;
184
187
  private handleEnded;
185
188
  private awaitSeekLanding;
189
+ private isCurrentSeek;
186
190
  private forgetSeekLanding;
191
+ private abandonAwaitedSeek;
192
+ /** Ends an impossible landing. Awaitable movement rejects with the engine's
193
+ * terminal error; a scrub has no consumer, so it is released quietly. */
194
+ private failAwaitedSeek;
187
195
  /** Releases the latch of a seek that has already answered its caller. The
188
196
  * landing rode back on the return value, so a paint arriving after it would
189
197
  * move the playhead to somewhere the caller was never told about. */
@@ -200,7 +208,6 @@ export declare class EngineCore {
200
208
  /** The frame table of the loaded source. Reached only from paths that have
201
209
  * already established a cursor, which is what carries it. */
202
210
  private timeline;
203
- private landingOf;
204
211
  /**
205
212
  * Points the background walk at where the viewer is, as a byte offset. The
206
213
  * file's own byte layout is not exposed, so this reads position as a share of
@@ -209,6 +216,11 @@ export declare class EngineCore {
209
216
  */
210
217
  private aimResidency;
211
218
  private onPaint;
219
+ /** Makes only a frame the host actually rendered authoritative for playback
220
+ * time and pause settlement. An older navigation or refresh cannot move the
221
+ * clock backward after a newer frame has won. */
222
+ acknowledgePresentedFrame(paintSeq: number, frameId: FrameId, navigationGeneration: number): void;
223
+ private beginPresentationGeneration;
212
224
  /**
213
225
  * Posts one frame with the identity of the paint it came from, in the same
214
226
  * message. With no sink wired there is no receiver, so the frame is closed
@@ -255,4 +267,3 @@ export declare class EngineCore {
255
267
  private devicePixelRatio;
256
268
  private traceEnvironment;
257
269
  }
258
- //# sourceMappingURL=engine-core.d.ts.map
@@ -1,5 +1,5 @@
1
- export { VideoEngine } from "./video-engine";
2
- export type { VideoEngineHandle, VideoEngineOptions } from "./video-engine";
1
+ export { WebVideoEngine } from "./video-engine";
2
+ export type { WebVideoEngineHandle, WebVideoEngineOptions, } from "./video-engine";
3
3
  export { SourceKind } from "./types";
4
4
  export type { BlobVideoSource, StreamVideoSource, UrlSourceReadConfig, UrlVideoSource, VideoMetadata, VideoSource, } from "./types";
5
5
  export { PlaybackStatus } from "./types";
@@ -18,9 +18,8 @@ export { asFps, asPaintSeq, asSec } from "./types";
18
18
  export type { Fps, Sec } from "./types";
19
19
  export { cappedResolution, displayBoxResolution, nativeResolution, viewportResolution, } from "./decode-resolution";
20
20
  export type { DecodeResolutionStrategy, DisplayBoxResolutionOptions, ViewportResolutionOptions, } from "./decode-resolution";
21
- export { VideoEngineError, VideoEngineErrorCode } from "./types";
21
+ export { WebVideoEngineError, WebVideoEngineErrorCode } from "./types";
22
22
  export type { Warning, WarningSeverity } from "./diagnostics";
23
23
  export type { DiagnosticsSnapshot, SourceResidencyDiagnostics, } from "./diagnostics";
24
24
  export type { SourceResidencyConfig } from "./worker-protocol";
25
25
  export { DIAGNOSTICS, TRACE_RING_BOUNDS } from "./constants";
26
- //# sourceMappingURL=engine.d.ts.map