supervision 0.1.7 → 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 (182) 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/detections/chunked-detection-frame-source.d.ts.map +1 -1
  4. package/dist/index.d.ts +8 -4
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +9281 -5038
  7. package/dist/index.js.map +1 -1
  8. package/dist/mask-preparation.worker.js +409 -185
  9. package/dist/mask-preparation.worker.js.map +1 -1
  10. package/dist/media/display-pixel-ratio.d.ts +15 -0
  11. package/dist/media/display-pixel-ratio.d.ts.map +1 -0
  12. package/dist/media/engine-import-failure.d.ts +16 -0
  13. package/dist/media/engine-import-failure.d.ts.map +1 -0
  14. package/dist/media/media-errors.d.ts +6 -0
  15. package/dist/media/media-errors.d.ts.map +1 -1
  16. package/dist/media/media-normalization.d.ts.map +1 -1
  17. package/dist/media/media-probe.d.ts.map +1 -1
  18. package/dist/media/media-source-state.d.ts.map +1 -1
  19. package/dist/media/media-source.d.ts +17 -0
  20. package/dist/media/media-source.d.ts.map +1 -1
  21. package/dist/media/mediabunny-media-source.d.ts.map +1 -1
  22. package/dist/media/video-engine-media-source.d.ts +54 -0
  23. package/dist/media/video-engine-media-source.d.ts.map +1 -0
  24. package/dist/media/video-engine-media-source.js +3 -0
  25. package/dist/media/video-engine-media-source.js.map +1 -0
  26. package/dist/playback/media-playback-controller.d.ts +7 -1
  27. package/dist/playback/media-playback-controller.d.ts.map +1 -1
  28. package/dist/render-preparation/mask-frame-artifact.d.ts +48 -12
  29. package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
  30. package/dist/render-preparation/mask-frame-compositor.d.ts +12 -5
  31. package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
  32. package/dist/render-preparation/mask-frame-preparer.d.ts.map +1 -1
  33. package/dist/render-preparation/mask-preparation-worker-count.d.ts +4 -4
  34. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +13 -3
  35. package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
  36. package/dist/render-preparation/prepared-render-window.d.ts +44 -2
  37. package/dist/render-preparation/prepared-render-window.d.ts.map +1 -1
  38. package/dist/render-preparation/prepared-window-timeline.d.ts +2 -6
  39. package/dist/render-preparation/prepared-window-timeline.d.ts.map +1 -1
  40. package/dist/renderers/injected-pixi.d.ts +38 -0
  41. package/dist/renderers/injected-pixi.d.ts.map +1 -0
  42. package/dist/renderers/mask-palette.d.ts +14 -0
  43. package/dist/renderers/mask-palette.d.ts.map +1 -0
  44. package/dist/renderers/mask-vertex.d.ts +14 -0
  45. package/dist/renderers/mask-vertex.d.ts.map +1 -0
  46. package/dist/renderers/media-renderer-core.d.ts +9 -0
  47. package/dist/renderers/media-renderer-core.d.ts.map +1 -1
  48. package/dist/renderers/media-renderer-scene.d.ts +50 -2
  49. package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
  50. package/dist/renderers/media-renderer-state.d.ts +20 -1
  51. package/dist/renderers/media-renderer-state.d.ts.map +1 -1
  52. package/dist/renderers/media-renderer-transport.d.ts +72 -0
  53. package/dist/renderers/media-renderer-transport.d.ts.map +1 -0
  54. package/dist/renderers/pixi-box-layer.d.ts +5 -0
  55. package/dist/renderers/pixi-box-layer.d.ts.map +1 -1
  56. package/dist/renderers/pixi-focus-layer.d.ts +19 -2
  57. package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
  58. package/dist/renderers/pixi-frame-present.d.ts +77 -0
  59. package/dist/renderers/pixi-frame-present.d.ts.map +1 -0
  60. package/dist/renderers/pixi-id-mask-shader.d.ts +6 -25
  61. package/dist/renderers/pixi-id-mask-shader.d.ts.map +1 -1
  62. package/dist/renderers/pixi-interaction-layer.d.ts.map +1 -1
  63. package/dist/renderers/pixi-interaction-presentation-layer.d.ts +12 -2
  64. package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
  65. package/dist/renderers/pixi-mask-halo.d.ts +18 -23
  66. package/dist/renderers/pixi-mask-halo.d.ts.map +1 -1
  67. package/dist/renderers/pixi-mask-layer.d.ts +94 -32
  68. package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
  69. package/dist/renderers/pixi-media-scene.d.ts +67 -0
  70. package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
  71. package/dist/renderers/pixi-polygon-layer.d.ts +9 -2
  72. package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
  73. package/dist/renderers/pixi-region-coverage-mask.d.ts +62 -0
  74. package/dist/renderers/pixi-region-coverage-mask.d.ts.map +1 -0
  75. package/dist/renderers/pixi-region-effect.d.ts +42 -0
  76. package/dist/renderers/pixi-region-effect.d.ts.map +1 -0
  77. package/dist/renderers/pixi-region-layer.d.ts +43 -2
  78. package/dist/renderers/pixi-region-layer.d.ts.map +1 -1
  79. package/dist/renderers/pixi-shader-lifecycle.d.ts +14 -0
  80. package/dist/renderers/pixi-shader-lifecycle.d.ts.map +1 -0
  81. package/dist/renderers/pixi-vector-layer.d.ts.map +1 -1
  82. package/dist/renderers/prepared-annotation-window.d.ts +47 -0
  83. package/dist/renderers/prepared-annotation-window.d.ts.map +1 -0
  84. package/dist/renderers/presented-frame-channel.d.ts +138 -0
  85. package/dist/renderers/presented-frame-channel.d.ts.map +1 -0
  86. package/dist/renderers/scene-render-scheduler.d.ts +20 -0
  87. package/dist/renderers/scene-render-scheduler.d.ts.map +1 -0
  88. package/dist/sessions/media-session-defaults.d.ts +10 -6
  89. package/dist/sessions/media-session-defaults.d.ts.map +1 -1
  90. package/dist/sessions/media-session-media.d.ts.map +1 -1
  91. package/dist/sessions/media-session-state.d.ts.map +1 -1
  92. package/dist/sessions/media-session.d.ts.map +1 -1
  93. package/dist/tracking.worker.js +73 -4
  94. package/dist/tracking.worker.js.map +1 -1
  95. package/dist/types/media-normalization.d.ts +34 -0
  96. package/dist/types/media-normalization.d.ts.map +1 -1
  97. package/dist/types/media-renderer.d.ts +31 -1
  98. package/dist/types/media-renderer.d.ts.map +1 -1
  99. package/dist/types/media-session.d.ts +89 -15
  100. package/dist/types/media-session.d.ts.map +1 -1
  101. package/dist/types/render-preparation.d.ts +149 -5
  102. package/dist/types/render-preparation.d.ts.map +1 -1
  103. package/dist/video-engine-media-source-CUXnOJOV.js +450 -0
  104. package/dist/video-engine-media-source-CUXnOJOV.js.map +1 -0
  105. package/dist/web-video-engine/analysis-session.d.ts +75 -0
  106. package/dist/web-video-engine/analysis.d.ts +6 -0
  107. package/dist/web-video-engine/analysis.js +1850 -0
  108. package/dist/web-video-engine/cache-budget.d.ts +18 -0
  109. package/dist/web-video-engine/canvas-sink-scrub-cursor.d.ts +89 -0
  110. package/dist/web-video-engine/clock.d.ts +82 -0
  111. package/dist/web-video-engine/constants.d.ts +261 -0
  112. package/dist/web-video-engine/create-scrub-cursor.d.ts +65 -0
  113. package/dist/web-video-engine/decode-resolution.d.ts +114 -0
  114. package/dist/web-video-engine/decode-scheduler.d.ts +371 -0
  115. package/dist/web-video-engine/decode-session.d.ts +283 -0
  116. package/dist/web-video-engine/decode-source.d.ts +258 -0
  117. package/dist/web-video-engine/diagnostics-store.d.ts +17 -0
  118. package/dist/web-video-engine/diagnostics.d.ts +316 -0
  119. package/dist/web-video-engine/embedded-engine-worker.d.ts +1 -0
  120. package/dist/web-video-engine/engine-core.d.ts +269 -0
  121. package/dist/web-video-engine/engine.d.ts +25 -0
  122. package/dist/web-video-engine/engine.js +912 -0
  123. package/dist/web-video-engine/engine.worker.d.ts +1 -0
  124. package/dist/web-video-engine/engine.worker.js +33624 -0
  125. package/dist/web-video-engine/frame-cache.d.ts +236 -0
  126. package/dist/web-video-engine/frame-extractor.d.ts +27 -0
  127. package/dist/web-video-engine/frame-timeline-DreEwsRY.js +616 -0
  128. package/dist/web-video-engine/frame-timeline.d.ts +80 -0
  129. package/dist/web-video-engine/frame-walker.d.ts +73 -0
  130. package/dist/web-video-engine/index.d.ts +13 -0
  131. package/dist/web-video-engine/index.d.ts.map +1 -0
  132. package/dist/web-video-engine/index.js +3 -0
  133. package/dist/web-video-engine/index.js.map +1 -0
  134. package/dist/web-video-engine/key-packet.d.ts +64 -0
  135. package/dist/web-video-engine/keyframe-index.d.ts +90 -0
  136. package/dist/web-video-engine/mirror-store.d.ts +55 -0
  137. package/dist/web-video-engine/renderer.d.ts +93 -0
  138. package/dist/web-video-engine/rotation.d.ts +34 -0
  139. package/dist/web-video-engine/scrub-controller.d.ts +375 -0
  140. package/dist/web-video-engine/scrub-cursor.d.ts +347 -0
  141. package/dist/web-video-engine/scrub-trajectory.d.ts +29 -0
  142. package/dist/web-video-engine/source-residency.d.ts +91 -0
  143. package/dist/web-video-engine/trace-recorder.d.ts +163 -0
  144. package/dist/web-video-engine/types.d.ts +200 -0
  145. package/dist/web-video-engine/video-engine.d.ts +437 -0
  146. package/dist/web-video-engine/webgpu-renderer.d.ts +61 -0
  147. package/dist/web-video-engine/worker-bridge.d.ts +11 -0
  148. package/dist/web-video-engine/worker-dispatch.d.ts +16 -0
  149. package/dist/web-video-engine/worker-protocol.d.ts +282 -0
  150. package/node_modules/supervision-js-core/dist/detections/buffered-detection-timeline.d.ts.map +1 -1
  151. package/node_modules/supervision-js-core/dist/detections/composite-detection-frame-source.d.ts.map +1 -1
  152. package/node_modules/supervision-js-core/dist/index.d.ts +5 -4
  153. package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
  154. package/node_modules/supervision-js-core/dist/index.js +1167 -280
  155. package/node_modules/supervision-js-core/dist/index.js.map +1 -1
  156. package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts.map +1 -1
  157. package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts +4 -36
  158. package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts.map +1 -1
  159. package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts +5 -0
  160. package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts.map +1 -1
  161. package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts +92 -7
  162. package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts.map +1 -1
  163. package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts +191 -17
  164. package/node_modules/supervision-js-core/dist/types/detection-timeline.d.ts.map +1 -1
  165. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +83 -5
  166. package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
  167. package/node_modules/supervision-js-core/dist/types/polyline-style.d.ts +2 -0
  168. package/node_modules/supervision-js-core/dist/types/polyline-style.d.ts.map +1 -1
  169. package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts +32 -0
  170. package/node_modules/supervision-js-core/dist/types/session-lifecycle.d.ts.map +1 -1
  171. package/node_modules/supervision-js-core/dist/utils/detection-conversions.d.ts.map +1 -1
  172. package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts +5 -0
  173. package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts.map +1 -1
  174. package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts +9 -0
  175. package/node_modules/supervision-js-core/dist/utils/detection-masks.d.ts.map +1 -1
  176. package/node_modules/supervision-js-core/dist/utils/detection-ranges.d.ts +18 -0
  177. package/node_modules/supervision-js-core/dist/utils/detection-ranges.d.ts.map +1 -0
  178. package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts +34 -2
  179. package/node_modules/supervision-js-core/dist/utils/id-mask-frame.d.ts.map +1 -1
  180. package/node_modules/supervision-js-core/dist/utils/wait-bound.d.ts +7 -0
  181. package/node_modules/supervision-js-core/dist/utils/wait-bound.d.ts.map +1 -0
  182. package/package.json +24 -3
@@ -1 +1 @@
1
- {"version":3,"file":"pixi-region-layer.d.ts","sourceRoot":"","sources":["../../src/renderers/pixi-region-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,SAAS,EAGT,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,SAAS,IAAI,aAAa,EAC1B,MAAM,IAAI,UAAU,EACpB,OAAO,IAAI,WAAW,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,SAAS,IAAI,aAAa,EAC1B,SAAS,IAAI,aAAa,EAC3B,MAAM,aAAa,CAAC;AAErB,KAAK,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC;AAG/C,UAAU,iBAAiB;IACzB,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAwBD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,IAAI,aAAa,CAAC;IACjC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAC3E,YAAY,CAAC,SAAS,EAAE,SAAS,wBAAwB,EAAE,GAAG,IAAI,CAAC;IACnE,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,UAAU,aAAa,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,KAAK,OAAO,EAAE;QAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;KAChC,KAAK,aAAa,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,KAAK,OAAO,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,KAAK,UAAU,CAAC;IACvE,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,KAAK,IAAI,CAAC;IACX,QAAQ,CAAC,eAAe,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC9D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC7B,SAAS,EAAE,SAAS,KACjB,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACtC,GAAG,eAAe,CA0OlB"}
1
+ {"version":3,"file":"pixi-region-layer.d.ts","sourceRoot":"","sources":["../../src/renderers/pixi-region-layer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Shader as PixiShader } from "pixi.js";
2
+ /**
3
+ * Pixi keys its program cache by source, so one program is shared by every
4
+ * shader built from it. `destroy(true)` takes that program with it, leaving
5
+ * both the peers still rendering through it and the next shader built from the
6
+ * same source bound to nothing.
7
+ */
8
+ export declare function destroyShaderKeepingProgram(shader: PixiShader): void;
9
+ /**
10
+ * Pixi uploads a placeholder while it builds a shader's first bind group, and
11
+ * WebGPU rejects a canvas that was never given a rendering context.
12
+ */
13
+ export declare function createShaderPlaceholderCanvas(): HTMLCanvasElement;
14
+ //# sourceMappingURL=pixi-shader-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi-shader-lifecycle.d.ts","sourceRoot":"","sources":["../../src/renderers/pixi-shader-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAMpE;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,iBAAiB,CAYjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"pixi-vector-layer.d.ts","sourceRoot":"","sources":["../../src/renderers/pixi-vector-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,yBAAyB,EAC9B,KAAK,SAAS,EAEd,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAIlB,KAAK,YAAY,EAEjB,KAAK,aAAa,EAElB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,SAAS,IAAI,aAAa,EAC1B,QAAQ,IAAI,YAAY,EACzB,MAAM,SAAS,CAAC;AAiBjB,MAAM,WAAW,eAAe;IAC9B,eAAe,IAAI,aAAa,CAAC;IACjC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvE,SAAS,CAAC,MAAM,EAAE;QAChB,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;QACnC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;QACrC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;QACrC,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;KAChC,GAAG,IAAI,CAAC;IACT,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,QAAQ,CAAC,SAAS,EAAE,UAAU,aAAa,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,UAAU,YAAY,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC7B,SAAS,EAAE,SAAS,KACjB,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACtC,GAAG,eAAe,CA2OlB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,uBAAuB,EACpC,aAAa,EAAE,MAAM,QAoDtB"}
1
+ {"version":3,"file":"pixi-vector-layer.d.ts","sourceRoot":"","sources":["../../src/renderers/pixi-vector-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,yBAAyB,EAC9B,KAAK,SAAS,EAEd,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAIlB,KAAK,YAAY,EAEjB,KAAK,aAAa,EAElB,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,SAAS,IAAI,aAAa,EAC1B,QAAQ,IAAI,YAAY,EACzB,MAAM,SAAS,CAAC;AAiBjB,MAAM,WAAW,eAAe;IAC9B,eAAe,IAAI,aAAa,CAAC;IACjC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvE,SAAS,CAAC,MAAM,EAAE;QAChB,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;QACnC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;QACrC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;QACrC,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;KAChC,GAAG,IAAI,CAAC;IACT,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,QAAQ,CAAC,SAAS,EAAE,UAAU,aAAa,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,UAAU,YAAY,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC7B,SAAS,EAAE,SAAS,KACjB,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACtC,GAAG,eAAe,CAoPlB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,uBAAuB,EACpC,aAAa,EAAE,MAAM,QAoDtB"}
@@ -0,0 +1,47 @@
1
+ import type { RenderPreparationOptions } from "#types/render-preparation";
2
+ import type { BufferedDetectionTimeline, DetectionFrame } from "supervision-js-core";
3
+ /** One frame of the window, and whether every enabled layer's data for it is cooked. */
4
+ export interface PreparedAnnotationWindowFrame {
5
+ readonly frameIndex: number | null;
6
+ readonly mediaTime: number;
7
+ readonly prepared: boolean;
8
+ }
9
+ export interface PreparedAnnotationWindowSnapshot {
10
+ readonly frames: readonly PreparedAnnotationWindowFrame[];
11
+ readonly playheadMediaTime: number;
12
+ readonly playheadPrepared: boolean;
13
+ readonly preparedFrameCount: number;
14
+ /** Frames ahead of the playhead the cooks aim to cover. */
15
+ readonly spanFrameCount: number;
16
+ }
17
+ /** A layer that cooks per-frame data ahead of the playhead. */
18
+ export interface PreparedAnnotationLayer {
19
+ isArtifactPrepared(mediaTime: number): boolean;
20
+ }
21
+ export interface PreparedAnnotationWindow {
22
+ /**
23
+ * The detection frame a media time may draw, or null where the timeline holds
24
+ * none. A layer still cooking its artifact for that frame skips its own draw;
25
+ * it does not withhold the frame from the layers with nothing to cook.
26
+ */
27
+ getPreparedFrame(mediaTime: number): DetectionFrame | null;
28
+ /**
29
+ * What a draw of a media time would find: its frame and each layer's cook. A
30
+ * caller holding the token of what is on screen knows a redraw would change
31
+ * it, which is how a cook that lands late reaches the screen at all.
32
+ */
33
+ getReadinessToken(mediaTime: number): string;
34
+ getSnapshot(): PreparedAnnotationWindowSnapshot;
35
+ }
36
+ /**
37
+ * Which frame a media time draws and how much of it is cooked, as two separate
38
+ * facts. Reporting readiness is what the snapshot and the token are for; a
39
+ * layer owing an artifact costs that layer its draw, not the whole frame.
40
+ */
41
+ export declare function createPreparedAnnotationWindow(options: {
42
+ readonly detectionTimeline: BufferedDetectionTimeline;
43
+ readonly getLayers: () => readonly PreparedAnnotationLayer[];
44
+ readonly getPlayheadMediaTime: () => number;
45
+ readonly renderPreparation?: RenderPreparationOptions;
46
+ }): PreparedAnnotationWindow;
47
+ //# sourceMappingURL=prepared-annotation-window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepared-annotation-window.d.ts","sourceRoot":"","sources":["../../src/renderers/prepared-annotation-window.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAE7B,wFAAwF;AACxF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,+DAA+D;AAC/D,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAChD;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAC3D;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,WAAW,IAAI,gCAAgC,CAAC;CACjD;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE;IACtD,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,uBAAuB,EAAE,CAAC;IAC7D,QAAQ,CAAC,oBAAoB,EAAE,MAAM,MAAM,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;CACvD,GAAG,wBAAwB,CAmD3B"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * A frame of the source, named by its place in presentation order and by its
3
+ * presentation timestamp in the container's own integer grain.
4
+ */
5
+ export interface PresentedFrameId {
6
+ readonly index: number;
7
+ readonly ticks: number;
8
+ }
9
+ /**
10
+ * One frame a push-based media producer has decided is on screen, carrying the
11
+ * frame it is and the media time it stands for. Whoever receives it owns it and
12
+ * must close it.
13
+ */
14
+ export interface PresentedVideoFrame {
15
+ readonly frameId: PresentedFrameId;
16
+ /**
17
+ * The producer's count of the paints it has made, which is what its own
18
+ * diagnostics name a paint by. Two paints of one frame carry different
19
+ * numbers, so this is the only key that joins a frame the renderer drew to
20
+ * the paint the producer recorded making.
21
+ */
22
+ readonly paintSeq: number;
23
+ /**
24
+ * The producer's seconds for `frameId`. The producer also states the position
25
+ * in milliseconds, and this deliberately does not carry it: that value is the
26
+ * seconds scaled by a thousand, so dividing it back is not the identity, and
27
+ * on a container whose tick grain is not whole milliseconds, an NTSC
28
+ * 30000/1001 track among them, the result names no frame at all.
29
+ */
30
+ readonly mediaTimeS: number;
31
+ readonly frame: VideoFrame;
32
+ /** Present when the producer distinguishes frame delivery from display. */
33
+ readonly acknowledgePresentation?: () => void;
34
+ }
35
+ /** Where the producer's playhead sits, named as a frame of the source. */
36
+ export interface PresentedFramePlayhead {
37
+ readonly frame: PresentedFrameId;
38
+ readonly mediaTimeS: number;
39
+ }
40
+ /** Coarse producer status, reported in the producer's own vocabulary. */
41
+ export type PresentedFrameChannelStatus = "IDLE" | "LOADING" | "READY" | "PLAYING" | "PAUSED" | "SEEKING" | "ENDED" | "ERRORED";
42
+ /**
43
+ * Whether a seek is a gesture still moving or a jump to a destination. A
44
+ * producer may answer a gesture from a cheap cache and a jump exactly.
45
+ */
46
+ export type PresentedFrameSeekIntent = "gesture" | "jump";
47
+ /**
48
+ * Producer signals, one per cadence: `time` on every playhead move, `state` on
49
+ * coarse status transitions, `seeking` when a seek starts or settles, `rate`
50
+ * when the playback speed changes.
51
+ */
52
+ export type PresentedFrameChannelSignal = "time" | "state" | "seeking" | "rate";
53
+ /**
54
+ * A producer's presented-frame plane. Registering replaces any previous
55
+ * handler, so the registered handler is the single owner of every frame.
56
+ */
57
+ export interface PresentedFrameSource {
58
+ onPresentedFrame(handler: (presented: PresentedVideoFrame) => void): void;
59
+ }
60
+ export interface ProtectedPresentedFrameSource {
61
+ readonly source: PresentedFrameSource;
62
+ /** Starts forwarding through the asynchronous pre-presentation guard. */
63
+ activate(protect: (presented: PresentedVideoFrame, signal: AbortSignal) => Promise<void> | null): void;
64
+ /** Invalidates a frame waiting on readiness before a new navigation. */
65
+ invalidate(): void;
66
+ /** Opens an acknowledgment for one settling navigation. The producer may
67
+ * emit its landing before its command promise resumes, so accepted frame
68
+ * identities are retained until the caller names the producer's result. */
69
+ beginNavigation(): PresentedFrameNavigation;
70
+ /** Resolves after the downstream scene has synchronously accepted a frame. */
71
+ waitForFirstPresentation(): Promise<void>;
72
+ destroy(): void;
73
+ }
74
+ export interface PresentedFrameNavigation {
75
+ /** Resolves only after the scene has synchronously accepted this frame. */
76
+ waitFor(frameId: PresentedFrameId): Promise<void>;
77
+ /** Releases the acknowledgment when its producer command fails. */
78
+ cancel(): void;
79
+ }
80
+ /**
81
+ * Holds the newest producer frame until both the scene and its readiness guard
82
+ * can accept it. A superseding frame aborts the old guard and closes the old
83
+ * VideoFrame, so stale readiness can never authorize presentation after a new
84
+ * seek. The downstream handler owns a frame only after the guard succeeds.
85
+ */
86
+ export declare function createProtectedPresentedFrameSource(upstream: PresentedFrameSource, onPresentationError?: (error: unknown) => void): ProtectedPresentedFrameSource;
87
+ /**
88
+ * The frame plane plus the transport that moves it. Everything below the frames
89
+ * is the playhead, and the producer owns it: a renderer holding this channel
90
+ * asks rather than decides.
91
+ */
92
+ export interface PresentedFrameChannel extends PresentedFrameSource {
93
+ /**
94
+ * Runs the playhead forward from where it stands, and from `ENDED` restarts
95
+ * at the start of the source.
96
+ *
97
+ * A channel never loops itself. A renderer told to loop replays by calling
98
+ * this when the status turns `ENDED`, so a channel that resumes in place
99
+ * from `ENDED` never loops.
100
+ */
101
+ play(): Promise<void>;
102
+ /**
103
+ * Stops the playhead where it stands. A pause asked for here outranks the
104
+ * freeze `beginInteractiveSeek` holds, so the `endInteractiveSeek` that ends
105
+ * the drag has nothing left to resume.
106
+ */
107
+ pause(): void;
108
+ /** Latest-wins seek for a gesture in flight; returns without settling. */
109
+ scrub(timeMs: number, intent?: PresentedFrameSeekIntent): void;
110
+ /** Seek that settles: resolves once the producer has presented its landing.
111
+ * Recommitting the current time must replay or retain that presentation for
112
+ * a newly subscribed frame consumer. */
113
+ commit(timeMs: number): Promise<void>;
114
+ /** Walks one real source frame in presentation order. */
115
+ step(direction: 1 | -1): Promise<void>;
116
+ /**
117
+ * Forward playback speed, in media seconds per wall second. Throws on a rate
118
+ * the producer cannot play, reverse included.
119
+ */
120
+ setPlaybackRate(rate: number): void;
121
+ getPlaybackRate(): number;
122
+ /** Freezes a playing producer for the length of a drag. */
123
+ beginInteractiveSeek(): void;
124
+ /** Resumes play only if `beginInteractiveSeek` was what paused it. */
125
+ endInteractiveSeek(): Promise<void>;
126
+ getPlayhead(): PresentedFramePlayhead;
127
+ getDurationMs(): number;
128
+ getStatus(): PresentedFrameChannelStatus;
129
+ getSeeking(): boolean;
130
+ subscribe(signal: PresentedFrameChannelSignal, listener: () => void): () => void;
131
+ }
132
+ /**
133
+ * Reads the presented-frame plane an opened media source publishes as `engine`.
134
+ * A source without one is pull-only, and the renderer keeps driving it by
135
+ * asking for samples.
136
+ */
137
+ export declare function resolvePresentedFrameChannel(source: unknown): PresentedFrameChannel | null;
138
+ //# sourceMappingURL=presented-frame-channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presented-frame-channel.d.ts","sourceRoot":"","sources":["../../src/renderers/presented-frame-channel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/C;AAED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,yEAAyE;AACzE,MAAM,MAAM,2BAA2B,GACnC,MAAM,GACN,SAAS,GACT,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,SAAS,CAAC;AAEd;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI,CAAC;CAC3E;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,yEAAyE;IACzE,QAAQ,CACN,OAAO,EAAE,CACP,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GACxB,IAAI,CAAC;IACR,wEAAwE;IACxE,UAAU,IAAI,IAAI,CAAC;IACnB;;gFAE4E;IAC5E,eAAe,IAAI,wBAAwB,CAAC;IAC5C,8EAA8E;IAC9E,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,2EAA2E;IAC3E,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,mEAAmE;IACnE,MAAM,IAAI,IAAI,CAAC;CAChB;AAWD;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,oBAAoB,EAC9B,mBAAmB,GAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAsB,GAC9D,6BAA6B,CA4O/B;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE;;;;;;;OAOG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;IACd,0EAA0E;IAC1E,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC/D;;4CAEwC;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,yDAAyD;IACzD,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,eAAe,IAAI,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,oBAAoB,IAAI,IAAI,CAAC;IAC7B,sEAAsE;IACtE,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,WAAW,IAAI,sBAAsB,CAAC;IACtC,aAAa,IAAI,MAAM,CAAC;IACxB,SAAS,IAAI,2BAA2B,CAAC;IACzC,UAAU,IAAI,OAAO,CAAC;IACtB,SAAS,CACP,MAAM,EAAE,2BAA2B,EACnC,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,OAAO,GACd,qBAAqB,GAAG,IAAI,CAQ9B"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * A comparable description of everything a render would put on screen. Values
3
+ * are compared position by position with `Object.is`, so a notification whose
4
+ * description matches the one already drawn costs nothing.
5
+ */
6
+ export type SceneRenderSignature = readonly unknown[];
7
+ export interface SceneRenderScheduler {
8
+ /** Renders only when the description differs from what was last drawn. */
9
+ renderOnChange(signature: SceneRenderSignature): boolean;
10
+ /** Renders whatever the description says, for pixels that changed outside it. */
11
+ render(signature: SceneRenderSignature): void;
12
+ /** Renders this scheduler issued, which is every render under its policy. */
13
+ getRenderCount(): number;
14
+ }
15
+ /**
16
+ * Turns change notifications into renders. It owns no timer, no ticker and no
17
+ * animation frame: a scheduler nobody notifies renders nothing, forever.
18
+ */
19
+ export declare function createSceneRenderScheduler(draw: () => void): SceneRenderScheduler;
20
+ //# sourceMappingURL=scene-render-scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-render-scheduler.d.ts","sourceRoot":"","sources":["../../src/renderers/scene-render-scheduler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,OAAO,EAAE,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,cAAc,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC;IACzD,iFAAiF;IACjF,MAAM,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC9C,6EAA6E;IAC7E,cAAc,IAAI,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,IAAI,GACf,oBAAoB,CA0BtB"}
@@ -1,15 +1,19 @@
1
1
  import type { DetectionBufferOptions, DetectionFrameRetentionOptions } from "supervision-js-core";
2
2
  import type { RenderPreparationOptions } from "#types/render-preparation";
3
- import type { MediaSessionAppendableDetectionOptions, MediaSessionDetectionOptions, MediaSessionMode, MediaSessionRendererOptions } from "#types/media-session";
3
+ import type { MediaSessionAppendableDetectionOptions, MediaSessionMode, MediaSessionOptions } from "#types/media-session";
4
4
  export interface ResolvedMediaSessionDefaults {
5
5
  readonly detectionBuffer: DetectionBufferOptions;
6
6
  readonly renderPreparation: RenderPreparationOptions;
7
7
  }
8
- export declare function resolveMediaSessionDefaults(options: {
9
- readonly detections?: MediaSessionDetectionOptions;
10
- readonly mode?: MediaSessionMode;
11
- readonly renderer?: MediaSessionRendererOptions;
12
- }): ResolvedMediaSessionDefaults;
8
+ /**
9
+ * The detection-buffer and render-preparation configuration a session created
10
+ * with these options actually runs on.
11
+ *
12
+ * `createMediaSession` resolves its options through this, so a host can read
13
+ * the numbers a session will use, and show or log them, without restating the
14
+ * defaults itself.
15
+ */
16
+ export declare function resolveMediaSessionDefaults(options: Pick<MediaSessionOptions, "detections" | "mode" | "playbackGate" | "renderer">): ResolvedMediaSessionDefaults;
13
17
  export declare function resolveMediaSessionAppendableRetention(options: {
14
18
  readonly mode?: MediaSessionMode;
15
19
  readonly appendable?: MediaSessionAppendableDetectionOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"media-session-defaults.d.ts","sourceRoot":"","sources":["../../src/sessions/media-session-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EACV,sCAAsC,EACtC,4BAA4B,EAC5B,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,sBAAsB,CAAC;AAwC9B,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;CACtD;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,4BAA4B,CAAC;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,2BAA2B,CAAC;CACjD,GAAG,4BAA4B,CAwE/B;AAED,wBAAgB,sCAAsC,CAAC,OAAO,EAAE;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,sCAAsC,CAAC;CAC9D,GAAG,8BAA8B,CAgCjC;AAED,wBAAgB,oCAAoC,CAAC,OAAO,EAAE;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,sCAAsC,CAAC;CAC5D,GAAG,8BAA8B,CAKjC"}
1
+ {"version":3,"file":"media-session-defaults.d.ts","sourceRoot":"","sources":["../../src/sessions/media-session-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,8BAA8B,EAC/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAM1E,OAAO,KAAK,EACV,sCAAsC,EACtC,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AA2D9B,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IACjD,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,IAAI,CACX,mBAAmB,EACnB,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,UAAU,CACpD,GACA,4BAA4B,CAqF9B;AAED,wBAAgB,sCAAsC,CAAC,OAAO,EAAE;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,sCAAsC,CAAC;CAC9D,GAAG,8BAA8B,CAgCjC;AAED,wBAAgB,oCAAoC,CAAC,OAAO,EAAE;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,sCAAsC,CAAC;CAC5D,GAAG,8BAA8B,CAKjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"media-session-media.d.ts","sourceRoot":"","sources":["../../src/sessions/media-session-media.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,EACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC5E,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,UAAU,4BAA4B;IACpC,uBAAuB,IAAI,IAAI,CAAC;IAChC,uBAAuB,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,IAAI,CAAC;IACT,oBAAoB,IAAI,IAAI,CAAC;CAC9B;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,KAAK,GAAG,gCAAgC,GAAG,SAAS,EAC/D,SAAS,EAAE,4BAA4B,GACtC,OAAO,CAAC,oBAAoB,CAAC,CA0F/B;AAED,wBAAgB,qBAAqB,IAAI,sBAAsB,CAM9D"}
1
+ {"version":3,"file":"media-session-media.d.ts","sourceRoot":"","sources":["../../src/sessions/media-session-media.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,EACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC5E,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,UAAU,4BAA4B;IACpC,uBAAuB,IAAI,IAAI,CAAC;IAChC,uBAAuB,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,IAAI,CAAC;IACT,oBAAoB,IAAI,IAAI,CAAC;CAC9B;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,KAAK,GAAG,gCAAgC,GAAG,SAAS,EAC/D,SAAS,EAAE,4BAA4B,GACtC,OAAO,CAAC,oBAAoB,CAAC,CAkH/B;AAED,wBAAgB,qBAAqB,IAAI,sBAAsB,CAO9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"media-session-state.d.ts","sourceRoot":"","sources":["../../src/sessions/media-session-state.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAKL,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,iBAAiB,EAAE,4BAA4B,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC9C;AAED,wBAAgB,+BAA+B,CAAC,EAC9C,YAAY,EACZ,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,QAAQ,GACT,EAAE,8BAA8B,GAAG,iBAAiB,CAiIpD"}
1
+ {"version":3,"file":"media-session-state.d.ts","sourceRoot":"","sources":["../../src/sessions/media-session-state.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,4BAA4B,EAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAML,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,iBAAiB,EAAE,4BAA4B,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC9C;AAED,wBAAgB,+BAA+B,CAAC,EAC9C,YAAY,EACZ,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,QAAQ,GACT,EAAE,8BAA8B,GAAG,iBAAiB,CA+NpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"media-session.d.ts","sourceRoot":"","sources":["../../src/sessions/media-session.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,gBAAgB,EAKhB,mBAAmB,EAEpB,MAAM,sBAAsB,CAAC;AAoB9B;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAof3B"}
1
+ {"version":3,"file":"media-session.d.ts","sourceRoot":"","sources":["../../src/sessions/media-session.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,gBAAgB,EAKhB,mBAAmB,EAEpB,MAAM,sBAAsB,CAAC;AAoB9B;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAqf3B"}
@@ -17,6 +17,12 @@
17
17
  (function (DetectionBufferStatus) {
18
18
  DetectionBufferStatus["Idle"] = "idle";
19
19
  DetectionBufferStatus["Loading"] = "loading";
20
+ /**
21
+ * The playback gate is holding playback until the source produces detections
22
+ * for the requested range. {@link DetectionBufferStatus.Loading} fetches
23
+ * detections the source already has; this one waits on a producer.
24
+ */
25
+ DetectionBufferStatus["AwaitingCoverage"] = "awaitingCoverage";
20
26
  DetectionBufferStatus["Ready"] = "ready";
21
27
  DetectionBufferStatus["Error"] = "error";
22
28
  DetectionBufferStatus["Destroyed"] = "destroyed";
@@ -29,12 +35,30 @@
29
35
  /**
30
36
  * Select the frame whose `[mediaTime, endTime)` interval contains the media
31
37
  * time. This is the default for interval annotations and timestamped sources.
38
+ *
39
+ * Frame times must come from the media itself. Times reconstructed from a
40
+ * nominal frame rate drift against a clip whose real rate differs, and once
41
+ * that drift passes the half-millisecond selection tolerance a playhead
42
+ * landing on a frame boundary selects the previous frame's detections.
43
+ *
44
+ * A frame that carries no `endTime` stays active until the next frame starts,
45
+ * which bridges an index the source never produced.
46
+ * {@link DetectionFrameSelectionMode.NearestFrameIndex} bounds each frame to
47
+ * one grid step instead, so a missing index reads as no detections.
32
48
  */
33
49
  DetectionFrameSelectionMode["Interval"] = "interval";
34
50
  /**
35
- * Select from a known inference frame grid using `frameIndex`, `frameRate`,
36
- * and optional `frameIndexOriginTime`. This is useful when inference was run
37
- * on normalized frames and playback should snap detections to that grid.
51
+ * Select from a known inference frame grid using `frameIndex` and
52
+ * `frameRate`. This is useful when inference was run on normalized frames and
53
+ * playback should snap detections to that grid.
54
+ *
55
+ * A frame speaks for one grid step starting at its own media time, and an
56
+ * index the source never produced selects nothing rather than a neighbour.
57
+ *
58
+ * A frame carrying no `frameIndex` speaks for its step on the same terms,
59
+ * reached by the time it starts at rather than by an index that names it. Its
60
+ * `endTime` does not widen it past that step, so a source that labels only
61
+ * part of what it writes cannot bridge the indexes it never produced.
38
62
  */
39
63
  DetectionFrameSelectionMode["NearestFrameIndex"] = "nearestFrameIndex";
40
64
  })(DetectionFrameSelectionMode || (DetectionFrameSelectionMode = {}));
@@ -1373,7 +1397,7 @@
1373
1397
  */
1374
1398
  var MediaErrorKind;
1375
1399
  (function (MediaErrorKind) {
1376
- /** The media could not be opened or read at all. */
1400
+ /** The media could not be opened or read, or was refused before any read. */
1377
1401
  MediaErrorKind["Unreadable"] = "unreadable";
1378
1402
  /** The container or codec is not supported by this platform. */
1379
1403
  MediaErrorKind["UnsupportedFormat"] = "unsupportedFormat";
@@ -1398,6 +1422,28 @@
1398
1422
  MediaSourceStatus["Error"] = "error";
1399
1423
  MediaSourceStatus["Destroyed"] = "destroyed";
1400
1424
  })(MediaSourceStatus || (MediaSourceStatus = {}));
1425
+ /**
1426
+ * Current renderer state.
1427
+ */
1428
+ /**
1429
+ * What a playback gate holds back.
1430
+ *
1431
+ * A source the renderer pulls samples from can be held between any two frames,
1432
+ * because the renderer decides when each one is drawn. A source that presents
1433
+ * its own frames owns the playhead, so holding it means stopping the producer
1434
+ * and starting it again, and a gate that stops one has to bound its own wait
1435
+ * or a producer nothing answers for never runs again.
1436
+ */
1437
+ var PlaybackGateReach;
1438
+ (function (PlaybackGateReach) {
1439
+ /** No gate: the picture moves and unprepared layers are absent from it. */
1440
+ PlaybackGateReach["Off"] = "off";
1441
+ /**
1442
+ * Playback waits to begin, and stops again at any frame whose artifacts are
1443
+ * missing, until they arrive or the gate's own wait bound gives up on them.
1444
+ */
1445
+ PlaybackGateReach["EveryFrame"] = "everyFrame";
1446
+ })(PlaybackGateReach || (PlaybackGateReach = {}));
1401
1447
 
1402
1448
  /**
1403
1449
  * Media-session operating mode.
@@ -1438,12 +1484,35 @@
1438
1484
  */
1439
1485
  var MediaSessionActivityKind;
1440
1486
  (function (MediaSessionActivityKind) {
1487
+ /**
1488
+ * Playback is held waiting for a producer to emit detections for the frame
1489
+ * about to be shown, which is a wait on inference rather than on transfer or
1490
+ * decode. `DetectionsBuffering` is the transfer of detections that already
1491
+ * exist, and `PlaybackBuffering` is the wait for media bytes.
1492
+ */
1493
+ MediaSessionActivityKind["DetectionsAwaitingCoverage"] = "detectionsAwaitingCoverage";
1441
1494
  MediaSessionActivityKind["DetectionsBuffering"] = "detectionsBuffering";
1442
1495
  MediaSessionActivityKind["DetectionsLoading"] = "detectionsLoading";
1443
1496
  MediaSessionActivityKind["Error"] = "error";
1444
1497
  MediaSessionActivityKind["MediaNormalizing"] = "mediaNormalizing";
1445
1498
  MediaSessionActivityKind["MediaOpening"] = "mediaOpening";
1499
+ /**
1500
+ * The picture is waiting on media the source has not handed over yet, which
1501
+ * is the bytes and their decode rather than anything downstream of them.
1502
+ * `PlaybackBuffering` is what a transport reports once it has already
1503
+ * stopped; this is reported from the read itself, including the reads a seek
1504
+ * makes while the transport still reads as paused.
1505
+ */
1506
+ MediaSessionActivityKind["MediaSourceReading"] = "mediaSourceReading";
1446
1507
  MediaSessionActivityKind["PlaybackBuffering"] = "playbackBuffering";
1508
+ /**
1509
+ * The render-preparation gate held the picture for artifacts that never
1510
+ * arrived and let it go. Nothing is blocked: the frames reaching the screen
1511
+ * are the ones whose artifacts were given up on. What is waited on is
1512
+ * preparation finishing another frame, which is what lets the gate hold the
1513
+ * picture again; `RenderPreparing` covers the holds that are running.
1514
+ */
1515
+ MediaSessionActivityKind["RenderPreparationAbandoned"] = "renderPreparationAbandoned";
1447
1516
  MediaSessionActivityKind["RenderPreparing"] = "renderPreparing";
1448
1517
  })(MediaSessionActivityKind || (MediaSessionActivityKind = {}));
1449
1518
  /**