supervision 0.2.4 → 0.2.6

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 (166) hide show
  1. package/dist/depth-preview-probe-DG7McQEN.js +314 -0
  2. package/dist/depth-preview-probe-DG7McQEN.js.map +1 -0
  3. package/dist/depth-preview-track-BvgwNEE9.js +612 -0
  4. package/dist/depth-preview-track-BvgwNEE9.js.map +1 -0
  5. package/dist/detections/chunked-detection-frame-source.d.ts.map +1 -1
  6. package/dist/index.d.ts +4 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +9504 -4719
  9. package/dist/index.js.map +1 -1
  10. package/dist/mask-preparation.worker.js +658 -21
  11. package/dist/mask-preparation.worker.js.map +1 -1
  12. package/dist/media/decoder-deadline.d.ts +18 -0
  13. package/dist/media/decoder-deadline.d.ts.map +1 -0
  14. package/dist/media/depth-preview-probe.d.ts +65 -0
  15. package/dist/media/depth-preview-probe.d.ts.map +1 -0
  16. package/dist/media/depth-preview-track.d.ts +96 -0
  17. package/dist/media/depth-preview-track.d.ts.map +1 -0
  18. package/dist/media/media-normalization.d.ts.map +1 -1
  19. package/dist/media/media-source.d.ts +7 -0
  20. package/dist/media/media-source.d.ts.map +1 -1
  21. package/dist/media/mediabunny-frame-clock.d.ts +7 -0
  22. package/dist/media/mediabunny-frame-clock.d.ts.map +1 -0
  23. package/dist/media/mediabunny-media-source.d.ts +3 -0
  24. package/dist/media/mediabunny-media-source.d.ts.map +1 -1
  25. package/dist/media/track-frame-index.d.ts +14 -0
  26. package/dist/media/track-frame-index.d.ts.map +1 -0
  27. package/dist/media/video-engine-media-source.d.ts.map +1 -1
  28. package/dist/media/video-engine-media-source.js +1 -1
  29. package/dist/render-preparation/depth/clip-preview.d.ts +41 -0
  30. package/dist/render-preparation/depth/clip-preview.d.ts.map +1 -0
  31. package/dist/render-preparation/depth/clip-timing.d.ts +18 -0
  32. package/dist/render-preparation/depth/clip-timing.d.ts.map +1 -0
  33. package/dist/render-preparation/depth/clip.d.ts +14 -0
  34. package/dist/render-preparation/depth/clip.d.ts.map +1 -0
  35. package/dist/render-preparation/depth/exact-at-rest.d.ts +44 -0
  36. package/dist/render-preparation/depth/exact-at-rest.d.ts.map +1 -0
  37. package/dist/render-preparation/depth/exact-playback.d.ts +40 -0
  38. package/dist/render-preparation/depth/exact-playback.d.ts.map +1 -0
  39. package/dist/render-preparation/depth/files.d.ts +55 -0
  40. package/dist/render-preparation/depth/files.d.ts.map +1 -0
  41. package/dist/render-preparation/depth/frame-decode.d.ts +20 -0
  42. package/dist/render-preparation/depth/frame-decode.d.ts.map +1 -0
  43. package/dist/render-preparation/depth/frame-preparer.d.ts +51 -0
  44. package/dist/render-preparation/depth/frame-preparer.d.ts.map +1 -0
  45. package/dist/render-preparation/depth/frame-window.d.ts +146 -0
  46. package/dist/render-preparation/depth/frame-window.d.ts.map +1 -0
  47. package/dist/render-preparation/depth/options.d.ts +37 -0
  48. package/dist/render-preparation/depth/options.d.ts.map +1 -0
  49. package/dist/render-preparation/depth/png16.d.ts +40 -0
  50. package/dist/render-preparation/depth/png16.d.ts.map +1 -0
  51. package/dist/render-preparation/depth/preview-luma-copier.d.ts +12 -0
  52. package/dist/render-preparation/depth/preview-luma-copier.d.ts.map +1 -0
  53. package/dist/render-preparation/depth/preview-luma.d.ts +48 -0
  54. package/dist/render-preparation/depth/preview-luma.d.ts.map +1 -0
  55. package/dist/render-preparation/depth/source.d.ts +123 -0
  56. package/dist/render-preparation/depth/source.d.ts.map +1 -0
  57. package/dist/render-preparation/depth/worker-protocol.d.ts +76 -0
  58. package/dist/render-preparation/depth/worker-protocol.d.ts.map +1 -0
  59. package/dist/render-preparation/playhead-motion.d.ts +67 -0
  60. package/dist/render-preparation/playhead-motion.d.ts.map +1 -0
  61. package/dist/render-preparation/prepared-render-window.d.ts +12 -0
  62. package/dist/render-preparation/prepared-render-window.d.ts.map +1 -1
  63. package/dist/renderers/depth-textures.d.ts +79 -0
  64. package/dist/renderers/depth-textures.d.ts.map +1 -0
  65. package/dist/renderers/id-mask-stroke-coverage.d.ts +3 -0
  66. package/dist/renderers/id-mask-stroke-coverage.d.ts.map +1 -0
  67. package/dist/renderers/media-renderer-core.d.ts.map +1 -1
  68. package/dist/renderers/media-renderer-scene.d.ts +14 -1
  69. package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
  70. package/dist/renderers/pixi-batch-texture-bindings.d.ts +9 -0
  71. package/dist/renderers/pixi-batch-texture-bindings.d.ts.map +1 -0
  72. package/dist/renderers/pixi-depth-layer.d.ts +76 -0
  73. package/dist/renderers/pixi-depth-layer.d.ts.map +1 -0
  74. package/dist/renderers/pixi-depth-shader.d.ts +76 -0
  75. package/dist/renderers/pixi-depth-shader.d.ts.map +1 -0
  76. package/dist/renderers/pixi-focus-layer.d.ts +1 -0
  77. package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
  78. package/dist/renderers/pixi-frame-present.d.ts +1 -0
  79. package/dist/renderers/pixi-frame-present.d.ts.map +1 -1
  80. package/dist/renderers/pixi-id-mask-shader.d.ts +1 -0
  81. package/dist/renderers/pixi-id-mask-shader.d.ts.map +1 -1
  82. package/dist/renderers/pixi-interaction-layer.d.ts +1 -1
  83. package/dist/renderers/pixi-interaction-layer.d.ts.map +1 -1
  84. package/dist/renderers/pixi-interaction-presentation-layer.d.ts +1 -0
  85. package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
  86. package/dist/renderers/pixi-mask-halo.d.ts +1 -0
  87. package/dist/renderers/pixi-mask-halo.d.ts.map +1 -1
  88. package/dist/renderers/pixi-mask-layer.d.ts +4 -0
  89. package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
  90. package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
  91. package/dist/renderers/pixi-region-coverage-mask.d.ts +1 -0
  92. package/dist/renderers/pixi-region-coverage-mask.d.ts.map +1 -1
  93. package/dist/renderers/pixi-region-layer.d.ts +1 -0
  94. package/dist/renderers/pixi-region-layer.d.ts.map +1 -1
  95. package/dist/renderers/pixi-scene-layer-slot.d.ts +1 -0
  96. package/dist/renderers/pixi-scene-layer-slot.d.ts.map +1 -1
  97. package/dist/renderers/prepared-annotation-window.d.ts +1 -0
  98. package/dist/renderers/prepared-annotation-window.d.ts.map +1 -1
  99. package/dist/renderers/render-preparation-report.d.ts +23 -0
  100. package/dist/renderers/render-preparation-report.d.ts.map +1 -0
  101. package/dist/sessions/media-session-defaults.d.ts.map +1 -1
  102. package/dist/sessions/media-session-state.d.ts.map +1 -1
  103. package/dist/sessions/media-session.d.ts.map +1 -1
  104. package/dist/tracking.worker.js +64 -0
  105. package/dist/tracking.worker.js.map +1 -1
  106. package/dist/types/media-depth.d.ts +55 -0
  107. package/dist/types/media-depth.d.ts.map +1 -0
  108. package/dist/types/media-renderer.d.ts +19 -0
  109. package/dist/types/media-renderer.d.ts.map +1 -1
  110. package/dist/types/media-session.d.ts +19 -0
  111. package/dist/types/media-session.d.ts.map +1 -1
  112. package/dist/types/render-preparation.d.ts +105 -3
  113. package/dist/types/render-preparation.d.ts.map +1 -1
  114. package/dist/{video-engine-media-source-DR-x1UfK.js → video-engine-media-source-DOFsuGS4.js} +35 -29
  115. package/dist/video-engine-media-source-DOFsuGS4.js.map +1 -0
  116. package/dist/web-video-engine/analysis.js +6 -43
  117. package/dist/web-video-engine/cache-budget.d.ts +4 -7
  118. package/dist/web-video-engine/constants.d.ts +3 -4
  119. package/dist/web-video-engine/create-scrub-cursor.d.ts +1 -0
  120. package/dist/web-video-engine/decode-resolution-fynpRIAG.js +109 -0
  121. package/dist/web-video-engine/decode-scheduler.d.ts +1 -0
  122. package/dist/web-video-engine/engine-core.d.ts +4 -2
  123. package/dist/web-video-engine/engine.js +8 -6
  124. package/dist/web-video-engine/engine.worker.js +164 -66
  125. package/dist/web-video-engine/frame-cache.d.ts +9 -0
  126. package/dist/web-video-engine/frame-index.d.ts +1 -0
  127. package/dist/web-video-engine/frame-index.js +97 -0
  128. package/dist/web-video-engine/{frame-timeline-DreEwsRY.js → frame-timeline-CYgzzmpA.js} +1 -109
  129. package/dist/web-video-engine/frame-timeline-reader.d.ts +21 -0
  130. package/dist/web-video-engine/video-engine.d.ts +9 -4
  131. package/node_modules/supervision-js-core/THIRD_PARTY_NOTICES.md +132 -0
  132. package/node_modules/supervision-js-core/dist/detections/buffered-detection-timeline.d.ts.map +1 -1
  133. package/node_modules/supervision-js-core/dist/index.d.ts +7 -2
  134. package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
  135. package/node_modules/supervision-js-core/dist/index.js +1138 -62
  136. package/node_modules/supervision-js-core/dist/index.js.map +1 -1
  137. package/node_modules/supervision-js-core/dist/interactions/annotation-editing-engine.d.ts.map +1 -1
  138. package/node_modules/supervision-js-core/dist/interactions/annotation-handles.d.ts +2 -2
  139. package/node_modules/supervision-js-core/dist/interactions/annotation-handles.d.ts.map +1 -1
  140. package/node_modules/supervision-js-core/dist/styles/annotation-renderer-presentation.d.ts.map +1 -1
  141. package/node_modules/supervision-js-core/dist/styles/annotation-renderer-registry.d.ts.map +1 -1
  142. package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts +50 -3
  143. package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts.map +1 -1
  144. package/node_modules/supervision-js-core/dist/types/depth-map.d.ts +203 -0
  145. package/node_modules/supervision-js-core/dist/types/depth-map.d.ts.map +1 -0
  146. package/node_modules/supervision-js-core/dist/types/editing.d.ts +4 -0
  147. package/node_modules/supervision-js-core/dist/types/editing.d.ts.map +1 -1
  148. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +3 -0
  149. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
  150. package/node_modules/supervision-js-core/dist/utils/depth-color-mapping.d.ts +91 -0
  151. package/node_modules/supervision-js-core/dist/utils/depth-color-mapping.d.ts.map +1 -0
  152. package/node_modules/supervision-js-core/dist/utils/depth-colormap-tables.d.ts +30 -0
  153. package/node_modules/supervision-js-core/dist/utils/depth-colormap-tables.d.ts.map +1 -0
  154. package/node_modules/supervision-js-core/dist/utils/depth-colormaps.d.ts +16 -0
  155. package/node_modules/supervision-js-core/dist/utils/depth-colormaps.d.ts.map +1 -0
  156. package/node_modules/supervision-js-core/dist/utils/depth-manifest.d.ts +23 -0
  157. package/node_modules/supervision-js-core/dist/utils/depth-manifest.d.ts.map +1 -0
  158. package/node_modules/supervision-js-core/dist/utils/depth-readout.d.ts +14 -0
  159. package/node_modules/supervision-js-core/dist/utils/depth-readout.d.ts.map +1 -0
  160. package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts +21 -0
  161. package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts.map +1 -1
  162. package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts +3 -7
  163. package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts.map +1 -1
  164. package/node_modules/supervision-js-core/package.json +2 -1
  165. package/package.json +6 -1
  166. package/dist/video-engine-media-source-DR-x1UfK.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ import type { DepthManifest, DepthMap } from "supervision-js-core";
2
+ /**
3
+ * Depth for the media a renderer presents: a map you already hold, or a
4
+ * `depth.json` manifest the session loads.
5
+ *
6
+ * A `map` is one still depth map drawn under every frame, stretched over the
7
+ * media rectangle; it must have the media's aspect ratio within 1 %. The
8
+ * session keeps the map's arrays for readouts and never copies them.
9
+ *
10
+ * A `manifest` is the URL of a `depth.json`, or its `parseDepthManifest`
11
+ * output. The session fetches the 16-bit PNG it names, and the confidence PNG
12
+ * when there is one.
13
+ *
14
+ * A clip manifest (`frames`) pairs one PNG with each video frame, so it needs
15
+ * media with a frame index: a URL or file, or
16
+ * `createWebVideoEngineMediaRendererSource()`. Other media, and a `preview`
17
+ * whose frames are not the video's by count or by time, are refused with a
18
+ * `RangeError`. During playback the session draws the exact frames or the
19
+ * manifest's 8-bit `preview` video as `renderPreparation.depth.playback`
20
+ * picks: by default the exact frames while they keep up and the preview
21
+ * otherwise; a clip without a preview plays its exact frames. Once playback
22
+ * rests, the session fetches the exact frame on screen, then its neighbours,
23
+ * so stepping shows depth at once.
24
+ */
25
+ export type MediaRendererDepthInput = {
26
+ readonly map: DepthMap;
27
+ readonly manifest?: undefined;
28
+ readonly baseUrl?: undefined;
29
+ } | {
30
+ readonly manifest: string | URL | DepthManifest;
31
+ /**
32
+ * What a relative manifest URL, or the files of a manifest passed as an
33
+ * object, resolve against. Files of a fetched manifest resolve against
34
+ * the manifest's own URL.
35
+ */
36
+ readonly baseUrl?: string | URL;
37
+ readonly map?: undefined;
38
+ };
39
+ /** The depth map on screen, for readouts such as `readDepthAt`. */
40
+ export interface ActiveDepthMap {
41
+ readonly map: DepthMap;
42
+ /** Clip frame index of the map, or null for a still map. */
43
+ readonly frameIndex: number | null;
44
+ /** Media time the map was drawn for, in seconds. */
45
+ readonly mediaTime: number;
46
+ /**
47
+ * `"preview"` for a map of 8-bit `preview8` codes, such as a clip's preview
48
+ * frame, as `readDepthAt` reports it.
49
+ */
50
+ readonly precision: "exact" | "preview";
51
+ /** Media size the map is stretched over, the coordinate space for readouts. */
52
+ readonly mediaWidth: number;
53
+ readonly mediaHeight: number;
54
+ }
55
+ //# sourceMappingURL=media-depth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-depth.d.ts","sourceRoot":"","sources":["../../src/types/media-depth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;CAC9B,GACD;IACE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,GAAG,aAAa,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEN,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B"}
@@ -9,6 +9,7 @@ import type { MediaFrameClock } from "#types/media-frame-clock";
9
9
  import type { MediaFrameNavigation } from "#types/media-frame-navigation";
10
10
  import type { AnnotationEditingEngine, PreviewOverlayData } from "supervision-js-core";
11
11
  import type { MaskBrushPreviewOptions } from "../editing";
12
+ import type { ActiveDepthMap, MediaRendererDepthInput } from "#types/media-depth";
12
13
  export { MediaRendererFit, MediaRendererPlaybackState, MediaSourceStatus, } from "supervision-js-core";
13
14
  export type { MediaFrameDiagnostics, MediaFrameRenderTimings, MediaRendererDiagnosticsOptions, MediaRendererAssetError, MediaRendererPresentation, MediaRendererQuality, MediaRendererState, MediaDisplayAdjustments, MediaSourceState, } from "supervision-js-core";
14
15
  /** Clock used by semantic detection frames supplied to a media renderer. */
@@ -53,6 +54,13 @@ export interface MediaRendererOptions extends MediaRendererPresentation {
53
54
  * is not zero. Defaults to `MediaTimeline` for backward compatibility.
54
55
  */
55
56
  readonly detectionTimelineOrigin?: DetectionTimelineOrigin;
57
+ /**
58
+ * Depth drawn by `depth` annotation renderers, separate from detection
59
+ * frames. A map whose aspect ratio differs from the media's puts the
60
+ * renderer in its error state. A manifest loads once the media's first
61
+ * frame is up; one that fails leaves the media playing without depth.
62
+ */
63
+ readonly depth?: MediaRendererDepthInput;
56
64
  readonly interaction?: MediaInteractionOptions;
57
65
  readonly renderPreparation?: RenderPreparationOptions;
58
66
  readonly diagnostics?: MediaRendererDiagnosticsOptions;
@@ -167,6 +175,17 @@ export interface MediaRenderer extends MediaRendererStateController {
167
175
  */
168
176
  captureFrame(options?: MediaFrameCaptureOptions): Promise<MediaFrameCapture>;
169
177
  setSelectedDetection(selection: DetectionSelectionOptions | null): DetectionPickResult | null;
178
+ /**
179
+ * Replaces the depth that `depth` renderers draw, or removes it with
180
+ * `null`, and redraws the frame on screen. Rejects with a `RangeError` for a
181
+ * malformed map or one whose aspect ratio differs from the media's.
182
+ */
183
+ setDepth?(depth: MediaRendererDepthInput | null): Promise<void>;
184
+ /**
185
+ * The depth map on screen, with the media size it is stretched over, or
186
+ * null when no depth is drawn. Pass it to `readDepthAt` for a readout.
187
+ */
188
+ getActiveDepth?(): ActiveDepthMap | null;
170
189
  /**
171
190
  * Explicit renders issued under the render-on-change policy, which only a
172
191
  * media source that pushes presented frames runs under: the count moves when
@@ -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":"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"}
@@ -7,6 +7,7 @@ import type { DetectionTimelineOrigin, MediaFrameCapture, MediaFrameCaptureOptio
7
7
  import type { RenderPreparationDiagnostics } from "#types/render-preparation";
8
8
  import type { MediaFrameClock } from "#types/media-frame-clock";
9
9
  import type { MediaFrameNavigation } from "#types/media-frame-navigation";
10
+ import type { MediaRendererDepthInput } from "#types/media-depth";
10
11
  export { MediaSessionActivityKind, MediaSessionActivityStatus, MediaSessionMode, MediaSessionStatus, } from "supervision-js-core";
11
12
  export type { MediaSessionActivity, MediaSessionStateUnsubscribe, } from "supervision-js-core";
12
13
  /**
@@ -204,6 +205,17 @@ export interface MediaSessionOptions {
204
205
  * Detection frames or sources to render with the media.
205
206
  */
206
207
  readonly detections?: MediaSessionDetectionOptions;
208
+ /**
209
+ * Depth drawn by `depth` annotation renderers, beside detections. See
210
+ * {@link MediaRendererDepthInput} for what a map or a clip manifest needs.
211
+ *
212
+ * The session does not wait for a manifest: the media shows and plays as
213
+ * soon as it can, and depth joins it when its files arrive. A manifest
214
+ * that fails to load leaves the media playing without depth, with a
215
+ * console warning and the reason in `renderPreparation.message`. To wait
216
+ * for depth or catch its error, call `setDepth()`.
217
+ */
218
+ readonly depth?: MediaRendererDepthInput;
207
219
  /**
208
220
  * Buffered playback: hold the picture until the frame it is about to show has
209
221
  * both its detections and its prepared annotation artifacts. Opening still
@@ -355,6 +367,13 @@ export interface MediaSession {
355
367
  */
356
368
  captureFrame(options?: MediaFrameCaptureOptions): Promise<MediaFrameCapture>;
357
369
  setPresentation(presentation: MediaRendererPresentation): void;
370
+ /**
371
+ * Replaces the session's depth, or removes it with `null`, and redraws the
372
+ * frame on screen. Resolves once the renderer has that depth, and rejects
373
+ * with the reason a manifest did not load; the media keeps playing
374
+ * meanwhile. `session.renderer.getActiveDepth()` reads back what is drawn.
375
+ */
376
+ setDepth?(depth: MediaRendererDepthInput | null): Promise<void>;
358
377
  setRenderQuality(quality: MediaRendererQuality): void;
359
378
  subscribe(listener: MediaSessionStateListener): MediaSessionStateUnsubscribe;
360
379
  getState(): MediaSessionState;
@@ -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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"}
@@ -39,7 +39,14 @@ export declare enum RenderPreparationArtifactKind {
39
39
  /** Frame-level ID-mask artifact prepared from semantic masks. */
40
40
  MaskFrame = "maskFrame",
41
41
  /** Frame-level ID-mask artifact rasterized from semantic polygons. */
42
- PolygonFrame = "polygonFrame"
42
+ PolygonFrame = "polygonFrame",
43
+ /** A clip's 8-bit preview depth, decoded ahead of playback. */
44
+ DepthFrame = "depthFrame",
45
+ /**
46
+ * A clip's exact 16-bit depth, loaded for the frame at rest and its
47
+ * neighbours: `preparedCount` frames kept, `pendingCount` loading.
48
+ */
49
+ ExactDepthFrame = "exactDepthFrame"
43
50
  }
44
51
  /**
45
52
  * Preparation status for the active artifact frame.
@@ -59,7 +66,7 @@ export declare enum RenderPreparationArtifactFrameStatus {
59
66
  * apart, and describing the second as missing media is wrong on any source.
60
67
  */
61
68
  export declare enum RenderPreparationGateHoldReason {
62
- /** The frame about to be presented has no artifact yet. */
69
+ /** The frame about to be presented lacks the required raster quality. */
63
70
  ActiveFrameUnprepared = "activeFrameUnprepared",
64
71
  /** That frame is ready, and the prepared lead in front of it is short. */
65
72
  LeadBelowRequirement = "leadBelowRequirement"
@@ -92,7 +99,9 @@ export interface RenderPreparationMaskFrameOptions {
92
99
  * The box the host paints prepared masks into, in CSS pixels, with the pixel
93
100
  * ratio it paints them at. A mask frame's id raster is then capped to the
94
101
  * size that box can show; absent, it is cooked at the detections' own
95
- * resolution.
102
+ * resolution. Exact depth frames the box cannot show at least twice over
103
+ * go up to the GPU decimated by that whole factor; readouts still read every
104
+ * sample.
96
105
  */
97
106
  readonly display?: {
98
107
  readonly boxHeight: number;
@@ -100,10 +109,29 @@ export interface RenderPreparationMaskFrameOptions {
100
109
  readonly devicePixelRatio: number;
101
110
  readonly maxDevicePixelRatio?: number;
102
111
  };
112
+ /**
113
+ * Scale of the display-fitted width cap for previews during rapid movement.
114
+ * Default: 0.5. Rasters never exceed native mask dimensions.
115
+ * Positive values up to 1 are accepted; invalid values use the default.
116
+ * A value of 1 keeps the full display-fitted resolution during motion.
117
+ * Once motion settles, the visible frame uses the full fitted resolution.
118
+ * Without a display box, masks keep their native resolution.
119
+ */
120
+ readonly previewScale?: number;
103
121
  /**
104
122
  * Maximum number of prepared mask frames retained in memory.
105
123
  */
106
124
  readonly maxCacheFrameCount?: number;
125
+ /**
126
+ * Byte budget for retained prepared mask payloads and reserved renderer
127
+ * backing, including exact region coverage. Values below 16 MiB are raised
128
+ * to 16 MiB. This budget and `maxCacheFrameCount` both trigger eviction;
129
+ * the active frame remains protected even when it exceeds the budget.
130
+ * Transient preparation allocations and unrelated renderer resources are
131
+ * excluded. Default: 64 MiB per reported GB of device memory, clamped to
132
+ * 256 MiB–1 GiB; 256 MiB when unavailable.
133
+ */
134
+ readonly maxCacheBytes?: number;
107
135
  /**
108
136
  * Maximum number of mask frames queued for preparation.
109
137
  */
@@ -151,6 +179,16 @@ export interface RenderPreparationPlaybackGateOptions {
151
179
  * off. A renderer created directly leaves it off.
152
180
  */
153
181
  readonly enabled?: boolean;
182
+ /**
183
+ * Raster quality required by an enabled gate. Default: "adaptive", which
184
+ * accepts smaller previews during rapid movement. "fine" waits for the full
185
+ * display-fitted raster and prepares its lead at that quality. An enabled
186
+ * fine gate overrides `maskFrame.previewScale` during playback, scrubbing,
187
+ * and seeking. This can increase CPU work and buffering.
188
+ * `maxWaitSeconds` still bounds the wait; on expiry, playback may use a
189
+ * preview or omit an unfinished artifact.
190
+ */
191
+ readonly quality?: "adaptive" | "fine";
154
192
  /**
155
193
  * How long an enabled gate holds the picture for artifacts that are not
156
194
  * prepared, before it gives up and lets the frames through without them.
@@ -238,11 +276,23 @@ export interface RenderPreparationArtifactWindowDiagnostics {
238
276
  export interface RenderPreparationArtifactDiagnostics {
239
277
  readonly activeFrame?: RenderPreparationActiveFrameDiagnostics | null;
240
278
  readonly gateHold?: RenderPreparationGateHoldDiagnostics | null;
279
+ /** Times this family held the playback gate since it opened. Only depth reports it. */
280
+ readonly gateHoldCount?: number;
241
281
  readonly inFlightCount?: number;
242
282
  readonly kind: RenderPreparationArtifactKind;
283
+ /**
284
+ * A `DepthFrame` window's depth: `"preview"` for the preview video,
285
+ * `"exact"` for exact frames loaded ahead for playback.
286
+ */
287
+ readonly precision?: "exact" | "preview";
243
288
  readonly maxInFlightCount?: number;
244
289
  readonly maxPendingCount?: number;
245
290
  readonly maxPreparedCount?: number;
291
+ /** Retained payload and renderer backing budget, and its current reservation. */
292
+ readonly maxPreparedBytes?: number;
293
+ readonly preparedBytes?: number;
294
+ /** Prepared rasters currently at the coarse tier, owed a fine cook once settled. */
295
+ readonly coarseCount?: number;
246
296
  readonly pendingCount: number;
247
297
  /**
248
298
  * Frames in the unbroken run of prepared frames starting at the active
@@ -252,6 +302,7 @@ export interface RenderPreparationArtifactDiagnostics {
252
302
  * so N frames here do not cover N frame durations of playback, and the two
253
303
  * numbers diverge by design. Deriving one from the other is wrong in both
254
304
  * directions.
305
+ * With playback gate quality "fine", only fine rasters count as prepared.
255
306
  */
256
307
  readonly preparedAheadFrameCount?: number;
257
308
  /**
@@ -280,6 +331,55 @@ export interface RenderPreparationDiagnostics {
280
331
  readonly message: string | null;
281
332
  readonly workerStatus: RenderPreparationWorkerStatus;
282
333
  }
334
+ /**
335
+ * Which depth a clip draws while playback runs.
336
+ *
337
+ * - `"preview"`: the 8-bit preview video, decoded ahead of the playhead.
338
+ * - `"exact"`: the exact 16-bit PNGs, loaded ahead of the playhead; the
339
+ * playback gate holds for them. A clip whose exact frames stop loading
340
+ * falls back to its preview.
341
+ * - `"auto"` (the default): the exact PNGs while they keep up, the preview
342
+ * otherwise. Exact depth takes over once its lead reaches three quarters
343
+ * of what it loads ahead, and hands back when the lead falls under a
344
+ * quarter or a frame is missing, waiting longer each time before it tries
345
+ * again. A clip without a preview plays exact depth.
346
+ *
347
+ * Whichever is drawn is the depth of the frame on screen;
348
+ * `getActiveDepth().precision` says which.
349
+ */
350
+ export type DepthPlaybackSource = "auto" | "exact" | "preview";
351
+ /**
352
+ * Memory and timing for a depth clip. Every byte budget defaults to a size
353
+ * that scales with the clip's resolution, so a 4K clip keeps as many seconds
354
+ * as a 720p one, within a ceiling.
355
+ */
356
+ export interface RenderPreparationDepthOptions {
357
+ /** Defaults to `"auto"`. See {@link DepthPlaybackSource}. */
358
+ readonly playback?: DepthPlaybackSource;
359
+ /**
360
+ * Exact frames loaded ahead for playback, in bytes. Defaults to room for
361
+ * twice `previewPrefetchSeconds` plus a quarter second of exact frames, at
362
+ * least 96 MiB and at most 512 MiB; a shorter budget lowers the lead exact
363
+ * playback reaches. A budget under one frame still holds the frame on
364
+ * screen.
365
+ */
366
+ readonly maxExactPlaybackCacheBytes?: number;
367
+ /**
368
+ * Decoded preview frames kept, in bytes. Defaults to room for twice
369
+ * `previewPrefetchSeconds` plus a quarter second of the clip, at least
370
+ * 96 MiB and at most 512 MiB. A budget shorter than the playback gate's lead
371
+ * lowers the lead the gate waits for; one under one frame still holds the
372
+ * frame on screen.
373
+ */
374
+ readonly maxPreviewCacheBytes?: number;
375
+ /**
376
+ * How far ahead of the playhead the preview, and exact frames when they
377
+ * play, are decoded while playing, in seconds of media. Defaults to 1.
378
+ * Above 1x it stretches by how many frames each present moves; a drag
379
+ * spends the same span both ways, most of it the way the hand heads.
380
+ */
381
+ readonly previewPrefetchSeconds?: number;
382
+ }
283
383
  /**
284
384
  * Render-preparation configuration.
285
385
  *
@@ -287,6 +387,8 @@ export interface RenderPreparationDiagnostics {
287
387
  * long videos, worker policy, or playback gating need explicit behavior.
288
388
  */
289
389
  export interface RenderPreparationOptions {
390
+ /** Budgets and timing for depth clips. */
391
+ readonly depth?: RenderPreparationDepthOptions;
290
392
  readonly maskFrame?: RenderPreparationMaskFrameOptions;
291
393
  readonly mode?: RenderPreparationMode;
292
394
  readonly onDiagnostics?: (diagnostics: RenderPreparationDiagnostics) => void;
@@ -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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"}
@@ -84,30 +84,6 @@ function classifyMediaErrorMessage(message) {
84
84
  return MediaErrorKind.Unknown;
85
85
  }
86
86
 
87
- const DEFAULT_MAX_DEVICE_PIXEL_RATIO = 2;
88
- /**
89
- * The pixel ratio a host's display box rasterizes at, for every grid that lands
90
- * in that box: the presentation surface, the mask rasters drawn onto it, and the
91
- * decode under both. The ceiling is what keeps a 3x display from costing nine
92
- * times the texels of a 1x one for sharpness nobody resolves on a moving
93
- * picture. An id raster carries a detection per pixel and can only be sampled
94
- * nearest, so a grid it does not share ragged its edges.
95
- *
96
- * A ceiling that is not a usable number states nothing, and takes the default.
97
- */
98
- function resolveDisplayPixelRatio(display) {
99
- const { devicePixelRatio, maxDevicePixelRatio } = display;
100
- if (!Number.isFinite(devicePixelRatio) || devicePixelRatio <= 0) {
101
- return 1;
102
- }
103
- const ceiling = maxDevicePixelRatio !== undefined &&
104
- Number.isFinite(maxDevicePixelRatio) &&
105
- maxDevicePixelRatio > 0
106
- ? maxDevicePixelRatio
107
- : DEFAULT_MAX_DEVICE_PIXEL_RATIO;
108
- return Math.min(devicePixelRatio, ceiling);
109
- }
110
-
111
87
  function createMediaFrameClock(timeline) {
112
88
  const { frameCount, tickRate } = timeline;
113
89
  const firstTimestamp = timeline.timeAt(0);
@@ -139,6 +115,30 @@ function createMediaFrameClock(timeline) {
139
115
  });
140
116
  }
141
117
 
118
+ const DEFAULT_MAX_DEVICE_PIXEL_RATIO = 2;
119
+ /**
120
+ * The pixel ratio a host's display box rasterizes at, for every grid that lands
121
+ * in that box: the presentation surface, the mask rasters drawn onto it, and the
122
+ * decode under both. The ceiling is what keeps a 3x display from costing nine
123
+ * times the texels of a 1x one for sharpness nobody resolves on a moving
124
+ * picture. An id raster carries a detection per pixel and can only be sampled
125
+ * nearest, so a grid it does not share ragged its edges.
126
+ *
127
+ * A ceiling that is not a usable number states nothing, and takes the default.
128
+ */
129
+ function resolveDisplayPixelRatio(display) {
130
+ const { devicePixelRatio, maxDevicePixelRatio } = display;
131
+ if (!Number.isFinite(devicePixelRatio) || devicePixelRatio <= 0) {
132
+ return 1;
133
+ }
134
+ const ceiling = maxDevicePixelRatio !== undefined &&
135
+ Number.isFinite(maxDevicePixelRatio) &&
136
+ maxDevicePixelRatio > 0
137
+ ? maxDevicePixelRatio
138
+ : DEFAULT_MAX_DEVICE_PIXEL_RATIO;
139
+ return Math.min(devicePixelRatio, ceiling);
140
+ }
141
+
142
142
  const VIDEO_ENGINE_ENTRY = "supervision/web-video-engine";
143
143
  const VIDEO_ENGINE_ANALYSIS_ENTRY = `${VIDEO_ENGINE_ENTRY}/analysis`;
144
144
  /**
@@ -229,10 +229,14 @@ async function openWebVideoEngineMediaSource(options) {
229
229
  try {
230
230
  const { WebVideoEngine, displayBoxResolution, FrameTimeline } = await importEngineEntry();
231
231
  const { display, frameDecodeStrategy, ...engineOptions } = options;
232
+ const decodeStrategy = engineOptions.decodeStrategy ??
233
+ (display ? displayBoxResolution(display) : undefined);
232
234
  engine = new WebVideoEngine({
233
- decodeStrategy: display ? displayBoxResolution(display) : undefined,
234
- previewWidth: framesPreviewWidth(display),
235
+ previewWidth: decodeStrategy?.kind === "displayBox"
236
+ ? undefined
237
+ : framesPreviewWidth(display),
235
238
  ...engineOptions,
239
+ decodeStrategy,
236
240
  presentation: "frames",
237
241
  });
238
242
  const openedEngine = engine;
@@ -247,7 +251,9 @@ async function openWebVideoEngineMediaSource(options) {
247
251
  });
248
252
  return {
249
253
  engine: openedEngine,
250
- setDisplay: (display) => openedEngine.setDisplay(display),
254
+ setDisplay: decodeStrategy?.kind === "displayBox"
255
+ ? (display) => openedEngine.setDisplay(display)
256
+ : undefined,
251
257
  frameClock: createMediaFrameClock(FrameTimeline.from(snapshot.timeline)),
252
258
  input: {
253
259
  dispose() {
@@ -479,5 +485,5 @@ function resolveFrameDuration(nativeFps) {
479
485
  : 1 / DEFAULT_FRAME_RATE;
480
486
  }
481
487
 
482
- export { MediaSourceError as M, createWebVideoEngineMediaRendererSource as c, getMediaErrorKind as g, isMediaSourceError as i, openWebVideoEngineMediaSource as o, resolveDisplayPixelRatio as r, toMediaSourceError as t };
483
- //# sourceMappingURL=video-engine-media-source-DR-x1UfK.js.map
488
+ export { MediaSourceError as M, createWebVideoEngineMediaRendererSource as a, createMediaFrameClock as c, getMediaErrorKind as g, isMediaSourceError as i, openWebVideoEngineMediaSource as o, resolveDisplayPixelRatio as r, toMediaSourceError as t };
489
+ //# sourceMappingURL=video-engine-media-source-DOFsuGS4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-engine-media-source-DOFsuGS4.js","sources":["../src/media/media-errors.ts","../src/media/media-frame-clock.ts","../src/media/display-pixel-ratio.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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"}
@@ -1,5 +1,7 @@
1
1
  import { CanvasSink, EncodedPacketSink, Input, ALL_FORMATS, VideoSampleSink, ReadableStreamSource, BlobSource, UrlSource, UnsupportedInputFormatError } from 'mediabunny';
2
- import { W as WebVideoEngineError, a as WebVideoEngineErrorCode, S as SCRUB, b as asSec, n as nativeResolution, r as resolveDecodeDimensions, c as SourceKind, F as FRAME_TIMELINE, d as FrameTimeline } from './frame-timeline-DreEwsRY.js';
2
+ import { W as WebVideoEngineError, b as WebVideoEngineErrorCode, g as SCRUB, f as asSec, S as SourceKind } from './frame-timeline-CYgzzmpA.js';
3
+ import { n as nativeResolution, r as resolveDecodeDimensions } from './decode-resolution-fynpRIAG.js';
4
+ import { readFrameTimeline } from './frame-index.js';
3
5
 
4
6
  /**
5
7
  * An H.264 sync sample that is not an IDR frame cannot open a WebCodecs decode
@@ -1227,8 +1229,10 @@ async function openInput(options) {
1227
1229
  }
1228
1230
  const displayWidth = videoTrack.displayWidth;
1229
1231
  const displayHeight = videoTrack.displayHeight;
1230
- const durationS = asSec(await readTrackDurationS(videoTrack));
1231
1232
  const timeline = await readFrameTimeline(videoTrack);
1233
+ // The demuxer measures a track to the end of its last packet, which falls
1234
+ // short when that packet states no duration and the timeline found one.
1235
+ const durationS = asSec(Math.max(await readTrackDurationS(videoTrack), timeline.endTicksAt(timeline.frameCount - 1) / timeline.tickRate));
1232
1236
  // Mediabunny ships a measured native fps via computePacketStats:
1233
1237
  // averagePacketRate "for video tracks, equals the average frame rate". We
1234
1238
  // bound the packet sample to a small slice so the load promise doesn't stall
@@ -1283,47 +1287,6 @@ async function resolveVideoTrack(input) {
1283
1287
  ? new WebVideoEngineError(WebVideoEngineErrorCode.VideoTrackUnreadable, "openInput: the container opened and the demuxer parsed no track out of it")
1284
1288
  : new WebVideoEngineError(WebVideoEngineErrorCode.NoVideoTrack, "openInput: the container's tracks read and none of them carries video");
1285
1289
  }
1286
- /**
1287
- * Walks the track's packets metadata-only and records each one's timestamp in
1288
- * the container's own integer grain, which is the grain every timestamp of the
1289
- * track is a whole multiple of.
1290
- *
1291
- * Decode order is not presentation order on a B-frame source, so the table is
1292
- * sorted before it is indexed, and the trailing frame's duration comes from the
1293
- * packet that ends up last in that order.
1294
- */
1295
- async function readFrameTimeline(videoTrack) {
1296
- const track = videoTrack;
1297
- const tickRate = typeof track.getTimeResolution === "function"
1298
- ? await track.getTimeResolution()
1299
- : (track.timeResolution ?? FRAME_TIMELINE.FALLBACK_TICK_RATE);
1300
- const sink = new EncodedPacketSink(videoTrack);
1301
- const ticks = [];
1302
- let lastTicks = -Infinity;
1303
- let lastDurationTicks = 0;
1304
- for await (const packet of sink.packets(undefined, undefined, {
1305
- metadataOnly: true,
1306
- })) {
1307
- const at = Math.round(packet.timestamp * tickRate);
1308
- if (ticks.length >= FRAME_TIMELINE.MAX_FRAMES) {
1309
- throw new WebVideoEngineError(WebVideoEngineErrorCode.DecodeUnsupported, `openInput: source video track carries more than ${FRAME_TIMELINE.MAX_FRAMES} frames`);
1310
- }
1311
- ticks.push(at);
1312
- if (at >= lastTicks) {
1313
- lastTicks = at;
1314
- lastDurationTicks = Math.round(packet.duration * tickRate);
1315
- }
1316
- }
1317
- if (ticks.length === 0) {
1318
- throw new WebVideoEngineError(WebVideoEngineErrorCode.DecodeUnsupported, "openInput: source video track has no frames");
1319
- }
1320
- ticks.sort((a, b) => a - b);
1321
- return FrameTimeline.from({
1322
- lastDurationTicks,
1323
- tickRate,
1324
- ticks: Float64Array.from(ticks),
1325
- });
1326
- }
1327
1290
  function shouldOwnDecodeSessionPixels(context) {
1328
1291
  if (!context.offscreenCanvasAvailable)
1329
1292
  return false;
@@ -1,6 +1,6 @@
1
1
  export interface CacheBudgets {
2
2
  readonly exactBudgetBytes: number;
3
- readonly previewCapacity: number;
3
+ readonly previewBudgetBytes: number;
4
4
  }
5
5
  /**
6
6
  * Sizes both cache tiers to the device's reported RAM and the frame size.
@@ -9,10 +9,7 @@ export interface CacheBudgets {
9
9
  * scrub prefetch window, so its slot floor survives any frame size and the RAM
10
10
  * band adds speculative slots on top only while a slot stays cheap. An 8MP
11
11
  * source lands on the floor and keeps nothing speculative, which is what holds
12
- * its resident footprint down; coverage past the window comes from the preview
13
- * tier at a 79th of the cost per slot. That tier has no working set to protect,
14
- * so its count is purely its byte budget over the downscaled frame size, which
15
- * gives a square 8MP source enough coarse history without over-allocating for a
16
- * small 16:9 one.
12
+ * its resident footprint down. The preview tier's byte ceiling depends on
13
+ * device memory; FrameCache derives its slot count from the actual raster size.
17
14
  */
18
- export declare function resolveCacheBudgets(decodeWidth: number, decodeHeight: number, previewWidth: number): CacheBudgets;
15
+ export declare function resolveCacheBudgets(decodeWidth: number, decodeHeight: number): CacheBudgets;